@plurnk/plurnk-contracts 1.5.0 → 1.6.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 (57) hide show
  1. package/README.md +9 -5
  2. package/SPEC.md +327 -227
  3. package/dist/plurnk.gemma.gbnf +160 -0
  4. package/dist/plurnk.qwen.gbnf +149 -0
  5. package/dist/schema/ClientStatement.json +7 -1
  6. package/dist/schema/EntryReadResult.json +1 -9
  7. package/dist/schema/PlurnkStatement.json +56 -11
  8. package/dist/schema/ProposalProjection.json +1 -1
  9. package/dist/schema/ProviderAccounting.json +30 -0
  10. package/dist/schema/ProviderCost.json +6 -15
  11. package/dist/schema/ProviderRequestAccounting.json +17 -0
  12. package/dist/schema/ProviderUsage.json +40 -0
  13. package/dist/schema/ResourceSelection.json +1 -1
  14. package/dist/schema/TextLineMarker.json +21 -0
  15. package/dist/src/AstBuilder.d.ts.map +1 -1
  16. package/dist/src/AstBuilder.js +108 -20
  17. package/dist/src/AstBuilder.js.map +1 -1
  18. package/dist/src/PlurnkErrorStrategy.d.ts +1 -0
  19. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  20. package/dist/src/PlurnkErrorStrategy.js +42 -19
  21. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  22. package/dist/src/PlurnkParser.d.ts.map +1 -1
  23. package/dist/src/PlurnkParser.js +22 -145
  24. package/dist/src/PlurnkParser.js.map +1 -1
  25. package/dist/src/TagSignal.d.ts +15 -0
  26. package/dist/src/TagSignal.d.ts.map +1 -0
  27. package/dist/src/TagSignal.js +48 -0
  28. package/dist/src/TagSignal.js.map +1 -0
  29. package/dist/src/Validator.d.ts +1 -0
  30. package/dist/src/Validator.d.ts.map +1 -1
  31. package/dist/src/Validator.js +7 -0
  32. package/dist/src/Validator.js.map +1 -1
  33. package/dist/src/generated/plurnkLexer.d.ts +99 -64
  34. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  35. package/dist/src/generated/plurnkLexer.js +879 -526
  36. package/dist/src/generated/plurnkLexer.js.map +1 -1
  37. package/dist/src/generated/plurnkParser.d.ts +99 -109
  38. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  39. package/dist/src/generated/plurnkParser.js +943 -1070
  40. package/dist/src/generated/plurnkParser.js.map +1 -1
  41. package/dist/src/generated/plurnkParserVisitor.d.ts +19 -5
  42. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  43. package/dist/src/generated/plurnkParserVisitor.js +16 -4
  44. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  45. package/dist/src/index.d.ts +2 -0
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +1 -0
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/types.d.ts +1 -1
  50. package/dist/src/types.d.ts.map +1 -1
  51. package/dist/src/types.generated.d.ts +79 -22
  52. package/dist/src/types.generated.d.ts.map +1 -1
  53. package/dist/src/types.js +1 -1
  54. package/dist/src/types.js.map +1 -1
  55. package/package.json +3 -2
  56. package/plurnk.md +140 -96
  57. package/dist/plurnk.gbnf +0 -394
@@ -5,18 +5,18 @@ export class plurnkParser extends antlr.Parser {
5
5
  static LPAREN = 3;
6
6
  static RPAREN = 4;
7
7
  static L_MARKER = 5;
8
- static COLON = 6;
9
- static COMMA = 7;
10
- static INT = 8;
11
- static DISPOSITION = 9;
12
- static IDENT = 10;
13
- static TAG = 11;
14
- static TARGET_TEXT = 12;
15
- static BODY_TEXT = 13;
16
- static CLOSE_TAG = 14;
17
- static TEXT = 15;
18
- static OPEN_TURN = 16;
19
- static CLOSE_TURN = 17;
8
+ static COMBINED_L_MARKER = 6;
9
+ static BODY_OPEN = 7;
10
+ static SECTION_END = 8;
11
+ static COMMA = 9;
12
+ static INT = 10;
13
+ static DISPOSITION = 11;
14
+ static IDENT = 12;
15
+ static TAG = 13;
16
+ static TARGET_TEXT = 14;
17
+ static BODY_TEXT = 15;
18
+ static TEXT = 16;
19
+ static OPEN_PLAN = 17;
20
20
  static OPEN_FIND = 18;
21
21
  static OPEN_READ = 19;
22
22
  static OPEN_EDIT = 20;
@@ -26,25 +26,26 @@ export class plurnkParser extends antlr.Parser {
26
26
  static OPEN_FOLD = 24;
27
27
  static OPEN_SEND = 25;
28
28
  static OPEN_EXEC = 26;
29
- static OPEN_WORK = 27;
30
- static OPEN_FORK = 28;
31
- static OPEN_KILL = 29;
32
- static OPEN_PLAN = 30;
29
+ static OPEN_BARE = 27;
30
+ static OPEN_WORK = 28;
31
+ static OPEN_FORK = 29;
32
+ static OPEN_KILL = 30;
33
33
  static OPEN_LOOK = 31;
34
34
  static OPEN_BUFF = 32;
35
- static WS = 33;
36
- static SLOTS_WS = 34;
37
- static ST_WS = 35;
38
- static SI_WS = 36;
39
- static SD_WS = 37;
40
- static ST_COMMA = 38;
41
- static TARGET_BACKSLASH = 39;
42
- static B_NEWLINE_MULTILINE = 40;
43
- static B_COLON = 41;
35
+ static FENCE_OPEN = 33;
36
+ static FENCE_CLOSE = 34;
37
+ static WS = 35;
38
+ static SLOTS_WS = 36;
39
+ static ST_WS = 37;
40
+ static SI_WS = 38;
41
+ static SD_WS = 39;
42
+ static TEXT_HASH = 40;
43
+ static ST_COMMA = 41;
44
+ static TARGET_BACKSLASH = 42;
44
45
  static RULE_document = 0;
45
46
  static RULE_log = 1;
46
- static RULE_turnStatement = 2;
47
- static RULE_turnContent = 3;
47
+ static RULE_turnContent = 2;
48
+ static RULE_turn = 3;
48
49
  static RULE_statementSeq = 4;
49
50
  static RULE_clientStatementSeq = 5;
50
51
  static RULE_clientStatement = 6;
@@ -60,55 +61,57 @@ export class plurnkParser extends antlr.Parser {
60
61
  static RULE_sendStatement = 16;
61
62
  static RULE_midSend = 17;
62
63
  static RULE_execStatement = 18;
63
- static RULE_workStatement = 19;
64
- static RULE_forkStatement = 20;
65
- static RULE_killStatement = 21;
66
- static RULE_planStatement = 22;
67
- static RULE_lookStatement = 23;
68
- static RULE_buffStatement = 24;
69
- static RULE_tagOpModifiers = 25;
70
- static RULE_curationModifiers = 26;
71
- static RULE_intOpModifiers = 27;
72
- static RULE_branchModifiers = 28;
73
- static RULE_termModifiers = 29;
74
- static RULE_midModifiers = 30;
75
- static RULE_execModifiers = 31;
76
- static RULE_tagSignal = 32;
77
- static RULE_branchSignal = 33;
78
- static RULE_intSignal = 34;
79
- static RULE_midSignal = 35;
80
- static RULE_dispSignal = 36;
81
- static RULE_identSignal = 37;
82
- static RULE_target = 38;
83
- static RULE_lineMarker = 39;
84
- static RULE_body = 40;
64
+ static RULE_bareStatement = 19;
65
+ static RULE_workStatement = 20;
66
+ static RULE_forkStatement = 21;
67
+ static RULE_killStatement = 22;
68
+ static RULE_planStatement = 23;
69
+ static RULE_lookStatement = 24;
70
+ static RULE_buffStatement = 25;
71
+ static RULE_statementEnd = 26;
72
+ static RULE_tagOpModifiers = 27;
73
+ static RULE_curationModifiers = 28;
74
+ static RULE_intOpModifiers = 29;
75
+ static RULE_branchModifiers = 30;
76
+ static RULE_termModifiers = 31;
77
+ static RULE_midModifiers = 32;
78
+ static RULE_execModifiers = 33;
79
+ static RULE_tagSignal = 34;
80
+ static RULE_branchSignal = 35;
81
+ static RULE_intSignal = 36;
82
+ static RULE_midSignal = 37;
83
+ static RULE_dispSignal = 38;
84
+ static RULE_identSignal = 39;
85
+ static RULE_target = 40;
86
+ static RULE_lineMarker = 41;
87
+ static RULE_body = 42;
85
88
  static literalNames = [
86
89
  null, null, null, null, null, null, null, null, null, null, null,
87
90
  null, null, null, null, null, null, null, null, null, null, null,
88
91
  null, null, null, null, null, null, null, null, null, null, null,
89
- null, null, null, null, null, "','", "'\\'", "'\\n'", "':'"
92
+ null, null, null, null, null, null, null, "'#'", "','", "'\\'"
90
93
  ];
91
94
  static symbolicNames = [
92
- null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
93
- "COMMA", "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT",
94
- "CLOSE_TAG", "TEXT", "OPEN_TURN", "CLOSE_TURN", "OPEN_FIND", "OPEN_READ",
95
- "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
96
- "OPEN_SEND", "OPEN_EXEC", "OPEN_WORK", "OPEN_FORK", "OPEN_KILL",
97
- "OPEN_PLAN", "OPEN_LOOK", "OPEN_BUFF", "WS", "SLOTS_WS", "ST_WS",
98
- "SI_WS", "SD_WS", "ST_COMMA", "TARGET_BACKSLASH", "B_NEWLINE_MULTILINE",
99
- "B_COLON"
95
+ null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COMBINED_L_MARKER",
96
+ "BODY_OPEN", "SECTION_END", "COMMA", "INT", "DISPOSITION", "IDENT",
97
+ "TAG", "TARGET_TEXT", "BODY_TEXT", "TEXT", "OPEN_PLAN", "OPEN_FIND",
98
+ "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN",
99
+ "OPEN_FOLD", "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK",
100
+ "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN",
101
+ "FENCE_CLOSE", "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "TEXT_HASH",
102
+ "ST_COMMA", "TARGET_BACKSLASH"
100
103
  ];
101
104
  static ruleNames = [
102
- "document", "log", "turnStatement", "turnContent", "statementSeq",
103
- "clientStatementSeq", "clientStatement", "statement", "midStatement",
104
- "findStatement", "readStatement", "editStatement", "copyStatement",
105
- "moveStatement", "openStatement", "foldStatement", "sendStatement",
106
- "midSend", "execStatement", "workStatement", "forkStatement", "killStatement",
107
- "planStatement", "lookStatement", "buffStatement", "tagOpModifiers",
108
- "curationModifiers", "intOpModifiers", "branchModifiers", "termModifiers",
109
- "midModifiers", "execModifiers", "tagSignal", "branchSignal", "intSignal",
110
- "midSignal", "dispSignal", "identSignal", "target", "lineMarker",
111
- "body",
105
+ "document", "log", "turnContent", "turn", "statementSeq", "clientStatementSeq",
106
+ "clientStatement", "statement", "midStatement", "findStatement",
107
+ "readStatement", "editStatement", "copyStatement", "moveStatement",
108
+ "openStatement", "foldStatement", "sendStatement", "midSend", "execStatement",
109
+ "bareStatement", "workStatement", "forkStatement", "killStatement",
110
+ "planStatement", "lookStatement", "buffStatement", "statementEnd",
111
+ "tagOpModifiers", "curationModifiers", "intOpModifiers", "branchModifiers",
112
+ "termModifiers", "midModifiers", "execModifiers", "tagSignal", "branchSignal",
113
+ "intSignal", "midSignal", "dispSignal", "identSignal", "target",
114
+ "lineMarker", "body",
112
115
  ];
113
116
  get grammarFileName() { return "plurnkParser.g4"; }
114
117
  get literalNames() { return plurnkParser.literalNames; }
@@ -125,13 +128,43 @@ export class plurnkParser extends antlr.Parser {
125
128
  document() {
126
129
  let localContext = new DocumentContext(this.context, this.state);
127
130
  this.enterRule(localContext, 0, plurnkParser.RULE_document);
131
+ let _la;
128
132
  try {
129
- this.enterOuterAlt(localContext, 1);
130
- {
131
- this.state = 82;
132
- this.turnContent();
133
- this.state = 83;
134
- this.match(plurnkParser.EOF);
133
+ this.state = 96;
134
+ this.errorHandler.sync(this);
135
+ switch (this.tokenStream.LA(1)) {
136
+ case plurnkParser.TEXT:
137
+ case plurnkParser.OPEN_PLAN:
138
+ this.enterOuterAlt(localContext, 1);
139
+ {
140
+ this.state = 86;
141
+ this.turnContent();
142
+ this.state = 87;
143
+ this.match(plurnkParser.EOF);
144
+ }
145
+ break;
146
+ case plurnkParser.FENCE_OPEN:
147
+ this.enterOuterAlt(localContext, 2);
148
+ {
149
+ this.state = 89;
150
+ this.match(plurnkParser.FENCE_OPEN);
151
+ this.state = 90;
152
+ this.turn();
153
+ this.state = 92;
154
+ this.errorHandler.sync(this);
155
+ _la = this.tokenStream.LA(1);
156
+ if (_la === 34) {
157
+ {
158
+ this.state = 91;
159
+ this.match(plurnkParser.FENCE_CLOSE);
160
+ }
161
+ }
162
+ this.state = 94;
163
+ this.match(plurnkParser.EOF);
164
+ }
165
+ break;
166
+ default:
167
+ throw new antlr.NoViableAltException(this);
135
168
  }
136
169
  }
137
170
  catch (re) {
@@ -155,21 +188,21 @@ export class plurnkParser extends antlr.Parser {
155
188
  try {
156
189
  this.enterOuterAlt(localContext, 1);
157
190
  {
158
- this.state = 86;
191
+ this.state = 99;
159
192
  this.errorHandler.sync(this);
160
193
  _la = this.tokenStream.LA(1);
161
194
  do {
162
195
  {
163
196
  {
164
- this.state = 85;
165
- this.turnStatement();
197
+ this.state = 98;
198
+ this.turnContent();
166
199
  }
167
200
  }
168
- this.state = 88;
201
+ this.state = 101;
169
202
  this.errorHandler.sync(this);
170
203
  _la = this.tokenStream.LA(1);
171
- } while (_la === 16);
172
- this.state = 90;
204
+ } while (_la === 16 || _la === 17);
205
+ this.state = 103;
173
206
  this.match(plurnkParser.EOF);
174
207
  }
175
208
  }
@@ -187,30 +220,29 @@ export class plurnkParser extends antlr.Parser {
187
220
  }
188
221
  return localContext;
189
222
  }
190
- turnStatement() {
191
- let localContext = new TurnStatementContext(this.context, this.state);
192
- this.enterRule(localContext, 4, plurnkParser.RULE_turnStatement);
223
+ turnContent() {
224
+ let localContext = new TurnContentContext(this.context, this.state);
225
+ this.enterRule(localContext, 4, plurnkParser.RULE_turnContent);
193
226
  let _la;
194
227
  try {
195
228
  this.enterOuterAlt(localContext, 1);
196
229
  {
197
- this.state = 92;
198
- this.match(plurnkParser.OPEN_TURN);
199
- this.state = 94;
230
+ this.state = 108;
200
231
  this.errorHandler.sync(this);
201
232
  _la = this.tokenStream.LA(1);
202
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
233
+ while (_la === 16) {
203
234
  {
204
- this.state = 93;
205
- this.tagOpModifiers();
235
+ {
236
+ this.state = 105;
237
+ this.match(plurnkParser.TEXT);
238
+ }
206
239
  }
240
+ this.state = 110;
241
+ this.errorHandler.sync(this);
242
+ _la = this.tokenStream.LA(1);
207
243
  }
208
- this.state = 96;
209
- this.match(plurnkParser.COLON);
210
- this.state = 97;
211
- this.turnContent();
212
- this.state = 98;
213
- this.match(plurnkParser.CLOSE_TURN);
244
+ this.state = 111;
245
+ this.turn();
214
246
  }
215
247
  }
216
248
  catch (re) {
@@ -227,87 +259,33 @@ export class plurnkParser extends antlr.Parser {
227
259
  }
228
260
  return localContext;
229
261
  }
230
- turnContent() {
231
- let localContext = new TurnContentContext(this.context, this.state);
232
- this.enterRule(localContext, 6, plurnkParser.RULE_turnContent);
233
- let _la;
262
+ turn() {
263
+ let localContext = new TurnContext(this.context, this.state);
264
+ this.enterRule(localContext, 6, plurnkParser.RULE_turn);
234
265
  try {
235
266
  let alternative;
236
267
  this.enterOuterAlt(localContext, 1);
237
268
  {
238
- this.state = 103;
239
- this.errorHandler.sync(this);
240
- _la = this.tokenStream.LA(1);
241
- while (_la === 15) {
242
- {
243
- {
244
- this.state = 100;
245
- this.match(plurnkParser.TEXT);
246
- }
247
- }
248
- this.state = 105;
249
- this.errorHandler.sync(this);
250
- _la = this.tokenStream.LA(1);
251
- }
252
- this.state = 106;
269
+ this.state = 113;
253
270
  this.planStatement();
254
- this.state = 111;
271
+ this.state = 117;
255
272
  this.errorHandler.sync(this);
256
273
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
257
274
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
258
275
  if (alternative === 1) {
259
276
  {
260
- this.state = 109;
261
- this.errorHandler.sync(this);
262
- switch (this.tokenStream.LA(1)) {
263
- case plurnkParser.OPEN_FIND:
264
- case plurnkParser.OPEN_READ:
265
- case plurnkParser.OPEN_EDIT:
266
- case plurnkParser.OPEN_COPY:
267
- case plurnkParser.OPEN_MOVE:
268
- case plurnkParser.OPEN_OPEN:
269
- case plurnkParser.OPEN_FOLD:
270
- case plurnkParser.OPEN_SEND:
271
- case plurnkParser.OPEN_EXEC:
272
- case plurnkParser.OPEN_WORK:
273
- case plurnkParser.OPEN_FORK:
274
- case plurnkParser.OPEN_KILL:
275
- {
276
- this.state = 107;
277
- this.midStatement();
278
- }
279
- break;
280
- case plurnkParser.TEXT:
281
- {
282
- this.state = 108;
283
- this.match(plurnkParser.TEXT);
284
- }
285
- break;
286
- default:
287
- throw new antlr.NoViableAltException(this);
277
+ {
278
+ this.state = 114;
279
+ this.midStatement();
288
280
  }
289
281
  }
290
282
  }
291
- this.state = 113;
283
+ this.state = 119;
292
284
  this.errorHandler.sync(this);
293
285
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
294
286
  }
295
- this.state = 114;
287
+ this.state = 120;
296
288
  this.sendStatement();
297
- this.state = 118;
298
- this.errorHandler.sync(this);
299
- _la = this.tokenStream.LA(1);
300
- while (_la === 15) {
301
- {
302
- {
303
- this.state = 115;
304
- this.match(plurnkParser.TEXT);
305
- }
306
- }
307
- this.state = 120;
308
- this.errorHandler.sync(this);
309
- _la = this.tokenStream.LA(1);
310
- }
311
289
  }
312
290
  }
313
291
  catch (re) {
@@ -331,21 +309,21 @@ export class plurnkParser extends antlr.Parser {
331
309
  try {
332
310
  this.enterOuterAlt(localContext, 1);
333
311
  {
334
- this.state = 124;
312
+ this.state = 125;
335
313
  this.errorHandler.sync(this);
336
314
  _la = this.tokenStream.LA(1);
337
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147221504) !== 0)) {
315
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147352576) !== 0)) {
338
316
  {
339
317
  {
340
- this.state = 121;
318
+ this.state = 122;
341
319
  this.statement();
342
320
  }
343
321
  }
344
- this.state = 126;
322
+ this.state = 127;
345
323
  this.errorHandler.sync(this);
346
324
  _la = this.tokenStream.LA(1);
347
325
  }
348
- this.state = 127;
326
+ this.state = 128;
349
327
  this.match(plurnkParser.EOF);
350
328
  }
351
329
  }
@@ -370,21 +348,21 @@ export class plurnkParser extends antlr.Parser {
370
348
  try {
371
349
  this.enterOuterAlt(localContext, 1);
372
350
  {
373
- this.state = 132;
351
+ this.state = 133;
374
352
  this.errorHandler.sync(this);
375
353
  _la = this.tokenStream.LA(1);
376
- while (((((_la - 18)) & ~0x1F) === 0 && ((1 << (_la - 18)) & 32767) !== 0)) {
354
+ while (((((_la - 17)) & ~0x1F) === 0 && ((1 << (_la - 17)) & 65535) !== 0)) {
377
355
  {
378
356
  {
379
- this.state = 129;
357
+ this.state = 130;
380
358
  this.clientStatement();
381
359
  }
382
360
  }
383
- this.state = 134;
361
+ this.state = 135;
384
362
  this.errorHandler.sync(this);
385
363
  _la = this.tokenStream.LA(1);
386
364
  }
387
- this.state = 135;
365
+ this.state = 136;
388
366
  this.match(plurnkParser.EOF);
389
367
  }
390
368
  }
@@ -406,9 +384,10 @@ export class plurnkParser extends antlr.Parser {
406
384
  let localContext = new ClientStatementContext(this.context, this.state);
407
385
  this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
408
386
  try {
409
- this.state = 140;
387
+ this.state = 141;
410
388
  this.errorHandler.sync(this);
411
389
  switch (this.tokenStream.LA(1)) {
390
+ case plurnkParser.OPEN_PLAN:
412
391
  case plurnkParser.OPEN_FIND:
413
392
  case plurnkParser.OPEN_READ:
414
393
  case plurnkParser.OPEN_EDIT:
@@ -418,27 +397,27 @@ export class plurnkParser extends antlr.Parser {
418
397
  case plurnkParser.OPEN_FOLD:
419
398
  case plurnkParser.OPEN_SEND:
420
399
  case plurnkParser.OPEN_EXEC:
400
+ case plurnkParser.OPEN_BARE:
421
401
  case plurnkParser.OPEN_WORK:
422
402
  case plurnkParser.OPEN_FORK:
423
403
  case plurnkParser.OPEN_KILL:
424
- case plurnkParser.OPEN_PLAN:
425
404
  this.enterOuterAlt(localContext, 1);
426
405
  {
427
- this.state = 137;
406
+ this.state = 138;
428
407
  this.statement();
429
408
  }
430
409
  break;
431
410
  case plurnkParser.OPEN_LOOK:
432
411
  this.enterOuterAlt(localContext, 2);
433
412
  {
434
- this.state = 138;
413
+ this.state = 139;
435
414
  this.lookStatement();
436
415
  }
437
416
  break;
438
417
  case plurnkParser.OPEN_BUFF:
439
418
  this.enterOuterAlt(localContext, 3);
440
419
  {
441
- this.state = 139;
420
+ this.state = 140;
442
421
  this.buffStatement();
443
422
  }
444
423
  break;
@@ -464,104 +443,111 @@ export class plurnkParser extends antlr.Parser {
464
443
  let localContext = new StatementContext(this.context, this.state);
465
444
  this.enterRule(localContext, 14, plurnkParser.RULE_statement);
466
445
  try {
467
- this.state = 156;
446
+ this.state = 158;
468
447
  this.errorHandler.sync(this);
469
- switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
448
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 8, this.context)) {
470
449
  case 1:
471
450
  this.enterOuterAlt(localContext, 1);
472
451
  {
473
- this.state = 142;
452
+ this.state = 143;
474
453
  this.findStatement();
475
454
  }
476
455
  break;
477
456
  case 2:
478
457
  this.enterOuterAlt(localContext, 2);
479
458
  {
480
- this.state = 143;
459
+ this.state = 144;
481
460
  this.readStatement();
482
461
  }
483
462
  break;
484
463
  case 3:
485
464
  this.enterOuterAlt(localContext, 3);
486
465
  {
487
- this.state = 144;
466
+ this.state = 145;
488
467
  this.editStatement();
489
468
  }
490
469
  break;
491
470
  case 4:
492
471
  this.enterOuterAlt(localContext, 4);
493
472
  {
494
- this.state = 145;
473
+ this.state = 146;
495
474
  this.copyStatement();
496
475
  }
497
476
  break;
498
477
  case 5:
499
478
  this.enterOuterAlt(localContext, 5);
500
479
  {
501
- this.state = 146;
480
+ this.state = 147;
502
481
  this.moveStatement();
503
482
  }
504
483
  break;
505
484
  case 6:
506
485
  this.enterOuterAlt(localContext, 6);
507
486
  {
508
- this.state = 147;
487
+ this.state = 148;
509
488
  this.openStatement();
510
489
  }
511
490
  break;
512
491
  case 7:
513
492
  this.enterOuterAlt(localContext, 7);
514
493
  {
515
- this.state = 148;
494
+ this.state = 149;
516
495
  this.foldStatement();
517
496
  }
518
497
  break;
519
498
  case 8:
520
499
  this.enterOuterAlt(localContext, 8);
521
500
  {
522
- this.state = 149;
501
+ this.state = 150;
523
502
  this.sendStatement();
524
503
  }
525
504
  break;
526
505
  case 9:
527
506
  this.enterOuterAlt(localContext, 9);
528
507
  {
529
- this.state = 150;
508
+ this.state = 151;
530
509
  this.midSend();
531
510
  }
532
511
  break;
533
512
  case 10:
534
513
  this.enterOuterAlt(localContext, 10);
535
514
  {
536
- this.state = 151;
515
+ this.state = 152;
537
516
  this.execStatement();
538
517
  }
539
518
  break;
540
519
  case 11:
541
520
  this.enterOuterAlt(localContext, 11);
542
521
  {
543
- this.state = 152;
544
- this.workStatement();
522
+ this.state = 153;
523
+ this.bareStatement();
545
524
  }
546
525
  break;
547
526
  case 12:
548
527
  this.enterOuterAlt(localContext, 12);
549
528
  {
550
- this.state = 153;
551
- this.forkStatement();
529
+ this.state = 154;
530
+ this.workStatement();
552
531
  }
553
532
  break;
554
533
  case 13:
555
534
  this.enterOuterAlt(localContext, 13);
556
535
  {
557
- this.state = 154;
558
- this.killStatement();
536
+ this.state = 155;
537
+ this.forkStatement();
559
538
  }
560
539
  break;
561
540
  case 14:
562
541
  this.enterOuterAlt(localContext, 14);
563
542
  {
564
- this.state = 155;
543
+ this.state = 156;
544
+ this.killStatement();
545
+ }
546
+ break;
547
+ case 15:
548
+ this.enterOuterAlt(localContext, 15);
549
+ {
550
+ this.state = 157;
565
551
  this.planStatement();
566
552
  }
567
553
  break;
@@ -585,90 +571,97 @@ export class plurnkParser extends antlr.Parser {
585
571
  let localContext = new MidStatementContext(this.context, this.state);
586
572
  this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
587
573
  try {
588
- this.state = 170;
574
+ this.state = 173;
589
575
  this.errorHandler.sync(this);
590
576
  switch (this.tokenStream.LA(1)) {
591
577
  case plurnkParser.OPEN_FIND:
592
578
  this.enterOuterAlt(localContext, 1);
593
579
  {
594
- this.state = 158;
580
+ this.state = 160;
595
581
  this.findStatement();
596
582
  }
597
583
  break;
598
584
  case plurnkParser.OPEN_READ:
599
585
  this.enterOuterAlt(localContext, 2);
600
586
  {
601
- this.state = 159;
587
+ this.state = 161;
602
588
  this.readStatement();
603
589
  }
604
590
  break;
605
591
  case plurnkParser.OPEN_EDIT:
606
592
  this.enterOuterAlt(localContext, 3);
607
593
  {
608
- this.state = 160;
594
+ this.state = 162;
609
595
  this.editStatement();
610
596
  }
611
597
  break;
612
598
  case plurnkParser.OPEN_COPY:
613
599
  this.enterOuterAlt(localContext, 4);
614
600
  {
615
- this.state = 161;
601
+ this.state = 163;
616
602
  this.copyStatement();
617
603
  }
618
604
  break;
619
605
  case plurnkParser.OPEN_MOVE:
620
606
  this.enterOuterAlt(localContext, 5);
621
607
  {
622
- this.state = 162;
608
+ this.state = 164;
623
609
  this.moveStatement();
624
610
  }
625
611
  break;
626
612
  case plurnkParser.OPEN_OPEN:
627
613
  this.enterOuterAlt(localContext, 6);
628
614
  {
629
- this.state = 163;
615
+ this.state = 165;
630
616
  this.openStatement();
631
617
  }
632
618
  break;
633
619
  case plurnkParser.OPEN_FOLD:
634
620
  this.enterOuterAlt(localContext, 7);
635
621
  {
636
- this.state = 164;
622
+ this.state = 166;
637
623
  this.foldStatement();
638
624
  }
639
625
  break;
640
626
  case plurnkParser.OPEN_SEND:
641
627
  this.enterOuterAlt(localContext, 8);
642
628
  {
643
- this.state = 165;
629
+ this.state = 167;
644
630
  this.midSend();
645
631
  }
646
632
  break;
647
633
  case plurnkParser.OPEN_EXEC:
648
634
  this.enterOuterAlt(localContext, 9);
649
635
  {
650
- this.state = 166;
636
+ this.state = 168;
651
637
  this.execStatement();
652
638
  }
653
639
  break;
654
- case plurnkParser.OPEN_WORK:
640
+ case plurnkParser.OPEN_BARE:
655
641
  this.enterOuterAlt(localContext, 10);
656
642
  {
657
- this.state = 167;
643
+ this.state = 169;
644
+ this.bareStatement();
645
+ }
646
+ break;
647
+ case plurnkParser.OPEN_WORK:
648
+ this.enterOuterAlt(localContext, 11);
649
+ {
650
+ this.state = 170;
658
651
  this.workStatement();
659
652
  }
660
653
  break;
661
654
  case plurnkParser.OPEN_FORK:
662
- this.enterOuterAlt(localContext, 11);
655
+ this.enterOuterAlt(localContext, 12);
663
656
  {
664
- this.state = 168;
657
+ this.state = 171;
665
658
  this.forkStatement();
666
659
  }
667
660
  break;
668
661
  case plurnkParser.OPEN_KILL:
669
- this.enterOuterAlt(localContext, 12);
662
+ this.enterOuterAlt(localContext, 13);
670
663
  {
671
- this.state = 169;
664
+ this.state = 172;
672
665
  this.killStatement();
673
666
  }
674
667
  break;
@@ -697,37 +690,19 @@ export class plurnkParser extends antlr.Parser {
697
690
  try {
698
691
  this.enterOuterAlt(localContext, 1);
699
692
  {
700
- this.state = 172;
693
+ this.state = 175;
701
694
  this.match(plurnkParser.OPEN_FIND);
702
- this.state = 174;
703
- this.errorHandler.sync(this);
704
- _la = this.tokenStream.LA(1);
705
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
706
- {
707
- this.state = 173;
708
- this.tagOpModifiers();
709
- }
710
- }
711
695
  this.state = 177;
712
696
  this.errorHandler.sync(this);
713
697
  _la = this.tokenStream.LA(1);
714
- if (_la === 6) {
698
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
715
699
  {
716
700
  this.state = 176;
717
- this.match(plurnkParser.COLON);
718
- }
719
- }
720
- this.state = 180;
721
- this.errorHandler.sync(this);
722
- _la = this.tokenStream.LA(1);
723
- if (_la === 13) {
724
- {
725
- this.state = 179;
726
- this.body();
701
+ this.tagOpModifiers();
727
702
  }
728
703
  }
729
- this.state = 182;
730
- this.match(plurnkParser.CLOSE_TAG);
704
+ this.state = 179;
705
+ this.statementEnd();
731
706
  }
732
707
  }
733
708
  catch (re) {
@@ -751,37 +726,19 @@ export class plurnkParser extends antlr.Parser {
751
726
  try {
752
727
  this.enterOuterAlt(localContext, 1);
753
728
  {
754
- this.state = 184;
729
+ this.state = 181;
755
730
  this.match(plurnkParser.OPEN_READ);
756
- this.state = 186;
731
+ this.state = 183;
757
732
  this.errorHandler.sync(this);
758
733
  _la = this.tokenStream.LA(1);
759
734
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
760
735
  {
761
- this.state = 185;
736
+ this.state = 182;
762
737
  this.tagOpModifiers();
763
738
  }
764
739
  }
765
- this.state = 189;
766
- this.errorHandler.sync(this);
767
- _la = this.tokenStream.LA(1);
768
- if (_la === 6) {
769
- {
770
- this.state = 188;
771
- this.match(plurnkParser.COLON);
772
- }
773
- }
774
- this.state = 192;
775
- this.errorHandler.sync(this);
776
- _la = this.tokenStream.LA(1);
777
- if (_la === 13) {
778
- {
779
- this.state = 191;
780
- this.body();
781
- }
782
- }
783
- this.state = 194;
784
- this.match(plurnkParser.CLOSE_TAG);
740
+ this.state = 185;
741
+ this.statementEnd();
785
742
  }
786
743
  }
787
744
  catch (re) {
@@ -805,37 +762,19 @@ export class plurnkParser extends antlr.Parser {
805
762
  try {
806
763
  this.enterOuterAlt(localContext, 1);
807
764
  {
808
- this.state = 196;
765
+ this.state = 187;
809
766
  this.match(plurnkParser.OPEN_EDIT);
810
- this.state = 198;
767
+ this.state = 189;
811
768
  this.errorHandler.sync(this);
812
769
  _la = this.tokenStream.LA(1);
813
770
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
814
771
  {
815
- this.state = 197;
772
+ this.state = 188;
816
773
  this.tagOpModifiers();
817
774
  }
818
775
  }
819
- this.state = 201;
820
- this.errorHandler.sync(this);
821
- _la = this.tokenStream.LA(1);
822
- if (_la === 6) {
823
- {
824
- this.state = 200;
825
- this.match(plurnkParser.COLON);
826
- }
827
- }
828
- this.state = 204;
829
- this.errorHandler.sync(this);
830
- _la = this.tokenStream.LA(1);
831
- if (_la === 13) {
832
- {
833
- this.state = 203;
834
- this.body();
835
- }
836
- }
837
- this.state = 206;
838
- this.match(plurnkParser.CLOSE_TAG);
776
+ this.state = 191;
777
+ this.statementEnd();
839
778
  }
840
779
  }
841
780
  catch (re) {
@@ -859,37 +798,19 @@ export class plurnkParser extends antlr.Parser {
859
798
  try {
860
799
  this.enterOuterAlt(localContext, 1);
861
800
  {
862
- this.state = 208;
801
+ this.state = 193;
863
802
  this.match(plurnkParser.OPEN_COPY);
864
- this.state = 210;
803
+ this.state = 195;
865
804
  this.errorHandler.sync(this);
866
805
  _la = this.tokenStream.LA(1);
867
806
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
868
807
  {
869
- this.state = 209;
808
+ this.state = 194;
870
809
  this.tagOpModifiers();
871
810
  }
872
811
  }
873
- this.state = 213;
874
- this.errorHandler.sync(this);
875
- _la = this.tokenStream.LA(1);
876
- if (_la === 6) {
877
- {
878
- this.state = 212;
879
- this.match(plurnkParser.COLON);
880
- }
881
- }
882
- this.state = 216;
883
- this.errorHandler.sync(this);
884
- _la = this.tokenStream.LA(1);
885
- if (_la === 13) {
886
- {
887
- this.state = 215;
888
- this.body();
889
- }
890
- }
891
- this.state = 218;
892
- this.match(plurnkParser.CLOSE_TAG);
812
+ this.state = 197;
813
+ this.statementEnd();
893
814
  }
894
815
  }
895
816
  catch (re) {
@@ -913,37 +834,19 @@ export class plurnkParser extends antlr.Parser {
913
834
  try {
914
835
  this.enterOuterAlt(localContext, 1);
915
836
  {
916
- this.state = 220;
837
+ this.state = 199;
917
838
  this.match(plurnkParser.OPEN_MOVE);
918
- this.state = 222;
839
+ this.state = 201;
919
840
  this.errorHandler.sync(this);
920
841
  _la = this.tokenStream.LA(1);
921
842
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
922
843
  {
923
- this.state = 221;
844
+ this.state = 200;
924
845
  this.tagOpModifiers();
925
846
  }
926
847
  }
927
- this.state = 225;
928
- this.errorHandler.sync(this);
929
- _la = this.tokenStream.LA(1);
930
- if (_la === 6) {
931
- {
932
- this.state = 224;
933
- this.match(plurnkParser.COLON);
934
- }
935
- }
936
- this.state = 228;
937
- this.errorHandler.sync(this);
938
- _la = this.tokenStream.LA(1);
939
- if (_la === 13) {
940
- {
941
- this.state = 227;
942
- this.body();
943
- }
944
- }
945
- this.state = 230;
946
- this.match(plurnkParser.CLOSE_TAG);
848
+ this.state = 203;
849
+ this.statementEnd();
947
850
  }
948
851
  }
949
852
  catch (re) {
@@ -967,37 +870,19 @@ export class plurnkParser extends antlr.Parser {
967
870
  try {
968
871
  this.enterOuterAlt(localContext, 1);
969
872
  {
970
- this.state = 232;
873
+ this.state = 205;
971
874
  this.match(plurnkParser.OPEN_OPEN);
972
- this.state = 234;
875
+ this.state = 207;
973
876
  this.errorHandler.sync(this);
974
877
  _la = this.tokenStream.LA(1);
975
878
  if (_la === 1 || _la === 3) {
976
879
  {
977
- this.state = 233;
880
+ this.state = 206;
978
881
  this.curationModifiers();
979
882
  }
980
883
  }
981
- this.state = 237;
982
- this.errorHandler.sync(this);
983
- _la = this.tokenStream.LA(1);
984
- if (_la === 6) {
985
- {
986
- this.state = 236;
987
- this.match(plurnkParser.COLON);
988
- }
989
- }
990
- this.state = 240;
991
- this.errorHandler.sync(this);
992
- _la = this.tokenStream.LA(1);
993
- if (_la === 13) {
994
- {
995
- this.state = 239;
996
- this.body();
997
- }
998
- }
999
- this.state = 242;
1000
- this.match(plurnkParser.CLOSE_TAG);
884
+ this.state = 209;
885
+ this.statementEnd();
1001
886
  }
1002
887
  }
1003
888
  catch (re) {
@@ -1021,37 +906,19 @@ export class plurnkParser extends antlr.Parser {
1021
906
  try {
1022
907
  this.enterOuterAlt(localContext, 1);
1023
908
  {
1024
- this.state = 244;
909
+ this.state = 211;
1025
910
  this.match(plurnkParser.OPEN_FOLD);
1026
- this.state = 246;
911
+ this.state = 213;
1027
912
  this.errorHandler.sync(this);
1028
913
  _la = this.tokenStream.LA(1);
1029
914
  if (_la === 1 || _la === 3) {
1030
915
  {
1031
- this.state = 245;
916
+ this.state = 212;
1032
917
  this.curationModifiers();
1033
918
  }
1034
919
  }
1035
- this.state = 249;
1036
- this.errorHandler.sync(this);
1037
- _la = this.tokenStream.LA(1);
1038
- if (_la === 6) {
1039
- {
1040
- this.state = 248;
1041
- this.match(plurnkParser.COLON);
1042
- }
1043
- }
1044
- this.state = 252;
1045
- this.errorHandler.sync(this);
1046
- _la = this.tokenStream.LA(1);
1047
- if (_la === 13) {
1048
- {
1049
- this.state = 251;
1050
- this.body();
1051
- }
1052
- }
1053
- this.state = 254;
1054
- this.match(plurnkParser.CLOSE_TAG);
920
+ this.state = 215;
921
+ this.statementEnd();
1055
922
  }
1056
923
  }
1057
924
  catch (re) {
@@ -1071,34 +938,15 @@ export class plurnkParser extends antlr.Parser {
1071
938
  sendStatement() {
1072
939
  let localContext = new SendStatementContext(this.context, this.state);
1073
940
  this.enterRule(localContext, 32, plurnkParser.RULE_sendStatement);
1074
- let _la;
1075
941
  try {
1076
942
  this.enterOuterAlt(localContext, 1);
1077
943
  {
1078
- this.state = 256;
944
+ this.state = 217;
1079
945
  this.match(plurnkParser.OPEN_SEND);
1080
- this.state = 257;
946
+ this.state = 218;
1081
947
  this.termModifiers();
1082
- this.state = 259;
1083
- this.errorHandler.sync(this);
1084
- _la = this.tokenStream.LA(1);
1085
- if (_la === 6) {
1086
- {
1087
- this.state = 258;
1088
- this.match(plurnkParser.COLON);
1089
- }
1090
- }
1091
- this.state = 262;
1092
- this.errorHandler.sync(this);
1093
- _la = this.tokenStream.LA(1);
1094
- if (_la === 13) {
1095
- {
1096
- this.state = 261;
1097
- this.body();
1098
- }
1099
- }
1100
- this.state = 264;
1101
- this.match(plurnkParser.CLOSE_TAG);
948
+ this.state = 219;
949
+ this.statementEnd();
1102
950
  }
1103
951
  }
1104
952
  catch (re) {
@@ -1122,37 +970,19 @@ export class plurnkParser extends antlr.Parser {
1122
970
  try {
1123
971
  this.enterOuterAlt(localContext, 1);
1124
972
  {
1125
- this.state = 266;
973
+ this.state = 221;
1126
974
  this.match(plurnkParser.OPEN_SEND);
1127
- this.state = 268;
975
+ this.state = 223;
1128
976
  this.errorHandler.sync(this);
1129
977
  _la = this.tokenStream.LA(1);
1130
978
  if (_la === 1 || _la === 3) {
1131
979
  {
1132
- this.state = 267;
980
+ this.state = 222;
1133
981
  this.midModifiers();
1134
982
  }
1135
983
  }
1136
- this.state = 271;
1137
- this.errorHandler.sync(this);
1138
- _la = this.tokenStream.LA(1);
1139
- if (_la === 6) {
1140
- {
1141
- this.state = 270;
1142
- this.match(plurnkParser.COLON);
1143
- }
1144
- }
1145
- this.state = 274;
1146
- this.errorHandler.sync(this);
1147
- _la = this.tokenStream.LA(1);
1148
- if (_la === 13) {
1149
- {
1150
- this.state = 273;
1151
- this.body();
1152
- }
1153
- }
1154
- this.state = 276;
1155
- this.match(plurnkParser.CLOSE_TAG);
984
+ this.state = 225;
985
+ this.statementEnd();
1156
986
  }
1157
987
  }
1158
988
  catch (re) {
@@ -1176,37 +1006,55 @@ export class plurnkParser extends antlr.Parser {
1176
1006
  try {
1177
1007
  this.enterOuterAlt(localContext, 1);
1178
1008
  {
1179
- this.state = 278;
1009
+ this.state = 227;
1180
1010
  this.match(plurnkParser.OPEN_EXEC);
1181
- this.state = 280;
1011
+ this.state = 229;
1182
1012
  this.errorHandler.sync(this);
1183
1013
  _la = this.tokenStream.LA(1);
1184
1014
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1185
1015
  {
1186
- this.state = 279;
1016
+ this.state = 228;
1187
1017
  this.execModifiers();
1188
1018
  }
1189
1019
  }
1190
- this.state = 283;
1191
- this.errorHandler.sync(this);
1192
- _la = this.tokenStream.LA(1);
1193
- if (_la === 6) {
1194
- {
1195
- this.state = 282;
1196
- this.match(plurnkParser.COLON);
1197
- }
1198
- }
1199
- this.state = 286;
1020
+ this.state = 231;
1021
+ this.statementEnd();
1022
+ }
1023
+ }
1024
+ catch (re) {
1025
+ if (re instanceof antlr.RecognitionException) {
1026
+ this.errorHandler.reportError(this, re);
1027
+ this.errorHandler.recover(this, re);
1028
+ }
1029
+ else {
1030
+ throw re;
1031
+ }
1032
+ }
1033
+ finally {
1034
+ this.exitRule();
1035
+ }
1036
+ return localContext;
1037
+ }
1038
+ bareStatement() {
1039
+ let localContext = new BareStatementContext(this.context, this.state);
1040
+ this.enterRule(localContext, 38, plurnkParser.RULE_bareStatement);
1041
+ let _la;
1042
+ try {
1043
+ this.enterOuterAlt(localContext, 1);
1044
+ {
1045
+ this.state = 233;
1046
+ this.match(plurnkParser.OPEN_BARE);
1047
+ this.state = 235;
1200
1048
  this.errorHandler.sync(this);
1201
1049
  _la = this.tokenStream.LA(1);
1202
- if (_la === 13) {
1050
+ if (_la === 1) {
1203
1051
  {
1204
- this.state = 285;
1205
- this.body();
1052
+ this.state = 234;
1053
+ this.tagSignal();
1206
1054
  }
1207
1055
  }
1208
- this.state = 288;
1209
- this.match(plurnkParser.CLOSE_TAG);
1056
+ this.state = 237;
1057
+ this.statementEnd();
1210
1058
  }
1211
1059
  }
1212
1060
  catch (re) {
@@ -1225,28 +1073,24 @@ export class plurnkParser extends antlr.Parser {
1225
1073
  }
1226
1074
  workStatement() {
1227
1075
  let localContext = new WorkStatementContext(this.context, this.state);
1228
- this.enterRule(localContext, 38, plurnkParser.RULE_workStatement);
1076
+ this.enterRule(localContext, 40, plurnkParser.RULE_workStatement);
1229
1077
  let _la;
1230
1078
  try {
1231
1079
  this.enterOuterAlt(localContext, 1);
1232
1080
  {
1233
- this.state = 290;
1081
+ this.state = 239;
1234
1082
  this.match(plurnkParser.OPEN_WORK);
1235
- this.state = 292;
1083
+ this.state = 241;
1236
1084
  this.errorHandler.sync(this);
1237
1085
  _la = this.tokenStream.LA(1);
1238
1086
  if (_la === 1 || _la === 3) {
1239
1087
  {
1240
- this.state = 291;
1088
+ this.state = 240;
1241
1089
  this.branchModifiers();
1242
1090
  }
1243
1091
  }
1244
- this.state = 294;
1245
- this.match(plurnkParser.COLON);
1246
- this.state = 295;
1247
- this.body();
1248
- this.state = 296;
1249
- this.match(plurnkParser.CLOSE_TAG);
1092
+ this.state = 243;
1093
+ this.statementEnd();
1250
1094
  }
1251
1095
  }
1252
1096
  catch (re) {
@@ -1265,28 +1109,24 @@ export class plurnkParser extends antlr.Parser {
1265
1109
  }
1266
1110
  forkStatement() {
1267
1111
  let localContext = new ForkStatementContext(this.context, this.state);
1268
- this.enterRule(localContext, 40, plurnkParser.RULE_forkStatement);
1112
+ this.enterRule(localContext, 42, plurnkParser.RULE_forkStatement);
1269
1113
  let _la;
1270
1114
  try {
1271
1115
  this.enterOuterAlt(localContext, 1);
1272
1116
  {
1273
- this.state = 298;
1117
+ this.state = 245;
1274
1118
  this.match(plurnkParser.OPEN_FORK);
1275
- this.state = 300;
1119
+ this.state = 247;
1276
1120
  this.errorHandler.sync(this);
1277
1121
  _la = this.tokenStream.LA(1);
1278
1122
  if (_la === 1 || _la === 3) {
1279
1123
  {
1280
- this.state = 299;
1124
+ this.state = 246;
1281
1125
  this.branchModifiers();
1282
1126
  }
1283
1127
  }
1284
- this.state = 302;
1285
- this.match(plurnkParser.COLON);
1286
- this.state = 303;
1287
- this.body();
1288
- this.state = 304;
1289
- this.match(plurnkParser.CLOSE_TAG);
1128
+ this.state = 249;
1129
+ this.statementEnd();
1290
1130
  }
1291
1131
  }
1292
1132
  catch (re) {
@@ -1305,42 +1145,24 @@ export class plurnkParser extends antlr.Parser {
1305
1145
  }
1306
1146
  killStatement() {
1307
1147
  let localContext = new KillStatementContext(this.context, this.state);
1308
- this.enterRule(localContext, 42, plurnkParser.RULE_killStatement);
1148
+ this.enterRule(localContext, 44, plurnkParser.RULE_killStatement);
1309
1149
  let _la;
1310
1150
  try {
1311
1151
  this.enterOuterAlt(localContext, 1);
1312
1152
  {
1313
- this.state = 306;
1153
+ this.state = 251;
1314
1154
  this.match(plurnkParser.OPEN_KILL);
1315
- this.state = 308;
1155
+ this.state = 253;
1316
1156
  this.errorHandler.sync(this);
1317
1157
  _la = this.tokenStream.LA(1);
1318
1158
  if (_la === 1 || _la === 3) {
1319
1159
  {
1320
- this.state = 307;
1160
+ this.state = 252;
1321
1161
  this.intOpModifiers();
1322
1162
  }
1323
1163
  }
1324
- this.state = 311;
1325
- this.errorHandler.sync(this);
1326
- _la = this.tokenStream.LA(1);
1327
- if (_la === 6) {
1328
- {
1329
- this.state = 310;
1330
- this.match(plurnkParser.COLON);
1331
- }
1332
- }
1333
- this.state = 314;
1334
- this.errorHandler.sync(this);
1335
- _la = this.tokenStream.LA(1);
1336
- if (_la === 13) {
1337
- {
1338
- this.state = 313;
1339
- this.body();
1340
- }
1341
- }
1342
- this.state = 316;
1343
- this.match(plurnkParser.CLOSE_TAG);
1164
+ this.state = 255;
1165
+ this.statementEnd();
1344
1166
  }
1345
1167
  }
1346
1168
  catch (re) {
@@ -1359,42 +1181,24 @@ export class plurnkParser extends antlr.Parser {
1359
1181
  }
1360
1182
  planStatement() {
1361
1183
  let localContext = new PlanStatementContext(this.context, this.state);
1362
- this.enterRule(localContext, 44, plurnkParser.RULE_planStatement);
1184
+ this.enterRule(localContext, 46, plurnkParser.RULE_planStatement);
1363
1185
  let _la;
1364
1186
  try {
1365
1187
  this.enterOuterAlt(localContext, 1);
1366
1188
  {
1367
- this.state = 318;
1189
+ this.state = 257;
1368
1190
  this.match(plurnkParser.OPEN_PLAN);
1369
- this.state = 320;
1191
+ this.state = 259;
1370
1192
  this.errorHandler.sync(this);
1371
1193
  _la = this.tokenStream.LA(1);
1372
1194
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1373
1195
  {
1374
- this.state = 319;
1196
+ this.state = 258;
1375
1197
  this.tagOpModifiers();
1376
1198
  }
1377
1199
  }
1378
- this.state = 323;
1379
- this.errorHandler.sync(this);
1380
- _la = this.tokenStream.LA(1);
1381
- if (_la === 6) {
1382
- {
1383
- this.state = 322;
1384
- this.match(plurnkParser.COLON);
1385
- }
1386
- }
1387
- this.state = 326;
1388
- this.errorHandler.sync(this);
1389
- _la = this.tokenStream.LA(1);
1390
- if (_la === 13) {
1391
- {
1392
- this.state = 325;
1393
- this.body();
1394
- }
1395
- }
1396
- this.state = 328;
1397
- this.match(plurnkParser.CLOSE_TAG);
1200
+ this.state = 261;
1201
+ this.statementEnd();
1398
1202
  }
1399
1203
  }
1400
1204
  catch (re) {
@@ -1413,42 +1217,24 @@ export class plurnkParser extends antlr.Parser {
1413
1217
  }
1414
1218
  lookStatement() {
1415
1219
  let localContext = new LookStatementContext(this.context, this.state);
1416
- this.enterRule(localContext, 46, plurnkParser.RULE_lookStatement);
1220
+ this.enterRule(localContext, 48, plurnkParser.RULE_lookStatement);
1417
1221
  let _la;
1418
1222
  try {
1419
1223
  this.enterOuterAlt(localContext, 1);
1420
1224
  {
1421
- this.state = 330;
1225
+ this.state = 263;
1422
1226
  this.match(plurnkParser.OPEN_LOOK);
1423
- this.state = 332;
1227
+ this.state = 265;
1424
1228
  this.errorHandler.sync(this);
1425
1229
  _la = this.tokenStream.LA(1);
1426
1230
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1427
1231
  {
1428
- this.state = 331;
1232
+ this.state = 264;
1429
1233
  this.tagOpModifiers();
1430
1234
  }
1431
1235
  }
1432
- this.state = 335;
1433
- this.errorHandler.sync(this);
1434
- _la = this.tokenStream.LA(1);
1435
- if (_la === 6) {
1436
- {
1437
- this.state = 334;
1438
- this.match(plurnkParser.COLON);
1439
- }
1440
- }
1441
- this.state = 338;
1442
- this.errorHandler.sync(this);
1443
- _la = this.tokenStream.LA(1);
1444
- if (_la === 13) {
1445
- {
1446
- this.state = 337;
1447
- this.body();
1448
- }
1449
- }
1450
- this.state = 340;
1451
- this.match(plurnkParser.CLOSE_TAG);
1236
+ this.state = 267;
1237
+ this.statementEnd();
1452
1238
  }
1453
1239
  }
1454
1240
  catch (re) {
@@ -1467,42 +1253,106 @@ export class plurnkParser extends antlr.Parser {
1467
1253
  }
1468
1254
  buffStatement() {
1469
1255
  let localContext = new BuffStatementContext(this.context, this.state);
1470
- this.enterRule(localContext, 48, plurnkParser.RULE_buffStatement);
1256
+ this.enterRule(localContext, 50, plurnkParser.RULE_buffStatement);
1471
1257
  let _la;
1472
1258
  try {
1473
1259
  this.enterOuterAlt(localContext, 1);
1474
1260
  {
1475
- this.state = 342;
1261
+ this.state = 269;
1476
1262
  this.match(plurnkParser.OPEN_BUFF);
1477
- this.state = 344;
1263
+ this.state = 271;
1478
1264
  this.errorHandler.sync(this);
1479
1265
  _la = this.tokenStream.LA(1);
1480
1266
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1481
1267
  {
1482
- this.state = 343;
1268
+ this.state = 270;
1483
1269
  this.tagOpModifiers();
1484
1270
  }
1485
1271
  }
1486
- this.state = 347;
1487
- this.errorHandler.sync(this);
1488
- _la = this.tokenStream.LA(1);
1489
- if (_la === 6) {
1272
+ this.state = 273;
1273
+ this.statementEnd();
1274
+ }
1275
+ }
1276
+ catch (re) {
1277
+ if (re instanceof antlr.RecognitionException) {
1278
+ this.errorHandler.reportError(this, re);
1279
+ this.errorHandler.recover(this, re);
1280
+ }
1281
+ else {
1282
+ throw re;
1283
+ }
1284
+ }
1285
+ finally {
1286
+ this.exitRule();
1287
+ }
1288
+ return localContext;
1289
+ }
1290
+ statementEnd() {
1291
+ let localContext = new StatementEndContext(this.context, this.state);
1292
+ this.enterRule(localContext, 52, plurnkParser.RULE_statementEnd);
1293
+ let _la;
1294
+ try {
1295
+ this.state = 284;
1296
+ this.errorHandler.sync(this);
1297
+ switch (this.tokenStream.LA(1)) {
1298
+ case plurnkParser.SECTION_END:
1299
+ this.enterOuterAlt(localContext, 1);
1490
1300
  {
1491
- this.state = 346;
1492
- this.match(plurnkParser.COLON);
1301
+ this.state = 275;
1302
+ this.match(plurnkParser.SECTION_END);
1493
1303
  }
1494
- }
1495
- this.state = 350;
1496
- this.errorHandler.sync(this);
1497
- _la = this.tokenStream.LA(1);
1498
- if (_la === 13) {
1304
+ break;
1305
+ case plurnkParser.BODY_OPEN:
1306
+ this.enterOuterAlt(localContext, 2);
1499
1307
  {
1500
- this.state = 349;
1501
- this.body();
1308
+ this.state = 276;
1309
+ this.match(plurnkParser.BODY_OPEN);
1310
+ this.state = 278;
1311
+ this.errorHandler.sync(this);
1312
+ _la = this.tokenStream.LA(1);
1313
+ if (_la === 15) {
1314
+ {
1315
+ this.state = 277;
1316
+ this.body();
1317
+ }
1318
+ }
1319
+ this.state = 281;
1320
+ this.errorHandler.sync(this);
1321
+ _la = this.tokenStream.LA(1);
1322
+ if (_la === 8) {
1323
+ {
1324
+ this.state = 280;
1325
+ this.match(plurnkParser.SECTION_END);
1326
+ }
1327
+ }
1502
1328
  }
1503
- }
1504
- this.state = 352;
1505
- this.match(plurnkParser.CLOSE_TAG);
1329
+ break;
1330
+ case plurnkParser.EOF:
1331
+ case plurnkParser.TEXT:
1332
+ case plurnkParser.OPEN_PLAN:
1333
+ case plurnkParser.OPEN_FIND:
1334
+ case plurnkParser.OPEN_READ:
1335
+ case plurnkParser.OPEN_EDIT:
1336
+ case plurnkParser.OPEN_COPY:
1337
+ case plurnkParser.OPEN_MOVE:
1338
+ case plurnkParser.OPEN_OPEN:
1339
+ case plurnkParser.OPEN_FOLD:
1340
+ case plurnkParser.OPEN_SEND:
1341
+ case plurnkParser.OPEN_EXEC:
1342
+ case plurnkParser.OPEN_BARE:
1343
+ case plurnkParser.OPEN_WORK:
1344
+ case plurnkParser.OPEN_FORK:
1345
+ case plurnkParser.OPEN_KILL:
1346
+ case plurnkParser.OPEN_LOOK:
1347
+ case plurnkParser.OPEN_BUFF:
1348
+ case plurnkParser.FENCE_CLOSE:
1349
+ this.enterOuterAlt(localContext, 3);
1350
+ // tslint:disable-next-line:no-empty
1351
+ {
1352
+ }
1353
+ break;
1354
+ default:
1355
+ throw new antlr.NoViableAltException(this);
1506
1356
  }
1507
1357
  }
1508
1358
  catch (re) {
@@ -1521,30 +1371,30 @@ export class plurnkParser extends antlr.Parser {
1521
1371
  }
1522
1372
  tagOpModifiers() {
1523
1373
  let localContext = new TagOpModifiersContext(this.context, this.state);
1524
- this.enterRule(localContext, 50, plurnkParser.RULE_tagOpModifiers);
1374
+ this.enterRule(localContext, 54, plurnkParser.RULE_tagOpModifiers);
1525
1375
  let _la;
1526
1376
  try {
1527
- this.state = 387;
1377
+ this.state = 319;
1528
1378
  this.errorHandler.sync(this);
1529
1379
  switch (this.tokenStream.LA(1)) {
1530
1380
  case plurnkParser.LBRACKET:
1531
1381
  this.enterOuterAlt(localContext, 1);
1532
1382
  {
1533
- this.state = 354;
1383
+ this.state = 286;
1534
1384
  this.tagSignal();
1535
- this.state = 363;
1385
+ this.state = 295;
1536
1386
  this.errorHandler.sync(this);
1537
1387
  switch (this.tokenStream.LA(1)) {
1538
1388
  case plurnkParser.LPAREN:
1539
1389
  {
1540
- this.state = 355;
1390
+ this.state = 287;
1541
1391
  this.target();
1542
- this.state = 357;
1392
+ this.state = 289;
1543
1393
  this.errorHandler.sync(this);
1544
1394
  _la = this.tokenStream.LA(1);
1545
1395
  if (_la === 5) {
1546
1396
  {
1547
- this.state = 356;
1397
+ this.state = 288;
1548
1398
  this.lineMarker();
1549
1399
  }
1550
1400
  }
@@ -1552,22 +1402,38 @@ export class plurnkParser extends antlr.Parser {
1552
1402
  break;
1553
1403
  case plurnkParser.L_MARKER:
1554
1404
  {
1555
- this.state = 359;
1405
+ this.state = 291;
1556
1406
  this.lineMarker();
1557
- this.state = 361;
1407
+ this.state = 293;
1558
1408
  this.errorHandler.sync(this);
1559
1409
  _la = this.tokenStream.LA(1);
1560
1410
  if (_la === 3) {
1561
1411
  {
1562
- this.state = 360;
1412
+ this.state = 292;
1563
1413
  this.target();
1564
1414
  }
1565
1415
  }
1566
1416
  }
1567
1417
  break;
1568
- case plurnkParser.COLON:
1569
- case plurnkParser.BODY_TEXT:
1570
- case plurnkParser.CLOSE_TAG:
1418
+ case plurnkParser.EOF:
1419
+ case plurnkParser.BODY_OPEN:
1420
+ case plurnkParser.SECTION_END:
1421
+ case plurnkParser.OPEN_PLAN:
1422
+ case plurnkParser.OPEN_FIND:
1423
+ case plurnkParser.OPEN_READ:
1424
+ case plurnkParser.OPEN_EDIT:
1425
+ case plurnkParser.OPEN_COPY:
1426
+ case plurnkParser.OPEN_MOVE:
1427
+ case plurnkParser.OPEN_OPEN:
1428
+ case plurnkParser.OPEN_FOLD:
1429
+ case plurnkParser.OPEN_SEND:
1430
+ case plurnkParser.OPEN_EXEC:
1431
+ case plurnkParser.OPEN_BARE:
1432
+ case plurnkParser.OPEN_WORK:
1433
+ case plurnkParser.OPEN_FORK:
1434
+ case plurnkParser.OPEN_KILL:
1435
+ case plurnkParser.OPEN_LOOK:
1436
+ case plurnkParser.OPEN_BUFF:
1571
1437
  break;
1572
1438
  default:
1573
1439
  break;
@@ -1577,21 +1443,21 @@ export class plurnkParser extends antlr.Parser {
1577
1443
  case plurnkParser.LPAREN:
1578
1444
  this.enterOuterAlt(localContext, 2);
1579
1445
  {
1580
- this.state = 365;
1446
+ this.state = 297;
1581
1447
  this.target();
1582
- this.state = 374;
1448
+ this.state = 306;
1583
1449
  this.errorHandler.sync(this);
1584
1450
  switch (this.tokenStream.LA(1)) {
1585
1451
  case plurnkParser.LBRACKET:
1586
1452
  {
1587
- this.state = 366;
1453
+ this.state = 298;
1588
1454
  this.tagSignal();
1589
- this.state = 368;
1455
+ this.state = 300;
1590
1456
  this.errorHandler.sync(this);
1591
1457
  _la = this.tokenStream.LA(1);
1592
1458
  if (_la === 5) {
1593
1459
  {
1594
- this.state = 367;
1460
+ this.state = 299;
1595
1461
  this.lineMarker();
1596
1462
  }
1597
1463
  }
@@ -1599,22 +1465,38 @@ export class plurnkParser extends antlr.Parser {
1599
1465
  break;
1600
1466
  case plurnkParser.L_MARKER:
1601
1467
  {
1602
- this.state = 370;
1468
+ this.state = 302;
1603
1469
  this.lineMarker();
1604
- this.state = 372;
1470
+ this.state = 304;
1605
1471
  this.errorHandler.sync(this);
1606
1472
  _la = this.tokenStream.LA(1);
1607
1473
  if (_la === 1) {
1608
1474
  {
1609
- this.state = 371;
1475
+ this.state = 303;
1610
1476
  this.tagSignal();
1611
1477
  }
1612
1478
  }
1613
1479
  }
1614
1480
  break;
1615
- case plurnkParser.COLON:
1616
- case plurnkParser.BODY_TEXT:
1617
- case plurnkParser.CLOSE_TAG:
1481
+ case plurnkParser.EOF:
1482
+ case plurnkParser.BODY_OPEN:
1483
+ case plurnkParser.SECTION_END:
1484
+ case plurnkParser.OPEN_PLAN:
1485
+ case plurnkParser.OPEN_FIND:
1486
+ case plurnkParser.OPEN_READ:
1487
+ case plurnkParser.OPEN_EDIT:
1488
+ case plurnkParser.OPEN_COPY:
1489
+ case plurnkParser.OPEN_MOVE:
1490
+ case plurnkParser.OPEN_OPEN:
1491
+ case plurnkParser.OPEN_FOLD:
1492
+ case plurnkParser.OPEN_SEND:
1493
+ case plurnkParser.OPEN_EXEC:
1494
+ case plurnkParser.OPEN_BARE:
1495
+ case plurnkParser.OPEN_WORK:
1496
+ case plurnkParser.OPEN_FORK:
1497
+ case plurnkParser.OPEN_KILL:
1498
+ case plurnkParser.OPEN_LOOK:
1499
+ case plurnkParser.OPEN_BUFF:
1618
1500
  break;
1619
1501
  default:
1620
1502
  break;
@@ -1624,21 +1506,21 @@ export class plurnkParser extends antlr.Parser {
1624
1506
  case plurnkParser.L_MARKER:
1625
1507
  this.enterOuterAlt(localContext, 3);
1626
1508
  {
1627
- this.state = 376;
1509
+ this.state = 308;
1628
1510
  this.lineMarker();
1629
- this.state = 385;
1511
+ this.state = 317;
1630
1512
  this.errorHandler.sync(this);
1631
1513
  switch (this.tokenStream.LA(1)) {
1632
1514
  case plurnkParser.LBRACKET:
1633
1515
  {
1634
- this.state = 377;
1516
+ this.state = 309;
1635
1517
  this.tagSignal();
1636
- this.state = 379;
1518
+ this.state = 311;
1637
1519
  this.errorHandler.sync(this);
1638
1520
  _la = this.tokenStream.LA(1);
1639
1521
  if (_la === 3) {
1640
1522
  {
1641
- this.state = 378;
1523
+ this.state = 310;
1642
1524
  this.target();
1643
1525
  }
1644
1526
  }
@@ -1646,22 +1528,38 @@ export class plurnkParser extends antlr.Parser {
1646
1528
  break;
1647
1529
  case plurnkParser.LPAREN:
1648
1530
  {
1649
- this.state = 381;
1531
+ this.state = 313;
1650
1532
  this.target();
1651
- this.state = 383;
1533
+ this.state = 315;
1652
1534
  this.errorHandler.sync(this);
1653
1535
  _la = this.tokenStream.LA(1);
1654
1536
  if (_la === 1) {
1655
1537
  {
1656
- this.state = 382;
1538
+ this.state = 314;
1657
1539
  this.tagSignal();
1658
1540
  }
1659
1541
  }
1660
1542
  }
1661
1543
  break;
1662
- case plurnkParser.COLON:
1663
- case plurnkParser.BODY_TEXT:
1664
- case plurnkParser.CLOSE_TAG:
1544
+ case plurnkParser.EOF:
1545
+ case plurnkParser.BODY_OPEN:
1546
+ case plurnkParser.SECTION_END:
1547
+ case plurnkParser.OPEN_PLAN:
1548
+ case plurnkParser.OPEN_FIND:
1549
+ case plurnkParser.OPEN_READ:
1550
+ case plurnkParser.OPEN_EDIT:
1551
+ case plurnkParser.OPEN_COPY:
1552
+ case plurnkParser.OPEN_MOVE:
1553
+ case plurnkParser.OPEN_OPEN:
1554
+ case plurnkParser.OPEN_FOLD:
1555
+ case plurnkParser.OPEN_SEND:
1556
+ case plurnkParser.OPEN_EXEC:
1557
+ case plurnkParser.OPEN_BARE:
1558
+ case plurnkParser.OPEN_WORK:
1559
+ case plurnkParser.OPEN_FORK:
1560
+ case plurnkParser.OPEN_KILL:
1561
+ case plurnkParser.OPEN_LOOK:
1562
+ case plurnkParser.OPEN_BUFF:
1665
1563
  break;
1666
1564
  default:
1667
1565
  break;
@@ -1688,23 +1586,23 @@ export class plurnkParser extends antlr.Parser {
1688
1586
  }
1689
1587
  curationModifiers() {
1690
1588
  let localContext = new CurationModifiersContext(this.context, this.state);
1691
- this.enterRule(localContext, 52, plurnkParser.RULE_curationModifiers);
1589
+ this.enterRule(localContext, 56, plurnkParser.RULE_curationModifiers);
1692
1590
  let _la;
1693
1591
  try {
1694
- this.state = 397;
1592
+ this.state = 329;
1695
1593
  this.errorHandler.sync(this);
1696
1594
  switch (this.tokenStream.LA(1)) {
1697
1595
  case plurnkParser.LBRACKET:
1698
1596
  this.enterOuterAlt(localContext, 1);
1699
1597
  {
1700
- this.state = 389;
1598
+ this.state = 321;
1701
1599
  this.tagSignal();
1702
- this.state = 391;
1600
+ this.state = 323;
1703
1601
  this.errorHandler.sync(this);
1704
1602
  _la = this.tokenStream.LA(1);
1705
1603
  if (_la === 3) {
1706
1604
  {
1707
- this.state = 390;
1605
+ this.state = 322;
1708
1606
  this.target();
1709
1607
  }
1710
1608
  }
@@ -1713,14 +1611,14 @@ export class plurnkParser extends antlr.Parser {
1713
1611
  case plurnkParser.LPAREN:
1714
1612
  this.enterOuterAlt(localContext, 2);
1715
1613
  {
1716
- this.state = 393;
1614
+ this.state = 325;
1717
1615
  this.target();
1718
- this.state = 395;
1616
+ this.state = 327;
1719
1617
  this.errorHandler.sync(this);
1720
1618
  _la = this.tokenStream.LA(1);
1721
1619
  if (_la === 1) {
1722
1620
  {
1723
- this.state = 394;
1621
+ this.state = 326;
1724
1622
  this.tagSignal();
1725
1623
  }
1726
1624
  }
@@ -1746,23 +1644,23 @@ export class plurnkParser extends antlr.Parser {
1746
1644
  }
1747
1645
  intOpModifiers() {
1748
1646
  let localContext = new IntOpModifiersContext(this.context, this.state);
1749
- this.enterRule(localContext, 54, plurnkParser.RULE_intOpModifiers);
1647
+ this.enterRule(localContext, 58, plurnkParser.RULE_intOpModifiers);
1750
1648
  let _la;
1751
1649
  try {
1752
- this.state = 407;
1650
+ this.state = 339;
1753
1651
  this.errorHandler.sync(this);
1754
1652
  switch (this.tokenStream.LA(1)) {
1755
1653
  case plurnkParser.LBRACKET:
1756
1654
  this.enterOuterAlt(localContext, 1);
1757
1655
  {
1758
- this.state = 399;
1656
+ this.state = 331;
1759
1657
  this.intSignal();
1760
- this.state = 401;
1658
+ this.state = 333;
1761
1659
  this.errorHandler.sync(this);
1762
1660
  _la = this.tokenStream.LA(1);
1763
1661
  if (_la === 3) {
1764
1662
  {
1765
- this.state = 400;
1663
+ this.state = 332;
1766
1664
  this.target();
1767
1665
  }
1768
1666
  }
@@ -1771,14 +1669,14 @@ export class plurnkParser extends antlr.Parser {
1771
1669
  case plurnkParser.LPAREN:
1772
1670
  this.enterOuterAlt(localContext, 2);
1773
1671
  {
1774
- this.state = 403;
1672
+ this.state = 335;
1775
1673
  this.target();
1776
- this.state = 405;
1674
+ this.state = 337;
1777
1675
  this.errorHandler.sync(this);
1778
1676
  _la = this.tokenStream.LA(1);
1779
1677
  if (_la === 1) {
1780
1678
  {
1781
- this.state = 404;
1679
+ this.state = 336;
1782
1680
  this.intSignal();
1783
1681
  }
1784
1682
  }
@@ -1804,23 +1702,23 @@ export class plurnkParser extends antlr.Parser {
1804
1702
  }
1805
1703
  branchModifiers() {
1806
1704
  let localContext = new BranchModifiersContext(this.context, this.state);
1807
- this.enterRule(localContext, 56, plurnkParser.RULE_branchModifiers);
1705
+ this.enterRule(localContext, 60, plurnkParser.RULE_branchModifiers);
1808
1706
  let _la;
1809
1707
  try {
1810
- this.state = 417;
1708
+ this.state = 349;
1811
1709
  this.errorHandler.sync(this);
1812
1710
  switch (this.tokenStream.LA(1)) {
1813
1711
  case plurnkParser.LBRACKET:
1814
1712
  this.enterOuterAlt(localContext, 1);
1815
1713
  {
1816
- this.state = 409;
1714
+ this.state = 341;
1817
1715
  this.branchSignal();
1818
- this.state = 411;
1716
+ this.state = 343;
1819
1717
  this.errorHandler.sync(this);
1820
1718
  _la = this.tokenStream.LA(1);
1821
1719
  if (_la === 3) {
1822
1720
  {
1823
- this.state = 410;
1721
+ this.state = 342;
1824
1722
  this.target();
1825
1723
  }
1826
1724
  }
@@ -1829,14 +1727,14 @@ export class plurnkParser extends antlr.Parser {
1829
1727
  case plurnkParser.LPAREN:
1830
1728
  this.enterOuterAlt(localContext, 2);
1831
1729
  {
1832
- this.state = 413;
1730
+ this.state = 345;
1833
1731
  this.target();
1834
- this.state = 415;
1732
+ this.state = 347;
1835
1733
  this.errorHandler.sync(this);
1836
1734
  _la = this.tokenStream.LA(1);
1837
1735
  if (_la === 1) {
1838
1736
  {
1839
- this.state = 414;
1737
+ this.state = 346;
1840
1738
  this.branchSignal();
1841
1739
  }
1842
1740
  }
@@ -1862,32 +1760,32 @@ export class plurnkParser extends antlr.Parser {
1862
1760
  }
1863
1761
  termModifiers() {
1864
1762
  let localContext = new TermModifiersContext(this.context, this.state);
1865
- this.enterRule(localContext, 58, plurnkParser.RULE_termModifiers);
1763
+ this.enterRule(localContext, 62, plurnkParser.RULE_termModifiers);
1866
1764
  let _la;
1867
1765
  try {
1868
- this.state = 431;
1766
+ this.state = 363;
1869
1767
  this.errorHandler.sync(this);
1870
1768
  switch (this.tokenStream.LA(1)) {
1871
1769
  case plurnkParser.LBRACKET:
1872
1770
  this.enterOuterAlt(localContext, 1);
1873
1771
  {
1874
- this.state = 419;
1772
+ this.state = 351;
1875
1773
  this.dispSignal();
1876
- this.state = 421;
1774
+ this.state = 353;
1877
1775
  this.errorHandler.sync(this);
1878
1776
  _la = this.tokenStream.LA(1);
1879
1777
  if (_la === 3) {
1880
1778
  {
1881
- this.state = 420;
1779
+ this.state = 352;
1882
1780
  this.target();
1883
1781
  }
1884
1782
  }
1885
- this.state = 424;
1783
+ this.state = 356;
1886
1784
  this.errorHandler.sync(this);
1887
1785
  _la = this.tokenStream.LA(1);
1888
1786
  if (_la === 5) {
1889
1787
  {
1890
- this.state = 423;
1788
+ this.state = 355;
1891
1789
  this.lineMarker();
1892
1790
  }
1893
1791
  }
@@ -1896,16 +1794,16 @@ export class plurnkParser extends antlr.Parser {
1896
1794
  case plurnkParser.LPAREN:
1897
1795
  this.enterOuterAlt(localContext, 2);
1898
1796
  {
1899
- this.state = 426;
1797
+ this.state = 358;
1900
1798
  this.target();
1901
- this.state = 427;
1799
+ this.state = 359;
1902
1800
  this.dispSignal();
1903
- this.state = 429;
1801
+ this.state = 361;
1904
1802
  this.errorHandler.sync(this);
1905
1803
  _la = this.tokenStream.LA(1);
1906
1804
  if (_la === 5) {
1907
1805
  {
1908
- this.state = 428;
1806
+ this.state = 360;
1909
1807
  this.lineMarker();
1910
1808
  }
1911
1809
  }
@@ -1931,23 +1829,23 @@ export class plurnkParser extends antlr.Parser {
1931
1829
  }
1932
1830
  midModifiers() {
1933
1831
  let localContext = new MidModifiersContext(this.context, this.state);
1934
- this.enterRule(localContext, 60, plurnkParser.RULE_midModifiers);
1832
+ this.enterRule(localContext, 64, plurnkParser.RULE_midModifiers);
1935
1833
  let _la;
1936
1834
  try {
1937
- this.state = 441;
1835
+ this.state = 373;
1938
1836
  this.errorHandler.sync(this);
1939
1837
  switch (this.tokenStream.LA(1)) {
1940
1838
  case plurnkParser.LBRACKET:
1941
1839
  this.enterOuterAlt(localContext, 1);
1942
1840
  {
1943
- this.state = 433;
1841
+ this.state = 365;
1944
1842
  this.midSignal();
1945
- this.state = 435;
1843
+ this.state = 367;
1946
1844
  this.errorHandler.sync(this);
1947
1845
  _la = this.tokenStream.LA(1);
1948
1846
  if (_la === 3) {
1949
1847
  {
1950
- this.state = 434;
1848
+ this.state = 366;
1951
1849
  this.target();
1952
1850
  }
1953
1851
  }
@@ -1956,14 +1854,14 @@ export class plurnkParser extends antlr.Parser {
1956
1854
  case plurnkParser.LPAREN:
1957
1855
  this.enterOuterAlt(localContext, 2);
1958
1856
  {
1959
- this.state = 437;
1857
+ this.state = 369;
1960
1858
  this.target();
1961
- this.state = 439;
1859
+ this.state = 371;
1962
1860
  this.errorHandler.sync(this);
1963
1861
  _la = this.tokenStream.LA(1);
1964
1862
  if (_la === 1) {
1965
1863
  {
1966
- this.state = 438;
1864
+ this.state = 370;
1967
1865
  this.midSignal();
1968
1866
  }
1969
1867
  }
@@ -1989,30 +1887,30 @@ export class plurnkParser extends antlr.Parser {
1989
1887
  }
1990
1888
  execModifiers() {
1991
1889
  let localContext = new ExecModifiersContext(this.context, this.state);
1992
- this.enterRule(localContext, 62, plurnkParser.RULE_execModifiers);
1890
+ this.enterRule(localContext, 66, plurnkParser.RULE_execModifiers);
1993
1891
  let _la;
1994
1892
  try {
1995
- this.state = 476;
1893
+ this.state = 408;
1996
1894
  this.errorHandler.sync(this);
1997
1895
  switch (this.tokenStream.LA(1)) {
1998
1896
  case plurnkParser.LBRACKET:
1999
1897
  this.enterOuterAlt(localContext, 1);
2000
1898
  {
2001
- this.state = 443;
1899
+ this.state = 375;
2002
1900
  this.identSignal();
2003
- this.state = 452;
1901
+ this.state = 384;
2004
1902
  this.errorHandler.sync(this);
2005
1903
  switch (this.tokenStream.LA(1)) {
2006
1904
  case plurnkParser.LPAREN:
2007
1905
  {
2008
- this.state = 444;
1906
+ this.state = 376;
2009
1907
  this.target();
2010
- this.state = 446;
1908
+ this.state = 378;
2011
1909
  this.errorHandler.sync(this);
2012
1910
  _la = this.tokenStream.LA(1);
2013
1911
  if (_la === 5) {
2014
1912
  {
2015
- this.state = 445;
1913
+ this.state = 377;
2016
1914
  this.lineMarker();
2017
1915
  }
2018
1916
  }
@@ -2020,22 +1918,38 @@ export class plurnkParser extends antlr.Parser {
2020
1918
  break;
2021
1919
  case plurnkParser.L_MARKER:
2022
1920
  {
2023
- this.state = 448;
1921
+ this.state = 380;
2024
1922
  this.lineMarker();
2025
- this.state = 450;
1923
+ this.state = 382;
2026
1924
  this.errorHandler.sync(this);
2027
1925
  _la = this.tokenStream.LA(1);
2028
1926
  if (_la === 3) {
2029
1927
  {
2030
- this.state = 449;
1928
+ this.state = 381;
2031
1929
  this.target();
2032
1930
  }
2033
1931
  }
2034
1932
  }
2035
1933
  break;
2036
- case plurnkParser.COLON:
2037
- case plurnkParser.BODY_TEXT:
2038
- case plurnkParser.CLOSE_TAG:
1934
+ case plurnkParser.EOF:
1935
+ case plurnkParser.BODY_OPEN:
1936
+ case plurnkParser.SECTION_END:
1937
+ case plurnkParser.OPEN_PLAN:
1938
+ case plurnkParser.OPEN_FIND:
1939
+ case plurnkParser.OPEN_READ:
1940
+ case plurnkParser.OPEN_EDIT:
1941
+ case plurnkParser.OPEN_COPY:
1942
+ case plurnkParser.OPEN_MOVE:
1943
+ case plurnkParser.OPEN_OPEN:
1944
+ case plurnkParser.OPEN_FOLD:
1945
+ case plurnkParser.OPEN_SEND:
1946
+ case plurnkParser.OPEN_EXEC:
1947
+ case plurnkParser.OPEN_BARE:
1948
+ case plurnkParser.OPEN_WORK:
1949
+ case plurnkParser.OPEN_FORK:
1950
+ case plurnkParser.OPEN_KILL:
1951
+ case plurnkParser.OPEN_LOOK:
1952
+ case plurnkParser.OPEN_BUFF:
2039
1953
  break;
2040
1954
  default:
2041
1955
  break;
@@ -2045,21 +1959,21 @@ export class plurnkParser extends antlr.Parser {
2045
1959
  case plurnkParser.LPAREN:
2046
1960
  this.enterOuterAlt(localContext, 2);
2047
1961
  {
2048
- this.state = 454;
1962
+ this.state = 386;
2049
1963
  this.target();
2050
- this.state = 463;
1964
+ this.state = 395;
2051
1965
  this.errorHandler.sync(this);
2052
1966
  switch (this.tokenStream.LA(1)) {
2053
1967
  case plurnkParser.LBRACKET:
2054
1968
  {
2055
- this.state = 455;
1969
+ this.state = 387;
2056
1970
  this.identSignal();
2057
- this.state = 457;
1971
+ this.state = 389;
2058
1972
  this.errorHandler.sync(this);
2059
1973
  _la = this.tokenStream.LA(1);
2060
1974
  if (_la === 5) {
2061
1975
  {
2062
- this.state = 456;
1976
+ this.state = 388;
2063
1977
  this.lineMarker();
2064
1978
  }
2065
1979
  }
@@ -2067,22 +1981,38 @@ export class plurnkParser extends antlr.Parser {
2067
1981
  break;
2068
1982
  case plurnkParser.L_MARKER:
2069
1983
  {
2070
- this.state = 459;
1984
+ this.state = 391;
2071
1985
  this.lineMarker();
2072
- this.state = 461;
1986
+ this.state = 393;
2073
1987
  this.errorHandler.sync(this);
2074
1988
  _la = this.tokenStream.LA(1);
2075
1989
  if (_la === 1) {
2076
1990
  {
2077
- this.state = 460;
1991
+ this.state = 392;
2078
1992
  this.identSignal();
2079
1993
  }
2080
1994
  }
2081
1995
  }
2082
1996
  break;
2083
- case plurnkParser.COLON:
2084
- case plurnkParser.BODY_TEXT:
2085
- case plurnkParser.CLOSE_TAG:
1997
+ case plurnkParser.EOF:
1998
+ case plurnkParser.BODY_OPEN:
1999
+ case plurnkParser.SECTION_END:
2000
+ case plurnkParser.OPEN_PLAN:
2001
+ case plurnkParser.OPEN_FIND:
2002
+ case plurnkParser.OPEN_READ:
2003
+ case plurnkParser.OPEN_EDIT:
2004
+ case plurnkParser.OPEN_COPY:
2005
+ case plurnkParser.OPEN_MOVE:
2006
+ case plurnkParser.OPEN_OPEN:
2007
+ case plurnkParser.OPEN_FOLD:
2008
+ case plurnkParser.OPEN_SEND:
2009
+ case plurnkParser.OPEN_EXEC:
2010
+ case plurnkParser.OPEN_BARE:
2011
+ case plurnkParser.OPEN_WORK:
2012
+ case plurnkParser.OPEN_FORK:
2013
+ case plurnkParser.OPEN_KILL:
2014
+ case plurnkParser.OPEN_LOOK:
2015
+ case plurnkParser.OPEN_BUFF:
2086
2016
  break;
2087
2017
  default:
2088
2018
  break;
@@ -2092,21 +2022,21 @@ export class plurnkParser extends antlr.Parser {
2092
2022
  case plurnkParser.L_MARKER:
2093
2023
  this.enterOuterAlt(localContext, 3);
2094
2024
  {
2095
- this.state = 465;
2025
+ this.state = 397;
2096
2026
  this.lineMarker();
2097
- this.state = 474;
2027
+ this.state = 406;
2098
2028
  this.errorHandler.sync(this);
2099
2029
  switch (this.tokenStream.LA(1)) {
2100
2030
  case plurnkParser.LBRACKET:
2101
2031
  {
2102
- this.state = 466;
2032
+ this.state = 398;
2103
2033
  this.identSignal();
2104
- this.state = 468;
2034
+ this.state = 400;
2105
2035
  this.errorHandler.sync(this);
2106
2036
  _la = this.tokenStream.LA(1);
2107
2037
  if (_la === 3) {
2108
2038
  {
2109
- this.state = 467;
2039
+ this.state = 399;
2110
2040
  this.target();
2111
2041
  }
2112
2042
  }
@@ -2114,22 +2044,38 @@ export class plurnkParser extends antlr.Parser {
2114
2044
  break;
2115
2045
  case plurnkParser.LPAREN:
2116
2046
  {
2117
- this.state = 470;
2047
+ this.state = 402;
2118
2048
  this.target();
2119
- this.state = 472;
2049
+ this.state = 404;
2120
2050
  this.errorHandler.sync(this);
2121
2051
  _la = this.tokenStream.LA(1);
2122
2052
  if (_la === 1) {
2123
2053
  {
2124
- this.state = 471;
2054
+ this.state = 403;
2125
2055
  this.identSignal();
2126
2056
  }
2127
2057
  }
2128
2058
  }
2129
2059
  break;
2130
- case plurnkParser.COLON:
2131
- case plurnkParser.BODY_TEXT:
2132
- case plurnkParser.CLOSE_TAG:
2060
+ case plurnkParser.EOF:
2061
+ case plurnkParser.BODY_OPEN:
2062
+ case plurnkParser.SECTION_END:
2063
+ case plurnkParser.OPEN_PLAN:
2064
+ case plurnkParser.OPEN_FIND:
2065
+ case plurnkParser.OPEN_READ:
2066
+ case plurnkParser.OPEN_EDIT:
2067
+ case plurnkParser.OPEN_COPY:
2068
+ case plurnkParser.OPEN_MOVE:
2069
+ case plurnkParser.OPEN_OPEN:
2070
+ case plurnkParser.OPEN_FOLD:
2071
+ case plurnkParser.OPEN_SEND:
2072
+ case plurnkParser.OPEN_EXEC:
2073
+ case plurnkParser.OPEN_BARE:
2074
+ case plurnkParser.OPEN_WORK:
2075
+ case plurnkParser.OPEN_FORK:
2076
+ case plurnkParser.OPEN_KILL:
2077
+ case plurnkParser.OPEN_LOOK:
2078
+ case plurnkParser.OPEN_BUFF:
2133
2079
  break;
2134
2080
  default:
2135
2081
  break;
@@ -2156,22 +2102,22 @@ export class plurnkParser extends antlr.Parser {
2156
2102
  }
2157
2103
  tagSignal() {
2158
2104
  let localContext = new TagSignalContext(this.context, this.state);
2159
- this.enterRule(localContext, 64, plurnkParser.RULE_tagSignal);
2105
+ this.enterRule(localContext, 68, plurnkParser.RULE_tagSignal);
2160
2106
  let _la;
2161
2107
  try {
2162
2108
  this.enterOuterAlt(localContext, 1);
2163
2109
  {
2164
- this.state = 478;
2110
+ this.state = 410;
2165
2111
  this.match(plurnkParser.LBRACKET);
2166
- this.state = 482;
2112
+ this.state = 414;
2167
2113
  this.errorHandler.sync(this);
2168
2114
  _la = this.tokenStream.LA(1);
2169
- while (_la === 7 || _la === 11) {
2115
+ while (_la === 9 || _la === 13) {
2170
2116
  {
2171
2117
  {
2172
- this.state = 479;
2118
+ this.state = 411;
2173
2119
  _la = this.tokenStream.LA(1);
2174
- if (!(_la === 7 || _la === 11)) {
2120
+ if (!(_la === 9 || _la === 13)) {
2175
2121
  this.errorHandler.recoverInline(this);
2176
2122
  }
2177
2123
  else {
@@ -2180,11 +2126,11 @@ export class plurnkParser extends antlr.Parser {
2180
2126
  }
2181
2127
  }
2182
2128
  }
2183
- this.state = 484;
2129
+ this.state = 416;
2184
2130
  this.errorHandler.sync(this);
2185
2131
  _la = this.tokenStream.LA(1);
2186
2132
  }
2187
- this.state = 485;
2133
+ this.state = 417;
2188
2134
  this.match(plurnkParser.RBRACKET);
2189
2135
  }
2190
2136
  }
@@ -2204,15 +2150,15 @@ export class plurnkParser extends antlr.Parser {
2204
2150
  }
2205
2151
  branchSignal() {
2206
2152
  let localContext = new BranchSignalContext(this.context, this.state);
2207
- this.enterRule(localContext, 66, plurnkParser.RULE_branchSignal);
2153
+ this.enterRule(localContext, 70, plurnkParser.RULE_branchSignal);
2208
2154
  try {
2209
2155
  this.enterOuterAlt(localContext, 1);
2210
2156
  {
2211
- this.state = 487;
2157
+ this.state = 419;
2212
2158
  this.match(plurnkParser.LBRACKET);
2213
- this.state = 488;
2159
+ this.state = 420;
2214
2160
  this.match(plurnkParser.TAG);
2215
- this.state = 489;
2161
+ this.state = 421;
2216
2162
  this.match(plurnkParser.RBRACKET);
2217
2163
  }
2218
2164
  }
@@ -2232,21 +2178,21 @@ export class plurnkParser extends antlr.Parser {
2232
2178
  }
2233
2179
  intSignal() {
2234
2180
  let localContext = new IntSignalContext(this.context, this.state);
2235
- this.enterRule(localContext, 68, plurnkParser.RULE_intSignal);
2181
+ this.enterRule(localContext, 72, plurnkParser.RULE_intSignal);
2236
2182
  let _la;
2237
2183
  try {
2238
2184
  this.enterOuterAlt(localContext, 1);
2239
2185
  {
2240
- this.state = 491;
2186
+ this.state = 423;
2241
2187
  this.match(plurnkParser.LBRACKET);
2242
- this.state = 493;
2188
+ this.state = 425;
2243
2189
  this.errorHandler.sync(this);
2244
2190
  _la = this.tokenStream.LA(1);
2245
- if (_la === 8 || _la === 9) {
2191
+ if (_la === 10 || _la === 11) {
2246
2192
  {
2247
- this.state = 492;
2193
+ this.state = 424;
2248
2194
  _la = this.tokenStream.LA(1);
2249
- if (!(_la === 8 || _la === 9)) {
2195
+ if (!(_la === 10 || _la === 11)) {
2250
2196
  this.errorHandler.recoverInline(this);
2251
2197
  }
2252
2198
  else {
@@ -2255,7 +2201,7 @@ export class plurnkParser extends antlr.Parser {
2255
2201
  }
2256
2202
  }
2257
2203
  }
2258
- this.state = 495;
2204
+ this.state = 427;
2259
2205
  this.match(plurnkParser.RBRACKET);
2260
2206
  }
2261
2207
  }
@@ -2275,23 +2221,23 @@ export class plurnkParser extends antlr.Parser {
2275
2221
  }
2276
2222
  midSignal() {
2277
2223
  let localContext = new MidSignalContext(this.context, this.state);
2278
- this.enterRule(localContext, 70, plurnkParser.RULE_midSignal);
2224
+ this.enterRule(localContext, 74, plurnkParser.RULE_midSignal);
2279
2225
  let _la;
2280
2226
  try {
2281
2227
  this.enterOuterAlt(localContext, 1);
2282
2228
  {
2283
- this.state = 497;
2229
+ this.state = 429;
2284
2230
  this.match(plurnkParser.LBRACKET);
2285
- this.state = 499;
2231
+ this.state = 431;
2286
2232
  this.errorHandler.sync(this);
2287
2233
  _la = this.tokenStream.LA(1);
2288
- if (_la === 8) {
2234
+ if (_la === 10) {
2289
2235
  {
2290
- this.state = 498;
2236
+ this.state = 430;
2291
2237
  this.match(plurnkParser.INT);
2292
2238
  }
2293
2239
  }
2294
- this.state = 501;
2240
+ this.state = 433;
2295
2241
  this.match(plurnkParser.RBRACKET);
2296
2242
  }
2297
2243
  }
@@ -2311,15 +2257,15 @@ export class plurnkParser extends antlr.Parser {
2311
2257
  }
2312
2258
  dispSignal() {
2313
2259
  let localContext = new DispSignalContext(this.context, this.state);
2314
- this.enterRule(localContext, 72, plurnkParser.RULE_dispSignal);
2260
+ this.enterRule(localContext, 76, plurnkParser.RULE_dispSignal);
2315
2261
  try {
2316
2262
  this.enterOuterAlt(localContext, 1);
2317
2263
  {
2318
- this.state = 503;
2264
+ this.state = 435;
2319
2265
  this.match(plurnkParser.LBRACKET);
2320
- this.state = 504;
2266
+ this.state = 436;
2321
2267
  this.match(plurnkParser.DISPOSITION);
2322
- this.state = 505;
2268
+ this.state = 437;
2323
2269
  this.match(plurnkParser.RBRACKET);
2324
2270
  }
2325
2271
  }
@@ -2339,23 +2285,23 @@ export class plurnkParser extends antlr.Parser {
2339
2285
  }
2340
2286
  identSignal() {
2341
2287
  let localContext = new IdentSignalContext(this.context, this.state);
2342
- this.enterRule(localContext, 74, plurnkParser.RULE_identSignal);
2288
+ this.enterRule(localContext, 78, plurnkParser.RULE_identSignal);
2343
2289
  let _la;
2344
2290
  try {
2345
2291
  this.enterOuterAlt(localContext, 1);
2346
2292
  {
2347
- this.state = 507;
2293
+ this.state = 439;
2348
2294
  this.match(plurnkParser.LBRACKET);
2349
- this.state = 509;
2295
+ this.state = 441;
2350
2296
  this.errorHandler.sync(this);
2351
2297
  _la = this.tokenStream.LA(1);
2352
- if (_la === 10) {
2298
+ if (_la === 12) {
2353
2299
  {
2354
- this.state = 508;
2300
+ this.state = 440;
2355
2301
  this.match(plurnkParser.IDENT);
2356
2302
  }
2357
2303
  }
2358
- this.state = 511;
2304
+ this.state = 443;
2359
2305
  this.match(plurnkParser.RBRACKET);
2360
2306
  }
2361
2307
  }
@@ -2375,28 +2321,28 @@ export class plurnkParser extends antlr.Parser {
2375
2321
  }
2376
2322
  target() {
2377
2323
  let localContext = new TargetContext(this.context, this.state);
2378
- this.enterRule(localContext, 76, plurnkParser.RULE_target);
2324
+ this.enterRule(localContext, 80, plurnkParser.RULE_target);
2379
2325
  let _la;
2380
2326
  try {
2381
2327
  this.enterOuterAlt(localContext, 1);
2382
2328
  {
2383
- this.state = 513;
2329
+ this.state = 445;
2384
2330
  this.match(plurnkParser.LPAREN);
2385
- this.state = 517;
2331
+ this.state = 449;
2386
2332
  this.errorHandler.sync(this);
2387
2333
  _la = this.tokenStream.LA(1);
2388
- while (_la === 12) {
2334
+ while (_la === 14) {
2389
2335
  {
2390
2336
  {
2391
- this.state = 514;
2337
+ this.state = 446;
2392
2338
  this.match(plurnkParser.TARGET_TEXT);
2393
2339
  }
2394
2340
  }
2395
- this.state = 519;
2341
+ this.state = 451;
2396
2342
  this.errorHandler.sync(this);
2397
2343
  _la = this.tokenStream.LA(1);
2398
2344
  }
2399
- this.state = 520;
2345
+ this.state = 452;
2400
2346
  this.match(plurnkParser.RPAREN);
2401
2347
  }
2402
2348
  }
@@ -2416,11 +2362,11 @@ export class plurnkParser extends antlr.Parser {
2416
2362
  }
2417
2363
  lineMarker() {
2418
2364
  let localContext = new LineMarkerContext(this.context, this.state);
2419
- this.enterRule(localContext, 78, plurnkParser.RULE_lineMarker);
2365
+ this.enterRule(localContext, 82, plurnkParser.RULE_lineMarker);
2420
2366
  try {
2421
2367
  this.enterOuterAlt(localContext, 1);
2422
2368
  {
2423
- this.state = 522;
2369
+ this.state = 454;
2424
2370
  this.match(plurnkParser.L_MARKER);
2425
2371
  }
2426
2372
  }
@@ -2440,25 +2386,25 @@ export class plurnkParser extends antlr.Parser {
2440
2386
  }
2441
2387
  body() {
2442
2388
  let localContext = new BodyContext(this.context, this.state);
2443
- this.enterRule(localContext, 80, plurnkParser.RULE_body);
2389
+ this.enterRule(localContext, 84, plurnkParser.RULE_body);
2444
2390
  let _la;
2445
2391
  try {
2446
2392
  this.enterOuterAlt(localContext, 1);
2447
2393
  {
2448
- this.state = 525;
2394
+ this.state = 457;
2449
2395
  this.errorHandler.sync(this);
2450
2396
  _la = this.tokenStream.LA(1);
2451
2397
  do {
2452
2398
  {
2453
2399
  {
2454
- this.state = 524;
2400
+ this.state = 456;
2455
2401
  this.match(plurnkParser.BODY_TEXT);
2456
2402
  }
2457
2403
  }
2458
- this.state = 527;
2404
+ this.state = 459;
2459
2405
  this.errorHandler.sync(this);
2460
2406
  _la = this.tokenStream.LA(1);
2461
- } while (_la === 13);
2407
+ } while (_la === 15);
2462
2408
  }
2463
2409
  }
2464
2410
  catch (re) {
@@ -2476,214 +2422,184 @@ export class plurnkParser extends antlr.Parser {
2476
2422
  return localContext;
2477
2423
  }
2478
2424
  static _serializedATN = [
2479
- 4, 1, 41, 530, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
2425
+ 4, 1, 42, 462, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
2480
2426
  6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
2481
2427
  2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
2482
2428
  7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
2483
2429
  2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33,
2484
2430
  7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39,
2485
- 2, 40, 7, 40, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 87, 8, 1, 11, 1, 12, 1, 88, 1, 1, 1, 1, 1, 2, 1,
2486
- 2, 3, 2, 95, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 5, 3, 102, 8, 3, 10, 3, 12, 3, 105, 9, 3, 1,
2487
- 3, 1, 3, 1, 3, 5, 3, 110, 8, 3, 10, 3, 12, 3, 113, 9, 3, 1, 3, 1, 3, 5, 3, 117, 8, 3, 10, 3,
2488
- 12, 3, 120, 9, 3, 1, 4, 5, 4, 123, 8, 4, 10, 4, 12, 4, 126, 9, 4, 1, 4, 1, 4, 1, 5, 5, 5, 131,
2489
- 8, 5, 10, 5, 12, 5, 134, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6, 141, 8, 6, 1, 7, 1, 7, 1,
2490
- 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 157, 8, 7, 1, 8, 1,
2491
- 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 171, 8, 8, 1, 9, 1, 9, 3,
2492
- 9, 175, 8, 9, 1, 9, 3, 9, 178, 8, 9, 1, 9, 3, 9, 181, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10,
2493
- 187, 8, 10, 1, 10, 3, 10, 190, 8, 10, 1, 10, 3, 10, 193, 8, 10, 1, 10, 1, 10, 1, 11, 1,
2494
- 11, 3, 11, 199, 8, 11, 1, 11, 3, 11, 202, 8, 11, 1, 11, 3, 11, 205, 8, 11, 1, 11, 1, 11,
2495
- 1, 12, 1, 12, 3, 12, 211, 8, 12, 1, 12, 3, 12, 214, 8, 12, 1, 12, 3, 12, 217, 8, 12, 1,
2496
- 12, 1, 12, 1, 13, 1, 13, 3, 13, 223, 8, 13, 1, 13, 3, 13, 226, 8, 13, 1, 13, 3, 13, 229,
2497
- 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 235, 8, 14, 1, 14, 3, 14, 238, 8, 14, 1, 14, 3,
2498
- 14, 241, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 247, 8, 15, 1, 15, 3, 15, 250, 8, 15,
2499
- 1, 15, 3, 15, 253, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 3, 16, 260, 8, 16, 1, 16, 3,
2500
- 16, 263, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 269, 8, 17, 1, 17, 3, 17, 272, 8, 17,
2501
- 1, 17, 3, 17, 275, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 281, 8, 18, 1, 18, 3, 18, 284,
2502
- 8, 18, 1, 18, 3, 18, 287, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 293, 8, 19, 1, 19, 1,
2503
- 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 301, 8, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1,
2504
- 21, 3, 21, 309, 8, 21, 1, 21, 3, 21, 312, 8, 21, 1, 21, 3, 21, 315, 8, 21, 1, 21, 1, 21,
2505
- 1, 22, 1, 22, 3, 22, 321, 8, 22, 1, 22, 3, 22, 324, 8, 22, 1, 22, 3, 22, 327, 8, 22, 1,
2506
- 22, 1, 22, 1, 23, 1, 23, 3, 23, 333, 8, 23, 1, 23, 3, 23, 336, 8, 23, 1, 23, 3, 23, 339,
2507
- 8, 23, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 345, 8, 24, 1, 24, 3, 24, 348, 8, 24, 1, 24, 3,
2508
- 24, 351, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 3, 25, 358, 8, 25, 1, 25, 1, 25, 3, 25,
2509
- 362, 8, 25, 3, 25, 364, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 369, 8, 25, 1, 25, 1, 25, 3,
2510
- 25, 373, 8, 25, 3, 25, 375, 8, 25, 1, 25, 1, 25, 1, 25, 3, 25, 380, 8, 25, 1, 25, 1, 25,
2511
- 3, 25, 384, 8, 25, 3, 25, 386, 8, 25, 3, 25, 388, 8, 25, 1, 26, 1, 26, 3, 26, 392, 8, 26,
2512
- 1, 26, 1, 26, 3, 26, 396, 8, 26, 3, 26, 398, 8, 26, 1, 27, 1, 27, 3, 27, 402, 8, 27, 1,
2513
- 27, 1, 27, 3, 27, 406, 8, 27, 3, 27, 408, 8, 27, 1, 28, 1, 28, 3, 28, 412, 8, 28, 1, 28,
2514
- 1, 28, 3, 28, 416, 8, 28, 3, 28, 418, 8, 28, 1, 29, 1, 29, 3, 29, 422, 8, 29, 1, 29, 3,
2515
- 29, 425, 8, 29, 1, 29, 1, 29, 1, 29, 3, 29, 430, 8, 29, 3, 29, 432, 8, 29, 1, 30, 1, 30,
2516
- 3, 30, 436, 8, 30, 1, 30, 1, 30, 3, 30, 440, 8, 30, 3, 30, 442, 8, 30, 1, 31, 1, 31, 1,
2517
- 31, 3, 31, 447, 8, 31, 1, 31, 1, 31, 3, 31, 451, 8, 31, 3, 31, 453, 8, 31, 1, 31, 1, 31,
2518
- 1, 31, 3, 31, 458, 8, 31, 1, 31, 1, 31, 3, 31, 462, 8, 31, 3, 31, 464, 8, 31, 1, 31, 1,
2519
- 31, 1, 31, 3, 31, 469, 8, 31, 1, 31, 1, 31, 3, 31, 473, 8, 31, 3, 31, 475, 8, 31, 3, 31,
2520
- 477, 8, 31, 1, 32, 1, 32, 5, 32, 481, 8, 32, 10, 32, 12, 32, 484, 9, 32, 1, 32, 1, 32,
2521
- 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 3, 34, 494, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35,
2522
- 3, 35, 500, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 510, 8,
2523
- 37, 1, 37, 1, 37, 1, 38, 1, 38, 5, 38, 516, 8, 38, 10, 38, 12, 38, 519, 9, 38, 1, 38, 1,
2524
- 38, 1, 39, 1, 39, 1, 40, 4, 40, 526, 8, 40, 11, 40, 12, 40, 527, 1, 40, 0, 0, 41, 0, 2,
2525
- 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48,
2526
- 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 0, 2, 2, 0, 7, 7, 11, 11,
2527
- 1, 0, 8, 9, 615, 0, 82, 1, 0, 0, 0, 2, 86, 1, 0, 0, 0, 4, 92, 1, 0, 0, 0, 6, 103, 1, 0, 0, 0,
2528
- 8, 124, 1, 0, 0, 0, 10, 132, 1, 0, 0, 0, 12, 140, 1, 0, 0, 0, 14, 156, 1, 0, 0, 0, 16, 170,
2529
- 1, 0, 0, 0, 18, 172, 1, 0, 0, 0, 20, 184, 1, 0, 0, 0, 22, 196, 1, 0, 0, 0, 24, 208, 1, 0,
2530
- 0, 0, 26, 220, 1, 0, 0, 0, 28, 232, 1, 0, 0, 0, 30, 244, 1, 0, 0, 0, 32, 256, 1, 0, 0, 0,
2531
- 34, 266, 1, 0, 0, 0, 36, 278, 1, 0, 0, 0, 38, 290, 1, 0, 0, 0, 40, 298, 1, 0, 0, 0, 42, 306,
2532
- 1, 0, 0, 0, 44, 318, 1, 0, 0, 0, 46, 330, 1, 0, 0, 0, 48, 342, 1, 0, 0, 0, 50, 387, 1, 0,
2533
- 0, 0, 52, 397, 1, 0, 0, 0, 54, 407, 1, 0, 0, 0, 56, 417, 1, 0, 0, 0, 58, 431, 1, 0, 0, 0,
2534
- 60, 441, 1, 0, 0, 0, 62, 476, 1, 0, 0, 0, 64, 478, 1, 0, 0, 0, 66, 487, 1, 0, 0, 0, 68, 491,
2535
- 1, 0, 0, 0, 70, 497, 1, 0, 0, 0, 72, 503, 1, 0, 0, 0, 74, 507, 1, 0, 0, 0, 76, 513, 1, 0,
2536
- 0, 0, 78, 522, 1, 0, 0, 0, 80, 525, 1, 0, 0, 0, 82, 83, 3, 6, 3, 0, 83, 84, 5, 0, 0, 1, 84,
2537
- 1, 1, 0, 0, 0, 85, 87, 3, 4, 2, 0, 86, 85, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 86, 1, 0, 0,
2538
- 0, 88, 89, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 5, 0, 0, 1, 91, 3, 1, 0, 0, 0, 92, 94, 5,
2539
- 16, 0, 0, 93, 95, 3, 50, 25, 0, 94, 93, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0,
2540
- 96, 97, 5, 6, 0, 0, 97, 98, 3, 6, 3, 0, 98, 99, 5, 17, 0, 0, 99, 5, 1, 0, 0, 0, 100, 102,
2541
- 5, 15, 0, 0, 101, 100, 1, 0, 0, 0, 102, 105, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 103, 104,
2542
- 1, 0, 0, 0, 104, 106, 1, 0, 0, 0, 105, 103, 1, 0, 0, 0, 106, 111, 3, 44, 22, 0, 107, 110,
2543
- 3, 16, 8, 0, 108, 110, 5, 15, 0, 0, 109, 107, 1, 0, 0, 0, 109, 108, 1, 0, 0, 0, 110, 113,
2544
- 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 111,
2545
- 1, 0, 0, 0, 114, 118, 3, 32, 16, 0, 115, 117, 5, 15, 0, 0, 116, 115, 1, 0, 0, 0, 117, 120,
2546
- 1, 0, 0, 0, 118, 116, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 7, 1, 0, 0, 0, 120, 118, 1,
2547
- 0, 0, 0, 121, 123, 3, 14, 7, 0, 122, 121, 1, 0, 0, 0, 123, 126, 1, 0, 0, 0, 124, 122, 1,
2548
- 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 127, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 127, 128, 5,
2549
- 0, 0, 1, 128, 9, 1, 0, 0, 0, 129, 131, 3, 12, 6, 0, 130, 129, 1, 0, 0, 0, 131, 134, 1, 0,
2550
- 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 135, 1, 0, 0, 0, 134, 132, 1, 0,
2551
- 0, 0, 135, 136, 5, 0, 0, 1, 136, 11, 1, 0, 0, 0, 137, 141, 3, 14, 7, 0, 138, 141, 3, 46,
2552
- 23, 0, 139, 141, 3, 48, 24, 0, 140, 137, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 140, 139, 1,
2553
- 0, 0, 0, 141, 13, 1, 0, 0, 0, 142, 157, 3, 18, 9, 0, 143, 157, 3, 20, 10, 0, 144, 157,
2554
- 3, 22, 11, 0, 145, 157, 3, 24, 12, 0, 146, 157, 3, 26, 13, 0, 147, 157, 3, 28, 14, 0,
2555
- 148, 157, 3, 30, 15, 0, 149, 157, 3, 32, 16, 0, 150, 157, 3, 34, 17, 0, 151, 157, 3,
2556
- 36, 18, 0, 152, 157, 3, 38, 19, 0, 153, 157, 3, 40, 20, 0, 154, 157, 3, 42, 21, 0, 155,
2557
- 157, 3, 44, 22, 0, 156, 142, 1, 0, 0, 0, 156, 143, 1, 0, 0, 0, 156, 144, 1, 0, 0, 0, 156,
2558
- 145, 1, 0, 0, 0, 156, 146, 1, 0, 0, 0, 156, 147, 1, 0, 0, 0, 156, 148, 1, 0, 0, 0, 156,
2559
- 149, 1, 0, 0, 0, 156, 150, 1, 0, 0, 0, 156, 151, 1, 0, 0, 0, 156, 152, 1, 0, 0, 0, 156,
2560
- 153, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 155, 1, 0, 0, 0, 157, 15, 1, 0, 0, 0, 158, 171,
2561
- 3, 18, 9, 0, 159, 171, 3, 20, 10, 0, 160, 171, 3, 22, 11, 0, 161, 171, 3, 24, 12, 0, 162,
2562
- 171, 3, 26, 13, 0, 163, 171, 3, 28, 14, 0, 164, 171, 3, 30, 15, 0, 165, 171, 3, 34, 17,
2563
- 0, 166, 171, 3, 36, 18, 0, 167, 171, 3, 38, 19, 0, 168, 171, 3, 40, 20, 0, 169, 171,
2564
- 3, 42, 21, 0, 170, 158, 1, 0, 0, 0, 170, 159, 1, 0, 0, 0, 170, 160, 1, 0, 0, 0, 170, 161,
2565
- 1, 0, 0, 0, 170, 162, 1, 0, 0, 0, 170, 163, 1, 0, 0, 0, 170, 164, 1, 0, 0, 0, 170, 165,
2566
- 1, 0, 0, 0, 170, 166, 1, 0, 0, 0, 170, 167, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 169,
2567
- 1, 0, 0, 0, 171, 17, 1, 0, 0, 0, 172, 174, 5, 18, 0, 0, 173, 175, 3, 50, 25, 0, 174, 173,
2568
- 1, 0, 0, 0, 174, 175, 1, 0, 0, 0, 175, 177, 1, 0, 0, 0, 176, 178, 5, 6, 0, 0, 177, 176,
2569
- 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 180, 1, 0, 0, 0, 179, 181, 3, 80, 40, 0, 180, 179,
2570
- 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 5, 14, 0, 0, 183, 19,
2571
- 1, 0, 0, 0, 184, 186, 5, 19, 0, 0, 185, 187, 3, 50, 25, 0, 186, 185, 1, 0, 0, 0, 186, 187,
2572
- 1, 0, 0, 0, 187, 189, 1, 0, 0, 0, 188, 190, 5, 6, 0, 0, 189, 188, 1, 0, 0, 0, 189, 190,
2573
- 1, 0, 0, 0, 190, 192, 1, 0, 0, 0, 191, 193, 3, 80, 40, 0, 192, 191, 1, 0, 0, 0, 192, 193,
2574
- 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 195, 5, 14, 0, 0, 195, 21, 1, 0, 0, 0, 196, 198,
2575
- 5, 20, 0, 0, 197, 199, 3, 50, 25, 0, 198, 197, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 201,
2576
- 1, 0, 0, 0, 200, 202, 5, 6, 0, 0, 201, 200, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 204,
2577
- 1, 0, 0, 0, 203, 205, 3, 80, 40, 0, 204, 203, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 206,
2578
- 1, 0, 0, 0, 206, 207, 5, 14, 0, 0, 207, 23, 1, 0, 0, 0, 208, 210, 5, 21, 0, 0, 209, 211,
2579
- 3, 50, 25, 0, 210, 209, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 213, 1, 0, 0, 0, 212, 214,
2580
- 5, 6, 0, 0, 213, 212, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 216, 1, 0, 0, 0, 215, 217,
2581
- 3, 80, 40, 0, 216, 215, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 219,
2582
- 5, 14, 0, 0, 219, 25, 1, 0, 0, 0, 220, 222, 5, 22, 0, 0, 221, 223, 3, 50, 25, 0, 222, 221,
2583
- 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 225, 1, 0, 0, 0, 224, 226, 5, 6, 0, 0, 225, 224,
2584
- 1, 0, 0, 0, 225, 226, 1, 0, 0, 0, 226, 228, 1, 0, 0, 0, 227, 229, 3, 80, 40, 0, 228, 227,
2585
- 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 231, 5, 14, 0, 0, 231, 27,
2586
- 1, 0, 0, 0, 232, 234, 5, 23, 0, 0, 233, 235, 3, 52, 26, 0, 234, 233, 1, 0, 0, 0, 234, 235,
2587
- 1, 0, 0, 0, 235, 237, 1, 0, 0, 0, 236, 238, 5, 6, 0, 0, 237, 236, 1, 0, 0, 0, 237, 238,
2588
- 1, 0, 0, 0, 238, 240, 1, 0, 0, 0, 239, 241, 3, 80, 40, 0, 240, 239, 1, 0, 0, 0, 240, 241,
2589
- 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 5, 14, 0, 0, 243, 29, 1, 0, 0, 0, 244, 246,
2590
- 5, 24, 0, 0, 245, 247, 3, 52, 26, 0, 246, 245, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 249,
2591
- 1, 0, 0, 0, 248, 250, 5, 6, 0, 0, 249, 248, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 252,
2592
- 1, 0, 0, 0, 251, 253, 3, 80, 40, 0, 252, 251, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 254,
2593
- 1, 0, 0, 0, 254, 255, 5, 14, 0, 0, 255, 31, 1, 0, 0, 0, 256, 257, 5, 25, 0, 0, 257, 259,
2594
- 3, 58, 29, 0, 258, 260, 5, 6, 0, 0, 259, 258, 1, 0, 0, 0, 259, 260, 1, 0, 0, 0, 260, 262,
2595
- 1, 0, 0, 0, 261, 263, 3, 80, 40, 0, 262, 261, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264,
2596
- 1, 0, 0, 0, 264, 265, 5, 14, 0, 0, 265, 33, 1, 0, 0, 0, 266, 268, 5, 25, 0, 0, 267, 269,
2597
- 3, 60, 30, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 271, 1, 0, 0, 0, 270, 272,
2598
- 5, 6, 0, 0, 271, 270, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 274, 1, 0, 0, 0, 273, 275,
2599
- 3, 80, 40, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277,
2600
- 5, 14, 0, 0, 277, 35, 1, 0, 0, 0, 278, 280, 5, 26, 0, 0, 279, 281, 3, 62, 31, 0, 280, 279,
2601
- 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 283, 1, 0, 0, 0, 282, 284, 5, 6, 0, 0, 283, 282,
2602
- 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 286, 1, 0, 0, 0, 285, 287, 3, 80, 40, 0, 286, 285,
2603
- 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 289, 5, 14, 0, 0, 289, 37,
2604
- 1, 0, 0, 0, 290, 292, 5, 27, 0, 0, 291, 293, 3, 56, 28, 0, 292, 291, 1, 0, 0, 0, 292, 293,
2605
- 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 295, 5, 6, 0, 0, 295, 296, 3, 80, 40, 0, 296, 297,
2606
- 5, 14, 0, 0, 297, 39, 1, 0, 0, 0, 298, 300, 5, 28, 0, 0, 299, 301, 3, 56, 28, 0, 300, 299,
2607
- 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301, 302, 1, 0, 0, 0, 302, 303, 5, 6, 0, 0, 303, 304,
2608
- 3, 80, 40, 0, 304, 305, 5, 14, 0, 0, 305, 41, 1, 0, 0, 0, 306, 308, 5, 29, 0, 0, 307, 309,
2609
- 3, 54, 27, 0, 308, 307, 1, 0, 0, 0, 308, 309, 1, 0, 0, 0, 309, 311, 1, 0, 0, 0, 310, 312,
2610
- 5, 6, 0, 0, 311, 310, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 314, 1, 0, 0, 0, 313, 315,
2611
- 3, 80, 40, 0, 314, 313, 1, 0, 0, 0, 314, 315, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 317,
2612
- 5, 14, 0, 0, 317, 43, 1, 0, 0, 0, 318, 320, 5, 30, 0, 0, 319, 321, 3, 50, 25, 0, 320, 319,
2613
- 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 323, 1, 0, 0, 0, 322, 324, 5, 6, 0, 0, 323, 322,
2614
- 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 326, 1, 0, 0, 0, 325, 327, 3, 80, 40, 0, 326, 325,
2615
- 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 329, 5, 14, 0, 0, 329, 45,
2616
- 1, 0, 0, 0, 330, 332, 5, 31, 0, 0, 331, 333, 3, 50, 25, 0, 332, 331, 1, 0, 0, 0, 332, 333,
2617
- 1, 0, 0, 0, 333, 335, 1, 0, 0, 0, 334, 336, 5, 6, 0, 0, 335, 334, 1, 0, 0, 0, 335, 336,
2618
- 1, 0, 0, 0, 336, 338, 1, 0, 0, 0, 337, 339, 3, 80, 40, 0, 338, 337, 1, 0, 0, 0, 338, 339,
2619
- 1, 0, 0, 0, 339, 340, 1, 0, 0, 0, 340, 341, 5, 14, 0, 0, 341, 47, 1, 0, 0, 0, 342, 344,
2620
- 5, 32, 0, 0, 343, 345, 3, 50, 25, 0, 344, 343, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 347,
2621
- 1, 0, 0, 0, 346, 348, 5, 6, 0, 0, 347, 346, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350,
2622
- 1, 0, 0, 0, 349, 351, 3, 80, 40, 0, 350, 349, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 352,
2623
- 1, 0, 0, 0, 352, 353, 5, 14, 0, 0, 353, 49, 1, 0, 0, 0, 354, 363, 3, 64, 32, 0, 355, 357,
2624
- 3, 76, 38, 0, 356, 358, 3, 78, 39, 0, 357, 356, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 358,
2625
- 364, 1, 0, 0, 0, 359, 361, 3, 78, 39, 0, 360, 362, 3, 76, 38, 0, 361, 360, 1, 0, 0, 0,
2626
- 361, 362, 1, 0, 0, 0, 362, 364, 1, 0, 0, 0, 363, 355, 1, 0, 0, 0, 363, 359, 1, 0, 0, 0,
2627
- 363, 364, 1, 0, 0, 0, 364, 388, 1, 0, 0, 0, 365, 374, 3, 76, 38, 0, 366, 368, 3, 64, 32,
2628
- 0, 367, 369, 3, 78, 39, 0, 368, 367, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 375, 1, 0,
2629
- 0, 0, 370, 372, 3, 78, 39, 0, 371, 373, 3, 64, 32, 0, 372, 371, 1, 0, 0, 0, 372, 373,
2630
- 1, 0, 0, 0, 373, 375, 1, 0, 0, 0, 374, 366, 1, 0, 0, 0, 374, 370, 1, 0, 0, 0, 374, 375,
2631
- 1, 0, 0, 0, 375, 388, 1, 0, 0, 0, 376, 385, 3, 78, 39, 0, 377, 379, 3, 64, 32, 0, 378,
2632
- 380, 3, 76, 38, 0, 379, 378, 1, 0, 0, 0, 379, 380, 1, 0, 0, 0, 380, 386, 1, 0, 0, 0, 381,
2633
- 383, 3, 76, 38, 0, 382, 384, 3, 64, 32, 0, 383, 382, 1, 0, 0, 0, 383, 384, 1, 0, 0, 0,
2634
- 384, 386, 1, 0, 0, 0, 385, 377, 1, 0, 0, 0, 385, 381, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0,
2635
- 386, 388, 1, 0, 0, 0, 387, 354, 1, 0, 0, 0, 387, 365, 1, 0, 0, 0, 387, 376, 1, 0, 0, 0,
2636
- 388, 51, 1, 0, 0, 0, 389, 391, 3, 64, 32, 0, 390, 392, 3, 76, 38, 0, 391, 390, 1, 0, 0,
2637
- 0, 391, 392, 1, 0, 0, 0, 392, 398, 1, 0, 0, 0, 393, 395, 3, 76, 38, 0, 394, 396, 3, 64,
2638
- 32, 0, 395, 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 398, 1, 0, 0, 0, 397, 389, 1, 0,
2639
- 0, 0, 397, 393, 1, 0, 0, 0, 398, 53, 1, 0, 0, 0, 399, 401, 3, 68, 34, 0, 400, 402, 3, 76,
2640
- 38, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 408, 1, 0, 0, 0, 403, 405, 3, 76,
2641
- 38, 0, 404, 406, 3, 68, 34, 0, 405, 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 408, 1,
2642
- 0, 0, 0, 407, 399, 1, 0, 0, 0, 407, 403, 1, 0, 0, 0, 408, 55, 1, 0, 0, 0, 409, 411, 3, 66,
2643
- 33, 0, 410, 412, 3, 76, 38, 0, 411, 410, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 418, 1,
2644
- 0, 0, 0, 413, 415, 3, 76, 38, 0, 414, 416, 3, 66, 33, 0, 415, 414, 1, 0, 0, 0, 415, 416,
2645
- 1, 0, 0, 0, 416, 418, 1, 0, 0, 0, 417, 409, 1, 0, 0, 0, 417, 413, 1, 0, 0, 0, 418, 57, 1,
2646
- 0, 0, 0, 419, 421, 3, 72, 36, 0, 420, 422, 3, 76, 38, 0, 421, 420, 1, 0, 0, 0, 421, 422,
2647
- 1, 0, 0, 0, 422, 424, 1, 0, 0, 0, 423, 425, 3, 78, 39, 0, 424, 423, 1, 0, 0, 0, 424, 425,
2648
- 1, 0, 0, 0, 425, 432, 1, 0, 0, 0, 426, 427, 3, 76, 38, 0, 427, 429, 3, 72, 36, 0, 428,
2649
- 430, 3, 78, 39, 0, 429, 428, 1, 0, 0, 0, 429, 430, 1, 0, 0, 0, 430, 432, 1, 0, 0, 0, 431,
2650
- 419, 1, 0, 0, 0, 431, 426, 1, 0, 0, 0, 432, 59, 1, 0, 0, 0, 433, 435, 3, 70, 35, 0, 434,
2651
- 436, 3, 76, 38, 0, 435, 434, 1, 0, 0, 0, 435, 436, 1, 0, 0, 0, 436, 442, 1, 0, 0, 0, 437,
2652
- 439, 3, 76, 38, 0, 438, 440, 3, 70, 35, 0, 439, 438, 1, 0, 0, 0, 439, 440, 1, 0, 0, 0,
2653
- 440, 442, 1, 0, 0, 0, 441, 433, 1, 0, 0, 0, 441, 437, 1, 0, 0, 0, 442, 61, 1, 0, 0, 0, 443,
2654
- 452, 3, 74, 37, 0, 444, 446, 3, 76, 38, 0, 445, 447, 3, 78, 39, 0, 446, 445, 1, 0, 0,
2655
- 0, 446, 447, 1, 0, 0, 0, 447, 453, 1, 0, 0, 0, 448, 450, 3, 78, 39, 0, 449, 451, 3, 76,
2656
- 38, 0, 450, 449, 1, 0, 0, 0, 450, 451, 1, 0, 0, 0, 451, 453, 1, 0, 0, 0, 452, 444, 1, 0,
2657
- 0, 0, 452, 448, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 477, 1, 0, 0, 0, 454, 463, 3, 76,
2658
- 38, 0, 455, 457, 3, 74, 37, 0, 456, 458, 3, 78, 39, 0, 457, 456, 1, 0, 0, 0, 457, 458,
2659
- 1, 0, 0, 0, 458, 464, 1, 0, 0, 0, 459, 461, 3, 78, 39, 0, 460, 462, 3, 74, 37, 0, 461,
2660
- 460, 1, 0, 0, 0, 461, 462, 1, 0, 0, 0, 462, 464, 1, 0, 0, 0, 463, 455, 1, 0, 0, 0, 463,
2661
- 459, 1, 0, 0, 0, 463, 464, 1, 0, 0, 0, 464, 477, 1, 0, 0, 0, 465, 474, 3, 78, 39, 0, 466,
2662
- 468, 3, 74, 37, 0, 467, 469, 3, 76, 38, 0, 468, 467, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0,
2663
- 469, 475, 1, 0, 0, 0, 470, 472, 3, 76, 38, 0, 471, 473, 3, 74, 37, 0, 472, 471, 1, 0,
2664
- 0, 0, 472, 473, 1, 0, 0, 0, 473, 475, 1, 0, 0, 0, 474, 466, 1, 0, 0, 0, 474, 470, 1, 0,
2665
- 0, 0, 474, 475, 1, 0, 0, 0, 475, 477, 1, 0, 0, 0, 476, 443, 1, 0, 0, 0, 476, 454, 1, 0,
2666
- 0, 0, 476, 465, 1, 0, 0, 0, 477, 63, 1, 0, 0, 0, 478, 482, 5, 1, 0, 0, 479, 481, 7, 0, 0,
2667
- 0, 480, 479, 1, 0, 0, 0, 481, 484, 1, 0, 0, 0, 482, 480, 1, 0, 0, 0, 482, 483, 1, 0, 0,
2668
- 0, 483, 485, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 485, 486, 5, 2, 0, 0, 486, 65, 1, 0, 0, 0,
2669
- 487, 488, 5, 1, 0, 0, 488, 489, 5, 11, 0, 0, 489, 490, 5, 2, 0, 0, 490, 67, 1, 0, 0, 0,
2670
- 491, 493, 5, 1, 0, 0, 492, 494, 7, 1, 0, 0, 493, 492, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0,
2671
- 494, 495, 1, 0, 0, 0, 495, 496, 5, 2, 0, 0, 496, 69, 1, 0, 0, 0, 497, 499, 5, 1, 0, 0, 498,
2672
- 500, 5, 8, 0, 0, 499, 498, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501,
2673
- 502, 5, 2, 0, 0, 502, 71, 1, 0, 0, 0, 503, 504, 5, 1, 0, 0, 504, 505, 5, 9, 0, 0, 505, 506,
2674
- 5, 2, 0, 0, 506, 73, 1, 0, 0, 0, 507, 509, 5, 1, 0, 0, 508, 510, 5, 10, 0, 0, 509, 508,
2675
- 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 512, 5, 2, 0, 0, 512, 75, 1,
2676
- 0, 0, 0, 513, 517, 5, 3, 0, 0, 514, 516, 5, 12, 0, 0, 515, 514, 1, 0, 0, 0, 516, 519, 1,
2677
- 0, 0, 0, 517, 515, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 520, 1, 0, 0, 0, 519, 517, 1,
2678
- 0, 0, 0, 520, 521, 5, 4, 0, 0, 521, 77, 1, 0, 0, 0, 522, 523, 5, 5, 0, 0, 523, 79, 1, 0,
2679
- 0, 0, 524, 526, 5, 13, 0, 0, 525, 524, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 525, 1, 0,
2680
- 0, 0, 527, 528, 1, 0, 0, 0, 528, 81, 1, 0, 0, 0, 96, 88, 94, 103, 109, 111, 118, 124,
2681
- 132, 140, 156, 170, 174, 177, 180, 186, 189, 192, 198, 201, 204, 210, 213, 216,
2682
- 222, 225, 228, 234, 237, 240, 246, 249, 252, 259, 262, 268, 271, 274, 280, 283,
2683
- 286, 292, 300, 308, 311, 314, 320, 323, 326, 332, 335, 338, 344, 347, 350, 357,
2684
- 361, 363, 368, 372, 374, 379, 383, 385, 387, 391, 395, 397, 401, 405, 407, 411,
2685
- 415, 417, 421, 424, 429, 431, 435, 439, 441, 446, 450, 452, 457, 461, 463, 468,
2686
- 472, 474, 476, 482, 493, 499, 509, 517, 527
2431
+ 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 93, 8, 0,
2432
+ 1, 0, 1, 0, 3, 0, 97, 8, 0, 1, 1, 4, 1, 100, 8, 1, 11, 1, 12, 1, 101, 1, 1, 1, 1, 1, 2, 5, 2,
2433
+ 107, 8, 2, 10, 2, 12, 2, 110, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 5, 3, 116, 8, 3, 10, 3, 12, 3,
2434
+ 119, 9, 3, 1, 3, 1, 3, 1, 4, 5, 4, 124, 8, 4, 10, 4, 12, 4, 127, 9, 4, 1, 4, 1, 4, 1, 5, 5,
2435
+ 5, 132, 8, 5, 10, 5, 12, 5, 135, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6, 142, 8, 6, 1, 7,
2436
+ 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 159,
2437
+ 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 174,
2438
+ 8, 8, 1, 9, 1, 9, 3, 9, 178, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 184, 8, 10, 1, 10, 1, 10,
2439
+ 1, 11, 1, 11, 3, 11, 190, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 196, 8, 12, 1, 12, 1,
2440
+ 12, 1, 13, 1, 13, 3, 13, 202, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 208, 8, 14, 1, 14,
2441
+ 1, 14, 1, 15, 1, 15, 3, 15, 214, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17,
2442
+ 1, 17, 3, 17, 224, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 230, 8, 18, 1, 18, 1, 18, 1,
2443
+ 19, 1, 19, 3, 19, 236, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 242, 8, 20, 1, 20, 1, 20,
2444
+ 1, 21, 1, 21, 3, 21, 248, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 254, 8, 22, 1, 22, 1,
2445
+ 22, 1, 23, 1, 23, 3, 23, 260, 8, 23, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 266, 8, 24, 1, 24,
2446
+ 1, 24, 1, 25, 1, 25, 3, 25, 272, 8, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 3, 26, 279, 8,
2447
+ 26, 1, 26, 3, 26, 282, 8, 26, 1, 26, 3, 26, 285, 8, 26, 1, 27, 1, 27, 1, 27, 3, 27, 290,
2448
+ 8, 27, 1, 27, 1, 27, 3, 27, 294, 8, 27, 3, 27, 296, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 301,
2449
+ 8, 27, 1, 27, 1, 27, 3, 27, 305, 8, 27, 3, 27, 307, 8, 27, 1, 27, 1, 27, 1, 27, 3, 27, 312,
2450
+ 8, 27, 1, 27, 1, 27, 3, 27, 316, 8, 27, 3, 27, 318, 8, 27, 3, 27, 320, 8, 27, 1, 28, 1,
2451
+ 28, 3, 28, 324, 8, 28, 1, 28, 1, 28, 3, 28, 328, 8, 28, 3, 28, 330, 8, 28, 1, 29, 1, 29,
2452
+ 3, 29, 334, 8, 29, 1, 29, 1, 29, 3, 29, 338, 8, 29, 3, 29, 340, 8, 29, 1, 30, 1, 30, 3,
2453
+ 30, 344, 8, 30, 1, 30, 1, 30, 3, 30, 348, 8, 30, 3, 30, 350, 8, 30, 1, 31, 1, 31, 3, 31,
2454
+ 354, 8, 31, 1, 31, 3, 31, 357, 8, 31, 1, 31, 1, 31, 1, 31, 3, 31, 362, 8, 31, 3, 31, 364,
2455
+ 8, 31, 1, 32, 1, 32, 3, 32, 368, 8, 32, 1, 32, 1, 32, 3, 32, 372, 8, 32, 3, 32, 374, 8,
2456
+ 32, 1, 33, 1, 33, 1, 33, 3, 33, 379, 8, 33, 1, 33, 1, 33, 3, 33, 383, 8, 33, 3, 33, 385,
2457
+ 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 390, 8, 33, 1, 33, 1, 33, 3, 33, 394, 8, 33, 3, 33, 396,
2458
+ 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 401, 8, 33, 1, 33, 1, 33, 3, 33, 405, 8, 33, 3, 33, 407,
2459
+ 8, 33, 3, 33, 409, 8, 33, 1, 34, 1, 34, 5, 34, 413, 8, 34, 10, 34, 12, 34, 416, 9, 34,
2460
+ 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 426, 8, 36, 1, 36, 1, 36,
2461
+ 1, 37, 1, 37, 3, 37, 432, 8, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39,
2462
+ 3, 39, 442, 8, 39, 1, 39, 1, 39, 1, 40, 1, 40, 5, 40, 448, 8, 40, 10, 40, 12, 40, 451,
2463
+ 9, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 4, 42, 458, 8, 42, 11, 42, 12, 42, 459, 1, 42,
2464
+ 0, 0, 43, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
2465
+ 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84,
2466
+ 0, 2, 2, 0, 9, 9, 13, 13, 1, 0, 10, 11, 523, 0, 96, 1, 0, 0, 0, 2, 99, 1, 0, 0, 0, 4, 108,
2467
+ 1, 0, 0, 0, 6, 113, 1, 0, 0, 0, 8, 125, 1, 0, 0, 0, 10, 133, 1, 0, 0, 0, 12, 141, 1, 0, 0,
2468
+ 0, 14, 158, 1, 0, 0, 0, 16, 173, 1, 0, 0, 0, 18, 175, 1, 0, 0, 0, 20, 181, 1, 0, 0, 0, 22,
2469
+ 187, 1, 0, 0, 0, 24, 193, 1, 0, 0, 0, 26, 199, 1, 0, 0, 0, 28, 205, 1, 0, 0, 0, 30, 211,
2470
+ 1, 0, 0, 0, 32, 217, 1, 0, 0, 0, 34, 221, 1, 0, 0, 0, 36, 227, 1, 0, 0, 0, 38, 233, 1, 0,
2471
+ 0, 0, 40, 239, 1, 0, 0, 0, 42, 245, 1, 0, 0, 0, 44, 251, 1, 0, 0, 0, 46, 257, 1, 0, 0, 0,
2472
+ 48, 263, 1, 0, 0, 0, 50, 269, 1, 0, 0, 0, 52, 284, 1, 0, 0, 0, 54, 319, 1, 0, 0, 0, 56, 329,
2473
+ 1, 0, 0, 0, 58, 339, 1, 0, 0, 0, 60, 349, 1, 0, 0, 0, 62, 363, 1, 0, 0, 0, 64, 373, 1, 0,
2474
+ 0, 0, 66, 408, 1, 0, 0, 0, 68, 410, 1, 0, 0, 0, 70, 419, 1, 0, 0, 0, 72, 423, 1, 0, 0, 0,
2475
+ 74, 429, 1, 0, 0, 0, 76, 435, 1, 0, 0, 0, 78, 439, 1, 0, 0, 0, 80, 445, 1, 0, 0, 0, 82, 454,
2476
+ 1, 0, 0, 0, 84, 457, 1, 0, 0, 0, 86, 87, 3, 4, 2, 0, 87, 88, 5, 0, 0, 1, 88, 97, 1, 0, 0, 0,
2477
+ 89, 90, 5, 33, 0, 0, 90, 92, 3, 6, 3, 0, 91, 93, 5, 34, 0, 0, 92, 91, 1, 0, 0, 0, 92, 93,
2478
+ 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 95, 5, 0, 0, 1, 95, 97, 1, 0, 0, 0, 96, 86, 1, 0, 0, 0,
2479
+ 96, 89, 1, 0, 0, 0, 97, 1, 1, 0, 0, 0, 98, 100, 3, 4, 2, 0, 99, 98, 1, 0, 0, 0, 100, 101,
2480
+ 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 5,
2481
+ 0, 0, 1, 104, 3, 1, 0, 0, 0, 105, 107, 5, 16, 0, 0, 106, 105, 1, 0, 0, 0, 107, 110, 1, 0,
2482
+ 0, 0, 108, 106, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 111, 1, 0, 0, 0, 110, 108, 1, 0,
2483
+ 0, 0, 111, 112, 3, 6, 3, 0, 112, 5, 1, 0, 0, 0, 113, 117, 3, 46, 23, 0, 114, 116, 3, 16,
2484
+ 8, 0, 115, 114, 1, 0, 0, 0, 116, 119, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1, 0,
2485
+ 0, 0, 118, 120, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 120, 121, 3, 32, 16, 0, 121, 7, 1, 0,
2486
+ 0, 0, 122, 124, 3, 14, 7, 0, 123, 122, 1, 0, 0, 0, 124, 127, 1, 0, 0, 0, 125, 123, 1, 0,
2487
+ 0, 0, 125, 126, 1, 0, 0, 0, 126, 128, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 128, 129, 5, 0,
2488
+ 0, 1, 129, 9, 1, 0, 0, 0, 130, 132, 3, 12, 6, 0, 131, 130, 1, 0, 0, 0, 132, 135, 1, 0, 0,
2489
+ 0, 133, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 136, 1, 0, 0, 0, 135, 133, 1, 0, 0,
2490
+ 0, 136, 137, 5, 0, 0, 1, 137, 11, 1, 0, 0, 0, 138, 142, 3, 14, 7, 0, 139, 142, 3, 48, 24,
2491
+ 0, 140, 142, 3, 50, 25, 0, 141, 138, 1, 0, 0, 0, 141, 139, 1, 0, 0, 0, 141, 140, 1, 0,
2492
+ 0, 0, 142, 13, 1, 0, 0, 0, 143, 159, 3, 18, 9, 0, 144, 159, 3, 20, 10, 0, 145, 159, 3,
2493
+ 22, 11, 0, 146, 159, 3, 24, 12, 0, 147, 159, 3, 26, 13, 0, 148, 159, 3, 28, 14, 0, 149,
2494
+ 159, 3, 30, 15, 0, 150, 159, 3, 32, 16, 0, 151, 159, 3, 34, 17, 0, 152, 159, 3, 36, 18,
2495
+ 0, 153, 159, 3, 38, 19, 0, 154, 159, 3, 40, 20, 0, 155, 159, 3, 42, 21, 0, 156, 159,
2496
+ 3, 44, 22, 0, 157, 159, 3, 46, 23, 0, 158, 143, 1, 0, 0, 0, 158, 144, 1, 0, 0, 0, 158,
2497
+ 145, 1, 0, 0, 0, 158, 146, 1, 0, 0, 0, 158, 147, 1, 0, 0, 0, 158, 148, 1, 0, 0, 0, 158,
2498
+ 149, 1, 0, 0, 0, 158, 150, 1, 0, 0, 0, 158, 151, 1, 0, 0, 0, 158, 152, 1, 0, 0, 0, 158,
2499
+ 153, 1, 0, 0, 0, 158, 154, 1, 0, 0, 0, 158, 155, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 158,
2500
+ 157, 1, 0, 0, 0, 159, 15, 1, 0, 0, 0, 160, 174, 3, 18, 9, 0, 161, 174, 3, 20, 10, 0, 162,
2501
+ 174, 3, 22, 11, 0, 163, 174, 3, 24, 12, 0, 164, 174, 3, 26, 13, 0, 165, 174, 3, 28, 14,
2502
+ 0, 166, 174, 3, 30, 15, 0, 167, 174, 3, 34, 17, 0, 168, 174, 3, 36, 18, 0, 169, 174,
2503
+ 3, 38, 19, 0, 170, 174, 3, 40, 20, 0, 171, 174, 3, 42, 21, 0, 172, 174, 3, 44, 22, 0,
2504
+ 173, 160, 1, 0, 0, 0, 173, 161, 1, 0, 0, 0, 173, 162, 1, 0, 0, 0, 173, 163, 1, 0, 0, 0,
2505
+ 173, 164, 1, 0, 0, 0, 173, 165, 1, 0, 0, 0, 173, 166, 1, 0, 0, 0, 173, 167, 1, 0, 0, 0,
2506
+ 173, 168, 1, 0, 0, 0, 173, 169, 1, 0, 0, 0, 173, 170, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0,
2507
+ 173, 172, 1, 0, 0, 0, 174, 17, 1, 0, 0, 0, 175, 177, 5, 18, 0, 0, 176, 178, 3, 54, 27,
2508
+ 0, 177, 176, 1, 0, 0, 0, 177, 178, 1, 0, 0, 0, 178, 179, 1, 0, 0, 0, 179, 180, 3, 52, 26,
2509
+ 0, 180, 19, 1, 0, 0, 0, 181, 183, 5, 19, 0, 0, 182, 184, 3, 54, 27, 0, 183, 182, 1, 0,
2510
+ 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 186, 3, 52, 26, 0, 186, 21, 1, 0,
2511
+ 0, 0, 187, 189, 5, 20, 0, 0, 188, 190, 3, 54, 27, 0, 189, 188, 1, 0, 0, 0, 189, 190, 1,
2512
+ 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 3, 52, 26, 0, 192, 23, 1, 0, 0, 0, 193, 195, 5,
2513
+ 21, 0, 0, 194, 196, 3, 54, 27, 0, 195, 194, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197,
2514
+ 1, 0, 0, 0, 197, 198, 3, 52, 26, 0, 198, 25, 1, 0, 0, 0, 199, 201, 5, 22, 0, 0, 200, 202,
2515
+ 3, 54, 27, 0, 201, 200, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 203, 1, 0, 0, 0, 203, 204,
2516
+ 3, 52, 26, 0, 204, 27, 1, 0, 0, 0, 205, 207, 5, 23, 0, 0, 206, 208, 3, 56, 28, 0, 207,
2517
+ 206, 1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 3, 52, 26, 0, 210,
2518
+ 29, 1, 0, 0, 0, 211, 213, 5, 24, 0, 0, 212, 214, 3, 56, 28, 0, 213, 212, 1, 0, 0, 0, 213,
2519
+ 214, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 216, 3, 52, 26, 0, 216, 31, 1, 0, 0, 0, 217,
2520
+ 218, 5, 25, 0, 0, 218, 219, 3, 62, 31, 0, 219, 220, 3, 52, 26, 0, 220, 33, 1, 0, 0, 0,
2521
+ 221, 223, 5, 25, 0, 0, 222, 224, 3, 64, 32, 0, 223, 222, 1, 0, 0, 0, 223, 224, 1, 0, 0,
2522
+ 0, 224, 225, 1, 0, 0, 0, 225, 226, 3, 52, 26, 0, 226, 35, 1, 0, 0, 0, 227, 229, 5, 26,
2523
+ 0, 0, 228, 230, 3, 66, 33, 0, 229, 228, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 231, 1,
2524
+ 0, 0, 0, 231, 232, 3, 52, 26, 0, 232, 37, 1, 0, 0, 0, 233, 235, 5, 27, 0, 0, 234, 236,
2525
+ 3, 68, 34, 0, 235, 234, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 238,
2526
+ 3, 52, 26, 0, 238, 39, 1, 0, 0, 0, 239, 241, 5, 28, 0, 0, 240, 242, 3, 60, 30, 0, 241,
2527
+ 240, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 244, 3, 52, 26, 0, 244,
2528
+ 41, 1, 0, 0, 0, 245, 247, 5, 29, 0, 0, 246, 248, 3, 60, 30, 0, 247, 246, 1, 0, 0, 0, 247,
2529
+ 248, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 250, 3, 52, 26, 0, 250, 43, 1, 0, 0, 0, 251,
2530
+ 253, 5, 30, 0, 0, 252, 254, 3, 58, 29, 0, 253, 252, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254,
2531
+ 255, 1, 0, 0, 0, 255, 256, 3, 52, 26, 0, 256, 45, 1, 0, 0, 0, 257, 259, 5, 17, 0, 0, 258,
2532
+ 260, 3, 54, 27, 0, 259, 258, 1, 0, 0, 0, 259, 260, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261,
2533
+ 262, 3, 52, 26, 0, 262, 47, 1, 0, 0, 0, 263, 265, 5, 31, 0, 0, 264, 266, 3, 54, 27, 0,
2534
+ 265, 264, 1, 0, 0, 0, 265, 266, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 3, 52, 26,
2535
+ 0, 268, 49, 1, 0, 0, 0, 269, 271, 5, 32, 0, 0, 270, 272, 3, 54, 27, 0, 271, 270, 1, 0,
2536
+ 0, 0, 271, 272, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 274, 3, 52, 26, 0, 274, 51, 1, 0,
2537
+ 0, 0, 275, 285, 5, 8, 0, 0, 276, 278, 5, 7, 0, 0, 277, 279, 3, 84, 42, 0, 278, 277, 1,
2538
+ 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281, 1, 0, 0, 0, 280, 282, 5, 8, 0, 0, 281, 280, 1,
2539
+ 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 285, 1, 0, 0, 0, 283, 285, 1, 0, 0, 0, 284, 275, 1,
2540
+ 0, 0, 0, 284, 276, 1, 0, 0, 0, 284, 283, 1, 0, 0, 0, 285, 53, 1, 0, 0, 0, 286, 295, 3, 68,
2541
+ 34, 0, 287, 289, 3, 80, 40, 0, 288, 290, 3, 82, 41, 0, 289, 288, 1, 0, 0, 0, 289, 290,
2542
+ 1, 0, 0, 0, 290, 296, 1, 0, 0, 0, 291, 293, 3, 82, 41, 0, 292, 294, 3, 80, 40, 0, 293,
2543
+ 292, 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 296, 1, 0, 0, 0, 295, 287, 1, 0, 0, 0, 295,
2544
+ 291, 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 320, 1, 0, 0, 0, 297, 306, 3, 80, 40, 0, 298,
2545
+ 300, 3, 68, 34, 0, 299, 301, 3, 82, 41, 0, 300, 299, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0,
2546
+ 301, 307, 1, 0, 0, 0, 302, 304, 3, 82, 41, 0, 303, 305, 3, 68, 34, 0, 304, 303, 1, 0,
2547
+ 0, 0, 304, 305, 1, 0, 0, 0, 305, 307, 1, 0, 0, 0, 306, 298, 1, 0, 0, 0, 306, 302, 1, 0,
2548
+ 0, 0, 306, 307, 1, 0, 0, 0, 307, 320, 1, 0, 0, 0, 308, 317, 3, 82, 41, 0, 309, 311, 3,
2549
+ 68, 34, 0, 310, 312, 3, 80, 40, 0, 311, 310, 1, 0, 0, 0, 311, 312, 1, 0, 0, 0, 312, 318,
2550
+ 1, 0, 0, 0, 313, 315, 3, 80, 40, 0, 314, 316, 3, 68, 34, 0, 315, 314, 1, 0, 0, 0, 315,
2551
+ 316, 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 309, 1, 0, 0, 0, 317, 313, 1, 0, 0, 0, 317,
2552
+ 318, 1, 0, 0, 0, 318, 320, 1, 0, 0, 0, 319, 286, 1, 0, 0, 0, 319, 297, 1, 0, 0, 0, 319,
2553
+ 308, 1, 0, 0, 0, 320, 55, 1, 0, 0, 0, 321, 323, 3, 68, 34, 0, 322, 324, 3, 80, 40, 0, 323,
2554
+ 322, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 330, 1, 0, 0, 0, 325, 327, 3, 80, 40, 0, 326,
2555
+ 328, 3, 68, 34, 0, 327, 326, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 330, 1, 0, 0, 0, 329,
2556
+ 321, 1, 0, 0, 0, 329, 325, 1, 0, 0, 0, 330, 57, 1, 0, 0, 0, 331, 333, 3, 72, 36, 0, 332,
2557
+ 334, 3, 80, 40, 0, 333, 332, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 340, 1, 0, 0, 0, 335,
2558
+ 337, 3, 80, 40, 0, 336, 338, 3, 72, 36, 0, 337, 336, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0,
2559
+ 338, 340, 1, 0, 0, 0, 339, 331, 1, 0, 0, 0, 339, 335, 1, 0, 0, 0, 340, 59, 1, 0, 0, 0, 341,
2560
+ 343, 3, 70, 35, 0, 342, 344, 3, 80, 40, 0, 343, 342, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0,
2561
+ 344, 350, 1, 0, 0, 0, 345, 347, 3, 80, 40, 0, 346, 348, 3, 70, 35, 0, 347, 346, 1, 0,
2562
+ 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 341, 1, 0, 0, 0, 349, 345, 1, 0,
2563
+ 0, 0, 350, 61, 1, 0, 0, 0, 351, 353, 3, 76, 38, 0, 352, 354, 3, 80, 40, 0, 353, 352, 1,
2564
+ 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 356, 1, 0, 0, 0, 355, 357, 3, 82, 41, 0, 356, 355,
2565
+ 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 364, 1, 0, 0, 0, 358, 359, 3, 80, 40, 0, 359, 361,
2566
+ 3, 76, 38, 0, 360, 362, 3, 82, 41, 0, 361, 360, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362,
2567
+ 364, 1, 0, 0, 0, 363, 351, 1, 0, 0, 0, 363, 358, 1, 0, 0, 0, 364, 63, 1, 0, 0, 0, 365, 367,
2568
+ 3, 74, 37, 0, 366, 368, 3, 80, 40, 0, 367, 366, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368,
2569
+ 374, 1, 0, 0, 0, 369, 371, 3, 80, 40, 0, 370, 372, 3, 74, 37, 0, 371, 370, 1, 0, 0, 0,
2570
+ 371, 372, 1, 0, 0, 0, 372, 374, 1, 0, 0, 0, 373, 365, 1, 0, 0, 0, 373, 369, 1, 0, 0, 0,
2571
+ 374, 65, 1, 0, 0, 0, 375, 384, 3, 78, 39, 0, 376, 378, 3, 80, 40, 0, 377, 379, 3, 82,
2572
+ 41, 0, 378, 377, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 385, 1, 0, 0, 0, 380, 382, 3, 82,
2573
+ 41, 0, 381, 383, 3, 80, 40, 0, 382, 381, 1, 0, 0, 0, 382, 383, 1, 0, 0, 0, 383, 385, 1,
2574
+ 0, 0, 0, 384, 376, 1, 0, 0, 0, 384, 380, 1, 0, 0, 0, 384, 385, 1, 0, 0, 0, 385, 409, 1,
2575
+ 0, 0, 0, 386, 395, 3, 80, 40, 0, 387, 389, 3, 78, 39, 0, 388, 390, 3, 82, 41, 0, 389,
2576
+ 388, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 396, 1, 0, 0, 0, 391, 393, 3, 82, 41, 0, 392,
2577
+ 394, 3, 78, 39, 0, 393, 392, 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 396, 1, 0, 0, 0, 395,
2578
+ 387, 1, 0, 0, 0, 395, 391, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 409, 1, 0, 0, 0, 397,
2579
+ 406, 3, 82, 41, 0, 398, 400, 3, 78, 39, 0, 399, 401, 3, 80, 40, 0, 400, 399, 1, 0, 0,
2580
+ 0, 400, 401, 1, 0, 0, 0, 401, 407, 1, 0, 0, 0, 402, 404, 3, 80, 40, 0, 403, 405, 3, 78,
2581
+ 39, 0, 404, 403, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405, 407, 1, 0, 0, 0, 406, 398, 1, 0,
2582
+ 0, 0, 406, 402, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 409, 1, 0, 0, 0, 408, 375, 1, 0,
2583
+ 0, 0, 408, 386, 1, 0, 0, 0, 408, 397, 1, 0, 0, 0, 409, 67, 1, 0, 0, 0, 410, 414, 5, 1, 0,
2584
+ 0, 411, 413, 7, 0, 0, 0, 412, 411, 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 412, 1, 0, 0,
2585
+ 0, 414, 415, 1, 0, 0, 0, 415, 417, 1, 0, 0, 0, 416, 414, 1, 0, 0, 0, 417, 418, 5, 2, 0,
2586
+ 0, 418, 69, 1, 0, 0, 0, 419, 420, 5, 1, 0, 0, 420, 421, 5, 13, 0, 0, 421, 422, 5, 2, 0,
2587
+ 0, 422, 71, 1, 0, 0, 0, 423, 425, 5, 1, 0, 0, 424, 426, 7, 1, 0, 0, 425, 424, 1, 0, 0, 0,
2588
+ 425, 426, 1, 0, 0, 0, 426, 427, 1, 0, 0, 0, 427, 428, 5, 2, 0, 0, 428, 73, 1, 0, 0, 0, 429,
2589
+ 431, 5, 1, 0, 0, 430, 432, 5, 10, 0, 0, 431, 430, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432,
2590
+ 433, 1, 0, 0, 0, 433, 434, 5, 2, 0, 0, 434, 75, 1, 0, 0, 0, 435, 436, 5, 1, 0, 0, 436, 437,
2591
+ 5, 11, 0, 0, 437, 438, 5, 2, 0, 0, 438, 77, 1, 0, 0, 0, 439, 441, 5, 1, 0, 0, 440, 442,
2592
+ 5, 12, 0, 0, 441, 440, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 443, 1, 0, 0, 0, 443, 444,
2593
+ 5, 2, 0, 0, 444, 79, 1, 0, 0, 0, 445, 449, 5, 3, 0, 0, 446, 448, 5, 14, 0, 0, 447, 446,
2594
+ 1, 0, 0, 0, 448, 451, 1, 0, 0, 0, 449, 447, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 452,
2595
+ 1, 0, 0, 0, 451, 449, 1, 0, 0, 0, 452, 453, 5, 4, 0, 0, 453, 81, 1, 0, 0, 0, 454, 455, 5,
2596
+ 5, 0, 0, 455, 83, 1, 0, 0, 0, 456, 458, 5, 15, 0, 0, 457, 456, 1, 0, 0, 0, 458, 459, 1,
2597
+ 0, 0, 0, 459, 457, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 85, 1, 0, 0, 0, 71, 92, 96, 101,
2598
+ 108, 117, 125, 133, 141, 158, 173, 177, 183, 189, 195, 201, 207, 213, 223, 229,
2599
+ 235, 241, 247, 253, 259, 265, 271, 278, 281, 284, 289, 293, 295, 300, 304, 306,
2600
+ 311, 315, 317, 319, 323, 327, 329, 333, 337, 339, 343, 347, 349, 353, 356, 361,
2601
+ 363, 367, 371, 373, 378, 382, 384, 389, 393, 395, 400, 404, 406, 408, 414, 425,
2602
+ 431, 441, 449, 459
2687
2603
  ];
2688
2604
  static __ATN;
2689
2605
  static get _ATN() {
@@ -2708,6 +2624,15 @@ export class DocumentContext extends antlr.ParserRuleContext {
2708
2624
  EOF() {
2709
2625
  return this.getToken(plurnkParser.EOF, 0);
2710
2626
  }
2627
+ FENCE_OPEN() {
2628
+ return this.getToken(plurnkParser.FENCE_OPEN, 0);
2629
+ }
2630
+ turn() {
2631
+ return this.getRuleContext(0, TurnContext);
2632
+ }
2633
+ FENCE_CLOSE() {
2634
+ return this.getToken(plurnkParser.FENCE_CLOSE, 0);
2635
+ }
2711
2636
  get ruleIndex() {
2712
2637
  return plurnkParser.RULE_document;
2713
2638
  }
@@ -2727,11 +2652,11 @@ export class LogContext extends antlr.ParserRuleContext {
2727
2652
  EOF() {
2728
2653
  return this.getToken(plurnkParser.EOF, 0);
2729
2654
  }
2730
- turnStatement(i) {
2655
+ turnContent(i) {
2731
2656
  if (i === undefined) {
2732
- return this.getRuleContexts(TurnStatementContext);
2657
+ return this.getRuleContexts(TurnContentContext);
2733
2658
  }
2734
- return this.getRuleContext(i, TurnStatementContext);
2659
+ return this.getRuleContext(i, TurnContentContext);
2735
2660
  }
2736
2661
  get ruleIndex() {
2737
2662
  return plurnkParser.RULE_log;
@@ -2745,38 +2670,34 @@ export class LogContext extends antlr.ParserRuleContext {
2745
2670
  }
2746
2671
  }
2747
2672
  }
2748
- export class TurnStatementContext extends antlr.ParserRuleContext {
2673
+ export class TurnContentContext extends antlr.ParserRuleContext {
2749
2674
  constructor(parent, invokingState) {
2750
2675
  super(parent, invokingState);
2751
2676
  }
2752
- OPEN_TURN() {
2753
- return this.getToken(plurnkParser.OPEN_TURN, 0);
2754
- }
2755
- COLON() {
2756
- return this.getToken(plurnkParser.COLON, 0);
2757
- }
2758
- turnContent() {
2759
- return this.getRuleContext(0, TurnContentContext);
2760
- }
2761
- CLOSE_TURN() {
2762
- return this.getToken(plurnkParser.CLOSE_TURN, 0);
2677
+ turn() {
2678
+ return this.getRuleContext(0, TurnContext);
2763
2679
  }
2764
- tagOpModifiers() {
2765
- return this.getRuleContext(0, TagOpModifiersContext);
2680
+ TEXT(i) {
2681
+ if (i === undefined) {
2682
+ return this.getTokens(plurnkParser.TEXT);
2683
+ }
2684
+ else {
2685
+ return this.getToken(plurnkParser.TEXT, i);
2686
+ }
2766
2687
  }
2767
2688
  get ruleIndex() {
2768
- return plurnkParser.RULE_turnStatement;
2689
+ return plurnkParser.RULE_turnContent;
2769
2690
  }
2770
2691
  accept(visitor) {
2771
- if (visitor.visitTurnStatement) {
2772
- return visitor.visitTurnStatement(this);
2692
+ if (visitor.visitTurnContent) {
2693
+ return visitor.visitTurnContent(this);
2773
2694
  }
2774
2695
  else {
2775
2696
  return visitor.visitChildren(this);
2776
2697
  }
2777
2698
  }
2778
2699
  }
2779
- export class TurnContentContext extends antlr.ParserRuleContext {
2700
+ export class TurnContext extends antlr.ParserRuleContext {
2780
2701
  constructor(parent, invokingState) {
2781
2702
  super(parent, invokingState);
2782
2703
  }
@@ -2786,14 +2707,6 @@ export class TurnContentContext extends antlr.ParserRuleContext {
2786
2707
  sendStatement() {
2787
2708
  return this.getRuleContext(0, SendStatementContext);
2788
2709
  }
2789
- TEXT(i) {
2790
- if (i === undefined) {
2791
- return this.getTokens(plurnkParser.TEXT);
2792
- }
2793
- else {
2794
- return this.getToken(plurnkParser.TEXT, i);
2795
- }
2796
- }
2797
2710
  midStatement(i) {
2798
2711
  if (i === undefined) {
2799
2712
  return this.getRuleContexts(MidStatementContext);
@@ -2801,11 +2714,11 @@ export class TurnContentContext extends antlr.ParserRuleContext {
2801
2714
  return this.getRuleContext(i, MidStatementContext);
2802
2715
  }
2803
2716
  get ruleIndex() {
2804
- return plurnkParser.RULE_turnContent;
2717
+ return plurnkParser.RULE_turn;
2805
2718
  }
2806
2719
  accept(visitor) {
2807
- if (visitor.visitTurnContent) {
2808
- return visitor.visitTurnContent(this);
2720
+ if (visitor.visitTurn) {
2721
+ return visitor.visitTurn(this);
2809
2722
  }
2810
2723
  else {
2811
2724
  return visitor.visitChildren(this);
@@ -2921,6 +2834,9 @@ export class StatementContext extends antlr.ParserRuleContext {
2921
2834
  execStatement() {
2922
2835
  return this.getRuleContext(0, ExecStatementContext);
2923
2836
  }
2837
+ bareStatement() {
2838
+ return this.getRuleContext(0, BareStatementContext);
2839
+ }
2924
2840
  workStatement() {
2925
2841
  return this.getRuleContext(0, WorkStatementContext);
2926
2842
  }
@@ -2976,6 +2892,9 @@ export class MidStatementContext extends antlr.ParserRuleContext {
2976
2892
  execStatement() {
2977
2893
  return this.getRuleContext(0, ExecStatementContext);
2978
2894
  }
2895
+ bareStatement() {
2896
+ return this.getRuleContext(0, BareStatementContext);
2897
+ }
2979
2898
  workStatement() {
2980
2899
  return this.getRuleContext(0, WorkStatementContext);
2981
2900
  }
@@ -3004,18 +2923,12 @@ export class FindStatementContext extends antlr.ParserRuleContext {
3004
2923
  OPEN_FIND() {
3005
2924
  return this.getToken(plurnkParser.OPEN_FIND, 0);
3006
2925
  }
3007
- CLOSE_TAG() {
3008
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
2926
+ statementEnd() {
2927
+ return this.getRuleContext(0, StatementEndContext);
3009
2928
  }
3010
2929
  tagOpModifiers() {
3011
2930
  return this.getRuleContext(0, TagOpModifiersContext);
3012
2931
  }
3013
- COLON() {
3014
- return this.getToken(plurnkParser.COLON, 0);
3015
- }
3016
- body() {
3017
- return this.getRuleContext(0, BodyContext);
3018
- }
3019
2932
  get ruleIndex() {
3020
2933
  return plurnkParser.RULE_findStatement;
3021
2934
  }
@@ -3035,18 +2948,12 @@ export class ReadStatementContext extends antlr.ParserRuleContext {
3035
2948
  OPEN_READ() {
3036
2949
  return this.getToken(plurnkParser.OPEN_READ, 0);
3037
2950
  }
3038
- CLOSE_TAG() {
3039
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
2951
+ statementEnd() {
2952
+ return this.getRuleContext(0, StatementEndContext);
3040
2953
  }
3041
2954
  tagOpModifiers() {
3042
2955
  return this.getRuleContext(0, TagOpModifiersContext);
3043
2956
  }
3044
- COLON() {
3045
- return this.getToken(plurnkParser.COLON, 0);
3046
- }
3047
- body() {
3048
- return this.getRuleContext(0, BodyContext);
3049
- }
3050
2957
  get ruleIndex() {
3051
2958
  return plurnkParser.RULE_readStatement;
3052
2959
  }
@@ -3066,18 +2973,12 @@ export class EditStatementContext extends antlr.ParserRuleContext {
3066
2973
  OPEN_EDIT() {
3067
2974
  return this.getToken(plurnkParser.OPEN_EDIT, 0);
3068
2975
  }
3069
- CLOSE_TAG() {
3070
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
2976
+ statementEnd() {
2977
+ return this.getRuleContext(0, StatementEndContext);
3071
2978
  }
3072
2979
  tagOpModifiers() {
3073
2980
  return this.getRuleContext(0, TagOpModifiersContext);
3074
2981
  }
3075
- COLON() {
3076
- return this.getToken(plurnkParser.COLON, 0);
3077
- }
3078
- body() {
3079
- return this.getRuleContext(0, BodyContext);
3080
- }
3081
2982
  get ruleIndex() {
3082
2983
  return plurnkParser.RULE_editStatement;
3083
2984
  }
@@ -3097,18 +2998,12 @@ export class CopyStatementContext extends antlr.ParserRuleContext {
3097
2998
  OPEN_COPY() {
3098
2999
  return this.getToken(plurnkParser.OPEN_COPY, 0);
3099
3000
  }
3100
- CLOSE_TAG() {
3101
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3001
+ statementEnd() {
3002
+ return this.getRuleContext(0, StatementEndContext);
3102
3003
  }
3103
3004
  tagOpModifiers() {
3104
3005
  return this.getRuleContext(0, TagOpModifiersContext);
3105
3006
  }
3106
- COLON() {
3107
- return this.getToken(plurnkParser.COLON, 0);
3108
- }
3109
- body() {
3110
- return this.getRuleContext(0, BodyContext);
3111
- }
3112
3007
  get ruleIndex() {
3113
3008
  return plurnkParser.RULE_copyStatement;
3114
3009
  }
@@ -3128,18 +3023,12 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
3128
3023
  OPEN_MOVE() {
3129
3024
  return this.getToken(plurnkParser.OPEN_MOVE, 0);
3130
3025
  }
3131
- CLOSE_TAG() {
3132
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3026
+ statementEnd() {
3027
+ return this.getRuleContext(0, StatementEndContext);
3133
3028
  }
3134
3029
  tagOpModifiers() {
3135
3030
  return this.getRuleContext(0, TagOpModifiersContext);
3136
3031
  }
3137
- COLON() {
3138
- return this.getToken(plurnkParser.COLON, 0);
3139
- }
3140
- body() {
3141
- return this.getRuleContext(0, BodyContext);
3142
- }
3143
3032
  get ruleIndex() {
3144
3033
  return plurnkParser.RULE_moveStatement;
3145
3034
  }
@@ -3159,18 +3048,12 @@ export class OpenStatementContext extends antlr.ParserRuleContext {
3159
3048
  OPEN_OPEN() {
3160
3049
  return this.getToken(plurnkParser.OPEN_OPEN, 0);
3161
3050
  }
3162
- CLOSE_TAG() {
3163
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3051
+ statementEnd() {
3052
+ return this.getRuleContext(0, StatementEndContext);
3164
3053
  }
3165
3054
  curationModifiers() {
3166
3055
  return this.getRuleContext(0, CurationModifiersContext);
3167
3056
  }
3168
- COLON() {
3169
- return this.getToken(plurnkParser.COLON, 0);
3170
- }
3171
- body() {
3172
- return this.getRuleContext(0, BodyContext);
3173
- }
3174
3057
  get ruleIndex() {
3175
3058
  return plurnkParser.RULE_openStatement;
3176
3059
  }
@@ -3190,18 +3073,12 @@ export class FoldStatementContext extends antlr.ParserRuleContext {
3190
3073
  OPEN_FOLD() {
3191
3074
  return this.getToken(plurnkParser.OPEN_FOLD, 0);
3192
3075
  }
3193
- CLOSE_TAG() {
3194
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3076
+ statementEnd() {
3077
+ return this.getRuleContext(0, StatementEndContext);
3195
3078
  }
3196
3079
  curationModifiers() {
3197
3080
  return this.getRuleContext(0, CurationModifiersContext);
3198
3081
  }
3199
- COLON() {
3200
- return this.getToken(plurnkParser.COLON, 0);
3201
- }
3202
- body() {
3203
- return this.getRuleContext(0, BodyContext);
3204
- }
3205
3082
  get ruleIndex() {
3206
3083
  return plurnkParser.RULE_foldStatement;
3207
3084
  }
@@ -3224,14 +3101,8 @@ export class SendStatementContext extends antlr.ParserRuleContext {
3224
3101
  termModifiers() {
3225
3102
  return this.getRuleContext(0, TermModifiersContext);
3226
3103
  }
3227
- CLOSE_TAG() {
3228
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3229
- }
3230
- COLON() {
3231
- return this.getToken(plurnkParser.COLON, 0);
3232
- }
3233
- body() {
3234
- return this.getRuleContext(0, BodyContext);
3104
+ statementEnd() {
3105
+ return this.getRuleContext(0, StatementEndContext);
3235
3106
  }
3236
3107
  get ruleIndex() {
3237
3108
  return plurnkParser.RULE_sendStatement;
@@ -3252,18 +3123,12 @@ export class MidSendContext extends antlr.ParserRuleContext {
3252
3123
  OPEN_SEND() {
3253
3124
  return this.getToken(plurnkParser.OPEN_SEND, 0);
3254
3125
  }
3255
- CLOSE_TAG() {
3256
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3126
+ statementEnd() {
3127
+ return this.getRuleContext(0, StatementEndContext);
3257
3128
  }
3258
3129
  midModifiers() {
3259
3130
  return this.getRuleContext(0, MidModifiersContext);
3260
3131
  }
3261
- COLON() {
3262
- return this.getToken(plurnkParser.COLON, 0);
3263
- }
3264
- body() {
3265
- return this.getRuleContext(0, BodyContext);
3266
- }
3267
3132
  get ruleIndex() {
3268
3133
  return plurnkParser.RULE_midSend;
3269
3134
  }
@@ -3283,18 +3148,12 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
3283
3148
  OPEN_EXEC() {
3284
3149
  return this.getToken(plurnkParser.OPEN_EXEC, 0);
3285
3150
  }
3286
- CLOSE_TAG() {
3287
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3151
+ statementEnd() {
3152
+ return this.getRuleContext(0, StatementEndContext);
3288
3153
  }
3289
3154
  execModifiers() {
3290
3155
  return this.getRuleContext(0, ExecModifiersContext);
3291
3156
  }
3292
- COLON() {
3293
- return this.getToken(plurnkParser.COLON, 0);
3294
- }
3295
- body() {
3296
- return this.getRuleContext(0, BodyContext);
3297
- }
3298
3157
  get ruleIndex() {
3299
3158
  return plurnkParser.RULE_execStatement;
3300
3159
  }
@@ -3307,6 +3166,31 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
3307
3166
  }
3308
3167
  }
3309
3168
  }
3169
+ export class BareStatementContext extends antlr.ParserRuleContext {
3170
+ constructor(parent, invokingState) {
3171
+ super(parent, invokingState);
3172
+ }
3173
+ OPEN_BARE() {
3174
+ return this.getToken(plurnkParser.OPEN_BARE, 0);
3175
+ }
3176
+ statementEnd() {
3177
+ return this.getRuleContext(0, StatementEndContext);
3178
+ }
3179
+ tagSignal() {
3180
+ return this.getRuleContext(0, TagSignalContext);
3181
+ }
3182
+ get ruleIndex() {
3183
+ return plurnkParser.RULE_bareStatement;
3184
+ }
3185
+ accept(visitor) {
3186
+ if (visitor.visitBareStatement) {
3187
+ return visitor.visitBareStatement(this);
3188
+ }
3189
+ else {
3190
+ return visitor.visitChildren(this);
3191
+ }
3192
+ }
3193
+ }
3310
3194
  export class WorkStatementContext extends antlr.ParserRuleContext {
3311
3195
  constructor(parent, invokingState) {
3312
3196
  super(parent, invokingState);
@@ -3314,14 +3198,8 @@ export class WorkStatementContext extends antlr.ParserRuleContext {
3314
3198
  OPEN_WORK() {
3315
3199
  return this.getToken(plurnkParser.OPEN_WORK, 0);
3316
3200
  }
3317
- COLON() {
3318
- return this.getToken(plurnkParser.COLON, 0);
3319
- }
3320
- body() {
3321
- return this.getRuleContext(0, BodyContext);
3322
- }
3323
- CLOSE_TAG() {
3324
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3201
+ statementEnd() {
3202
+ return this.getRuleContext(0, StatementEndContext);
3325
3203
  }
3326
3204
  branchModifiers() {
3327
3205
  return this.getRuleContext(0, BranchModifiersContext);
@@ -3345,14 +3223,8 @@ export class ForkStatementContext extends antlr.ParserRuleContext {
3345
3223
  OPEN_FORK() {
3346
3224
  return this.getToken(plurnkParser.OPEN_FORK, 0);
3347
3225
  }
3348
- COLON() {
3349
- return this.getToken(plurnkParser.COLON, 0);
3350
- }
3351
- body() {
3352
- return this.getRuleContext(0, BodyContext);
3353
- }
3354
- CLOSE_TAG() {
3355
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3226
+ statementEnd() {
3227
+ return this.getRuleContext(0, StatementEndContext);
3356
3228
  }
3357
3229
  branchModifiers() {
3358
3230
  return this.getRuleContext(0, BranchModifiersContext);
@@ -3376,18 +3248,12 @@ export class KillStatementContext extends antlr.ParserRuleContext {
3376
3248
  OPEN_KILL() {
3377
3249
  return this.getToken(plurnkParser.OPEN_KILL, 0);
3378
3250
  }
3379
- CLOSE_TAG() {
3380
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3251
+ statementEnd() {
3252
+ return this.getRuleContext(0, StatementEndContext);
3381
3253
  }
3382
3254
  intOpModifiers() {
3383
3255
  return this.getRuleContext(0, IntOpModifiersContext);
3384
3256
  }
3385
- COLON() {
3386
- return this.getToken(plurnkParser.COLON, 0);
3387
- }
3388
- body() {
3389
- return this.getRuleContext(0, BodyContext);
3390
- }
3391
3257
  get ruleIndex() {
3392
3258
  return plurnkParser.RULE_killStatement;
3393
3259
  }
@@ -3407,18 +3273,12 @@ export class PlanStatementContext extends antlr.ParserRuleContext {
3407
3273
  OPEN_PLAN() {
3408
3274
  return this.getToken(plurnkParser.OPEN_PLAN, 0);
3409
3275
  }
3410
- CLOSE_TAG() {
3411
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3276
+ statementEnd() {
3277
+ return this.getRuleContext(0, StatementEndContext);
3412
3278
  }
3413
3279
  tagOpModifiers() {
3414
3280
  return this.getRuleContext(0, TagOpModifiersContext);
3415
3281
  }
3416
- COLON() {
3417
- return this.getToken(plurnkParser.COLON, 0);
3418
- }
3419
- body() {
3420
- return this.getRuleContext(0, BodyContext);
3421
- }
3422
3282
  get ruleIndex() {
3423
3283
  return plurnkParser.RULE_planStatement;
3424
3284
  }
@@ -3438,18 +3298,12 @@ export class LookStatementContext extends antlr.ParserRuleContext {
3438
3298
  OPEN_LOOK() {
3439
3299
  return this.getToken(plurnkParser.OPEN_LOOK, 0);
3440
3300
  }
3441
- CLOSE_TAG() {
3442
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3301
+ statementEnd() {
3302
+ return this.getRuleContext(0, StatementEndContext);
3443
3303
  }
3444
3304
  tagOpModifiers() {
3445
3305
  return this.getRuleContext(0, TagOpModifiersContext);
3446
3306
  }
3447
- COLON() {
3448
- return this.getToken(plurnkParser.COLON, 0);
3449
- }
3450
- body() {
3451
- return this.getRuleContext(0, BodyContext);
3452
- }
3453
3307
  get ruleIndex() {
3454
3308
  return plurnkParser.RULE_lookStatement;
3455
3309
  }
@@ -3469,24 +3323,43 @@ export class BuffStatementContext extends antlr.ParserRuleContext {
3469
3323
  OPEN_BUFF() {
3470
3324
  return this.getToken(plurnkParser.OPEN_BUFF, 0);
3471
3325
  }
3472
- CLOSE_TAG() {
3473
- return this.getToken(plurnkParser.CLOSE_TAG, 0);
3326
+ statementEnd() {
3327
+ return this.getRuleContext(0, StatementEndContext);
3474
3328
  }
3475
3329
  tagOpModifiers() {
3476
3330
  return this.getRuleContext(0, TagOpModifiersContext);
3477
3331
  }
3478
- COLON() {
3479
- return this.getToken(plurnkParser.COLON, 0);
3332
+ get ruleIndex() {
3333
+ return plurnkParser.RULE_buffStatement;
3334
+ }
3335
+ accept(visitor) {
3336
+ if (visitor.visitBuffStatement) {
3337
+ return visitor.visitBuffStatement(this);
3338
+ }
3339
+ else {
3340
+ return visitor.visitChildren(this);
3341
+ }
3342
+ }
3343
+ }
3344
+ export class StatementEndContext extends antlr.ParserRuleContext {
3345
+ constructor(parent, invokingState) {
3346
+ super(parent, invokingState);
3347
+ }
3348
+ SECTION_END() {
3349
+ return this.getToken(plurnkParser.SECTION_END, 0);
3350
+ }
3351
+ BODY_OPEN() {
3352
+ return this.getToken(plurnkParser.BODY_OPEN, 0);
3480
3353
  }
3481
3354
  body() {
3482
3355
  return this.getRuleContext(0, BodyContext);
3483
3356
  }
3484
3357
  get ruleIndex() {
3485
- return plurnkParser.RULE_buffStatement;
3358
+ return plurnkParser.RULE_statementEnd;
3486
3359
  }
3487
3360
  accept(visitor) {
3488
- if (visitor.visitBuffStatement) {
3489
- return visitor.visitBuffStatement(this);
3361
+ if (visitor.visitStatementEnd) {
3362
+ return visitor.visitStatementEnd(this);
3490
3363
  }
3491
3364
  else {
3492
3365
  return visitor.visitChildren(this);