@plurnk/plurnk-contracts 1.14.2 → 1.16.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.
Files changed (46) hide show
  1. package/SPEC.md +106 -123
  2. package/dist/plurnk.gemma.gbnf +62 -87
  3. package/dist/plurnk.qwen.gbnf +62 -87
  4. package/dist/schema/ClientStatement.json +114 -40
  5. package/dist/schema/PlurnkStatement.json +29 -199
  6. package/dist/schema/RangeExtent.json +1 -1
  7. package/dist/src/AstBuilder.d.ts +2 -2
  8. package/dist/src/AstBuilder.d.ts.map +1 -1
  9. package/dist/src/AstBuilder.js +68 -146
  10. package/dist/src/AstBuilder.js.map +1 -1
  11. package/dist/src/PlurnkErrorStrategy.d.ts +0 -1
  12. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  13. package/dist/src/PlurnkErrorStrategy.js +72 -61
  14. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  15. package/dist/src/PlurnkParser.d.ts +1 -2
  16. package/dist/src/PlurnkParser.d.ts.map +1 -1
  17. package/dist/src/PlurnkParser.js +15 -104
  18. package/dist/src/PlurnkParser.js.map +1 -1
  19. package/dist/src/generated/plurnkLexer.d.ts +42 -69
  20. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  21. package/dist/src/generated/plurnkLexer.js +495 -647
  22. package/dist/src/generated/plurnkLexer.js.map +1 -1
  23. package/dist/src/generated/plurnkParser.d.ts +76 -215
  24. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  25. package/dist/src/generated/plurnkParser.js +643 -1829
  26. package/dist/src/generated/plurnkParser.js.map +1 -1
  27. package/dist/src/generated/plurnkParserVisitor.d.ts +3 -87
  28. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  29. package/dist/src/generated/plurnkParserVisitor.js +2 -74
  30. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  31. package/dist/src/index.d.ts +0 -2
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +0 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/types.d.ts +1 -1
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.generated.d.ts +18 -50
  38. package/dist/src/types.generated.d.ts.map +1 -1
  39. package/dist/src/types.js +1 -1
  40. package/dist/src/types.js.map +1 -1
  41. package/package.json +1 -1
  42. package/plurnk.md +67 -73
  43. package/dist/src/TagSignal.d.ts +0 -15
  44. package/dist/src/TagSignal.d.ts.map +0 -1
  45. package/dist/src/TagSignal.js +0 -53
  46. package/dist/src/TagSignal.js.map +0 -1
@@ -1,58 +1,44 @@
1
1
  import * as antlr from "antlr4ng";
2
2
  export class plurnkLexer extends antlr.Lexer {
3
- static LBRACKET = 1;
4
- static RBRACKET = 2;
5
- static LPAREN = 3;
6
- static RPAREN = 4;
7
- static LBRACE = 5;
8
- static RBRACE = 6;
9
- static L_MARKER = 7;
10
- static COMBINED_L_MARKER = 8;
11
- static BODY_OPEN = 9;
12
- static SECTION_END = 10;
13
- static COMMA = 11;
14
- static INT = 12;
15
- static DISPOSITION = 13;
16
- static IDENT = 14;
17
- static TAG = 15;
18
- static TARGET_TEXT = 16;
19
- static METADATA_TEXT = 17;
20
- static BODY_TEXT = 18;
21
- static TEXT = 19;
22
- static ANNOTATION = 20;
23
- static OPEN_PLAN = 21;
24
- static OPEN_FIND = 22;
25
- static OPEN_READ = 23;
26
- static OPEN_EDIT = 24;
27
- static OPEN_COPY = 25;
28
- static OPEN_MOVE = 26;
29
- static OPEN_OPEN = 27;
30
- static OPEN_FOLD = 28;
31
- static OPEN_SEND = 29;
32
- static OPEN_EXEC = 30;
33
- static OPEN_BARE = 31;
34
- static OPEN_WORK = 32;
35
- static OPEN_FORK = 33;
36
- static OPEN_KILL = 34;
37
- static OPEN_LOOK = 35;
38
- static OPEN_BUFF = 36;
39
- static FENCE_OPEN = 37;
40
- static FENCE_CLOSE = 38;
41
- static WS = 39;
42
- static SLOTS_WS = 40;
43
- static ST_WS = 41;
44
- static SI_WS = 42;
45
- static SD_WS = 43;
46
- static TEXT_HASH = 44;
47
- static ST_COMMA = 45;
48
- static TARGET_BACKSLASH = 46;
3
+ static LPAREN = 1;
4
+ static RPAREN = 2;
5
+ static LBRACE = 3;
6
+ static RBRACE = 4;
7
+ static L_MARKER = 5;
8
+ static COMBINED_L_MARKER = 6;
9
+ static BODY_OPEN = 7;
10
+ static SECTION_END = 8;
11
+ static TARGET_TEXT = 9;
12
+ static METADATA_TEXT = 10;
13
+ static BODY_TEXT = 11;
14
+ static TEXT = 12;
15
+ static ANNOTATION = 13;
16
+ static SEND_LABEL = 14;
17
+ static EXECUTOR = 15;
18
+ static OPEN_PLAN = 16;
19
+ static OPEN_FIND = 17;
20
+ static OPEN_READ = 18;
21
+ static OPEN_EDIT = 19;
22
+ static OPEN_COPY = 20;
23
+ static OPEN_MOVE = 21;
24
+ static OPEN_SEND = 22;
25
+ static OPEN_EXEC = 23;
26
+ static OPEN_BARE = 24;
27
+ static OPEN_WORK = 25;
28
+ static OPEN_FORK = 26;
29
+ static OPEN_KILL = 27;
30
+ static OPEN_LOOK = 28;
31
+ static OPEN_BUFF = 29;
32
+ static FENCE_OPEN = 30;
33
+ static FENCE_CLOSE = 31;
34
+ static WS = 32;
35
+ static SLOTS_WS = 33;
36
+ static TEXT_HASH = 34;
37
+ static TARGET_BACKSLASH = 35;
49
38
  static SLOTS = 1;
50
- static SIGNAL_TAGS = 2;
51
- static SIGNAL_INT = 3;
52
- static SIGNAL_IDENT = 4;
53
- static TARGET = 5;
54
- static METADATA = 6;
55
- static BODY = 7;
39
+ static TARGET = 2;
40
+ static METADATA = 3;
41
+ static BODY = 4;
56
42
  static channelNames = [
57
43
  "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
58
44
  ];
@@ -60,41 +46,35 @@ export class plurnkLexer extends antlr.Lexer {
60
46
  null, null, null, null, null, null, null, null, null, null, null,
61
47
  null, null, null, null, null, null, null, null, null, null, null,
62
48
  null, null, null, null, null, null, null, null, null, null, null,
63
- null, null, null, null, null, null, null, null, null, null, null,
64
- "'#'", "','", "'\\'"
49
+ null, "'#'", "'\\'"
65
50
  ];
66
51
  static symbolicNames = [
67
- null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "LBRACE", "RBRACE",
68
- "L_MARKER", "COMBINED_L_MARKER", "BODY_OPEN", "SECTION_END", "COMMA",
69
- "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "METADATA_TEXT",
70
- "BODY_TEXT", "TEXT", "ANNOTATION", "OPEN_PLAN", "OPEN_FIND", "OPEN_READ",
71
- "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
72
- "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK", "OPEN_FORK",
73
- "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE",
74
- "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "TEXT_HASH", "ST_COMMA",
75
- "TARGET_BACKSLASH"
52
+ null, "LPAREN", "RPAREN", "LBRACE", "RBRACE", "L_MARKER", "COMBINED_L_MARKER",
53
+ "BODY_OPEN", "SECTION_END", "TARGET_TEXT", "METADATA_TEXT", "BODY_TEXT",
54
+ "TEXT", "ANNOTATION", "SEND_LABEL", "EXECUTOR", "OPEN_PLAN", "OPEN_FIND",
55
+ "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_SEND",
56
+ "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK", "OPEN_FORK", "OPEN_KILL",
57
+ "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE", "WS", "SLOTS_WS",
58
+ "TEXT_HASH", "TARGET_BACKSLASH"
76
59
  ];
77
60
  static modeNames = [
78
- "DEFAULT_MODE", "SLOTS", "SIGNAL_TAGS", "SIGNAL_INT", "SIGNAL_IDENT",
79
- "TARGET", "METADATA", "BODY",
61
+ "DEFAULT_MODE", "SLOTS", "TARGET", "METADATA", "BODY",
80
62
  ];
81
63
  static ruleNames = [
82
64
  "DELIMITER", "NUM", "L_PATTERN", "LINE_ANCHOR", "TEXT_COORD", "TEXT_L_PATTERN",
83
65
  "COMBINED_LINE_COORD", "COMBINED_TEXT_COORD", "COMBINED_TEXT_L_PATTERN",
84
66
  "EOL", "OPEN_PLAN", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY",
85
- "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD", "OPEN_SEND", "OPEN_EXEC",
86
- "OPEN_BARE", "OPEN_WORK", "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK",
87
- "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE", "WS", "THINK_BLOCK", "CHANNEL_BLOCK",
88
- "TEXT", "TEXT_HASH", "SLOTS_WS", "SLOTS_LB_TAGS", "SLOTS_LB_INT",
89
- "SLOTS_LB_EXEC_TAGS", "SLOTS_LB_IDENT", "SLOTS_LPAREN", "SLOTS_LBRACE",
90
- "SLOTS_TEXT_L", "SLOTS_L", "SLOTS_COMBINED_TEXT_L", "SLOTS_ANNOTATION",
91
- "SLOTS_INLINE_BODY", "SLOTS_DIRECT_END", "SLOTS_BODY_OPEN", "ST_WS",
92
- "ST_COMMA", "ST_TAG", "ST_END", "SI_WS", "SI_DISP", "SI_INT", "SI_END",
93
- "SD_WS", "SD_IDENT", "SD_END", "TARGET_ESCAPE", "TARGET_INNER",
94
- "TARGET_BACKSLASH", "TARGET_NEST_OPEN", "TARGET_NEST_END", "TARGET_END",
95
- "METADATA_INNER", "METADATA_NEST_OPEN", "METADATA_NEST_END", "METADATA_END",
96
- "B_FENCE_CLOSE", "B_FENCE_END", "B_SECTION_END", "B_DIRECT_END",
97
- "B_EMPTY_SPACED_END", "B_RUN", "B_CRLF", "B_LF", "B_CR",
67
+ "OPEN_MOVE", "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK",
68
+ "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN",
69
+ "FENCE_CLOSE", "WS", "THINK_BLOCK", "CHANNEL_BLOCK", "TEXT", "TEXT_HASH",
70
+ "SLOTS_WS", "SLOTS_SEND_LABEL", "SLOTS_EXECUTOR", "SLOTS_LPAREN",
71
+ "SLOTS_LBRACE", "SLOTS_TEXT_L", "SLOTS_L", "SLOTS_COMBINED_TEXT_L",
72
+ "SLOTS_ANNOTATION", "SLOTS_INLINE_BODY", "SLOTS_DIRECT_END", "SLOTS_BODY_OPEN",
73
+ "TARGET_ESCAPE", "TARGET_INNER", "TARGET_BACKSLASH", "TARGET_NEST_OPEN",
74
+ "TARGET_NEST_END", "TARGET_END", "METADATA_INNER", "METADATA_NEST_OPEN",
75
+ "METADATA_NEST_END", "METADATA_END", "B_FENCE_CLOSE", "B_FENCE_END",
76
+ "B_SECTION_END", "B_DIRECT_END", "B_EMPTY_SPACED_END", "B_RUN",
77
+ "B_CRLF", "B_LF", "B_CR",
98
78
  ];
99
79
  activeDelimiter = null;
100
80
  openOp = "";
@@ -109,7 +89,7 @@ export class plurnkLexer extends antlr.Lexer {
109
89
  terminalSend = false;
110
90
  documentFence = false;
111
91
  static PROTOCOL_OPS = [
112
- "FIND", "READ", "EDIT", "COPY", "MOVE", "OPEN", "FOLD",
92
+ "FIND", "READ", "EDIT", "COPY", "MOVE",
113
93
  "SEND", "EXEC", "BARE", "WORK", "FORK", "KILL",
114
94
  ];
115
95
  static CLIENT_OPS = ["LOOK", "BUFF"];
@@ -129,13 +109,13 @@ export class plurnkLexer extends antlr.Lexer {
129
109
  headingAt(offset) {
130
110
  let level;
131
111
  let cursor = offset;
132
- if (this.matchesLiteral(cursor, "# PLAN")) {
112
+ if (this.matchesLiteral(cursor, "## PLAN")) {
133
113
  level = 1;
134
- cursor += "# PLAN".length;
114
+ cursor += "## PLAN".length;
135
115
  }
136
- else if (this.matchesLiteral(cursor, "## ")) {
116
+ else if (this.matchesLiteral(cursor, "### ")) {
137
117
  level = 2;
138
- cursor += 3;
118
+ cursor += 4;
139
119
  }
140
120
  else {
141
121
  return null;
@@ -160,7 +140,7 @@ export class plurnkLexer extends antlr.Lexer {
160
140
  || next === 0x0A || next === 0x0D;
161
141
  if (!headerContinues)
162
142
  return null;
163
- const startsNextTurn = level === 1 && op === "PLAN" && this.terminalSend;
143
+ const startsNextTurn = this.terminalSend;
164
144
  if (this.activeDelimiter !== null && delimiter !== this.activeDelimiter && !startsNextTurn)
165
145
  return null;
166
146
  return { level, op, delimiter };
@@ -176,9 +156,9 @@ export class plurnkLexer extends antlr.Lexer {
176
156
  return heading !== null && heading.level === level && heading.op === op;
177
157
  }
178
158
  open(level, op) {
179
- const prefixLength = (level === 1 ? "# " : "## ").length + op.length;
159
+ const prefixLength = (level === 1 ? "## " : "### ").length + op.length;
180
160
  const delimiter = this.text.slice(prefixLength);
181
- const startsNextTurn = level === 1 && op === "PLAN" && this.terminalSend;
161
+ const startsNextTurn = this.terminalSend;
182
162
  if (this.activeDelimiter === null || startsNextTurn)
183
163
  this.activeDelimiter = delimiter;
184
164
  this.openOp = op;
@@ -186,14 +166,11 @@ export class plurnkLexer extends antlr.Lexer {
186
166
  this.openHeadingLine = this.currentTokenStartLine;
187
167
  this.openHeadingColumn = this.currentTokenColumn;
188
168
  this.slotReady = true;
189
- this.metadataReady = false;
169
+ // {§exec-executor-slot} — an EXEC heading admits `{cwd=…}` before any path; elsewhere metadata follows a target.
170
+ this.metadataReady = op === "EXEC";
190
171
  this.bodyAtStart = false;
191
172
  this.terminalSend = false;
192
173
  }
193
- markDisposition() {
194
- if (this.openOp === "SEND")
195
- this.terminalSend = true;
196
- }
197
174
  offsetAfterEol(offset) {
198
175
  if (this.inputStream.LA(offset) === 0x0D && this.inputStream.LA(offset + 1) === 0x0A)
199
176
  return offset + 2;
@@ -247,23 +224,11 @@ export class plurnkLexer extends antlr.Lexer {
247
224
  getOpenTagLine() { return this.openHeadingLine; }
248
225
  getOpenTagColumn() { return this.openHeadingColumn; }
249
226
  getOpenHeading() { return this.openHeading; }
250
- isSendOp() { return this.openOp === "SEND"; }
251
- isExecOp() { return this.openOp === "EXEC"; }
227
+ // {§kill-scope} KILL scopes lines of a log body or an entry, so it takes anchors like EDIT.
252
228
  isTextCoordinateOp() {
253
229
  return this.openOp === "READ" || this.openOp === "EDIT" || this.openOp === "COPY" || this.openOp === "MOVE"
254
- || this.openOp === "OPEN" || this.openOp === "FOLD" || this.openOp === "LOOK";
255
- }
256
- isKillOp() { return this.openOp === "KILL"; }
257
- // {§exec-tag-signal} — a runtime never starts with a sign, so `[+tag` on EXEC is a tag signal.
258
- signedTagAhead() {
259
- const sign = this.inputStream.LA(2);
260
- if (sign !== 0x2B && sign !== 0x2D)
261
- return false;
262
- const start = this.inputStream.LA(3);
263
- return start === 0x5F || (start >= 0x41 && start <= 0x5A) || (start >= 0x61 && start <= 0x7A) || start > 0x7F;
230
+ || this.openOp === "KILL" || this.openOp === "LOOK";
264
231
  }
265
- // {§heading-inline-body} — after horizontal whitespace, a character that cannot open a slot
266
- // begins the body on the heading line.
267
232
  inlineBodyAhead() {
268
233
  const previous = this.inputStream.LA(-1);
269
234
  return previous === 0x20 || previous === 0x09;
@@ -300,99 +265,87 @@ export class plurnkLexer extends antlr.Lexer {
300
265
  this.OPEN_MOVE_action(localContext, actionIndex);
301
266
  break;
302
267
  case 16:
303
- this.OPEN_OPEN_action(localContext, actionIndex);
268
+ this.OPEN_SEND_action(localContext, actionIndex);
304
269
  break;
305
270
  case 17:
306
- this.OPEN_FOLD_action(localContext, actionIndex);
271
+ this.OPEN_EXEC_action(localContext, actionIndex);
307
272
  break;
308
273
  case 18:
309
- this.OPEN_SEND_action(localContext, actionIndex);
274
+ this.OPEN_BARE_action(localContext, actionIndex);
310
275
  break;
311
276
  case 19:
312
- this.OPEN_EXEC_action(localContext, actionIndex);
277
+ this.OPEN_WORK_action(localContext, actionIndex);
313
278
  break;
314
279
  case 20:
315
- this.OPEN_BARE_action(localContext, actionIndex);
280
+ this.OPEN_FORK_action(localContext, actionIndex);
316
281
  break;
317
282
  case 21:
318
- this.OPEN_WORK_action(localContext, actionIndex);
283
+ this.OPEN_KILL_action(localContext, actionIndex);
319
284
  break;
320
285
  case 22:
321
- this.OPEN_FORK_action(localContext, actionIndex);
286
+ this.OPEN_LOOK_action(localContext, actionIndex);
322
287
  break;
323
288
  case 23:
324
- this.OPEN_KILL_action(localContext, actionIndex);
289
+ this.OPEN_BUFF_action(localContext, actionIndex);
325
290
  break;
326
291
  case 24:
327
- this.OPEN_LOOK_action(localContext, actionIndex);
292
+ this.FENCE_OPEN_action(localContext, actionIndex);
328
293
  break;
329
294
  case 25:
330
- this.OPEN_BUFF_action(localContext, actionIndex);
295
+ this.FENCE_CLOSE_action(localContext, actionIndex);
331
296
  break;
332
- case 26:
333
- this.FENCE_OPEN_action(localContext, actionIndex);
297
+ case 31:
298
+ this.SLOTS_WS_action(localContext, actionIndex);
334
299
  break;
335
- case 27:
336
- this.FENCE_CLOSE_action(localContext, actionIndex);
300
+ case 32:
301
+ this.SLOTS_SEND_LABEL_action(localContext, actionIndex);
337
302
  break;
338
303
  case 33:
339
- this.SLOTS_WS_action(localContext, actionIndex);
304
+ this.SLOTS_EXECUTOR_action(localContext, actionIndex);
340
305
  break;
341
- case 38:
306
+ case 34:
342
307
  this.SLOTS_LPAREN_action(localContext, actionIndex);
343
308
  break;
344
- case 39:
309
+ case 35:
345
310
  this.SLOTS_LBRACE_action(localContext, actionIndex);
346
311
  break;
347
- case 44:
312
+ case 40:
348
313
  this.SLOTS_INLINE_BODY_action(localContext, actionIndex);
349
314
  break;
350
- case 46:
315
+ case 42:
351
316
  this.SLOTS_BODY_OPEN_action(localContext, actionIndex);
352
317
  break;
353
- case 50:
354
- this.ST_END_action(localContext, actionIndex);
355
- break;
356
- case 52:
357
- this.SI_DISP_action(localContext, actionIndex);
358
- break;
359
- case 54:
360
- this.SI_END_action(localContext, actionIndex);
361
- break;
362
- case 57:
363
- this.SD_END_action(localContext, actionIndex);
364
- break;
365
- case 61:
318
+ case 46:
366
319
  this.TARGET_NEST_OPEN_action(localContext, actionIndex);
367
320
  break;
368
- case 62:
321
+ case 47:
369
322
  this.TARGET_NEST_END_action(localContext, actionIndex);
370
323
  break;
371
- case 63:
324
+ case 48:
372
325
  this.TARGET_END_action(localContext, actionIndex);
373
326
  break;
374
- case 65:
327
+ case 50:
375
328
  this.METADATA_NEST_OPEN_action(localContext, actionIndex);
376
329
  break;
377
- case 66:
330
+ case 51:
378
331
  this.METADATA_NEST_END_action(localContext, actionIndex);
379
332
  break;
380
- case 67:
333
+ case 52:
381
334
  this.METADATA_END_action(localContext, actionIndex);
382
335
  break;
383
- case 68:
336
+ case 53:
384
337
  this.B_FENCE_CLOSE_action(localContext, actionIndex);
385
338
  break;
386
- case 73:
339
+ case 58:
387
340
  this.B_RUN_action(localContext, actionIndex);
388
341
  break;
389
- case 74:
342
+ case 59:
390
343
  this.B_CRLF_action(localContext, actionIndex);
391
344
  break;
392
- case 75:
345
+ case 60:
393
346
  this.B_LF_action(localContext, actionIndex);
394
347
  break;
395
- case 76:
348
+ case 61:
396
349
  this.B_CR_action(localContext, actionIndex);
397
350
  break;
398
351
  }
@@ -439,94 +392,97 @@ export class plurnkLexer extends antlr.Lexer {
439
392
  break;
440
393
  }
441
394
  }
442
- OPEN_OPEN_action(localContext, actionIndex) {
443
- switch (actionIndex) {
444
- case 6:
445
- this.open(2, "OPEN");
446
- break;
447
- }
448
- }
449
- OPEN_FOLD_action(localContext, actionIndex) {
450
- switch (actionIndex) {
451
- case 7:
452
- this.open(2, "FOLD");
453
- break;
454
- }
455
- }
456
395
  OPEN_SEND_action(localContext, actionIndex) {
457
396
  switch (actionIndex) {
458
- case 8:
397
+ case 6:
459
398
  this.open(2, "SEND");
460
399
  break;
461
400
  }
462
401
  }
463
402
  OPEN_EXEC_action(localContext, actionIndex) {
464
403
  switch (actionIndex) {
465
- case 9:
404
+ case 7:
466
405
  this.open(2, "EXEC");
467
406
  break;
468
407
  }
469
408
  }
470
409
  OPEN_BARE_action(localContext, actionIndex) {
471
410
  switch (actionIndex) {
472
- case 10:
411
+ case 8:
473
412
  this.open(2, "BARE");
474
413
  break;
475
414
  }
476
415
  }
477
416
  OPEN_WORK_action(localContext, actionIndex) {
478
417
  switch (actionIndex) {
479
- case 11:
418
+ case 9:
480
419
  this.open(2, "WORK");
481
420
  break;
482
421
  }
483
422
  }
484
423
  OPEN_FORK_action(localContext, actionIndex) {
485
424
  switch (actionIndex) {
486
- case 12:
425
+ case 10:
487
426
  this.open(2, "FORK");
488
427
  break;
489
428
  }
490
429
  }
491
430
  OPEN_KILL_action(localContext, actionIndex) {
492
431
  switch (actionIndex) {
493
- case 13:
432
+ case 11:
494
433
  this.open(2, "KILL");
495
434
  break;
496
435
  }
497
436
  }
498
437
  OPEN_LOOK_action(localContext, actionIndex) {
499
438
  switch (actionIndex) {
500
- case 14:
439
+ case 12:
501
440
  this.open(2, "LOOK");
502
441
  break;
503
442
  }
504
443
  }
505
444
  OPEN_BUFF_action(localContext, actionIndex) {
506
445
  switch (actionIndex) {
507
- case 15:
446
+ case 13:
508
447
  this.open(2, "BUFF");
509
448
  break;
510
449
  }
511
450
  }
512
451
  FENCE_OPEN_action(localContext, actionIndex) {
513
452
  switch (actionIndex) {
514
- case 16:
453
+ case 14:
515
454
  this.openDocumentFence();
516
455
  break;
517
456
  }
518
457
  }
519
458
  FENCE_CLOSE_action(localContext, actionIndex) {
520
459
  switch (actionIndex) {
521
- case 17:
460
+ case 15:
522
461
  this.closeDocumentFence();
523
462
  break;
524
463
  }
525
464
  }
526
465
  SLOTS_WS_action(localContext, actionIndex) {
466
+ switch (actionIndex) {
467
+ case 16:
468
+ this.slotReady = true;
469
+ break;
470
+ }
471
+ }
472
+ SLOTS_SEND_LABEL_action(localContext, actionIndex) {
473
+ switch (actionIndex) {
474
+ case 17:
475
+ this.terminalSend = true;
476
+ this.slotReady = true;
477
+ this.metadataReady = false;
478
+ break;
479
+ }
480
+ }
481
+ SLOTS_EXECUTOR_action(localContext, actionIndex) {
527
482
  switch (actionIndex) {
528
483
  case 18:
529
484
  this.slotReady = true;
485
+ this.metadataReady = true;
530
486
  break;
531
487
  }
532
488
  }
@@ -560,51 +516,23 @@ export class plurnkLexer extends antlr.Lexer {
560
516
  break;
561
517
  }
562
518
  }
563
- ST_END_action(localContext, actionIndex) {
564
- switch (actionIndex) {
565
- case 23:
566
- this.slotReady = true;
567
- break;
568
- }
569
- }
570
- SI_DISP_action(localContext, actionIndex) {
571
- switch (actionIndex) {
572
- case 24:
573
- this.markDisposition();
574
- break;
575
- }
576
- }
577
- SI_END_action(localContext, actionIndex) {
578
- switch (actionIndex) {
579
- case 25:
580
- this.slotReady = true;
581
- break;
582
- }
583
- }
584
- SD_END_action(localContext, actionIndex) {
585
- switch (actionIndex) {
586
- case 26:
587
- this.slotReady = true;
588
- break;
589
- }
590
- }
591
519
  TARGET_NEST_OPEN_action(localContext, actionIndex) {
592
520
  switch (actionIndex) {
593
- case 27:
521
+ case 23:
594
522
  this.targetDepth++;
595
523
  break;
596
524
  }
597
525
  }
598
526
  TARGET_NEST_END_action(localContext, actionIndex) {
599
527
  switch (actionIndex) {
600
- case 28:
528
+ case 24:
601
529
  this.targetDepth--;
602
530
  break;
603
531
  }
604
532
  }
605
533
  TARGET_END_action(localContext, actionIndex) {
606
534
  switch (actionIndex) {
607
- case 29:
535
+ case 25:
608
536
  this.slotReady = true;
609
537
  this.metadataReady = true;
610
538
  break;
@@ -612,21 +540,21 @@ export class plurnkLexer extends antlr.Lexer {
612
540
  }
613
541
  METADATA_NEST_OPEN_action(localContext, actionIndex) {
614
542
  switch (actionIndex) {
615
- case 30:
543
+ case 26:
616
544
  this.metadataDepth++;
617
545
  break;
618
546
  }
619
547
  }
620
548
  METADATA_NEST_END_action(localContext, actionIndex) {
621
549
  switch (actionIndex) {
622
- case 31:
550
+ case 27:
623
551
  this.metadataDepth--;
624
552
  break;
625
553
  }
626
554
  }
627
555
  METADATA_END_action(localContext, actionIndex) {
628
556
  switch (actionIndex) {
629
- case 32:
557
+ case 28:
630
558
  this.slotReady = true;
631
559
  this.metadataReady = true;
632
560
  break;
@@ -634,35 +562,35 @@ export class plurnkLexer extends antlr.Lexer {
634
562
  }
635
563
  B_FENCE_CLOSE_action(localContext, actionIndex) {
636
564
  switch (actionIndex) {
637
- case 33:
565
+ case 29:
638
566
  this.closeDocumentFence();
639
567
  break;
640
568
  }
641
569
  }
642
570
  B_RUN_action(localContext, actionIndex) {
643
571
  switch (actionIndex) {
644
- case 34:
572
+ case 30:
645
573
  this.retainBody();
646
574
  break;
647
575
  }
648
576
  }
649
577
  B_CRLF_action(localContext, actionIndex) {
650
578
  switch (actionIndex) {
651
- case 35:
579
+ case 31:
652
580
  this.retainBody();
653
581
  break;
654
582
  }
655
583
  }
656
584
  B_LF_action(localContext, actionIndex) {
657
585
  switch (actionIndex) {
658
- case 36:
586
+ case 32:
659
587
  this.retainBody();
660
588
  break;
661
589
  }
662
590
  }
663
591
  B_CR_action(localContext, actionIndex) {
664
592
  switch (actionIndex) {
665
- case 37:
593
+ case 33:
666
594
  this.retainBody();
667
595
  break;
668
596
  }
@@ -682,66 +610,58 @@ export class plurnkLexer extends antlr.Lexer {
682
610
  case 15:
683
611
  return this.OPEN_MOVE_sempred(localContext, predIndex);
684
612
  case 16:
685
- return this.OPEN_OPEN_sempred(localContext, predIndex);
686
- case 17:
687
- return this.OPEN_FOLD_sempred(localContext, predIndex);
688
- case 18:
689
613
  return this.OPEN_SEND_sempred(localContext, predIndex);
690
- case 19:
614
+ case 17:
691
615
  return this.OPEN_EXEC_sempred(localContext, predIndex);
692
- case 20:
616
+ case 18:
693
617
  return this.OPEN_BARE_sempred(localContext, predIndex);
694
- case 21:
618
+ case 19:
695
619
  return this.OPEN_WORK_sempred(localContext, predIndex);
696
- case 22:
620
+ case 20:
697
621
  return this.OPEN_FORK_sempred(localContext, predIndex);
698
- case 23:
622
+ case 21:
699
623
  return this.OPEN_KILL_sempred(localContext, predIndex);
700
- case 24:
624
+ case 22:
701
625
  return this.OPEN_LOOK_sempred(localContext, predIndex);
702
- case 25:
626
+ case 23:
703
627
  return this.OPEN_BUFF_sempred(localContext, predIndex);
704
- case 26:
628
+ case 24:
705
629
  return this.FENCE_OPEN_sempred(localContext, predIndex);
706
- case 27:
630
+ case 25:
707
631
  return this.FENCE_CLOSE_sempred(localContext, predIndex);
632
+ case 32:
633
+ return this.SLOTS_SEND_LABEL_sempred(localContext, predIndex);
634
+ case 33:
635
+ return this.SLOTS_EXECUTOR_sempred(localContext, predIndex);
708
636
  case 34:
709
- return this.SLOTS_LB_TAGS_sempred(localContext, predIndex);
710
- case 35:
711
- return this.SLOTS_LB_INT_sempred(localContext, predIndex);
712
- case 36:
713
- return this.SLOTS_LB_EXEC_TAGS_sempred(localContext, predIndex);
714
- case 37:
715
- return this.SLOTS_LB_IDENT_sempred(localContext, predIndex);
716
- case 38:
717
637
  return this.SLOTS_LPAREN_sempred(localContext, predIndex);
718
- case 39:
638
+ case 35:
719
639
  return this.SLOTS_LBRACE_sempred(localContext, predIndex);
720
- case 40:
640
+ case 36:
721
641
  return this.SLOTS_TEXT_L_sempred(localContext, predIndex);
722
- case 41:
642
+ case 37:
723
643
  return this.SLOTS_L_sempred(localContext, predIndex);
724
- case 42:
644
+ case 38:
725
645
  return this.SLOTS_COMBINED_TEXT_L_sempred(localContext, predIndex);
726
- case 43:
646
+ case 39:
727
647
  return this.SLOTS_ANNOTATION_sempred(localContext, predIndex);
728
- case 44:
648
+ case 40:
729
649
  return this.SLOTS_INLINE_BODY_sempred(localContext, predIndex);
730
- case 45:
650
+ case 41:
731
651
  return this.SLOTS_DIRECT_END_sempred(localContext, predIndex);
732
- case 62:
652
+ case 47:
733
653
  return this.TARGET_NEST_END_sempred(localContext, predIndex);
734
- case 66:
654
+ case 51:
735
655
  return this.METADATA_NEST_END_sempred(localContext, predIndex);
736
- case 68:
656
+ case 53:
737
657
  return this.B_FENCE_CLOSE_sempred(localContext, predIndex);
738
- case 69:
658
+ case 54:
739
659
  return this.B_FENCE_END_sempred(localContext, predIndex);
740
- case 70:
660
+ case 55:
741
661
  return this.B_SECTION_END_sempred(localContext, predIndex);
742
- case 71:
662
+ case 56:
743
663
  return this.B_DIRECT_END_sempred(localContext, predIndex);
744
- case 72:
664
+ case 57:
745
665
  return this.B_EMPTY_SPACED_END_sempred(localContext, predIndex);
746
666
  }
747
667
  return true;
@@ -788,567 +708,495 @@ export class plurnkLexer extends antlr.Lexer {
788
708
  }
789
709
  return true;
790
710
  }
791
- OPEN_OPEN_sempred(localContext, predIndex) {
792
- switch (predIndex) {
793
- case 6:
794
- return this.matchesHeading(2, "OPEN");
795
- }
796
- return true;
797
- }
798
- OPEN_FOLD_sempred(localContext, predIndex) {
799
- switch (predIndex) {
800
- case 7:
801
- return this.matchesHeading(2, "FOLD");
802
- }
803
- return true;
804
- }
805
711
  OPEN_SEND_sempred(localContext, predIndex) {
806
712
  switch (predIndex) {
807
- case 8:
713
+ case 6:
808
714
  return this.matchesHeading(2, "SEND");
809
715
  }
810
716
  return true;
811
717
  }
812
718
  OPEN_EXEC_sempred(localContext, predIndex) {
813
719
  switch (predIndex) {
814
- case 9:
720
+ case 7:
815
721
  return this.matchesHeading(2, "EXEC");
816
722
  }
817
723
  return true;
818
724
  }
819
725
  OPEN_BARE_sempred(localContext, predIndex) {
820
726
  switch (predIndex) {
821
- case 10:
727
+ case 8:
822
728
  return this.matchesHeading(2, "BARE");
823
729
  }
824
730
  return true;
825
731
  }
826
732
  OPEN_WORK_sempred(localContext, predIndex) {
827
733
  switch (predIndex) {
828
- case 11:
734
+ case 9:
829
735
  return this.matchesHeading(2, "WORK");
830
736
  }
831
737
  return true;
832
738
  }
833
739
  OPEN_FORK_sempred(localContext, predIndex) {
834
740
  switch (predIndex) {
835
- case 12:
741
+ case 10:
836
742
  return this.matchesHeading(2, "FORK");
837
743
  }
838
744
  return true;
839
745
  }
840
746
  OPEN_KILL_sempred(localContext, predIndex) {
841
747
  switch (predIndex) {
842
- case 13:
748
+ case 11:
843
749
  return this.matchesHeading(2, "KILL");
844
750
  }
845
751
  return true;
846
752
  }
847
753
  OPEN_LOOK_sempred(localContext, predIndex) {
848
754
  switch (predIndex) {
849
- case 14:
755
+ case 12:
850
756
  return this.matchesHeading(2, "LOOK");
851
757
  }
852
758
  return true;
853
759
  }
854
760
  OPEN_BUFF_sempred(localContext, predIndex) {
855
761
  switch (predIndex) {
856
- case 15:
762
+ case 13:
857
763
  return this.matchesHeading(2, "BUFF");
858
764
  }
859
765
  return true;
860
766
  }
861
767
  FENCE_OPEN_sempred(localContext, predIndex) {
862
768
  switch (predIndex) {
863
- case 16:
769
+ case 14:
864
770
  return this.column === 0 && !this.inDocumentFence();
865
771
  }
866
772
  return true;
867
773
  }
868
774
  FENCE_CLOSE_sempred(localContext, predIndex) {
869
775
  switch (predIndex) {
870
- case 17:
776
+ case 15:
871
777
  return this.column === 0 && this.inDocumentFence();
872
778
  }
873
779
  return true;
874
780
  }
875
- SLOTS_LB_TAGS_sempred(localContext, predIndex) {
876
- switch (predIndex) {
877
- case 18:
878
- return this.slotReady && !this.isSendOp() && !this.isExecOp() && !this.isKillOp();
879
- }
880
- return true;
881
- }
882
- SLOTS_LB_INT_sempred(localContext, predIndex) {
781
+ SLOTS_SEND_LABEL_sempred(localContext, predIndex) {
883
782
  switch (predIndex) {
884
- case 19:
885
- return this.slotReady && (this.isSendOp() || this.isKillOp());
886
- }
887
- return true;
888
- }
889
- SLOTS_LB_EXEC_TAGS_sempred(localContext, predIndex) {
890
- switch (predIndex) {
891
- case 20:
892
- return this.slotReady && this.isExecOp() && this.signedTagAhead();
783
+ case 16:
784
+ return this.slotReady && this.openOp === "SEND";
893
785
  }
894
786
  return true;
895
787
  }
896
- SLOTS_LB_IDENT_sempred(localContext, predIndex) {
788
+ SLOTS_EXECUTOR_sempred(localContext, predIndex) {
897
789
  switch (predIndex) {
898
- case 21:
899
- return this.slotReady && this.isExecOp();
790
+ case 17:
791
+ return this.slotReady && this.openOp === "EXEC";
900
792
  }
901
793
  return true;
902
794
  }
903
795
  SLOTS_LPAREN_sempred(localContext, predIndex) {
904
796
  switch (predIndex) {
905
- case 22:
797
+ case 18:
906
798
  return this.slotReady;
907
799
  }
908
800
  return true;
909
801
  }
910
802
  SLOTS_LBRACE_sempred(localContext, predIndex) {
911
803
  switch (predIndex) {
912
- case 23:
804
+ case 19:
913
805
  return this.slotReady && this.metadataReady;
914
806
  }
915
807
  return true;
916
808
  }
917
809
  SLOTS_TEXT_L_sempred(localContext, predIndex) {
918
810
  switch (predIndex) {
919
- case 24:
811
+ case 20:
920
812
  return this.slotReady && this.isTextCoordinateOp();
921
813
  }
922
814
  return true;
923
815
  }
924
816
  SLOTS_L_sempred(localContext, predIndex) {
925
817
  switch (predIndex) {
926
- case 25:
818
+ case 21:
927
819
  return this.slotReady;
928
820
  }
929
821
  return true;
930
822
  }
931
823
  SLOTS_COMBINED_TEXT_L_sempred(localContext, predIndex) {
932
824
  switch (predIndex) {
933
- case 26:
825
+ case 22:
934
826
  return this.slotReady && this.isTextCoordinateOp();
935
827
  }
936
828
  return true;
937
829
  }
938
830
  SLOTS_ANNOTATION_sempred(localContext, predIndex) {
939
831
  switch (predIndex) {
940
- case 27:
832
+ case 23:
941
833
  return this.slotReady;
942
834
  }
943
835
  return true;
944
836
  }
945
837
  SLOTS_INLINE_BODY_sempred(localContext, predIndex) {
946
838
  switch (predIndex) {
947
- case 28:
839
+ case 24:
948
840
  return this.slotReady && this.inlineBodyAhead();
949
841
  }
950
842
  return true;
951
843
  }
952
844
  SLOTS_DIRECT_END_sempred(localContext, predIndex) {
953
845
  switch (predIndex) {
954
- case 29:
846
+ case 25:
955
847
  return this.headingAfterDirectEol();
956
848
  }
957
849
  return true;
958
850
  }
959
851
  TARGET_NEST_END_sempred(localContext, predIndex) {
960
852
  switch (predIndex) {
961
- case 30:
853
+ case 26:
962
854
  return this.targetDepth > 0;
963
855
  }
964
856
  return true;
965
857
  }
966
858
  METADATA_NEST_END_sempred(localContext, predIndex) {
967
859
  switch (predIndex) {
968
- case 31:
860
+ case 27:
969
861
  return this.metadataDepth > 0;
970
862
  }
971
863
  return true;
972
864
  }
973
865
  B_FENCE_CLOSE_sempred(localContext, predIndex) {
974
866
  switch (predIndex) {
975
- case 32:
867
+ case 28:
976
868
  return this.column === 0 && this.inDocumentFence();
977
869
  }
978
870
  return true;
979
871
  }
980
872
  B_FENCE_END_sempred(localContext, predIndex) {
981
873
  switch (predIndex) {
982
- case 33:
874
+ case 29:
983
875
  return this.inDocumentFence() && this.fenceAfterDirectEol();
984
876
  }
985
877
  return true;
986
878
  }
987
879
  B_SECTION_END_sempred(localContext, predIndex) {
988
880
  switch (predIndex) {
989
- case 34:
881
+ case 30:
990
882
  return this.headingAfterBlankLine();
991
883
  }
992
884
  return true;
993
885
  }
994
886
  B_DIRECT_END_sempred(localContext, predIndex) {
995
887
  switch (predIndex) {
996
- case 35:
888
+ case 31:
997
889
  return this.headingAfterDirectEol();
998
890
  }
999
891
  return true;
1000
892
  }
1001
893
  B_EMPTY_SPACED_END_sempred(localContext, predIndex) {
1002
894
  switch (predIndex) {
1003
- case 36:
895
+ case 32:
1004
896
  return this.headingAfterEmptySpacedLine();
1005
897
  }
1006
898
  return true;
1007
899
  }
1008
900
  static _serializedATN = [
1009
- 4, 0, 46, 925, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7,
1010
- 1, 2, 2, 7, 2, 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,
1011
- 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2,
1012
- 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7,
1013
- 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2,
1014
- 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7,
1015
- 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2,
1016
- 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7,
1017
- 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2,
1018
- 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7,
1019
- 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2,
1020
- 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7,
1021
- 74, 2, 75, 7, 75, 2, 76, 7, 76, 1, 0, 4, 0, 164, 8, 0, 11, 0, 12, 0, 165, 1, 1, 3, 1, 169,
1022
- 8, 1, 1, 1, 4, 1, 172, 8, 1, 11, 1, 12, 1, 173, 1, 1, 1, 1, 4, 1, 178, 8, 1, 11, 1, 12, 1,
1023
- 179, 3, 1, 182, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 189, 8, 2, 3, 2, 191, 8, 2, 1, 2,
1024
- 5, 2, 194, 8, 2, 10, 2, 12, 2, 197, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
1025
- 3, 1, 4, 1, 4, 3, 4, 210, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 216, 8, 5, 1, 5, 5, 5, 219, 8,
1026
- 5, 10, 5, 12, 5, 222, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 5, 6, 230, 8, 6, 10, 6, 12,
1027
- 6, 233, 9, 6, 1, 7, 1, 7, 3, 7, 237, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 243, 8, 8, 1, 8, 5,
1028
- 8, 246, 8, 8, 10, 8, 12, 8, 249, 9, 8, 1, 8, 1, 8, 1, 9, 3, 9, 254, 8, 9, 1, 9, 1, 9, 1, 10,
1029
- 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 267, 8, 10, 1, 10, 1, 10,
1030
- 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11,
1031
- 283, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12,
1032
- 1, 12, 1, 12, 1, 12, 3, 12, 299, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13,
1033
- 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 315, 8, 13, 1, 13, 1, 13, 1, 13,
1034
- 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 331,
1035
- 8, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
1036
- 1, 15, 1, 15, 3, 15, 347, 8, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16,
1037
- 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 363, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16,
1038
- 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 379, 8, 17,
1039
- 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18,
1040
- 1, 18, 3, 18, 395, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19,
1041
- 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 411, 8, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20,
1042
- 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 427, 8, 20, 1, 20,
1043
- 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21,
1044
- 3, 21, 443, 8, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22,
1045
- 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 459, 8, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23,
1046
- 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 475, 8, 23, 1, 23, 1, 23,
1047
- 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24,
1048
- 491, 8, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25,
1049
- 1, 25, 1, 25, 1, 25, 3, 25, 507, 8, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26,
1050
- 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27,
1051
- 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 533, 8, 27, 1, 27, 1, 27, 1, 28, 4, 28, 538, 8, 28, 11,
1052
- 28, 12, 28, 539, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1,
1053
- 29, 5, 29, 553, 8, 29, 10, 29, 12, 29, 556, 9, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1,
1054
- 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1,
1055
- 30, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 581, 8, 30, 10, 30, 12, 30, 584, 9, 30, 1, 30, 1,
1056
- 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 4,
1057
- 31, 600, 8, 31, 11, 31, 12, 31, 601, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 4, 33, 609, 8,
1058
- 33, 11, 33, 12, 33, 610, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34,
1059
- 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36,
1060
- 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38,
1061
- 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41,
1062
- 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43,
1063
- 1, 43, 1, 43, 1, 43, 5, 43, 677, 8, 43, 10, 43, 12, 43, 680, 9, 43, 1, 43, 1, 43, 1, 43,
1064
- 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45,
1065
- 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 4, 47, 708, 8, 47,
1066
- 11, 47, 12, 47, 709, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 4, 49, 719, 8, 49,
1067
- 11, 49, 12, 49, 720, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 4, 51,
1068
- 732, 8, 51, 11, 51, 12, 51, 733, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52,
1069
- 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 3, 52, 750, 8, 52, 1, 52, 1, 52, 1, 52, 1, 52,
1070
- 1, 53, 3, 53, 757, 8, 53, 1, 53, 4, 53, 760, 8, 53, 11, 53, 12, 53, 761, 1, 53, 1, 53,
1071
- 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 4, 55, 773, 8, 55, 11, 55, 12, 55, 774,
1072
- 1, 55, 1, 55, 1, 56, 1, 56, 5, 56, 781, 8, 56, 10, 56, 12, 56, 784, 9, 56, 1, 56, 1, 56,
1073
- 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 4, 59,
1074
- 800, 8, 59, 11, 59, 12, 59, 801, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61,
1075
- 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63,
1076
- 1, 63, 1, 63, 1, 64, 4, 64, 828, 8, 64, 11, 64, 12, 64, 829, 1, 64, 1, 64, 1, 65, 1, 65,
1077
- 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67,
1078
- 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 3, 68, 857, 8, 68, 1, 68, 1, 68,
1079
- 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 5, 70,
1080
- 873, 8, 70, 10, 70, 12, 70, 876, 9, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71,
1081
- 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 4, 72, 891, 8, 72, 11, 72, 12, 72, 892, 1, 72,
1082
- 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 4, 73, 901, 8, 73, 11, 73, 12, 73, 902, 1, 73, 1, 73,
1083
- 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75,
1084
- 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 3, 554, 582, 678, 0, 77, 8, 0, 10, 0, 12, 0, 14,
1085
- 0, 16, 0, 18, 0, 20, 0, 22, 0, 24, 0, 26, 0, 28, 21, 30, 22, 32, 23, 34, 24, 36, 25, 38,
1086
- 26, 40, 27, 42, 28, 44, 29, 46, 30, 48, 31, 50, 32, 52, 33, 54, 34, 56, 35, 58, 36, 60,
1087
- 37, 62, 38, 64, 39, 66, 0, 68, 0, 70, 19, 72, 44, 74, 40, 76, 0, 78, 0, 80, 0, 82, 0, 84,
1088
- 0, 86, 0, 88, 0, 90, 0, 92, 0, 94, 0, 96, 0, 98, 0, 100, 0, 102, 41, 104, 45, 106, 0, 108,
1089
- 0, 110, 42, 112, 0, 114, 0, 116, 0, 118, 43, 120, 0, 122, 0, 124, 0, 126, 0, 128, 46,
1090
- 130, 0, 132, 0, 134, 0, 136, 0, 138, 0, 140, 0, 142, 0, 144, 0, 146, 0, 148, 0, 150,
1091
- 0, 152, 0, 154, 0, 156, 0, 158, 0, 160, 0, 8, 0, 1, 2, 3, 4, 5, 6, 7, 16, 4, 0, 48, 57, 65,
1092
- 90, 95, 95, 97, 122, 1, 0, 48, 57, 3, 0, 48, 57, 65, 90, 97, 122, 2, 0, 32, 32, 58, 58,
1093
- 1, 0, 49, 57, 3, 0, 9, 10, 13, 13, 32, 32, 4, 0, 9, 10, 13, 13, 32, 32, 35, 35, 2, 0, 9,
1094
- 9, 32, 32, 2, 0, 10, 10, 13, 13, 6, 0, 9, 10, 13, 13, 32, 32, 40, 40, 60, 60, 91, 91, 5,
1095
- 0, 9, 10, 13, 13, 32, 32, 44, 44, 93, 93, 3, 0, 65, 90, 95, 95, 97, 122, 6, 0, 43, 43,
1096
- 45, 46, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 40, 41, 92, 92, 5, 0, 10, 10, 13, 13, 40,
1097
- 41, 60, 60, 92, 92, 4, 0, 10, 10, 13, 13, 123, 123, 125, 125, 962, 0, 28, 1, 0, 0, 0,
1098
- 0, 30, 1, 0, 0, 0, 0, 32, 1, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 36, 1, 0, 0, 0, 0, 38, 1, 0, 0, 0,
1099
- 0, 40, 1, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 46, 1, 0, 0, 0, 0, 48, 1, 0, 0, 0,
1100
- 0, 50, 1, 0, 0, 0, 0, 52, 1, 0, 0, 0, 0, 54, 1, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 58, 1, 0, 0, 0,
1101
- 0, 60, 1, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 66, 1, 0, 0, 0, 0, 68, 1, 0, 0, 0,
1102
- 0, 70, 1, 0, 0, 0, 0, 72, 1, 0, 0, 0, 1, 74, 1, 0, 0, 0, 1, 76, 1, 0, 0, 0, 1, 78, 1, 0, 0, 0,
1103
- 1, 80, 1, 0, 0, 0, 1, 82, 1, 0, 0, 0, 1, 84, 1, 0, 0, 0, 1, 86, 1, 0, 0, 0, 1, 88, 1, 0, 0, 0,
1104
- 1, 90, 1, 0, 0, 0, 1, 92, 1, 0, 0, 0, 1, 94, 1, 0, 0, 0, 1, 96, 1, 0, 0, 0, 1, 98, 1, 0, 0, 0,
1105
- 1, 100, 1, 0, 0, 0, 2, 102, 1, 0, 0, 0, 2, 104, 1, 0, 0, 0, 2, 106, 1, 0, 0, 0, 2, 108, 1,
1106
- 0, 0, 0, 3, 110, 1, 0, 0, 0, 3, 112, 1, 0, 0, 0, 3, 114, 1, 0, 0, 0, 3, 116, 1, 0, 0, 0, 4,
1107
- 118, 1, 0, 0, 0, 4, 120, 1, 0, 0, 0, 4, 122, 1, 0, 0, 0, 5, 124, 1, 0, 0, 0, 5, 126, 1, 0,
1108
- 0, 0, 5, 128, 1, 0, 0, 0, 5, 130, 1, 0, 0, 0, 5, 132, 1, 0, 0, 0, 5, 134, 1, 0, 0, 0, 6, 136,
1109
- 1, 0, 0, 0, 6, 138, 1, 0, 0, 0, 6, 140, 1, 0, 0, 0, 6, 142, 1, 0, 0, 0, 7, 144, 1, 0, 0, 0,
1110
- 7, 146, 1, 0, 0, 0, 7, 148, 1, 0, 0, 0, 7, 150, 1, 0, 0, 0, 7, 152, 1, 0, 0, 0, 7, 154, 1,
1111
- 0, 0, 0, 7, 156, 1, 0, 0, 0, 7, 158, 1, 0, 0, 0, 7, 160, 1, 0, 0, 0, 8, 163, 1, 0, 0, 0, 10,
1112
- 168, 1, 0, 0, 0, 12, 183, 1, 0, 0, 0, 14, 200, 1, 0, 0, 0, 16, 209, 1, 0, 0, 0, 18, 211,
1113
- 1, 0, 0, 0, 20, 225, 1, 0, 0, 0, 22, 236, 1, 0, 0, 0, 24, 238, 1, 0, 0, 0, 26, 253, 1, 0,
1114
- 0, 0, 28, 257, 1, 0, 0, 0, 30, 272, 1, 0, 0, 0, 32, 288, 1, 0, 0, 0, 34, 304, 1, 0, 0, 0,
1115
- 36, 320, 1, 0, 0, 0, 38, 336, 1, 0, 0, 0, 40, 352, 1, 0, 0, 0, 42, 368, 1, 0, 0, 0, 44, 384,
1116
- 1, 0, 0, 0, 46, 400, 1, 0, 0, 0, 48, 416, 1, 0, 0, 0, 50, 432, 1, 0, 0, 0, 52, 448, 1, 0,
1117
- 0, 0, 54, 464, 1, 0, 0, 0, 56, 480, 1, 0, 0, 0, 58, 496, 1, 0, 0, 0, 60, 512, 1, 0, 0, 0,
1118
- 62, 526, 1, 0, 0, 0, 64, 537, 1, 0, 0, 0, 66, 543, 1, 0, 0, 0, 68, 568, 1, 0, 0, 0, 70, 599,
1119
- 1, 0, 0, 0, 72, 603, 1, 0, 0, 0, 74, 608, 1, 0, 0, 0, 76, 616, 1, 0, 0, 0, 78, 622, 1, 0,
1120
- 0, 0, 80, 628, 1, 0, 0, 0, 82, 634, 1, 0, 0, 0, 84, 640, 1, 0, 0, 0, 86, 647, 1, 0, 0, 0,
1121
- 88, 654, 1, 0, 0, 0, 90, 659, 1, 0, 0, 0, 92, 664, 1, 0, 0, 0, 94, 669, 1, 0, 0, 0, 96, 687,
1122
- 1, 0, 0, 0, 98, 694, 1, 0, 0, 0, 100, 700, 1, 0, 0, 0, 102, 707, 1, 0, 0, 0, 104, 713, 1,
1123
- 0, 0, 0, 106, 718, 1, 0, 0, 0, 108, 724, 1, 0, 0, 0, 110, 731, 1, 0, 0, 0, 112, 749, 1,
1124
- 0, 0, 0, 114, 756, 1, 0, 0, 0, 116, 765, 1, 0, 0, 0, 118, 772, 1, 0, 0, 0, 120, 778, 1,
1125
- 0, 0, 0, 122, 787, 1, 0, 0, 0, 124, 793, 1, 0, 0, 0, 126, 799, 1, 0, 0, 0, 128, 805, 1,
1126
- 0, 0, 0, 130, 809, 1, 0, 0, 0, 132, 814, 1, 0, 0, 0, 134, 820, 1, 0, 0, 0, 136, 827, 1,
1127
- 0, 0, 0, 138, 833, 1, 0, 0, 0, 140, 838, 1, 0, 0, 0, 142, 844, 1, 0, 0, 0, 144, 850, 1,
1128
- 0, 0, 0, 146, 863, 1, 0, 0, 0, 148, 869, 1, 0, 0, 0, 150, 882, 1, 0, 0, 0, 152, 888, 1,
1129
- 0, 0, 0, 154, 900, 1, 0, 0, 0, 156, 908, 1, 0, 0, 0, 158, 915, 1, 0, 0, 0, 160, 920, 1,
1130
- 0, 0, 0, 162, 164, 7, 0, 0, 0, 163, 162, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 163, 1,
1131
- 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 9, 1, 0, 0, 0, 167, 169, 5, 45, 0, 0, 168, 167, 1, 0,
1132
- 0, 0, 168, 169, 1, 0, 0, 0, 169, 171, 1, 0, 0, 0, 170, 172, 7, 1, 0, 0, 171, 170, 1, 0,
1133
- 0, 0, 172, 173, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 181, 1, 0,
1134
- 0, 0, 175, 177, 5, 46, 0, 0, 176, 178, 7, 1, 0, 0, 177, 176, 1, 0, 0, 0, 178, 179, 1, 0,
1135
- 0, 0, 179, 177, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 182, 1, 0, 0, 0, 181, 175, 1, 0,
1136
- 0, 0, 181, 182, 1, 0, 0, 0, 182, 11, 1, 0, 0, 0, 183, 184, 5, 60, 0, 0, 184, 195, 3, 10,
1137
- 1, 0, 185, 191, 5, 45, 0, 0, 186, 188, 5, 44, 0, 0, 187, 189, 5, 32, 0, 0, 188, 187, 1,
1138
- 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191, 1, 0, 0, 0, 190, 185, 1, 0, 0, 0, 190, 186, 1,
1139
- 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 194, 3, 10, 1, 0, 193, 190, 1, 0, 0, 0, 194, 197, 1,
1140
- 0, 0, 0, 195, 193, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 198, 1, 0, 0, 0, 197, 195, 1,
1141
- 0, 0, 0, 198, 199, 5, 62, 0, 0, 199, 13, 1, 0, 0, 0, 200, 201, 5, 64, 0, 0, 201, 202, 7,
1142
- 2, 0, 0, 202, 203, 7, 2, 0, 0, 203, 204, 7, 2, 0, 0, 204, 205, 7, 2, 0, 0, 205, 206, 7,
1143
- 2, 0, 0, 206, 15, 1, 0, 0, 0, 207, 210, 3, 10, 1, 0, 208, 210, 3, 14, 3, 0, 209, 207, 1,
1144
- 0, 0, 0, 209, 208, 1, 0, 0, 0, 210, 17, 1, 0, 0, 0, 211, 212, 5, 60, 0, 0, 212, 220, 3,
1145
- 16, 4, 0, 213, 215, 5, 44, 0, 0, 214, 216, 5, 32, 0, 0, 215, 214, 1, 0, 0, 0, 215, 216,
1146
- 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 219, 3, 16, 4, 0, 218, 213, 1, 0, 0, 0, 219, 222,
1147
- 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 223, 1, 0, 0, 0, 222, 220,
1148
- 1, 0, 0, 0, 223, 224, 5, 62, 0, 0, 224, 19, 1, 0, 0, 0, 225, 226, 3, 14, 3, 0, 226, 227,
1149
- 7, 3, 0, 0, 227, 231, 7, 4, 0, 0, 228, 230, 7, 1, 0, 0, 229, 228, 1, 0, 0, 0, 230, 233,
1150
- 1, 0, 0, 0, 231, 229, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 21, 1, 0, 0, 0, 233, 231, 1,
1151
- 0, 0, 0, 234, 237, 3, 16, 4, 0, 235, 237, 3, 20, 6, 0, 236, 234, 1, 0, 0, 0, 236, 235,
1152
- 1, 0, 0, 0, 237, 23, 1, 0, 0, 0, 238, 239, 5, 60, 0, 0, 239, 247, 3, 22, 7, 0, 240, 242,
1153
- 5, 44, 0, 0, 241, 243, 5, 32, 0, 0, 242, 241, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 244,
1154
- 1, 0, 0, 0, 244, 246, 3, 22, 7, 0, 245, 240, 1, 0, 0, 0, 246, 249, 1, 0, 0, 0, 247, 245,
1155
- 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 250, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 250, 251,
1156
- 5, 62, 0, 0, 251, 25, 1, 0, 0, 0, 252, 254, 5, 13, 0, 0, 253, 252, 1, 0, 0, 0, 253, 254,
1157
- 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 256, 5, 10, 0, 0, 256, 27, 1, 0, 0, 0, 257, 258,
1158
- 4, 10, 0, 0, 258, 259, 5, 35, 0, 0, 259, 260, 5, 32, 0, 0, 260, 261, 5, 80, 0, 0, 261,
1159
- 262, 5, 76, 0, 0, 262, 263, 5, 65, 0, 0, 263, 264, 5, 78, 0, 0, 264, 266, 1, 0, 0, 0, 265,
1160
- 267, 3, 8, 0, 0, 266, 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268,
1161
- 269, 6, 10, 0, 0, 269, 270, 1, 0, 0, 0, 270, 271, 6, 10, 1, 0, 271, 29, 1, 0, 0, 0, 272,
1162
- 273, 4, 11, 1, 0, 273, 274, 5, 35, 0, 0, 274, 275, 5, 35, 0, 0, 275, 276, 5, 32, 0, 0,
1163
- 276, 277, 5, 70, 0, 0, 277, 278, 5, 73, 0, 0, 278, 279, 5, 78, 0, 0, 279, 280, 5, 68,
1164
- 0, 0, 280, 282, 1, 0, 0, 0, 281, 283, 3, 8, 0, 0, 282, 281, 1, 0, 0, 0, 282, 283, 1, 0,
1165
- 0, 0, 283, 284, 1, 0, 0, 0, 284, 285, 6, 11, 2, 0, 285, 286, 1, 0, 0, 0, 286, 287, 6, 11,
1166
- 1, 0, 287, 31, 1, 0, 0, 0, 288, 289, 4, 12, 2, 0, 289, 290, 5, 35, 0, 0, 290, 291, 5, 35,
1167
- 0, 0, 291, 292, 5, 32, 0, 0, 292, 293, 5, 82, 0, 0, 293, 294, 5, 69, 0, 0, 294, 295, 5,
1168
- 65, 0, 0, 295, 296, 5, 68, 0, 0, 296, 298, 1, 0, 0, 0, 297, 299, 3, 8, 0, 0, 298, 297,
1169
- 1, 0, 0, 0, 298, 299, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 301, 6, 12, 3, 0, 301, 302,
1170
- 1, 0, 0, 0, 302, 303, 6, 12, 1, 0, 303, 33, 1, 0, 0, 0, 304, 305, 4, 13, 3, 0, 305, 306,
1171
- 5, 35, 0, 0, 306, 307, 5, 35, 0, 0, 307, 308, 5, 32, 0, 0, 308, 309, 5, 69, 0, 0, 309,
1172
- 310, 5, 68, 0, 0, 310, 311, 5, 73, 0, 0, 311, 312, 5, 84, 0, 0, 312, 314, 1, 0, 0, 0, 313,
1173
- 315, 3, 8, 0, 0, 314, 313, 1, 0, 0, 0, 314, 315, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316,
1174
- 317, 6, 13, 4, 0, 317, 318, 1, 0, 0, 0, 318, 319, 6, 13, 1, 0, 319, 35, 1, 0, 0, 0, 320,
1175
- 321, 4, 14, 4, 0, 321, 322, 5, 35, 0, 0, 322, 323, 5, 35, 0, 0, 323, 324, 5, 32, 0, 0,
1176
- 324, 325, 5, 67, 0, 0, 325, 326, 5, 79, 0, 0, 326, 327, 5, 80, 0, 0, 327, 328, 5, 89,
1177
- 0, 0, 328, 330, 1, 0, 0, 0, 329, 331, 3, 8, 0, 0, 330, 329, 1, 0, 0, 0, 330, 331, 1, 0,
1178
- 0, 0, 331, 332, 1, 0, 0, 0, 332, 333, 6, 14, 5, 0, 333, 334, 1, 0, 0, 0, 334, 335, 6, 14,
1179
- 1, 0, 335, 37, 1, 0, 0, 0, 336, 337, 4, 15, 5, 0, 337, 338, 5, 35, 0, 0, 338, 339, 5, 35,
1180
- 0, 0, 339, 340, 5, 32, 0, 0, 340, 341, 5, 77, 0, 0, 341, 342, 5, 79, 0, 0, 342, 343, 5,
1181
- 86, 0, 0, 343, 344, 5, 69, 0, 0, 344, 346, 1, 0, 0, 0, 345, 347, 3, 8, 0, 0, 346, 345,
1182
- 1, 0, 0, 0, 346, 347, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 349, 6, 15, 6, 0, 349, 350,
1183
- 1, 0, 0, 0, 350, 351, 6, 15, 1, 0, 351, 39, 1, 0, 0, 0, 352, 353, 4, 16, 6, 0, 353, 354,
1184
- 5, 35, 0, 0, 354, 355, 5, 35, 0, 0, 355, 356, 5, 32, 0, 0, 356, 357, 5, 79, 0, 0, 357,
1185
- 358, 5, 80, 0, 0, 358, 359, 5, 69, 0, 0, 359, 360, 5, 78, 0, 0, 360, 362, 1, 0, 0, 0, 361,
1186
- 363, 3, 8, 0, 0, 362, 361, 1, 0, 0, 0, 362, 363, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364,
1187
- 365, 6, 16, 7, 0, 365, 366, 1, 0, 0, 0, 366, 367, 6, 16, 1, 0, 367, 41, 1, 0, 0, 0, 368,
1188
- 369, 4, 17, 7, 0, 369, 370, 5, 35, 0, 0, 370, 371, 5, 35, 0, 0, 371, 372, 5, 32, 0, 0,
1189
- 372, 373, 5, 70, 0, 0, 373, 374, 5, 79, 0, 0, 374, 375, 5, 76, 0, 0, 375, 376, 5, 68,
1190
- 0, 0, 376, 378, 1, 0, 0, 0, 377, 379, 3, 8, 0, 0, 378, 377, 1, 0, 0, 0, 378, 379, 1, 0,
1191
- 0, 0, 379, 380, 1, 0, 0, 0, 380, 381, 6, 17, 8, 0, 381, 382, 1, 0, 0, 0, 382, 383, 6, 17,
1192
- 1, 0, 383, 43, 1, 0, 0, 0, 384, 385, 4, 18, 8, 0, 385, 386, 5, 35, 0, 0, 386, 387, 5, 35,
1193
- 0, 0, 387, 388, 5, 32, 0, 0, 388, 389, 5, 83, 0, 0, 389, 390, 5, 69, 0, 0, 390, 391, 5,
1194
- 78, 0, 0, 391, 392, 5, 68, 0, 0, 392, 394, 1, 0, 0, 0, 393, 395, 3, 8, 0, 0, 394, 393,
1195
- 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 397, 6, 18, 9, 0, 397, 398,
1196
- 1, 0, 0, 0, 398, 399, 6, 18, 1, 0, 399, 45, 1, 0, 0, 0, 400, 401, 4, 19, 9, 0, 401, 402,
1197
- 5, 35, 0, 0, 402, 403, 5, 35, 0, 0, 403, 404, 5, 32, 0, 0, 404, 405, 5, 69, 0, 0, 405,
1198
- 406, 5, 88, 0, 0, 406, 407, 5, 69, 0, 0, 407, 408, 5, 67, 0, 0, 408, 410, 1, 0, 0, 0, 409,
1199
- 411, 3, 8, 0, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412,
1200
- 413, 6, 19, 10, 0, 413, 414, 1, 0, 0, 0, 414, 415, 6, 19, 1, 0, 415, 47, 1, 0, 0, 0, 416,
1201
- 417, 4, 20, 10, 0, 417, 418, 5, 35, 0, 0, 418, 419, 5, 35, 0, 0, 419, 420, 5, 32, 0, 0,
1202
- 420, 421, 5, 66, 0, 0, 421, 422, 5, 65, 0, 0, 422, 423, 5, 82, 0, 0, 423, 424, 5, 69,
1203
- 0, 0, 424, 426, 1, 0, 0, 0, 425, 427, 3, 8, 0, 0, 426, 425, 1, 0, 0, 0, 426, 427, 1, 0,
1204
- 0, 0, 427, 428, 1, 0, 0, 0, 428, 429, 6, 20, 11, 0, 429, 430, 1, 0, 0, 0, 430, 431, 6,
1205
- 20, 1, 0, 431, 49, 1, 0, 0, 0, 432, 433, 4, 21, 11, 0, 433, 434, 5, 35, 0, 0, 434, 435,
1206
- 5, 35, 0, 0, 435, 436, 5, 32, 0, 0, 436, 437, 5, 87, 0, 0, 437, 438, 5, 79, 0, 0, 438,
1207
- 439, 5, 82, 0, 0, 439, 440, 5, 75, 0, 0, 440, 442, 1, 0, 0, 0, 441, 443, 3, 8, 0, 0, 442,
1208
- 441, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445, 6, 21, 12, 0, 445,
1209
- 446, 1, 0, 0, 0, 446, 447, 6, 21, 1, 0, 447, 51, 1, 0, 0, 0, 448, 449, 4, 22, 12, 0, 449,
1210
- 450, 5, 35, 0, 0, 450, 451, 5, 35, 0, 0, 451, 452, 5, 32, 0, 0, 452, 453, 5, 70, 0, 0,
1211
- 453, 454, 5, 79, 0, 0, 454, 455, 5, 82, 0, 0, 455, 456, 5, 75, 0, 0, 456, 458, 1, 0, 0,
1212
- 0, 457, 459, 3, 8, 0, 0, 458, 457, 1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 460, 1, 0, 0,
1213
- 0, 460, 461, 6, 22, 13, 0, 461, 462, 1, 0, 0, 0, 462, 463, 6, 22, 1, 0, 463, 53, 1, 0,
1214
- 0, 0, 464, 465, 4, 23, 13, 0, 465, 466, 5, 35, 0, 0, 466, 467, 5, 35, 0, 0, 467, 468,
1215
- 5, 32, 0, 0, 468, 469, 5, 75, 0, 0, 469, 470, 5, 73, 0, 0, 470, 471, 5, 76, 0, 0, 471,
1216
- 472, 5, 76, 0, 0, 472, 474, 1, 0, 0, 0, 473, 475, 3, 8, 0, 0, 474, 473, 1, 0, 0, 0, 474,
1217
- 475, 1, 0, 0, 0, 475, 476, 1, 0, 0, 0, 476, 477, 6, 23, 14, 0, 477, 478, 1, 0, 0, 0, 478,
1218
- 479, 6, 23, 1, 0, 479, 55, 1, 0, 0, 0, 480, 481, 4, 24, 14, 0, 481, 482, 5, 35, 0, 0, 482,
1219
- 483, 5, 35, 0, 0, 483, 484, 5, 32, 0, 0, 484, 485, 5, 76, 0, 0, 485, 486, 5, 79, 0, 0,
1220
- 486, 487, 5, 79, 0, 0, 487, 488, 5, 75, 0, 0, 488, 490, 1, 0, 0, 0, 489, 491, 3, 8, 0,
1221
- 0, 490, 489, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 493, 6, 24, 15,
1222
- 0, 493, 494, 1, 0, 0, 0, 494, 495, 6, 24, 1, 0, 495, 57, 1, 0, 0, 0, 496, 497, 4, 25, 15,
1223
- 0, 497, 498, 5, 35, 0, 0, 498, 499, 5, 35, 0, 0, 499, 500, 5, 32, 0, 0, 500, 501, 5, 66,
1224
- 0, 0, 501, 502, 5, 85, 0, 0, 502, 503, 5, 70, 0, 0, 503, 504, 5, 70, 0, 0, 504, 506, 1,
1225
- 0, 0, 0, 505, 507, 3, 8, 0, 0, 506, 505, 1, 0, 0, 0, 506, 507, 1, 0, 0, 0, 507, 508, 1,
1226
- 0, 0, 0, 508, 509, 6, 25, 16, 0, 509, 510, 1, 0, 0, 0, 510, 511, 6, 25, 1, 0, 511, 59,
1227
- 1, 0, 0, 0, 512, 513, 4, 26, 16, 0, 513, 514, 5, 96, 0, 0, 514, 515, 5, 96, 0, 0, 515,
1228
- 516, 5, 96, 0, 0, 516, 517, 5, 112, 0, 0, 517, 518, 5, 108, 0, 0, 518, 519, 5, 117, 0,
1229
- 0, 519, 520, 5, 114, 0, 0, 520, 521, 5, 110, 0, 0, 521, 522, 5, 107, 0, 0, 522, 523,
1230
- 1, 0, 0, 0, 523, 524, 3, 26, 9, 0, 524, 525, 6, 26, 17, 0, 525, 61, 1, 0, 0, 0, 526, 527,
1231
- 4, 27, 17, 0, 527, 528, 5, 96, 0, 0, 528, 529, 5, 96, 0, 0, 529, 530, 5, 96, 0, 0, 530,
1232
- 532, 1, 0, 0, 0, 531, 533, 3, 26, 9, 0, 532, 531, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533,
1233
- 534, 1, 0, 0, 0, 534, 535, 6, 27, 18, 0, 535, 63, 1, 0, 0, 0, 536, 538, 7, 5, 0, 0, 537,
1234
- 536, 1, 0, 0, 0, 538, 539, 1, 0, 0, 0, 539, 537, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540,
1235
- 541, 1, 0, 0, 0, 541, 542, 6, 28, 19, 0, 542, 65, 1, 0, 0, 0, 543, 544, 5, 60, 0, 0, 544,
1236
- 545, 5, 116, 0, 0, 545, 546, 5, 104, 0, 0, 546, 547, 5, 105, 0, 0, 547, 548, 5, 110,
1237
- 0, 0, 548, 549, 5, 107, 0, 0, 549, 550, 5, 62, 0, 0, 550, 554, 1, 0, 0, 0, 551, 553, 9,
1238
- 0, 0, 0, 552, 551, 1, 0, 0, 0, 553, 556, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, 554, 552, 1,
1239
- 0, 0, 0, 555, 557, 1, 0, 0, 0, 556, 554, 1, 0, 0, 0, 557, 558, 5, 60, 0, 0, 558, 559, 5,
1240
- 47, 0, 0, 559, 560, 5, 116, 0, 0, 560, 561, 5, 104, 0, 0, 561, 562, 5, 105, 0, 0, 562,
1241
- 563, 5, 110, 0, 0, 563, 564, 5, 107, 0, 0, 564, 565, 5, 62, 0, 0, 565, 566, 1, 0, 0, 0,
1242
- 566, 567, 6, 29, 20, 0, 567, 67, 1, 0, 0, 0, 568, 569, 5, 60, 0, 0, 569, 570, 5, 124,
1243
- 0, 0, 570, 571, 5, 99, 0, 0, 571, 572, 5, 104, 0, 0, 572, 573, 5, 97, 0, 0, 573, 574,
1244
- 5, 110, 0, 0, 574, 575, 5, 110, 0, 0, 575, 576, 5, 101, 0, 0, 576, 577, 5, 108, 0, 0,
1245
- 577, 578, 5, 62, 0, 0, 578, 582, 1, 0, 0, 0, 579, 581, 9, 0, 0, 0, 580, 579, 1, 0, 0, 0,
1246
- 581, 584, 1, 0, 0, 0, 582, 583, 1, 0, 0, 0, 582, 580, 1, 0, 0, 0, 583, 585, 1, 0, 0, 0,
1247
- 584, 582, 1, 0, 0, 0, 585, 586, 5, 60, 0, 0, 586, 587, 5, 99, 0, 0, 587, 588, 5, 104,
1248
- 0, 0, 588, 589, 5, 97, 0, 0, 589, 590, 5, 110, 0, 0, 590, 591, 5, 110, 0, 0, 591, 592,
1249
- 5, 101, 0, 0, 592, 593, 5, 108, 0, 0, 593, 594, 5, 124, 0, 0, 594, 595, 5, 62, 0, 0, 595,
1250
- 596, 1, 0, 0, 0, 596, 597, 6, 30, 20, 0, 597, 69, 1, 0, 0, 0, 598, 600, 8, 6, 0, 0, 599,
1251
- 598, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 599, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602,
1252
- 71, 1, 0, 0, 0, 603, 604, 5, 35, 0, 0, 604, 605, 1, 0, 0, 0, 605, 606, 6, 32, 20, 0, 606,
1253
- 73, 1, 0, 0, 0, 607, 609, 7, 7, 0, 0, 608, 607, 1, 0, 0, 0, 609, 610, 1, 0, 0, 0, 610, 608,
1254
- 1, 0, 0, 0, 610, 611, 1, 0, 0, 0, 611, 612, 1, 0, 0, 0, 612, 613, 6, 33, 21, 0, 613, 614,
1255
- 1, 0, 0, 0, 614, 615, 6, 33, 22, 0, 615, 75, 1, 0, 0, 0, 616, 617, 4, 34, 18, 0, 617, 618,
1256
- 5, 91, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 6, 34, 23, 0, 620, 621, 6, 34, 24, 0, 621,
1257
- 77, 1, 0, 0, 0, 622, 623, 4, 35, 19, 0, 623, 624, 5, 91, 0, 0, 624, 625, 1, 0, 0, 0, 625,
1258
- 626, 6, 35, 23, 0, 626, 627, 6, 35, 25, 0, 627, 79, 1, 0, 0, 0, 628, 629, 4, 36, 20, 0,
1259
- 629, 630, 5, 91, 0, 0, 630, 631, 1, 0, 0, 0, 631, 632, 6, 36, 23, 0, 632, 633, 6, 36,
1260
- 24, 0, 633, 81, 1, 0, 0, 0, 634, 635, 4, 37, 21, 0, 635, 636, 5, 91, 0, 0, 636, 637, 1,
1261
- 0, 0, 0, 637, 638, 6, 37, 23, 0, 638, 639, 6, 37, 26, 0, 639, 83, 1, 0, 0, 0, 640, 641,
1262
- 4, 38, 22, 0, 641, 642, 5, 40, 0, 0, 642, 643, 6, 38, 27, 0, 643, 644, 1, 0, 0, 0, 644,
1263
- 645, 6, 38, 28, 0, 645, 646, 6, 38, 29, 0, 646, 85, 1, 0, 0, 0, 647, 648, 4, 39, 23, 0,
1264
- 648, 649, 5, 123, 0, 0, 649, 650, 6, 39, 30, 0, 650, 651, 1, 0, 0, 0, 651, 652, 6, 39,
1265
- 31, 0, 652, 653, 6, 39, 32, 0, 653, 87, 1, 0, 0, 0, 654, 655, 4, 40, 24, 0, 655, 656,
1266
- 3, 18, 5, 0, 656, 657, 1, 0, 0, 0, 657, 658, 6, 40, 33, 0, 658, 89, 1, 0, 0, 0, 659, 660,
1267
- 4, 41, 25, 0, 660, 661, 3, 12, 2, 0, 661, 662, 1, 0, 0, 0, 662, 663, 6, 41, 33, 0, 663,
1268
- 91, 1, 0, 0, 0, 664, 665, 4, 42, 26, 0, 665, 666, 3, 24, 8, 0, 666, 667, 1, 0, 0, 0, 667,
1269
- 668, 6, 42, 34, 0, 668, 93, 1, 0, 0, 0, 669, 670, 4, 43, 27, 0, 670, 671, 5, 60, 0, 0,
1270
- 671, 672, 5, 33, 0, 0, 672, 673, 5, 45, 0, 0, 673, 674, 5, 45, 0, 0, 674, 678, 1, 0, 0,
1271
- 0, 675, 677, 8, 8, 0, 0, 676, 675, 1, 0, 0, 0, 677, 680, 1, 0, 0, 0, 678, 679, 1, 0, 0,
1272
- 0, 678, 676, 1, 0, 0, 0, 679, 681, 1, 0, 0, 0, 680, 678, 1, 0, 0, 0, 681, 682, 5, 45, 0,
1273
- 0, 682, 683, 5, 45, 0, 0, 683, 684, 5, 62, 0, 0, 684, 685, 1, 0, 0, 0, 685, 686, 6, 43,
1274
- 35, 0, 686, 95, 1, 0, 0, 0, 687, 688, 4, 44, 28, 0, 688, 689, 8, 9, 0, 0, 689, 690, 6,
1275
- 44, 36, 0, 690, 691, 1, 0, 0, 0, 691, 692, 6, 44, 37, 0, 692, 693, 6, 44, 38, 0, 693,
1276
- 97, 1, 0, 0, 0, 694, 695, 4, 45, 29, 0, 695, 696, 3, 26, 9, 0, 696, 697, 1, 0, 0, 0, 697,
1277
- 698, 6, 45, 39, 0, 698, 699, 6, 45, 40, 0, 699, 99, 1, 0, 0, 0, 700, 701, 3, 26, 9, 0,
1278
- 701, 702, 6, 46, 41, 0, 702, 703, 1, 0, 0, 0, 703, 704, 6, 46, 42, 0, 704, 705, 6, 46,
1279
- 38, 0, 705, 101, 1, 0, 0, 0, 706, 708, 7, 7, 0, 0, 707, 706, 1, 0, 0, 0, 708, 709, 1, 0,
1280
- 0, 0, 709, 707, 1, 0, 0, 0, 709, 710, 1, 0, 0, 0, 710, 711, 1, 0, 0, 0, 711, 712, 6, 47,
1281
- 22, 0, 712, 103, 1, 0, 0, 0, 713, 714, 5, 44, 0, 0, 714, 715, 1, 0, 0, 0, 715, 716, 6,
1282
- 48, 43, 0, 716, 105, 1, 0, 0, 0, 717, 719, 8, 10, 0, 0, 718, 717, 1, 0, 0, 0, 719, 720,
1283
- 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 720, 721, 1, 0, 0, 0, 721, 722, 1, 0, 0, 0, 722, 723,
1284
- 6, 49, 44, 0, 723, 107, 1, 0, 0, 0, 724, 725, 5, 93, 0, 0, 725, 726, 6, 50, 45, 0, 726,
1285
- 727, 1, 0, 0, 0, 727, 728, 6, 50, 46, 0, 728, 729, 6, 50, 1, 0, 729, 109, 1, 0, 0, 0, 730,
1286
- 732, 7, 7, 0, 0, 731, 730, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 731, 1, 0, 0, 0, 733,
1287
- 734, 1, 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 736, 6, 51, 22, 0, 736, 111, 1, 0, 0, 0, 737,
1288
- 738, 5, 49, 0, 0, 738, 739, 5, 48, 0, 0, 739, 750, 5, 50, 0, 0, 740, 741, 5, 50, 0, 0,
1289
- 741, 742, 5, 48, 0, 0, 742, 750, 5, 48, 0, 0, 743, 744, 5, 50, 0, 0, 744, 745, 5, 48,
1290
- 0, 0, 745, 750, 5, 50, 0, 0, 746, 747, 5, 52, 0, 0, 747, 748, 5, 57, 0, 0, 748, 750, 5,
1291
- 57, 0, 0, 749, 737, 1, 0, 0, 0, 749, 740, 1, 0, 0, 0, 749, 743, 1, 0, 0, 0, 749, 746, 1,
1292
- 0, 0, 0, 750, 751, 1, 0, 0, 0, 751, 752, 6, 52, 47, 0, 752, 753, 1, 0, 0, 0, 753, 754,
1293
- 6, 52, 48, 0, 754, 113, 1, 0, 0, 0, 755, 757, 5, 45, 0, 0, 756, 755, 1, 0, 0, 0, 756, 757,
1294
- 1, 0, 0, 0, 757, 759, 1, 0, 0, 0, 758, 760, 7, 1, 0, 0, 759, 758, 1, 0, 0, 0, 760, 761,
1295
- 1, 0, 0, 0, 761, 759, 1, 0, 0, 0, 761, 762, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 764,
1296
- 6, 53, 49, 0, 764, 115, 1, 0, 0, 0, 765, 766, 5, 93, 0, 0, 766, 767, 6, 54, 50, 0, 767,
1297
- 768, 1, 0, 0, 0, 768, 769, 6, 54, 46, 0, 769, 770, 6, 54, 1, 0, 770, 117, 1, 0, 0, 0, 771,
1298
- 773, 7, 7, 0, 0, 772, 771, 1, 0, 0, 0, 773, 774, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774,
1299
- 775, 1, 0, 0, 0, 775, 776, 1, 0, 0, 0, 776, 777, 6, 55, 22, 0, 777, 119, 1, 0, 0, 0, 778,
1300
- 782, 7, 11, 0, 0, 779, 781, 7, 12, 0, 0, 780, 779, 1, 0, 0, 0, 781, 784, 1, 0, 0, 0, 782,
1301
- 780, 1, 0, 0, 0, 782, 783, 1, 0, 0, 0, 783, 785, 1, 0, 0, 0, 784, 782, 1, 0, 0, 0, 785,
1302
- 786, 6, 56, 51, 0, 786, 121, 1, 0, 0, 0, 787, 788, 5, 93, 0, 0, 788, 789, 6, 57, 52, 0,
1303
- 789, 790, 1, 0, 0, 0, 790, 791, 6, 57, 46, 0, 791, 792, 6, 57, 1, 0, 792, 123, 1, 0, 0,
1304
- 0, 793, 794, 5, 92, 0, 0, 794, 795, 7, 13, 0, 0, 795, 796, 1, 0, 0, 0, 796, 797, 6, 58,
1305
- 53, 0, 797, 125, 1, 0, 0, 0, 798, 800, 8, 14, 0, 0, 799, 798, 1, 0, 0, 0, 800, 801, 1,
1306
- 0, 0, 0, 801, 799, 1, 0, 0, 0, 801, 802, 1, 0, 0, 0, 802, 803, 1, 0, 0, 0, 803, 804, 6,
1307
- 59, 53, 0, 804, 127, 1, 0, 0, 0, 805, 806, 5, 92, 0, 0, 806, 807, 1, 0, 0, 0, 807, 808,
1308
- 6, 60, 53, 0, 808, 129, 1, 0, 0, 0, 809, 810, 5, 40, 0, 0, 810, 811, 6, 61, 54, 0, 811,
1309
- 812, 1, 0, 0, 0, 812, 813, 6, 61, 53, 0, 813, 131, 1, 0, 0, 0, 814, 815, 4, 62, 30, 0,
1310
- 815, 816, 5, 41, 0, 0, 816, 817, 6, 62, 55, 0, 817, 818, 1, 0, 0, 0, 818, 819, 6, 62,
1311
- 53, 0, 819, 133, 1, 0, 0, 0, 820, 821, 5, 41, 0, 0, 821, 822, 6, 63, 56, 0, 822, 823,
1312
- 1, 0, 0, 0, 823, 824, 6, 63, 57, 0, 824, 825, 6, 63, 1, 0, 825, 135, 1, 0, 0, 0, 826, 828,
1313
- 8, 15, 0, 0, 827, 826, 1, 0, 0, 0, 828, 829, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830,
1314
- 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 832, 6, 64, 58, 0, 832, 137, 1, 0, 0, 0, 833, 834,
1315
- 5, 123, 0, 0, 834, 835, 6, 65, 59, 0, 835, 836, 1, 0, 0, 0, 836, 837, 6, 65, 58, 0, 837,
1316
- 139, 1, 0, 0, 0, 838, 839, 4, 66, 31, 0, 839, 840, 5, 125, 0, 0, 840, 841, 6, 66, 60,
1317
- 0, 841, 842, 1, 0, 0, 0, 842, 843, 6, 66, 58, 0, 843, 141, 1, 0, 0, 0, 844, 845, 5, 125,
1318
- 0, 0, 845, 846, 6, 67, 61, 0, 846, 847, 1, 0, 0, 0, 847, 848, 6, 67, 62, 0, 848, 849,
1319
- 6, 67, 1, 0, 849, 143, 1, 0, 0, 0, 850, 851, 4, 68, 32, 0, 851, 852, 5, 96, 0, 0, 852,
1320
- 853, 5, 96, 0, 0, 853, 854, 5, 96, 0, 0, 854, 856, 1, 0, 0, 0, 855, 857, 3, 26, 9, 0, 856,
1321
- 855, 1, 0, 0, 0, 856, 857, 1, 0, 0, 0, 857, 858, 1, 0, 0, 0, 858, 859, 6, 68, 63, 0, 859,
1322
- 860, 1, 0, 0, 0, 860, 861, 6, 68, 64, 0, 861, 862, 6, 68, 40, 0, 862, 145, 1, 0, 0, 0,
1323
- 863, 864, 4, 69, 33, 0, 864, 865, 3, 26, 9, 0, 865, 866, 1, 0, 0, 0, 866, 867, 6, 69,
1324
- 39, 0, 867, 868, 6, 69, 40, 0, 868, 147, 1, 0, 0, 0, 869, 870, 4, 70, 34, 0, 870, 874,
1325
- 3, 26, 9, 0, 871, 873, 7, 7, 0, 0, 872, 871, 1, 0, 0, 0, 873, 876, 1, 0, 0, 0, 874, 872,
1326
- 1, 0, 0, 0, 874, 875, 1, 0, 0, 0, 875, 877, 1, 0, 0, 0, 876, 874, 1, 0, 0, 0, 877, 878,
1327
- 3, 26, 9, 0, 878, 879, 1, 0, 0, 0, 879, 880, 6, 70, 39, 0, 880, 881, 6, 70, 40, 0, 881,
1328
- 149, 1, 0, 0, 0, 882, 883, 4, 71, 35, 0, 883, 884, 3, 26, 9, 0, 884, 885, 1, 0, 0, 0, 885,
1329
- 886, 6, 71, 39, 0, 886, 887, 6, 71, 40, 0, 887, 151, 1, 0, 0, 0, 888, 890, 4, 72, 36,
1330
- 0, 889, 891, 7, 7, 0, 0, 890, 889, 1, 0, 0, 0, 891, 892, 1, 0, 0, 0, 892, 890, 1, 0, 0,
1331
- 0, 892, 893, 1, 0, 0, 0, 893, 894, 1, 0, 0, 0, 894, 895, 3, 26, 9, 0, 895, 896, 1, 0, 0,
1332
- 0, 896, 897, 6, 72, 39, 0, 897, 898, 6, 72, 40, 0, 898, 153, 1, 0, 0, 0, 899, 901, 8,
1333
- 8, 0, 0, 900, 899, 1, 0, 0, 0, 901, 902, 1, 0, 0, 0, 902, 900, 1, 0, 0, 0, 902, 903, 1,
1334
- 0, 0, 0, 903, 904, 1, 0, 0, 0, 904, 905, 6, 73, 65, 0, 905, 906, 1, 0, 0, 0, 906, 907,
1335
- 6, 73, 37, 0, 907, 155, 1, 0, 0, 0, 908, 909, 5, 13, 0, 0, 909, 910, 5, 10, 0, 0, 910,
1336
- 911, 1, 0, 0, 0, 911, 912, 6, 74, 66, 0, 912, 913, 1, 0, 0, 0, 913, 914, 6, 74, 37, 0,
1337
- 914, 157, 1, 0, 0, 0, 915, 916, 5, 10, 0, 0, 916, 917, 6, 75, 67, 0, 917, 918, 1, 0, 0,
1338
- 0, 918, 919, 6, 75, 37, 0, 919, 159, 1, 0, 0, 0, 920, 921, 5, 13, 0, 0, 921, 922, 6, 76,
1339
- 68, 0, 922, 923, 1, 0, 0, 0, 923, 924, 6, 76, 37, 0, 924, 161, 1, 0, 0, 0, 61, 0, 1, 2,
1340
- 3, 4, 5, 6, 7, 165, 168, 173, 179, 181, 188, 190, 195, 209, 215, 220, 231, 236, 242,
1341
- 247, 253, 266, 282, 298, 314, 330, 346, 362, 378, 394, 410, 426, 442, 458, 474,
1342
- 490, 506, 532, 539, 554, 582, 601, 610, 678, 709, 720, 733, 749, 756, 761, 774,
1343
- 782, 801, 829, 856, 874, 892, 902, 69, 1, 10, 0, 2, 1, 0, 1, 11, 1, 1, 12, 2, 1, 13, 3,
1344
- 1, 14, 4, 1, 15, 5, 1, 16, 6, 1, 17, 7, 1, 18, 8, 1, 19, 9, 1, 20, 10, 1, 21, 11, 1, 22, 12,
1345
- 1, 23, 13, 1, 24, 14, 1, 25, 15, 1, 26, 16, 1, 27, 17, 0, 1, 0, 7, 19, 0, 1, 33, 18, 6, 0,
1346
- 0, 7, 1, 0, 2, 2, 0, 2, 3, 0, 2, 4, 0, 1, 38, 19, 7, 3, 0, 2, 5, 0, 1, 39, 20, 7, 5, 0, 2, 6,
1347
- 0, 7, 7, 0, 7, 8, 0, 7, 20, 0, 1, 44, 21, 7, 18, 0, 2, 7, 0, 7, 10, 0, 2, 0, 0, 1, 46, 22, 7,
1348
- 9, 0, 7, 11, 0, 7, 15, 0, 1, 50, 23, 7, 2, 0, 1, 52, 24, 7, 13, 0, 7, 12, 0, 1, 54, 25, 7,
1349
- 14, 0, 1, 57, 26, 7, 16, 0, 1, 61, 27, 1, 62, 28, 1, 63, 29, 7, 4, 0, 7, 17, 0, 1, 65, 30,
1350
- 1, 66, 31, 1, 67, 32, 7, 6, 0, 1, 68, 33, 7, 38, 0, 1, 73, 34, 1, 74, 35, 1, 75, 36, 1, 76,
1351
- 37
901
+ 4, 0, 35, 811, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3,
902
+ 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, 2,
903
+ 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, 7,
904
+ 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, 2,
905
+ 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, 7,
906
+ 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, 2,
907
+ 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, 7,
908
+ 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, 2,
909
+ 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, 7,
910
+ 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 1, 0, 4, 0, 131,
911
+ 8, 0, 11, 0, 12, 0, 132, 1, 1, 3, 1, 136, 8, 1, 1, 1, 4, 1, 139, 8, 1, 11, 1, 12, 1, 140,
912
+ 1, 1, 1, 1, 4, 1, 145, 8, 1, 11, 1, 12, 1, 146, 3, 1, 149, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1,
913
+ 2, 3, 2, 156, 8, 2, 3, 2, 158, 8, 2, 1, 2, 5, 2, 161, 8, 2, 10, 2, 12, 2, 164, 9, 2, 1, 2,
914
+ 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 3, 4, 177, 8, 4, 1, 5, 1, 5, 1, 5,
915
+ 1, 5, 3, 5, 183, 8, 5, 1, 5, 5, 5, 186, 8, 5, 10, 5, 12, 5, 189, 9, 5, 1, 5, 1, 5, 1, 6, 1,
916
+ 6, 1, 6, 1, 6, 5, 6, 197, 8, 6, 10, 6, 12, 6, 200, 9, 6, 1, 7, 1, 7, 3, 7, 204, 8, 7, 1, 8,
917
+ 1, 8, 1, 8, 1, 8, 3, 8, 210, 8, 8, 1, 8, 5, 8, 213, 8, 8, 10, 8, 12, 8, 216, 9, 8, 1, 8, 1,
918
+ 8, 1, 9, 3, 9, 221, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10,
919
+ 1, 10, 1, 10, 3, 10, 235, 8, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11,
920
+ 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 252, 8, 11, 1, 11, 1, 11, 1, 11,
921
+ 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12,
922
+ 269, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13,
923
+ 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 286, 8, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14,
924
+ 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 303, 8, 14, 1, 14,
925
+ 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
926
+ 1, 15, 3, 15, 320, 8, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16,
927
+ 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 337, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16,
928
+ 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 354,
929
+ 8, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18,
930
+ 1, 18, 1, 18, 1, 18, 3, 18, 371, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19,
931
+ 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 3, 19, 388, 8, 19, 1, 19, 1, 19,
932
+ 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20,
933
+ 3, 20, 405, 8, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21,
934
+ 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 422, 8, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22,
935
+ 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 439, 8, 22,
936
+ 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23,
937
+ 1, 23, 1, 23, 3, 23, 456, 8, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24,
938
+ 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24,
939
+ 1, 24, 1, 24, 1, 24, 3, 24, 482, 8, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25,
940
+ 1, 25, 1, 25, 3, 25, 493, 8, 25, 1, 25, 1, 25, 1, 26, 4, 26, 498, 8, 26, 11, 26, 12, 26,
941
+ 499, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 5, 27,
942
+ 513, 8, 27, 10, 27, 12, 27, 516, 9, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27,
943
+ 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28,
944
+ 1, 28, 1, 28, 1, 28, 5, 28, 541, 8, 28, 10, 28, 12, 28, 544, 9, 28, 1, 28, 1, 28, 1, 28,
945
+ 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 4, 29, 560,
946
+ 8, 29, 11, 29, 12, 29, 561, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 4, 31, 569, 8, 31, 11, 31,
947
+ 12, 31, 570, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32,
948
+ 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 595,
949
+ 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 4, 33, 605, 8, 33, 11, 33,
950
+ 12, 33, 606, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34,
951
+ 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36,
952
+ 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39,
953
+ 1, 39, 1, 39, 1, 39, 1, 39, 5, 39, 650, 8, 39, 10, 39, 12, 39, 653, 9, 39, 1, 39, 1, 39,
954
+ 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41,
955
+ 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43,
956
+ 1, 43, 1, 43, 1, 44, 4, 44, 686, 8, 44, 11, 44, 12, 44, 687, 1, 44, 1, 44, 1, 45, 1, 45,
957
+ 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47,
958
+ 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 4, 49, 714, 8, 49, 11, 49, 12, 49, 715,
959
+ 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51,
960
+ 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53,
961
+ 743, 8, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54,
962
+ 1, 55, 1, 55, 1, 55, 5, 55, 759, 8, 55, 10, 55, 12, 55, 762, 9, 55, 1, 55, 1, 55, 1, 55,
963
+ 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 4, 57, 777, 8, 57,
964
+ 11, 57, 12, 57, 778, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 4, 58, 787, 8, 58, 11, 58,
965
+ 12, 58, 788, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59,
966
+ 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 3, 514, 542, 651,
967
+ 0, 62, 5, 0, 7, 0, 9, 0, 11, 0, 13, 0, 15, 0, 17, 0, 19, 0, 21, 0, 23, 0, 25, 16, 27, 17,
968
+ 29, 18, 31, 19, 33, 20, 35, 21, 37, 22, 39, 23, 41, 24, 43, 25, 45, 26, 47, 27, 49, 28,
969
+ 51, 29, 53, 30, 55, 31, 57, 32, 59, 0, 61, 0, 63, 12, 65, 34, 67, 33, 69, 0, 71, 0, 73,
970
+ 0, 75, 0, 77, 0, 79, 0, 81, 0, 83, 0, 85, 0, 87, 0, 89, 0, 91, 0, 93, 0, 95, 35, 97, 0, 99,
971
+ 0, 101, 0, 103, 0, 105, 0, 107, 0, 109, 0, 111, 0, 113, 0, 115, 0, 117, 0, 119, 0, 121,
972
+ 0, 123, 0, 125, 0, 127, 0, 5, 0, 1, 2, 3, 4, 14, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122,
973
+ 1, 0, 48, 57, 3, 0, 48, 57, 65, 90, 97, 122, 2, 0, 32, 32, 58, 58, 1, 0, 49, 57, 3, 0, 9,
974
+ 10, 13, 13, 32, 32, 4, 0, 9, 10, 13, 13, 32, 32, 35, 35, 2, 0, 9, 9, 32, 32, 6, 0, 43, 43,
975
+ 45, 46, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 10, 10, 13, 13, 6, 0, 9, 10, 13, 13, 32,
976
+ 32, 40, 40, 60, 60, 91, 91, 2, 0, 40, 41, 92, 92, 5, 0, 10, 10, 13, 13, 40, 41, 60, 60,
977
+ 92, 92, 4, 0, 10, 10, 13, 13, 123, 123, 125, 125, 844, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0,
978
+ 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0,
979
+ 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0,
980
+ 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0,
981
+ 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 1, 67, 1, 0,
982
+ 0, 0, 1, 69, 1, 0, 0, 0, 1, 71, 1, 0, 0, 0, 1, 73, 1, 0, 0, 0, 1, 75, 1, 0, 0, 0, 1, 77, 1, 0,
983
+ 0, 0, 1, 79, 1, 0, 0, 0, 1, 81, 1, 0, 0, 0, 1, 83, 1, 0, 0, 0, 1, 85, 1, 0, 0, 0, 1, 87, 1, 0,
984
+ 0, 0, 1, 89, 1, 0, 0, 0, 2, 91, 1, 0, 0, 0, 2, 93, 1, 0, 0, 0, 2, 95, 1, 0, 0, 0, 2, 97, 1, 0,
985
+ 0, 0, 2, 99, 1, 0, 0, 0, 2, 101, 1, 0, 0, 0, 3, 103, 1, 0, 0, 0, 3, 105, 1, 0, 0, 0, 3, 107,
986
+ 1, 0, 0, 0, 3, 109, 1, 0, 0, 0, 4, 111, 1, 0, 0, 0, 4, 113, 1, 0, 0, 0, 4, 115, 1, 0, 0, 0,
987
+ 4, 117, 1, 0, 0, 0, 4, 119, 1, 0, 0, 0, 4, 121, 1, 0, 0, 0, 4, 123, 1, 0, 0, 0, 4, 125, 1,
988
+ 0, 0, 0, 4, 127, 1, 0, 0, 0, 5, 130, 1, 0, 0, 0, 7, 135, 1, 0, 0, 0, 9, 150, 1, 0, 0, 0, 11,
989
+ 167, 1, 0, 0, 0, 13, 176, 1, 0, 0, 0, 15, 178, 1, 0, 0, 0, 17, 192, 1, 0, 0, 0, 19, 203,
990
+ 1, 0, 0, 0, 21, 205, 1, 0, 0, 0, 23, 220, 1, 0, 0, 0, 25, 224, 1, 0, 0, 0, 27, 240, 1, 0,
991
+ 0, 0, 29, 257, 1, 0, 0, 0, 31, 274, 1, 0, 0, 0, 33, 291, 1, 0, 0, 0, 35, 308, 1, 0, 0, 0,
992
+ 37, 325, 1, 0, 0, 0, 39, 342, 1, 0, 0, 0, 41, 359, 1, 0, 0, 0, 43, 376, 1, 0, 0, 0, 45, 393,
993
+ 1, 0, 0, 0, 47, 410, 1, 0, 0, 0, 49, 427, 1, 0, 0, 0, 51, 444, 1, 0, 0, 0, 53, 461, 1, 0,
994
+ 0, 0, 55, 486, 1, 0, 0, 0, 57, 497, 1, 0, 0, 0, 59, 503, 1, 0, 0, 0, 61, 528, 1, 0, 0, 0,
995
+ 63, 559, 1, 0, 0, 0, 65, 563, 1, 0, 0, 0, 67, 568, 1, 0, 0, 0, 69, 576, 1, 0, 0, 0, 71, 601,
996
+ 1, 0, 0, 0, 73, 613, 1, 0, 0, 0, 75, 620, 1, 0, 0, 0, 77, 627, 1, 0, 0, 0, 79, 632, 1, 0,
997
+ 0, 0, 81, 637, 1, 0, 0, 0, 83, 642, 1, 0, 0, 0, 85, 660, 1, 0, 0, 0, 87, 667, 1, 0, 0, 0,
998
+ 89, 673, 1, 0, 0, 0, 91, 679, 1, 0, 0, 0, 93, 685, 1, 0, 0, 0, 95, 691, 1, 0, 0, 0, 97, 695,
999
+ 1, 0, 0, 0, 99, 700, 1, 0, 0, 0, 101, 706, 1, 0, 0, 0, 103, 713, 1, 0, 0, 0, 105, 719, 1,
1000
+ 0, 0, 0, 107, 724, 1, 0, 0, 0, 109, 730, 1, 0, 0, 0, 111, 736, 1, 0, 0, 0, 113, 749, 1,
1001
+ 0, 0, 0, 115, 755, 1, 0, 0, 0, 117, 768, 1, 0, 0, 0, 119, 774, 1, 0, 0, 0, 121, 786, 1,
1002
+ 0, 0, 0, 123, 794, 1, 0, 0, 0, 125, 801, 1, 0, 0, 0, 127, 806, 1, 0, 0, 0, 129, 131, 7,
1003
+ 0, 0, 0, 130, 129, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1,
1004
+ 0, 0, 0, 133, 6, 1, 0, 0, 0, 134, 136, 5, 45, 0, 0, 135, 134, 1, 0, 0, 0, 135, 136, 1, 0,
1005
+ 0, 0, 136, 138, 1, 0, 0, 0, 137, 139, 7, 1, 0, 0, 138, 137, 1, 0, 0, 0, 139, 140, 1, 0,
1006
+ 0, 0, 140, 138, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 148, 1, 0, 0, 0, 142, 144, 5, 46,
1007
+ 0, 0, 143, 145, 7, 1, 0, 0, 144, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 144, 1, 0,
1008
+ 0, 0, 146, 147, 1, 0, 0, 0, 147, 149, 1, 0, 0, 0, 148, 142, 1, 0, 0, 0, 148, 149, 1, 0,
1009
+ 0, 0, 149, 8, 1, 0, 0, 0, 150, 151, 5, 60, 0, 0, 151, 162, 3, 7, 1, 0, 152, 158, 5, 45,
1010
+ 0, 0, 153, 155, 5, 44, 0, 0, 154, 156, 5, 32, 0, 0, 155, 154, 1, 0, 0, 0, 155, 156, 1,
1011
+ 0, 0, 0, 156, 158, 1, 0, 0, 0, 157, 152, 1, 0, 0, 0, 157, 153, 1, 0, 0, 0, 158, 159, 1,
1012
+ 0, 0, 0, 159, 161, 3, 7, 1, 0, 160, 157, 1, 0, 0, 0, 161, 164, 1, 0, 0, 0, 162, 160, 1,
1013
+ 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 165, 1, 0, 0, 0, 164, 162, 1, 0, 0, 0, 165, 166, 5,
1014
+ 62, 0, 0, 166, 10, 1, 0, 0, 0, 167, 168, 5, 64, 0, 0, 168, 169, 7, 2, 0, 0, 169, 170, 7,
1015
+ 2, 0, 0, 170, 171, 7, 2, 0, 0, 171, 172, 7, 2, 0, 0, 172, 173, 7, 2, 0, 0, 173, 12, 1, 0,
1016
+ 0, 0, 174, 177, 3, 7, 1, 0, 175, 177, 3, 11, 3, 0, 176, 174, 1, 0, 0, 0, 176, 175, 1, 0,
1017
+ 0, 0, 177, 14, 1, 0, 0, 0, 178, 179, 5, 60, 0, 0, 179, 187, 3, 13, 4, 0, 180, 182, 5, 44,
1018
+ 0, 0, 181, 183, 5, 32, 0, 0, 182, 181, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 1, 0,
1019
+ 0, 0, 184, 186, 3, 13, 4, 0, 185, 180, 1, 0, 0, 0, 186, 189, 1, 0, 0, 0, 187, 185, 1, 0,
1020
+ 0, 0, 187, 188, 1, 0, 0, 0, 188, 190, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 190, 191, 5, 62,
1021
+ 0, 0, 191, 16, 1, 0, 0, 0, 192, 193, 3, 11, 3, 0, 193, 194, 7, 3, 0, 0, 194, 198, 7, 4,
1022
+ 0, 0, 195, 197, 7, 1, 0, 0, 196, 195, 1, 0, 0, 0, 197, 200, 1, 0, 0, 0, 198, 196, 1, 0,
1023
+ 0, 0, 198, 199, 1, 0, 0, 0, 199, 18, 1, 0, 0, 0, 200, 198, 1, 0, 0, 0, 201, 204, 3, 13,
1024
+ 4, 0, 202, 204, 3, 17, 6, 0, 203, 201, 1, 0, 0, 0, 203, 202, 1, 0, 0, 0, 204, 20, 1, 0,
1025
+ 0, 0, 205, 206, 5, 60, 0, 0, 206, 214, 3, 19, 7, 0, 207, 209, 5, 44, 0, 0, 208, 210, 5,
1026
+ 32, 0, 0, 209, 208, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 213, 3,
1027
+ 19, 7, 0, 212, 207, 1, 0, 0, 0, 213, 216, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 214, 215, 1,
1028
+ 0, 0, 0, 215, 217, 1, 0, 0, 0, 216, 214, 1, 0, 0, 0, 217, 218, 5, 62, 0, 0, 218, 22, 1,
1029
+ 0, 0, 0, 219, 221, 5, 13, 0, 0, 220, 219, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 222, 1,
1030
+ 0, 0, 0, 222, 223, 5, 10, 0, 0, 223, 24, 1, 0, 0, 0, 224, 225, 4, 10, 0, 0, 225, 226, 5,
1031
+ 35, 0, 0, 226, 227, 5, 35, 0, 0, 227, 228, 5, 32, 0, 0, 228, 229, 5, 80, 0, 0, 229, 230,
1032
+ 5, 76, 0, 0, 230, 231, 5, 65, 0, 0, 231, 232, 5, 78, 0, 0, 232, 234, 1, 0, 0, 0, 233, 235,
1033
+ 3, 5, 0, 0, 234, 233, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 237,
1034
+ 6, 10, 0, 0, 237, 238, 1, 0, 0, 0, 238, 239, 6, 10, 1, 0, 239, 26, 1, 0, 0, 0, 240, 241,
1035
+ 4, 11, 1, 0, 241, 242, 5, 35, 0, 0, 242, 243, 5, 35, 0, 0, 243, 244, 5, 35, 0, 0, 244,
1036
+ 245, 5, 32, 0, 0, 245, 246, 5, 70, 0, 0, 246, 247, 5, 73, 0, 0, 247, 248, 5, 78, 0, 0,
1037
+ 248, 249, 5, 68, 0, 0, 249, 251, 1, 0, 0, 0, 250, 252, 3, 5, 0, 0, 251, 250, 1, 0, 0, 0,
1038
+ 251, 252, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 254, 6, 11, 2, 0, 254, 255, 1, 0, 0, 0,
1039
+ 255, 256, 6, 11, 1, 0, 256, 28, 1, 0, 0, 0, 257, 258, 4, 12, 2, 0, 258, 259, 5, 35, 0,
1040
+ 0, 259, 260, 5, 35, 0, 0, 260, 261, 5, 35, 0, 0, 261, 262, 5, 32, 0, 0, 262, 263, 5, 82,
1041
+ 0, 0, 263, 264, 5, 69, 0, 0, 264, 265, 5, 65, 0, 0, 265, 266, 5, 68, 0, 0, 266, 268, 1,
1042
+ 0, 0, 0, 267, 269, 3, 5, 0, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 270, 1,
1043
+ 0, 0, 0, 270, 271, 6, 12, 3, 0, 271, 272, 1, 0, 0, 0, 272, 273, 6, 12, 1, 0, 273, 30, 1,
1044
+ 0, 0, 0, 274, 275, 4, 13, 3, 0, 275, 276, 5, 35, 0, 0, 276, 277, 5, 35, 0, 0, 277, 278,
1045
+ 5, 35, 0, 0, 278, 279, 5, 32, 0, 0, 279, 280, 5, 69, 0, 0, 280, 281, 5, 68, 0, 0, 281,
1046
+ 282, 5, 73, 0, 0, 282, 283, 5, 84, 0, 0, 283, 285, 1, 0, 0, 0, 284, 286, 3, 5, 0, 0, 285,
1047
+ 284, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 288, 6, 13, 4, 0, 288,
1048
+ 289, 1, 0, 0, 0, 289, 290, 6, 13, 1, 0, 290, 32, 1, 0, 0, 0, 291, 292, 4, 14, 4, 0, 292,
1049
+ 293, 5, 35, 0, 0, 293, 294, 5, 35, 0, 0, 294, 295, 5, 35, 0, 0, 295, 296, 5, 32, 0, 0,
1050
+ 296, 297, 5, 67, 0, 0, 297, 298, 5, 79, 0, 0, 298, 299, 5, 80, 0, 0, 299, 300, 5, 89,
1051
+ 0, 0, 300, 302, 1, 0, 0, 0, 301, 303, 3, 5, 0, 0, 302, 301, 1, 0, 0, 0, 302, 303, 1, 0,
1052
+ 0, 0, 303, 304, 1, 0, 0, 0, 304, 305, 6, 14, 5, 0, 305, 306, 1, 0, 0, 0, 306, 307, 6, 14,
1053
+ 1, 0, 307, 34, 1, 0, 0, 0, 308, 309, 4, 15, 5, 0, 309, 310, 5, 35, 0, 0, 310, 311, 5, 35,
1054
+ 0, 0, 311, 312, 5, 35, 0, 0, 312, 313, 5, 32, 0, 0, 313, 314, 5, 77, 0, 0, 314, 315, 5,
1055
+ 79, 0, 0, 315, 316, 5, 86, 0, 0, 316, 317, 5, 69, 0, 0, 317, 319, 1, 0, 0, 0, 318, 320,
1056
+ 3, 5, 0, 0, 319, 318, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 322,
1057
+ 6, 15, 6, 0, 322, 323, 1, 0, 0, 0, 323, 324, 6, 15, 1, 0, 324, 36, 1, 0, 0, 0, 325, 326,
1058
+ 4, 16, 6, 0, 326, 327, 5, 35, 0, 0, 327, 328, 5, 35, 0, 0, 328, 329, 5, 35, 0, 0, 329,
1059
+ 330, 5, 32, 0, 0, 330, 331, 5, 83, 0, 0, 331, 332, 5, 69, 0, 0, 332, 333, 5, 78, 0, 0,
1060
+ 333, 334, 5, 68, 0, 0, 334, 336, 1, 0, 0, 0, 335, 337, 3, 5, 0, 0, 336, 335, 1, 0, 0, 0,
1061
+ 336, 337, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 6, 16, 7, 0, 339, 340, 1, 0, 0, 0,
1062
+ 340, 341, 6, 16, 1, 0, 341, 38, 1, 0, 0, 0, 342, 343, 4, 17, 7, 0, 343, 344, 5, 35, 0,
1063
+ 0, 344, 345, 5, 35, 0, 0, 345, 346, 5, 35, 0, 0, 346, 347, 5, 32, 0, 0, 347, 348, 5, 69,
1064
+ 0, 0, 348, 349, 5, 88, 0, 0, 349, 350, 5, 69, 0, 0, 350, 351, 5, 67, 0, 0, 351, 353, 1,
1065
+ 0, 0, 0, 352, 354, 3, 5, 0, 0, 353, 352, 1, 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 355, 1,
1066
+ 0, 0, 0, 355, 356, 6, 17, 8, 0, 356, 357, 1, 0, 0, 0, 357, 358, 6, 17, 1, 0, 358, 40, 1,
1067
+ 0, 0, 0, 359, 360, 4, 18, 8, 0, 360, 361, 5, 35, 0, 0, 361, 362, 5, 35, 0, 0, 362, 363,
1068
+ 5, 35, 0, 0, 363, 364, 5, 32, 0, 0, 364, 365, 5, 66, 0, 0, 365, 366, 5, 65, 0, 0, 366,
1069
+ 367, 5, 82, 0, 0, 367, 368, 5, 69, 0, 0, 368, 370, 1, 0, 0, 0, 369, 371, 3, 5, 0, 0, 370,
1070
+ 369, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 372, 1, 0, 0, 0, 372, 373, 6, 18, 9, 0, 373,
1071
+ 374, 1, 0, 0, 0, 374, 375, 6, 18, 1, 0, 375, 42, 1, 0, 0, 0, 376, 377, 4, 19, 9, 0, 377,
1072
+ 378, 5, 35, 0, 0, 378, 379, 5, 35, 0, 0, 379, 380, 5, 35, 0, 0, 380, 381, 5, 32, 0, 0,
1073
+ 381, 382, 5, 87, 0, 0, 382, 383, 5, 79, 0, 0, 383, 384, 5, 82, 0, 0, 384, 385, 5, 75,
1074
+ 0, 0, 385, 387, 1, 0, 0, 0, 386, 388, 3, 5, 0, 0, 387, 386, 1, 0, 0, 0, 387, 388, 1, 0,
1075
+ 0, 0, 388, 389, 1, 0, 0, 0, 389, 390, 6, 19, 10, 0, 390, 391, 1, 0, 0, 0, 391, 392, 6,
1076
+ 19, 1, 0, 392, 44, 1, 0, 0, 0, 393, 394, 4, 20, 10, 0, 394, 395, 5, 35, 0, 0, 395, 396,
1077
+ 5, 35, 0, 0, 396, 397, 5, 35, 0, 0, 397, 398, 5, 32, 0, 0, 398, 399, 5, 70, 0, 0, 399,
1078
+ 400, 5, 79, 0, 0, 400, 401, 5, 82, 0, 0, 401, 402, 5, 75, 0, 0, 402, 404, 1, 0, 0, 0, 403,
1079
+ 405, 3, 5, 0, 0, 404, 403, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406,
1080
+ 407, 6, 20, 11, 0, 407, 408, 1, 0, 0, 0, 408, 409, 6, 20, 1, 0, 409, 46, 1, 0, 0, 0, 410,
1081
+ 411, 4, 21, 11, 0, 411, 412, 5, 35, 0, 0, 412, 413, 5, 35, 0, 0, 413, 414, 5, 35, 0, 0,
1082
+ 414, 415, 5, 32, 0, 0, 415, 416, 5, 75, 0, 0, 416, 417, 5, 73, 0, 0, 417, 418, 5, 76,
1083
+ 0, 0, 418, 419, 5, 76, 0, 0, 419, 421, 1, 0, 0, 0, 420, 422, 3, 5, 0, 0, 421, 420, 1, 0,
1084
+ 0, 0, 421, 422, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 424, 6, 21, 12, 0, 424, 425, 1,
1085
+ 0, 0, 0, 425, 426, 6, 21, 1, 0, 426, 48, 1, 0, 0, 0, 427, 428, 4, 22, 12, 0, 428, 429,
1086
+ 5, 35, 0, 0, 429, 430, 5, 35, 0, 0, 430, 431, 5, 35, 0, 0, 431, 432, 5, 32, 0, 0, 432,
1087
+ 433, 5, 76, 0, 0, 433, 434, 5, 79, 0, 0, 434, 435, 5, 79, 0, 0, 435, 436, 5, 75, 0, 0,
1088
+ 436, 438, 1, 0, 0, 0, 437, 439, 3, 5, 0, 0, 438, 437, 1, 0, 0, 0, 438, 439, 1, 0, 0, 0,
1089
+ 439, 440, 1, 0, 0, 0, 440, 441, 6, 22, 13, 0, 441, 442, 1, 0, 0, 0, 442, 443, 6, 22, 1,
1090
+ 0, 443, 50, 1, 0, 0, 0, 444, 445, 4, 23, 13, 0, 445, 446, 5, 35, 0, 0, 446, 447, 5, 35,
1091
+ 0, 0, 447, 448, 5, 35, 0, 0, 448, 449, 5, 32, 0, 0, 449, 450, 5, 66, 0, 0, 450, 451, 5,
1092
+ 85, 0, 0, 451, 452, 5, 70, 0, 0, 452, 453, 5, 70, 0, 0, 453, 455, 1, 0, 0, 0, 454, 456,
1093
+ 3, 5, 0, 0, 455, 454, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458,
1094
+ 6, 23, 14, 0, 458, 459, 1, 0, 0, 0, 459, 460, 6, 23, 1, 0, 460, 52, 1, 0, 0, 0, 461, 481,
1095
+ 4, 24, 14, 0, 462, 463, 5, 96, 0, 0, 463, 464, 5, 96, 0, 0, 464, 465, 5, 96, 0, 0, 465,
1096
+ 466, 5, 101, 0, 0, 466, 467, 5, 120, 0, 0, 467, 468, 5, 97, 0, 0, 468, 469, 5, 109, 0,
1097
+ 0, 469, 470, 5, 112, 0, 0, 470, 471, 5, 108, 0, 0, 471, 482, 5, 101, 0, 0, 472, 473,
1098
+ 5, 96, 0, 0, 473, 474, 5, 96, 0, 0, 474, 475, 5, 96, 0, 0, 475, 476, 5, 112, 0, 0, 476,
1099
+ 477, 5, 108, 0, 0, 477, 478, 5, 117, 0, 0, 478, 479, 5, 114, 0, 0, 479, 480, 5, 110,
1100
+ 0, 0, 480, 482, 5, 107, 0, 0, 481, 462, 1, 0, 0, 0, 481, 472, 1, 0, 0, 0, 482, 483, 1,
1101
+ 0, 0, 0, 483, 484, 3, 23, 9, 0, 484, 485, 6, 24, 15, 0, 485, 54, 1, 0, 0, 0, 486, 487,
1102
+ 4, 25, 15, 0, 487, 488, 5, 96, 0, 0, 488, 489, 5, 96, 0, 0, 489, 490, 5, 96, 0, 0, 490,
1103
+ 492, 1, 0, 0, 0, 491, 493, 3, 23, 9, 0, 492, 491, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493,
1104
+ 494, 1, 0, 0, 0, 494, 495, 6, 25, 16, 0, 495, 56, 1, 0, 0, 0, 496, 498, 7, 5, 0, 0, 497,
1105
+ 496, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 497, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500,
1106
+ 501, 1, 0, 0, 0, 501, 502, 6, 26, 17, 0, 502, 58, 1, 0, 0, 0, 503, 504, 5, 60, 0, 0, 504,
1107
+ 505, 5, 116, 0, 0, 505, 506, 5, 104, 0, 0, 506, 507, 5, 105, 0, 0, 507, 508, 5, 110,
1108
+ 0, 0, 508, 509, 5, 107, 0, 0, 509, 510, 5, 62, 0, 0, 510, 514, 1, 0, 0, 0, 511, 513, 9,
1109
+ 0, 0, 0, 512, 511, 1, 0, 0, 0, 513, 516, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 514, 512, 1,
1110
+ 0, 0, 0, 515, 517, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0, 517, 518, 5, 60, 0, 0, 518, 519, 5,
1111
+ 47, 0, 0, 519, 520, 5, 116, 0, 0, 520, 521, 5, 104, 0, 0, 521, 522, 5, 105, 0, 0, 522,
1112
+ 523, 5, 110, 0, 0, 523, 524, 5, 107, 0, 0, 524, 525, 5, 62, 0, 0, 525, 526, 1, 0, 0, 0,
1113
+ 526, 527, 6, 27, 18, 0, 527, 60, 1, 0, 0, 0, 528, 529, 5, 60, 0, 0, 529, 530, 5, 124,
1114
+ 0, 0, 530, 531, 5, 99, 0, 0, 531, 532, 5, 104, 0, 0, 532, 533, 5, 97, 0, 0, 533, 534,
1115
+ 5, 110, 0, 0, 534, 535, 5, 110, 0, 0, 535, 536, 5, 101, 0, 0, 536, 537, 5, 108, 0, 0,
1116
+ 537, 538, 5, 62, 0, 0, 538, 542, 1, 0, 0, 0, 539, 541, 9, 0, 0, 0, 540, 539, 1, 0, 0, 0,
1117
+ 541, 544, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 542, 540, 1, 0, 0, 0, 543, 545, 1, 0, 0, 0,
1118
+ 544, 542, 1, 0, 0, 0, 545, 546, 5, 60, 0, 0, 546, 547, 5, 99, 0, 0, 547, 548, 5, 104,
1119
+ 0, 0, 548, 549, 5, 97, 0, 0, 549, 550, 5, 110, 0, 0, 550, 551, 5, 110, 0, 0, 551, 552,
1120
+ 5, 101, 0, 0, 552, 553, 5, 108, 0, 0, 553, 554, 5, 124, 0, 0, 554, 555, 5, 62, 0, 0, 555,
1121
+ 556, 1, 0, 0, 0, 556, 557, 6, 28, 18, 0, 557, 62, 1, 0, 0, 0, 558, 560, 8, 6, 0, 0, 559,
1122
+ 558, 1, 0, 0, 0, 560, 561, 1, 0, 0, 0, 561, 559, 1, 0, 0, 0, 561, 562, 1, 0, 0, 0, 562,
1123
+ 64, 1, 0, 0, 0, 563, 564, 5, 35, 0, 0, 564, 565, 1, 0, 0, 0, 565, 566, 6, 30, 18, 0, 566,
1124
+ 66, 1, 0, 0, 0, 567, 569, 7, 7, 0, 0, 568, 567, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 568,
1125
+ 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 573, 6, 31, 19, 0, 573, 574,
1126
+ 1, 0, 0, 0, 574, 575, 6, 31, 20, 0, 575, 68, 1, 0, 0, 0, 576, 577, 4, 32, 16, 0, 577, 594,
1127
+ 5, 40, 0, 0, 578, 579, 5, 78, 0, 0, 579, 580, 5, 69, 0, 0, 580, 581, 5, 88, 0, 0, 581,
1128
+ 595, 5, 84, 0, 0, 582, 583, 5, 87, 0, 0, 583, 584, 5, 65, 0, 0, 584, 585, 5, 73, 0, 0,
1129
+ 585, 595, 5, 84, 0, 0, 586, 587, 5, 84, 0, 0, 587, 588, 5, 69, 0, 0, 588, 589, 5, 82,
1130
+ 0, 0, 589, 595, 5, 77, 0, 0, 590, 591, 5, 70, 0, 0, 591, 592, 5, 65, 0, 0, 592, 593, 5,
1131
+ 73, 0, 0, 593, 595, 5, 76, 0, 0, 594, 578, 1, 0, 0, 0, 594, 582, 1, 0, 0, 0, 594, 586,
1132
+ 1, 0, 0, 0, 594, 590, 1, 0, 0, 0, 595, 596, 1, 0, 0, 0, 596, 597, 5, 41, 0, 0, 597, 598,
1133
+ 6, 32, 21, 0, 598, 599, 1, 0, 0, 0, 599, 600, 6, 32, 22, 0, 600, 70, 1, 0, 0, 0, 601, 602,
1134
+ 4, 33, 17, 0, 602, 604, 5, 91, 0, 0, 603, 605, 7, 8, 0, 0, 604, 603, 1, 0, 0, 0, 605, 606,
1135
+ 1, 0, 0, 0, 606, 604, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609,
1136
+ 5, 93, 0, 0, 609, 610, 6, 33, 23, 0, 610, 611, 1, 0, 0, 0, 611, 612, 6, 33, 24, 0, 612,
1137
+ 72, 1, 0, 0, 0, 613, 614, 4, 34, 18, 0, 614, 615, 5, 40, 0, 0, 615, 616, 6, 34, 25, 0,
1138
+ 616, 617, 1, 0, 0, 0, 617, 618, 6, 34, 26, 0, 618, 619, 6, 34, 27, 0, 619, 74, 1, 0, 0,
1139
+ 0, 620, 621, 4, 35, 19, 0, 621, 622, 5, 123, 0, 0, 622, 623, 6, 35, 28, 0, 623, 624,
1140
+ 1, 0, 0, 0, 624, 625, 6, 35, 29, 0, 625, 626, 6, 35, 30, 0, 626, 76, 1, 0, 0, 0, 627, 628,
1141
+ 4, 36, 20, 0, 628, 629, 3, 15, 5, 0, 629, 630, 1, 0, 0, 0, 630, 631, 6, 36, 31, 0, 631,
1142
+ 78, 1, 0, 0, 0, 632, 633, 4, 37, 21, 0, 633, 634, 3, 9, 2, 0, 634, 635, 1, 0, 0, 0, 635,
1143
+ 636, 6, 37, 31, 0, 636, 80, 1, 0, 0, 0, 637, 638, 4, 38, 22, 0, 638, 639, 3, 21, 8, 0,
1144
+ 639, 640, 1, 0, 0, 0, 640, 641, 6, 38, 32, 0, 641, 82, 1, 0, 0, 0, 642, 643, 4, 39, 23,
1145
+ 0, 643, 644, 5, 60, 0, 0, 644, 645, 5, 33, 0, 0, 645, 646, 5, 45, 0, 0, 646, 647, 5, 45,
1146
+ 0, 0, 647, 651, 1, 0, 0, 0, 648, 650, 8, 9, 0, 0, 649, 648, 1, 0, 0, 0, 650, 653, 1, 0,
1147
+ 0, 0, 651, 652, 1, 0, 0, 0, 651, 649, 1, 0, 0, 0, 652, 654, 1, 0, 0, 0, 653, 651, 1, 0,
1148
+ 0, 0, 654, 655, 5, 45, 0, 0, 655, 656, 5, 45, 0, 0, 656, 657, 5, 62, 0, 0, 657, 658, 1,
1149
+ 0, 0, 0, 658, 659, 6, 39, 33, 0, 659, 84, 1, 0, 0, 0, 660, 661, 4, 40, 24, 0, 661, 662,
1150
+ 8, 10, 0, 0, 662, 663, 6, 40, 34, 0, 663, 664, 1, 0, 0, 0, 664, 665, 6, 40, 35, 0, 665,
1151
+ 666, 6, 40, 36, 0, 666, 86, 1, 0, 0, 0, 667, 668, 4, 41, 25, 0, 668, 669, 3, 23, 9, 0,
1152
+ 669, 670, 1, 0, 0, 0, 670, 671, 6, 41, 37, 0, 671, 672, 6, 41, 38, 0, 672, 88, 1, 0, 0,
1153
+ 0, 673, 674, 3, 23, 9, 0, 674, 675, 6, 42, 39, 0, 675, 676, 1, 0, 0, 0, 676, 677, 6, 42,
1154
+ 40, 0, 677, 678, 6, 42, 36, 0, 678, 90, 1, 0, 0, 0, 679, 680, 5, 92, 0, 0, 680, 681, 7,
1155
+ 11, 0, 0, 681, 682, 1, 0, 0, 0, 682, 683, 6, 43, 41, 0, 683, 92, 1, 0, 0, 0, 684, 686,
1156
+ 8, 12, 0, 0, 685, 684, 1, 0, 0, 0, 686, 687, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 687, 688,
1157
+ 1, 0, 0, 0, 688, 689, 1, 0, 0, 0, 689, 690, 6, 44, 41, 0, 690, 94, 1, 0, 0, 0, 691, 692,
1158
+ 5, 92, 0, 0, 692, 693, 1, 0, 0, 0, 693, 694, 6, 45, 41, 0, 694, 96, 1, 0, 0, 0, 695, 696,
1159
+ 5, 40, 0, 0, 696, 697, 6, 46, 42, 0, 697, 698, 1, 0, 0, 0, 698, 699, 6, 46, 41, 0, 699,
1160
+ 98, 1, 0, 0, 0, 700, 701, 4, 47, 26, 0, 701, 702, 5, 41, 0, 0, 702, 703, 6, 47, 43, 0,
1161
+ 703, 704, 1, 0, 0, 0, 704, 705, 6, 47, 41, 0, 705, 100, 1, 0, 0, 0, 706, 707, 5, 41, 0,
1162
+ 0, 707, 708, 6, 48, 44, 0, 708, 709, 1, 0, 0, 0, 709, 710, 6, 48, 45, 0, 710, 711, 6,
1163
+ 48, 1, 0, 711, 102, 1, 0, 0, 0, 712, 714, 8, 13, 0, 0, 713, 712, 1, 0, 0, 0, 714, 715,
1164
+ 1, 0, 0, 0, 715, 713, 1, 0, 0, 0, 715, 716, 1, 0, 0, 0, 716, 717, 1, 0, 0, 0, 717, 718,
1165
+ 6, 49, 46, 0, 718, 104, 1, 0, 0, 0, 719, 720, 5, 123, 0, 0, 720, 721, 6, 50, 47, 0, 721,
1166
+ 722, 1, 0, 0, 0, 722, 723, 6, 50, 46, 0, 723, 106, 1, 0, 0, 0, 724, 725, 4, 51, 27, 0,
1167
+ 725, 726, 5, 125, 0, 0, 726, 727, 6, 51, 48, 0, 727, 728, 1, 0, 0, 0, 728, 729, 6, 51,
1168
+ 46, 0, 729, 108, 1, 0, 0, 0, 730, 731, 5, 125, 0, 0, 731, 732, 6, 52, 49, 0, 732, 733,
1169
+ 1, 0, 0, 0, 733, 734, 6, 52, 50, 0, 734, 735, 6, 52, 1, 0, 735, 110, 1, 0, 0, 0, 736, 737,
1170
+ 4, 53, 28, 0, 737, 738, 5, 96, 0, 0, 738, 739, 5, 96, 0, 0, 739, 740, 5, 96, 0, 0, 740,
1171
+ 742, 1, 0, 0, 0, 741, 743, 3, 23, 9, 0, 742, 741, 1, 0, 0, 0, 742, 743, 1, 0, 0, 0, 743,
1172
+ 744, 1, 0, 0, 0, 744, 745, 6, 53, 51, 0, 745, 746, 1, 0, 0, 0, 746, 747, 6, 53, 52, 0,
1173
+ 747, 748, 6, 53, 38, 0, 748, 112, 1, 0, 0, 0, 749, 750, 4, 54, 29, 0, 750, 751, 3, 23,
1174
+ 9, 0, 751, 752, 1, 0, 0, 0, 752, 753, 6, 54, 37, 0, 753, 754, 6, 54, 38, 0, 754, 114,
1175
+ 1, 0, 0, 0, 755, 756, 4, 55, 30, 0, 756, 760, 3, 23, 9, 0, 757, 759, 7, 7, 0, 0, 758, 757,
1176
+ 1, 0, 0, 0, 759, 762, 1, 0, 0, 0, 760, 758, 1, 0, 0, 0, 760, 761, 1, 0, 0, 0, 761, 763,
1177
+ 1, 0, 0, 0, 762, 760, 1, 0, 0, 0, 763, 764, 3, 23, 9, 0, 764, 765, 1, 0, 0, 0, 765, 766,
1178
+ 6, 55, 37, 0, 766, 767, 6, 55, 38, 0, 767, 116, 1, 0, 0, 0, 768, 769, 4, 56, 31, 0, 769,
1179
+ 770, 3, 23, 9, 0, 770, 771, 1, 0, 0, 0, 771, 772, 6, 56, 37, 0, 772, 773, 6, 56, 38, 0,
1180
+ 773, 118, 1, 0, 0, 0, 774, 776, 4, 57, 32, 0, 775, 777, 7, 7, 0, 0, 776, 775, 1, 0, 0,
1181
+ 0, 777, 778, 1, 0, 0, 0, 778, 776, 1, 0, 0, 0, 778, 779, 1, 0, 0, 0, 779, 780, 1, 0, 0,
1182
+ 0, 780, 781, 3, 23, 9, 0, 781, 782, 1, 0, 0, 0, 782, 783, 6, 57, 37, 0, 783, 784, 6, 57,
1183
+ 38, 0, 784, 120, 1, 0, 0, 0, 785, 787, 8, 9, 0, 0, 786, 785, 1, 0, 0, 0, 787, 788, 1, 0,
1184
+ 0, 0, 788, 786, 1, 0, 0, 0, 788, 789, 1, 0, 0, 0, 789, 790, 1, 0, 0, 0, 790, 791, 6, 58,
1185
+ 53, 0, 791, 792, 1, 0, 0, 0, 792, 793, 6, 58, 35, 0, 793, 122, 1, 0, 0, 0, 794, 795, 5,
1186
+ 13, 0, 0, 795, 796, 5, 10, 0, 0, 796, 797, 1, 0, 0, 0, 797, 798, 6, 59, 54, 0, 798, 799,
1187
+ 1, 0, 0, 0, 799, 800, 6, 59, 35, 0, 800, 124, 1, 0, 0, 0, 801, 802, 5, 10, 0, 0, 802, 803,
1188
+ 6, 60, 55, 0, 803, 804, 1, 0, 0, 0, 804, 805, 6, 60, 35, 0, 805, 126, 1, 0, 0, 0, 806,
1189
+ 807, 5, 13, 0, 0, 807, 808, 6, 61, 56, 0, 808, 809, 1, 0, 0, 0, 809, 810, 6, 61, 35, 0,
1190
+ 810, 128, 1, 0, 0, 0, 51, 0, 1, 2, 3, 4, 132, 135, 140, 146, 148, 155, 157, 162, 176,
1191
+ 182, 187, 198, 203, 209, 214, 220, 234, 251, 268, 285, 302, 319, 336, 353, 370,
1192
+ 387, 404, 421, 438, 455, 481, 492, 499, 514, 542, 561, 570, 594, 606, 651, 687,
1193
+ 715, 742, 760, 778, 788, 57, 1, 10, 0, 2, 1, 0, 1, 11, 1, 1, 12, 2, 1, 13, 3, 1, 14, 4,
1194
+ 1, 15, 5, 1, 16, 6, 1, 17, 7, 1, 18, 8, 1, 19, 9, 1, 20, 10, 1, 21, 11, 1, 22, 12, 1, 23,
1195
+ 13, 1, 24, 14, 1, 25, 15, 0, 1, 0, 7, 12, 0, 1, 31, 16, 6, 0, 0, 1, 32, 17, 7, 14, 0, 1, 33,
1196
+ 18, 7, 15, 0, 1, 34, 19, 7, 1, 0, 2, 2, 0, 1, 35, 20, 7, 3, 0, 2, 3, 0, 7, 5, 0, 7, 6, 0, 7,
1197
+ 13, 0, 1, 40, 21, 7, 11, 0, 2, 4, 0, 7, 8, 0, 2, 0, 0, 1, 42, 22, 7, 7, 0, 7, 9, 0, 1, 46, 23,
1198
+ 1, 47, 24, 1, 48, 25, 7, 2, 0, 7, 10, 0, 1, 50, 26, 1, 51, 27, 1, 52, 28, 7, 4, 0, 1, 53,
1199
+ 29, 7, 31, 0, 1, 58, 30, 1, 59, 31, 1, 60, 32, 1, 61, 33
1352
1200
  ];
1353
1201
  static __ATN;
1354
1202
  static get _ATN() {