@plurnk/plurnk-contracts 1.14.2 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/SPEC.md +106 -123
  2. package/dist/plurnk.gemma.gbnf +62 -87
  3. package/dist/plurnk.qwen.gbnf +62 -87
  4. package/dist/schema/ClientStatement.json +114 -40
  5. package/dist/schema/PlurnkStatement.json +29 -199
  6. package/dist/schema/RangeExtent.json +1 -1
  7. package/dist/src/AstBuilder.d.ts +2 -2
  8. package/dist/src/AstBuilder.d.ts.map +1 -1
  9. package/dist/src/AstBuilder.js +68 -146
  10. package/dist/src/AstBuilder.js.map +1 -1
  11. package/dist/src/PlurnkErrorStrategy.d.ts +0 -1
  12. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  13. package/dist/src/PlurnkErrorStrategy.js +72 -61
  14. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  15. package/dist/src/PlurnkParser.d.ts +1 -2
  16. package/dist/src/PlurnkParser.d.ts.map +1 -1
  17. package/dist/src/PlurnkParser.js +15 -104
  18. package/dist/src/PlurnkParser.js.map +1 -1
  19. package/dist/src/generated/plurnkLexer.d.ts +42 -69
  20. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  21. package/dist/src/generated/plurnkLexer.js +495 -647
  22. package/dist/src/generated/plurnkLexer.js.map +1 -1
  23. package/dist/src/generated/plurnkParser.d.ts +76 -215
  24. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  25. package/dist/src/generated/plurnkParser.js +643 -1829
  26. package/dist/src/generated/plurnkParser.js.map +1 -1
  27. package/dist/src/generated/plurnkParserVisitor.d.ts +3 -87
  28. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  29. package/dist/src/generated/plurnkParserVisitor.js +2 -74
  30. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  31. package/dist/src/index.d.ts +0 -2
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +0 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/types.d.ts +1 -1
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.generated.d.ts +18 -50
  38. package/dist/src/types.generated.d.ts.map +1 -1
  39. package/dist/src/types.js +1 -1
  40. package/dist/src/types.js.map +1 -1
  41. package/package.json +1 -1
  42. package/plurnk.md +67 -73
  43. package/dist/src/TagSignal.d.ts +0 -15
  44. package/dist/src/TagSignal.d.ts.map +0 -1
  45. package/dist/src/TagSignal.js +0 -53
  46. package/dist/src/TagSignal.js.map +0 -1
@@ -1,51 +1,40 @@
1
1
  import * as antlr from "antlr4ng";
2
2
  export class plurnkParser extends antlr.Parser {
3
- static LBRACKET = 1;
4
- static RBRACKET = 2;
5
- static LPAREN = 3;
6
- static RPAREN = 4;
7
- static LBRACE = 5;
8
- static RBRACE = 6;
9
- static L_MARKER = 7;
10
- static COMBINED_L_MARKER = 8;
11
- static BODY_OPEN = 9;
12
- static SECTION_END = 10;
13
- static COMMA = 11;
14
- static INT = 12;
15
- static DISPOSITION = 13;
16
- static IDENT = 14;
17
- static TAG = 15;
18
- static TARGET_TEXT = 16;
19
- static METADATA_TEXT = 17;
20
- static BODY_TEXT = 18;
21
- static TEXT = 19;
22
- static ANNOTATION = 20;
23
- static OPEN_PLAN = 21;
24
- static OPEN_FIND = 22;
25
- static OPEN_READ = 23;
26
- static OPEN_EDIT = 24;
27
- static OPEN_COPY = 25;
28
- static OPEN_MOVE = 26;
29
- static OPEN_OPEN = 27;
30
- static OPEN_FOLD = 28;
31
- static OPEN_SEND = 29;
32
- static OPEN_EXEC = 30;
33
- static OPEN_BARE = 31;
34
- static OPEN_WORK = 32;
35
- static OPEN_FORK = 33;
36
- static OPEN_KILL = 34;
37
- static OPEN_LOOK = 35;
38
- static OPEN_BUFF = 36;
39
- static FENCE_OPEN = 37;
40
- static FENCE_CLOSE = 38;
41
- static WS = 39;
42
- static SLOTS_WS = 40;
43
- static ST_WS = 41;
44
- static SI_WS = 42;
45
- static SD_WS = 43;
46
- static TEXT_HASH = 44;
47
- static ST_COMMA = 45;
48
- static TARGET_BACKSLASH = 46;
3
+ static LPAREN = 1;
4
+ static RPAREN = 2;
5
+ static LBRACE = 3;
6
+ static RBRACE = 4;
7
+ static L_MARKER = 5;
8
+ static COMBINED_L_MARKER = 6;
9
+ static BODY_OPEN = 7;
10
+ static SECTION_END = 8;
11
+ static TARGET_TEXT = 9;
12
+ static METADATA_TEXT = 10;
13
+ static BODY_TEXT = 11;
14
+ static TEXT = 12;
15
+ static ANNOTATION = 13;
16
+ static SEND_LABEL = 14;
17
+ static EXECUTOR = 15;
18
+ static OPEN_PLAN = 16;
19
+ static OPEN_FIND = 17;
20
+ static OPEN_READ = 18;
21
+ static OPEN_EDIT = 19;
22
+ static OPEN_COPY = 20;
23
+ static OPEN_MOVE = 21;
24
+ static OPEN_SEND = 22;
25
+ static OPEN_EXEC = 23;
26
+ static OPEN_BARE = 24;
27
+ static OPEN_WORK = 25;
28
+ static OPEN_FORK = 26;
29
+ static OPEN_KILL = 27;
30
+ static OPEN_LOOK = 28;
31
+ static OPEN_BUFF = 29;
32
+ static FENCE_OPEN = 30;
33
+ static FENCE_CLOSE = 31;
34
+ static WS = 32;
35
+ static SLOTS_WS = 33;
36
+ static TEXT_HASH = 34;
37
+ static TARGET_BACKSLASH = 35;
49
38
  static RULE_document = 0;
50
39
  static RULE_log = 1;
51
40
  static RULE_turnContent = 2;
@@ -62,72 +51,54 @@ export class plurnkParser extends antlr.Parser {
62
51
  static RULE_editStatement = 13;
63
52
  static RULE_copyStatement = 14;
64
53
  static RULE_moveStatement = 15;
65
- static RULE_openStatement = 16;
66
- static RULE_foldStatement = 17;
67
- static RULE_sendStatement = 18;
68
- static RULE_midSend = 19;
69
- static RULE_execStatement = 20;
70
- static RULE_bareStatement = 21;
71
- static RULE_workStatement = 22;
72
- static RULE_forkStatement = 23;
73
- static RULE_killStatement = 24;
74
- static RULE_planStatement = 25;
75
- static RULE_lookStatement = 26;
76
- static RULE_buffStatement = 27;
77
- static RULE_opAnnotation = 28;
78
- static RULE_statementEnd = 29;
79
- static RULE_transferModifiers = 30;
80
- static RULE_resourceSelection = 31;
81
- static RULE_emptyStatementEnd = 32;
82
- static RULE_tagOpModifiers = 33;
83
- static RULE_intOpModifiers = 34;
84
- static RULE_branchModifiers = 35;
85
- static RULE_termModifiers = 36;
86
- static RULE_midModifiers = 37;
87
- static RULE_execModifiers = 38;
88
- static RULE_execSlot = 39;
89
- static RULE_tagSignal = 40;
90
- static RULE_branchSignal = 41;
91
- static RULE_intSignal = 42;
92
- static RULE_midSignal = 43;
93
- static RULE_dispSignal = 44;
94
- static RULE_identSignal = 45;
95
- static RULE_target = 46;
96
- static RULE_targetWithMetadata = 47;
97
- static RULE_metadata = 48;
98
- static RULE_lineMarker = 49;
99
- static RULE_body = 50;
54
+ static RULE_sendStatement = 16;
55
+ static RULE_midSend = 17;
56
+ static RULE_execStatement = 18;
57
+ static RULE_bareStatement = 19;
58
+ static RULE_workStatement = 20;
59
+ static RULE_forkStatement = 21;
60
+ static RULE_killStatement = 22;
61
+ static RULE_planStatement = 23;
62
+ static RULE_lookStatement = 24;
63
+ static RULE_buffStatement = 25;
64
+ static RULE_opAnnotation = 26;
65
+ static RULE_statementEnd = 27;
66
+ static RULE_transferModifiers = 28;
67
+ static RULE_resourceSelection = 29;
68
+ static RULE_emptyStatementEnd = 30;
69
+ static RULE_slotModifiers = 31;
70
+ static RULE_execModifiers = 32;
71
+ static RULE_execSlot = 33;
72
+ static RULE_target = 34;
73
+ static RULE_targetWithMetadata = 35;
74
+ static RULE_metadata = 36;
75
+ static RULE_lineMarker = 37;
76
+ static RULE_body = 38;
100
77
  static literalNames = [
101
78
  null, null, null, null, null, null, null, null, null, null, null,
102
79
  null, null, null, null, null, null, null, null, null, null, null,
103
80
  null, null, null, null, null, null, null, null, null, null, null,
104
- null, null, null, null, null, null, null, null, null, null, null,
105
- "'#'", "','", "'\\'"
81
+ null, "'#'", "'\\'"
106
82
  ];
107
83
  static symbolicNames = [
108
- null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "LBRACE", "RBRACE",
109
- "L_MARKER", "COMBINED_L_MARKER", "BODY_OPEN", "SECTION_END", "COMMA",
110
- "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "METADATA_TEXT",
111
- "BODY_TEXT", "TEXT", "ANNOTATION", "OPEN_PLAN", "OPEN_FIND", "OPEN_READ",
112
- "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
113
- "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK", "OPEN_FORK",
114
- "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE",
115
- "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "TEXT_HASH", "ST_COMMA",
116
- "TARGET_BACKSLASH"
84
+ null, "LPAREN", "RPAREN", "LBRACE", "RBRACE", "L_MARKER", "COMBINED_L_MARKER",
85
+ "BODY_OPEN", "SECTION_END", "TARGET_TEXT", "METADATA_TEXT", "BODY_TEXT",
86
+ "TEXT", "ANNOTATION", "SEND_LABEL", "EXECUTOR", "OPEN_PLAN", "OPEN_FIND",
87
+ "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_SEND",
88
+ "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK", "OPEN_FORK", "OPEN_KILL",
89
+ "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE", "WS", "SLOTS_WS",
90
+ "TEXT_HASH", "TARGET_BACKSLASH"
117
91
  ];
118
92
  static ruleNames = [
119
93
  "document", "log", "turnContent", "modelTurnContent", "turn", "modelTurn",
120
94
  "statementSeq", "clientStatementSeq", "clientStatement", "statement",
121
95
  "midStatement", "findStatement", "readStatement", "editStatement",
122
- "copyStatement", "moveStatement", "openStatement", "foldStatement",
123
- "sendStatement", "midSend", "execStatement", "bareStatement", "workStatement",
124
- "forkStatement", "killStatement", "planStatement", "lookStatement",
125
- "buffStatement", "opAnnotation", "statementEnd", "transferModifiers",
126
- "resourceSelection", "emptyStatementEnd", "tagOpModifiers", "intOpModifiers",
127
- "branchModifiers", "termModifiers", "midModifiers", "execModifiers",
128
- "execSlot", "tagSignal", "branchSignal", "intSignal", "midSignal",
129
- "dispSignal", "identSignal", "target", "targetWithMetadata", "metadata",
130
- "lineMarker", "body",
96
+ "copyStatement", "moveStatement", "sendStatement", "midSend", "execStatement",
97
+ "bareStatement", "workStatement", "forkStatement", "killStatement",
98
+ "planStatement", "lookStatement", "buffStatement", "opAnnotation",
99
+ "statementEnd", "transferModifiers", "resourceSelection", "emptyStatementEnd",
100
+ "slotModifiers", "execModifiers", "execSlot", "target", "targetWithMetadata",
101
+ "metadata", "lineMarker", "body",
131
102
  ];
132
103
  get grammarFileName() { return "plurnkParser.g4"; }
133
104
  get literalNames() { return plurnkParser.literalNames; }
@@ -146,7 +117,7 @@ export class plurnkParser extends antlr.Parser {
146
117
  this.enterRule(localContext, 0, plurnkParser.RULE_document);
147
118
  let _la;
148
119
  try {
149
- this.state = 112;
120
+ this.state = 88;
150
121
  this.errorHandler.sync(this);
151
122
  switch (this.tokenStream.LA(1)) {
152
123
  case plurnkParser.TEXT:
@@ -156,8 +127,6 @@ export class plurnkParser extends antlr.Parser {
156
127
  case plurnkParser.OPEN_EDIT:
157
128
  case plurnkParser.OPEN_COPY:
158
129
  case plurnkParser.OPEN_MOVE:
159
- case plurnkParser.OPEN_OPEN:
160
- case plurnkParser.OPEN_FOLD:
161
130
  case plurnkParser.OPEN_SEND:
162
131
  case plurnkParser.OPEN_EXEC:
163
132
  case plurnkParser.OPEN_BARE:
@@ -166,29 +135,29 @@ export class plurnkParser extends antlr.Parser {
166
135
  case plurnkParser.OPEN_KILL:
167
136
  this.enterOuterAlt(localContext, 1);
168
137
  {
169
- this.state = 102;
138
+ this.state = 78;
170
139
  this.modelTurnContent();
171
- this.state = 103;
140
+ this.state = 79;
172
141
  this.match(plurnkParser.EOF);
173
142
  }
174
143
  break;
175
144
  case plurnkParser.FENCE_OPEN:
176
145
  this.enterOuterAlt(localContext, 2);
177
146
  {
178
- this.state = 105;
147
+ this.state = 81;
179
148
  this.match(plurnkParser.FENCE_OPEN);
180
- this.state = 106;
149
+ this.state = 82;
181
150
  this.modelTurn();
182
- this.state = 108;
151
+ this.state = 84;
183
152
  this.errorHandler.sync(this);
184
153
  _la = this.tokenStream.LA(1);
185
- if (_la === 38) {
154
+ if (_la === 31) {
186
155
  {
187
- this.state = 107;
156
+ this.state = 83;
188
157
  this.match(plurnkParser.FENCE_CLOSE);
189
158
  }
190
159
  }
191
- this.state = 110;
160
+ this.state = 86;
192
161
  this.match(plurnkParser.EOF);
193
162
  }
194
163
  break;
@@ -217,21 +186,21 @@ export class plurnkParser extends antlr.Parser {
217
186
  try {
218
187
  this.enterOuterAlt(localContext, 1);
219
188
  {
220
- this.state = 115;
189
+ this.state = 91;
221
190
  this.errorHandler.sync(this);
222
191
  _la = this.tokenStream.LA(1);
223
192
  do {
224
193
  {
225
194
  {
226
- this.state = 114;
195
+ this.state = 90;
227
196
  this.turnContent();
228
197
  }
229
198
  }
230
- this.state = 117;
199
+ this.state = 93;
231
200
  this.errorHandler.sync(this);
232
201
  _la = this.tokenStream.LA(1);
233
- } while (_la === 19 || _la === 21);
234
- this.state = 119;
202
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268374016) !== 0));
203
+ this.state = 95;
235
204
  this.match(plurnkParser.EOF);
236
205
  }
237
206
  }
@@ -256,21 +225,21 @@ export class plurnkParser extends antlr.Parser {
256
225
  try {
257
226
  this.enterOuterAlt(localContext, 1);
258
227
  {
259
- this.state = 124;
228
+ this.state = 100;
260
229
  this.errorHandler.sync(this);
261
230
  _la = this.tokenStream.LA(1);
262
- while (_la === 19) {
231
+ while (_la === 12) {
263
232
  {
264
233
  {
265
- this.state = 121;
234
+ this.state = 97;
266
235
  this.match(plurnkParser.TEXT);
267
236
  }
268
237
  }
269
- this.state = 126;
238
+ this.state = 102;
270
239
  this.errorHandler.sync(this);
271
240
  _la = this.tokenStream.LA(1);
272
241
  }
273
- this.state = 127;
242
+ this.state = 103;
274
243
  this.turn();
275
244
  }
276
245
  }
@@ -295,21 +264,21 @@ export class plurnkParser extends antlr.Parser {
295
264
  try {
296
265
  this.enterOuterAlt(localContext, 1);
297
266
  {
298
- this.state = 132;
267
+ this.state = 108;
299
268
  this.errorHandler.sync(this);
300
269
  _la = this.tokenStream.LA(1);
301
- while (_la === 19) {
270
+ while (_la === 12) {
302
271
  {
303
272
  {
304
- this.state = 129;
273
+ this.state = 105;
305
274
  this.match(plurnkParser.TEXT);
306
275
  }
307
276
  }
308
- this.state = 134;
277
+ this.state = 110;
309
278
  this.errorHandler.sync(this);
310
279
  _la = this.tokenStream.LA(1);
311
280
  }
312
- this.state = 135;
281
+ this.state = 111;
313
282
  this.modelTurn();
314
283
  }
315
284
  }
@@ -330,29 +299,37 @@ export class plurnkParser extends antlr.Parser {
330
299
  turn() {
331
300
  let localContext = new TurnContext(this.context, this.state);
332
301
  this.enterRule(localContext, 8, plurnkParser.RULE_turn);
302
+ let _la;
333
303
  try {
334
304
  let alternative;
335
305
  this.enterOuterAlt(localContext, 1);
336
306
  {
337
- this.state = 137;
338
- this.planStatement();
339
- this.state = 141;
307
+ this.state = 114;
308
+ this.errorHandler.sync(this);
309
+ _la = this.tokenStream.LA(1);
310
+ if (_la === 16) {
311
+ {
312
+ this.state = 113;
313
+ this.planStatement();
314
+ }
315
+ }
316
+ this.state = 119;
340
317
  this.errorHandler.sync(this);
341
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 5, this.context);
318
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
342
319
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
343
320
  if (alternative === 1) {
344
321
  {
345
322
  {
346
- this.state = 138;
323
+ this.state = 116;
347
324
  this.midStatement();
348
325
  }
349
326
  }
350
327
  }
351
- this.state = 143;
328
+ this.state = 121;
352
329
  this.errorHandler.sync(this);
353
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 5, this.context);
330
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
354
331
  }
355
- this.state = 144;
332
+ this.state = 122;
356
333
  this.sendStatement();
357
334
  }
358
335
  }
@@ -376,36 +353,36 @@ export class plurnkParser extends antlr.Parser {
376
353
  let _la;
377
354
  try {
378
355
  let alternative;
379
- this.state = 165;
356
+ this.state = 143;
380
357
  this.errorHandler.sync(this);
381
- switch (this.interpreter.adaptivePredict(this.tokenStream, 10, this.context)) {
358
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 11, this.context)) {
382
359
  case 1:
383
360
  this.enterOuterAlt(localContext, 1);
384
361
  {
385
- this.state = 146;
362
+ this.state = 124;
386
363
  this.planStatement();
387
- this.state = 150;
364
+ this.state = 128;
388
365
  this.errorHandler.sync(this);
389
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
366
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 7, this.context);
390
367
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
391
368
  if (alternative === 1) {
392
369
  {
393
370
  {
394
- this.state = 147;
371
+ this.state = 125;
395
372
  this.midStatement();
396
373
  }
397
374
  }
398
375
  }
399
- this.state = 152;
376
+ this.state = 130;
400
377
  this.errorHandler.sync(this);
401
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
378
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 7, this.context);
402
379
  }
403
- this.state = 154;
380
+ this.state = 132;
404
381
  this.errorHandler.sync(this);
405
382
  _la = this.tokenStream.LA(1);
406
- if (_la === 29) {
383
+ if (_la === 22) {
407
384
  {
408
- this.state = 153;
385
+ this.state = 131;
409
386
  this.sendStatement();
410
387
  }
411
388
  }
@@ -414,7 +391,7 @@ export class plurnkParser extends antlr.Parser {
414
391
  case 2:
415
392
  this.enterOuterAlt(localContext, 2);
416
393
  {
417
- this.state = 157;
394
+ this.state = 135;
418
395
  this.errorHandler.sync(this);
419
396
  alternative = 1;
420
397
  do {
@@ -422,7 +399,7 @@ export class plurnkParser extends antlr.Parser {
422
399
  case 1:
423
400
  {
424
401
  {
425
- this.state = 156;
402
+ this.state = 134;
426
403
  this.midStatement();
427
404
  }
428
405
  }
@@ -430,16 +407,16 @@ export class plurnkParser extends antlr.Parser {
430
407
  default:
431
408
  throw new antlr.NoViableAltException(this);
432
409
  }
433
- this.state = 159;
410
+ this.state = 137;
434
411
  this.errorHandler.sync(this);
435
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 8, this.context);
412
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 9, this.context);
436
413
  } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
437
- this.state = 162;
414
+ this.state = 140;
438
415
  this.errorHandler.sync(this);
439
416
  _la = this.tokenStream.LA(1);
440
- if (_la === 29) {
417
+ if (_la === 22) {
441
418
  {
442
- this.state = 161;
419
+ this.state = 139;
443
420
  this.sendStatement();
444
421
  }
445
422
  }
@@ -448,7 +425,7 @@ export class plurnkParser extends antlr.Parser {
448
425
  case 3:
449
426
  this.enterOuterAlt(localContext, 3);
450
427
  {
451
- this.state = 164;
428
+ this.state = 142;
452
429
  this.sendStatement();
453
430
  }
454
431
  break;
@@ -475,21 +452,21 @@ export class plurnkParser extends antlr.Parser {
475
452
  try {
476
453
  this.enterOuterAlt(localContext, 1);
477
454
  {
478
- this.state = 170;
455
+ this.state = 148;
479
456
  this.errorHandler.sync(this);
480
457
  _la = this.tokenStream.LA(1);
481
- while (((((_la - 21)) & ~0x1F) === 0 && ((1 << (_la - 21)) & 16383) !== 0)) {
458
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268369920) !== 0)) {
482
459
  {
483
460
  {
484
- this.state = 167;
461
+ this.state = 145;
485
462
  this.statement();
486
463
  }
487
464
  }
488
- this.state = 172;
465
+ this.state = 150;
489
466
  this.errorHandler.sync(this);
490
467
  _la = this.tokenStream.LA(1);
491
468
  }
492
- this.state = 173;
469
+ this.state = 151;
493
470
  this.match(plurnkParser.EOF);
494
471
  }
495
472
  }
@@ -514,21 +491,21 @@ export class plurnkParser extends antlr.Parser {
514
491
  try {
515
492
  this.enterOuterAlt(localContext, 1);
516
493
  {
517
- this.state = 178;
494
+ this.state = 156;
518
495
  this.errorHandler.sync(this);
519
496
  _la = this.tokenStream.LA(1);
520
- while (((((_la - 21)) & ~0x1F) === 0 && ((1 << (_la - 21)) & 65535) !== 0)) {
497
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073676288) !== 0)) {
521
498
  {
522
499
  {
523
- this.state = 175;
500
+ this.state = 153;
524
501
  this.clientStatement();
525
502
  }
526
503
  }
527
- this.state = 180;
504
+ this.state = 158;
528
505
  this.errorHandler.sync(this);
529
506
  _la = this.tokenStream.LA(1);
530
507
  }
531
- this.state = 181;
508
+ this.state = 159;
532
509
  this.match(plurnkParser.EOF);
533
510
  }
534
511
  }
@@ -550,7 +527,7 @@ export class plurnkParser extends antlr.Parser {
550
527
  let localContext = new ClientStatementContext(this.context, this.state);
551
528
  this.enterRule(localContext, 16, plurnkParser.RULE_clientStatement);
552
529
  try {
553
- this.state = 186;
530
+ this.state = 164;
554
531
  this.errorHandler.sync(this);
555
532
  switch (this.tokenStream.LA(1)) {
556
533
  case plurnkParser.OPEN_PLAN:
@@ -559,8 +536,6 @@ export class plurnkParser extends antlr.Parser {
559
536
  case plurnkParser.OPEN_EDIT:
560
537
  case plurnkParser.OPEN_COPY:
561
538
  case plurnkParser.OPEN_MOVE:
562
- case plurnkParser.OPEN_OPEN:
563
- case plurnkParser.OPEN_FOLD:
564
539
  case plurnkParser.OPEN_SEND:
565
540
  case plurnkParser.OPEN_EXEC:
566
541
  case plurnkParser.OPEN_BARE:
@@ -569,21 +544,21 @@ export class plurnkParser extends antlr.Parser {
569
544
  case plurnkParser.OPEN_KILL:
570
545
  this.enterOuterAlt(localContext, 1);
571
546
  {
572
- this.state = 183;
547
+ this.state = 161;
573
548
  this.statement();
574
549
  }
575
550
  break;
576
551
  case plurnkParser.OPEN_LOOK:
577
552
  this.enterOuterAlt(localContext, 2);
578
553
  {
579
- this.state = 184;
554
+ this.state = 162;
580
555
  this.lookStatement();
581
556
  }
582
557
  break;
583
558
  case plurnkParser.OPEN_BUFF:
584
559
  this.enterOuterAlt(localContext, 3);
585
560
  {
586
- this.state = 185;
561
+ this.state = 163;
587
562
  this.buffStatement();
588
563
  }
589
564
  break;
@@ -609,111 +584,97 @@ export class plurnkParser extends antlr.Parser {
609
584
  let localContext = new StatementContext(this.context, this.state);
610
585
  this.enterRule(localContext, 18, plurnkParser.RULE_statement);
611
586
  try {
612
- this.state = 203;
587
+ this.state = 179;
613
588
  this.errorHandler.sync(this);
614
- switch (this.interpreter.adaptivePredict(this.tokenStream, 14, this.context)) {
589
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 15, this.context)) {
615
590
  case 1:
616
591
  this.enterOuterAlt(localContext, 1);
617
592
  {
618
- this.state = 188;
593
+ this.state = 166;
619
594
  this.findStatement();
620
595
  }
621
596
  break;
622
597
  case 2:
623
598
  this.enterOuterAlt(localContext, 2);
624
599
  {
625
- this.state = 189;
600
+ this.state = 167;
626
601
  this.readStatement();
627
602
  }
628
603
  break;
629
604
  case 3:
630
605
  this.enterOuterAlt(localContext, 3);
631
606
  {
632
- this.state = 190;
607
+ this.state = 168;
633
608
  this.editStatement();
634
609
  }
635
610
  break;
636
611
  case 4:
637
612
  this.enterOuterAlt(localContext, 4);
638
613
  {
639
- this.state = 191;
614
+ this.state = 169;
640
615
  this.copyStatement();
641
616
  }
642
617
  break;
643
618
  case 5:
644
619
  this.enterOuterAlt(localContext, 5);
645
620
  {
646
- this.state = 192;
621
+ this.state = 170;
647
622
  this.moveStatement();
648
623
  }
649
624
  break;
650
625
  case 6:
651
626
  this.enterOuterAlt(localContext, 6);
652
627
  {
653
- this.state = 193;
654
- this.openStatement();
628
+ this.state = 171;
629
+ this.sendStatement();
655
630
  }
656
631
  break;
657
632
  case 7:
658
633
  this.enterOuterAlt(localContext, 7);
659
634
  {
660
- this.state = 194;
661
- this.foldStatement();
635
+ this.state = 172;
636
+ this.midSend();
662
637
  }
663
638
  break;
664
639
  case 8:
665
640
  this.enterOuterAlt(localContext, 8);
666
641
  {
667
- this.state = 195;
668
- this.sendStatement();
642
+ this.state = 173;
643
+ this.execStatement();
669
644
  }
670
645
  break;
671
646
  case 9:
672
647
  this.enterOuterAlt(localContext, 9);
673
648
  {
674
- this.state = 196;
675
- this.midSend();
649
+ this.state = 174;
650
+ this.bareStatement();
676
651
  }
677
652
  break;
678
653
  case 10:
679
654
  this.enterOuterAlt(localContext, 10);
680
655
  {
681
- this.state = 197;
682
- this.execStatement();
656
+ this.state = 175;
657
+ this.workStatement();
683
658
  }
684
659
  break;
685
660
  case 11:
686
661
  this.enterOuterAlt(localContext, 11);
687
662
  {
688
- this.state = 198;
689
- this.bareStatement();
663
+ this.state = 176;
664
+ this.forkStatement();
690
665
  }
691
666
  break;
692
667
  case 12:
693
668
  this.enterOuterAlt(localContext, 12);
694
669
  {
695
- this.state = 199;
696
- this.workStatement();
670
+ this.state = 177;
671
+ this.killStatement();
697
672
  }
698
673
  break;
699
674
  case 13:
700
675
  this.enterOuterAlt(localContext, 13);
701
676
  {
702
- this.state = 200;
703
- this.forkStatement();
704
- }
705
- break;
706
- case 14:
707
- this.enterOuterAlt(localContext, 14);
708
- {
709
- this.state = 201;
710
- this.killStatement();
711
- }
712
- break;
713
- case 15:
714
- this.enterOuterAlt(localContext, 15);
715
- {
716
- this.state = 202;
677
+ this.state = 178;
717
678
  this.planStatement();
718
679
  }
719
680
  break;
@@ -737,97 +698,83 @@ export class plurnkParser extends antlr.Parser {
737
698
  let localContext = new MidStatementContext(this.context, this.state);
738
699
  this.enterRule(localContext, 20, plurnkParser.RULE_midStatement);
739
700
  try {
740
- this.state = 218;
701
+ this.state = 192;
741
702
  this.errorHandler.sync(this);
742
703
  switch (this.tokenStream.LA(1)) {
743
704
  case plurnkParser.OPEN_FIND:
744
705
  this.enterOuterAlt(localContext, 1);
745
706
  {
746
- this.state = 205;
707
+ this.state = 181;
747
708
  this.findStatement();
748
709
  }
749
710
  break;
750
711
  case plurnkParser.OPEN_READ:
751
712
  this.enterOuterAlt(localContext, 2);
752
713
  {
753
- this.state = 206;
714
+ this.state = 182;
754
715
  this.readStatement();
755
716
  }
756
717
  break;
757
718
  case plurnkParser.OPEN_EDIT:
758
719
  this.enterOuterAlt(localContext, 3);
759
720
  {
760
- this.state = 207;
721
+ this.state = 183;
761
722
  this.editStatement();
762
723
  }
763
724
  break;
764
725
  case plurnkParser.OPEN_COPY:
765
726
  this.enterOuterAlt(localContext, 4);
766
727
  {
767
- this.state = 208;
728
+ this.state = 184;
768
729
  this.copyStatement();
769
730
  }
770
731
  break;
771
732
  case plurnkParser.OPEN_MOVE:
772
733
  this.enterOuterAlt(localContext, 5);
773
734
  {
774
- this.state = 209;
735
+ this.state = 185;
775
736
  this.moveStatement();
776
737
  }
777
738
  break;
778
- case plurnkParser.OPEN_OPEN:
779
- this.enterOuterAlt(localContext, 6);
780
- {
781
- this.state = 210;
782
- this.openStatement();
783
- }
784
- break;
785
- case plurnkParser.OPEN_FOLD:
786
- this.enterOuterAlt(localContext, 7);
787
- {
788
- this.state = 211;
789
- this.foldStatement();
790
- }
791
- break;
792
739
  case plurnkParser.OPEN_SEND:
793
- this.enterOuterAlt(localContext, 8);
740
+ this.enterOuterAlt(localContext, 6);
794
741
  {
795
- this.state = 212;
742
+ this.state = 186;
796
743
  this.midSend();
797
744
  }
798
745
  break;
799
746
  case plurnkParser.OPEN_EXEC:
800
- this.enterOuterAlt(localContext, 9);
747
+ this.enterOuterAlt(localContext, 7);
801
748
  {
802
- this.state = 213;
749
+ this.state = 187;
803
750
  this.execStatement();
804
751
  }
805
752
  break;
806
753
  case plurnkParser.OPEN_BARE:
807
- this.enterOuterAlt(localContext, 10);
754
+ this.enterOuterAlt(localContext, 8);
808
755
  {
809
- this.state = 214;
756
+ this.state = 188;
810
757
  this.bareStatement();
811
758
  }
812
759
  break;
813
760
  case plurnkParser.OPEN_WORK:
814
- this.enterOuterAlt(localContext, 11);
761
+ this.enterOuterAlt(localContext, 9);
815
762
  {
816
- this.state = 215;
763
+ this.state = 189;
817
764
  this.workStatement();
818
765
  }
819
766
  break;
820
767
  case plurnkParser.OPEN_FORK:
821
- this.enterOuterAlt(localContext, 12);
768
+ this.enterOuterAlt(localContext, 10);
822
769
  {
823
- this.state = 216;
770
+ this.state = 190;
824
771
  this.forkStatement();
825
772
  }
826
773
  break;
827
774
  case plurnkParser.OPEN_KILL:
828
- this.enterOuterAlt(localContext, 13);
775
+ this.enterOuterAlt(localContext, 11);
829
776
  {
830
- this.state = 217;
777
+ this.state = 191;
831
778
  this.killStatement();
832
779
  }
833
780
  break;
@@ -856,27 +803,27 @@ export class plurnkParser extends antlr.Parser {
856
803
  try {
857
804
  this.enterOuterAlt(localContext, 1);
858
805
  {
859
- this.state = 220;
806
+ this.state = 194;
860
807
  this.match(plurnkParser.OPEN_FIND);
861
- this.state = 222;
808
+ this.state = 196;
862
809
  this.errorHandler.sync(this);
863
810
  _la = this.tokenStream.LA(1);
864
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
811
+ if (_la === 1 || _la === 5) {
865
812
  {
866
- this.state = 221;
867
- this.tagOpModifiers();
813
+ this.state = 195;
814
+ this.slotModifiers();
868
815
  }
869
816
  }
870
- this.state = 225;
817
+ this.state = 199;
871
818
  this.errorHandler.sync(this);
872
819
  _la = this.tokenStream.LA(1);
873
- if (_la === 20) {
820
+ if (_la === 13) {
874
821
  {
875
- this.state = 224;
822
+ this.state = 198;
876
823
  this.opAnnotation();
877
824
  }
878
825
  }
879
- this.state = 227;
826
+ this.state = 201;
880
827
  this.statementEnd();
881
828
  }
882
829
  }
@@ -901,27 +848,27 @@ export class plurnkParser extends antlr.Parser {
901
848
  try {
902
849
  this.enterOuterAlt(localContext, 1);
903
850
  {
904
- this.state = 229;
851
+ this.state = 203;
905
852
  this.match(plurnkParser.OPEN_READ);
906
- this.state = 231;
853
+ this.state = 205;
907
854
  this.errorHandler.sync(this);
908
855
  _la = this.tokenStream.LA(1);
909
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
856
+ if (_la === 1 || _la === 5) {
910
857
  {
911
- this.state = 230;
912
- this.tagOpModifiers();
858
+ this.state = 204;
859
+ this.slotModifiers();
913
860
  }
914
861
  }
915
- this.state = 234;
862
+ this.state = 208;
916
863
  this.errorHandler.sync(this);
917
864
  _la = this.tokenStream.LA(1);
918
- if (_la === 20) {
865
+ if (_la === 13) {
919
866
  {
920
- this.state = 233;
867
+ this.state = 207;
921
868
  this.opAnnotation();
922
869
  }
923
870
  }
924
- this.state = 236;
871
+ this.state = 210;
925
872
  this.statementEnd();
926
873
  }
927
874
  }
@@ -946,27 +893,27 @@ export class plurnkParser extends antlr.Parser {
946
893
  try {
947
894
  this.enterOuterAlt(localContext, 1);
948
895
  {
949
- this.state = 238;
896
+ this.state = 212;
950
897
  this.match(plurnkParser.OPEN_EDIT);
951
- this.state = 240;
898
+ this.state = 214;
952
899
  this.errorHandler.sync(this);
953
900
  _la = this.tokenStream.LA(1);
954
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
901
+ if (_la === 1 || _la === 5) {
955
902
  {
956
- this.state = 239;
957
- this.tagOpModifiers();
903
+ this.state = 213;
904
+ this.slotModifiers();
958
905
  }
959
906
  }
960
- this.state = 243;
907
+ this.state = 217;
961
908
  this.errorHandler.sync(this);
962
909
  _la = this.tokenStream.LA(1);
963
- if (_la === 20) {
910
+ if (_la === 13) {
964
911
  {
965
- this.state = 242;
912
+ this.state = 216;
966
913
  this.opAnnotation();
967
914
  }
968
915
  }
969
- this.state = 245;
916
+ this.state = 219;
970
917
  this.statementEnd();
971
918
  }
972
919
  }
@@ -991,20 +938,20 @@ export class plurnkParser extends antlr.Parser {
991
938
  try {
992
939
  this.enterOuterAlt(localContext, 1);
993
940
  {
994
- this.state = 247;
941
+ this.state = 221;
995
942
  this.match(plurnkParser.OPEN_COPY);
996
- this.state = 248;
943
+ this.state = 222;
997
944
  this.transferModifiers();
998
- this.state = 250;
945
+ this.state = 224;
999
946
  this.errorHandler.sync(this);
1000
947
  _la = this.tokenStream.LA(1);
1001
- if (_la === 20) {
948
+ if (_la === 13) {
1002
949
  {
1003
- this.state = 249;
950
+ this.state = 223;
1004
951
  this.opAnnotation();
1005
952
  }
1006
953
  }
1007
- this.state = 252;
954
+ this.state = 226;
1008
955
  this.emptyStatementEnd();
1009
956
  }
1010
957
  }
@@ -1029,20 +976,20 @@ export class plurnkParser extends antlr.Parser {
1029
976
  try {
1030
977
  this.enterOuterAlt(localContext, 1);
1031
978
  {
1032
- this.state = 254;
979
+ this.state = 228;
1033
980
  this.match(plurnkParser.OPEN_MOVE);
1034
- this.state = 255;
981
+ this.state = 229;
1035
982
  this.transferModifiers();
1036
- this.state = 257;
983
+ this.state = 231;
1037
984
  this.errorHandler.sync(this);
1038
985
  _la = this.tokenStream.LA(1);
1039
- if (_la === 20) {
986
+ if (_la === 13) {
1040
987
  {
1041
- this.state = 256;
988
+ this.state = 230;
1042
989
  this.opAnnotation();
1043
990
  }
1044
991
  }
1045
- this.state = 259;
992
+ this.state = 233;
1046
993
  this.emptyStatementEnd();
1047
994
  }
1048
995
  }
@@ -1060,117 +1007,36 @@ export class plurnkParser extends antlr.Parser {
1060
1007
  }
1061
1008
  return localContext;
1062
1009
  }
1063
- openStatement() {
1064
- let localContext = new OpenStatementContext(this.context, this.state);
1065
- this.enterRule(localContext, 32, plurnkParser.RULE_openStatement);
1066
- let _la;
1067
- try {
1068
- this.enterOuterAlt(localContext, 1);
1069
- {
1070
- this.state = 261;
1071
- this.match(plurnkParser.OPEN_OPEN);
1072
- this.state = 263;
1073
- this.errorHandler.sync(this);
1074
- _la = this.tokenStream.LA(1);
1075
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1076
- {
1077
- this.state = 262;
1078
- this.tagOpModifiers();
1079
- }
1080
- }
1081
- this.state = 266;
1082
- this.errorHandler.sync(this);
1083
- _la = this.tokenStream.LA(1);
1084
- if (_la === 20) {
1085
- {
1086
- this.state = 265;
1087
- this.opAnnotation();
1088
- }
1089
- }
1090
- this.state = 268;
1091
- this.statementEnd();
1092
- }
1093
- }
1094
- catch (re) {
1095
- if (re instanceof antlr.RecognitionException) {
1096
- this.errorHandler.reportError(this, re);
1097
- this.errorHandler.recover(this, re);
1098
- }
1099
- else {
1100
- throw re;
1101
- }
1102
- }
1103
- finally {
1104
- this.exitRule();
1105
- }
1106
- return localContext;
1107
- }
1108
- foldStatement() {
1109
- let localContext = new FoldStatementContext(this.context, this.state);
1110
- this.enterRule(localContext, 34, plurnkParser.RULE_foldStatement);
1010
+ sendStatement() {
1011
+ let localContext = new SendStatementContext(this.context, this.state);
1012
+ this.enterRule(localContext, 32, plurnkParser.RULE_sendStatement);
1111
1013
  let _la;
1112
1014
  try {
1113
1015
  this.enterOuterAlt(localContext, 1);
1114
1016
  {
1115
- this.state = 270;
1116
- this.match(plurnkParser.OPEN_FOLD);
1117
- this.state = 272;
1118
- this.errorHandler.sync(this);
1119
- _la = this.tokenStream.LA(1);
1120
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1121
- {
1122
- this.state = 271;
1123
- this.tagOpModifiers();
1124
- }
1125
- }
1126
- this.state = 275;
1017
+ this.state = 235;
1018
+ this.match(plurnkParser.OPEN_SEND);
1019
+ this.state = 236;
1020
+ this.match(plurnkParser.SEND_LABEL);
1021
+ this.state = 238;
1127
1022
  this.errorHandler.sync(this);
1128
1023
  _la = this.tokenStream.LA(1);
1129
- if (_la === 20) {
1024
+ if (_la === 5) {
1130
1025
  {
1131
- this.state = 274;
1132
- this.opAnnotation();
1026
+ this.state = 237;
1027
+ this.lineMarker();
1133
1028
  }
1134
1029
  }
1135
- this.state = 277;
1136
- this.statementEnd();
1137
- }
1138
- }
1139
- catch (re) {
1140
- if (re instanceof antlr.RecognitionException) {
1141
- this.errorHandler.reportError(this, re);
1142
- this.errorHandler.recover(this, re);
1143
- }
1144
- else {
1145
- throw re;
1146
- }
1147
- }
1148
- finally {
1149
- this.exitRule();
1150
- }
1151
- return localContext;
1152
- }
1153
- sendStatement() {
1154
- let localContext = new SendStatementContext(this.context, this.state);
1155
- this.enterRule(localContext, 36, plurnkParser.RULE_sendStatement);
1156
- let _la;
1157
- try {
1158
- this.enterOuterAlt(localContext, 1);
1159
- {
1160
- this.state = 279;
1161
- this.match(plurnkParser.OPEN_SEND);
1162
- this.state = 280;
1163
- this.termModifiers();
1164
- this.state = 282;
1030
+ this.state = 241;
1165
1031
  this.errorHandler.sync(this);
1166
1032
  _la = this.tokenStream.LA(1);
1167
- if (_la === 20) {
1033
+ if (_la === 13) {
1168
1034
  {
1169
- this.state = 281;
1035
+ this.state = 240;
1170
1036
  this.opAnnotation();
1171
1037
  }
1172
1038
  }
1173
- this.state = 284;
1039
+ this.state = 243;
1174
1040
  this.statementEnd();
1175
1041
  }
1176
1042
  }
@@ -1190,32 +1056,32 @@ export class plurnkParser extends antlr.Parser {
1190
1056
  }
1191
1057
  midSend() {
1192
1058
  let localContext = new MidSendContext(this.context, this.state);
1193
- this.enterRule(localContext, 38, plurnkParser.RULE_midSend);
1059
+ this.enterRule(localContext, 34, plurnkParser.RULE_midSend);
1194
1060
  let _la;
1195
1061
  try {
1196
1062
  this.enterOuterAlt(localContext, 1);
1197
1063
  {
1198
- this.state = 286;
1064
+ this.state = 245;
1199
1065
  this.match(plurnkParser.OPEN_SEND);
1200
- this.state = 288;
1066
+ this.state = 247;
1201
1067
  this.errorHandler.sync(this);
1202
1068
  _la = this.tokenStream.LA(1);
1203
- if (_la === 1 || _la === 3) {
1069
+ if (_la === 1) {
1204
1070
  {
1205
- this.state = 287;
1206
- this.midModifiers();
1071
+ this.state = 246;
1072
+ this.targetWithMetadata();
1207
1073
  }
1208
1074
  }
1209
- this.state = 291;
1075
+ this.state = 250;
1210
1076
  this.errorHandler.sync(this);
1211
1077
  _la = this.tokenStream.LA(1);
1212
- if (_la === 20) {
1078
+ if (_la === 13) {
1213
1079
  {
1214
- this.state = 290;
1080
+ this.state = 249;
1215
1081
  this.opAnnotation();
1216
1082
  }
1217
1083
  }
1218
- this.state = 293;
1084
+ this.state = 252;
1219
1085
  this.statementEnd();
1220
1086
  }
1221
1087
  }
@@ -1235,32 +1101,51 @@ export class plurnkParser extends antlr.Parser {
1235
1101
  }
1236
1102
  execStatement() {
1237
1103
  let localContext = new ExecStatementContext(this.context, this.state);
1238
- this.enterRule(localContext, 40, plurnkParser.RULE_execStatement);
1104
+ this.enterRule(localContext, 36, plurnkParser.RULE_execStatement);
1239
1105
  let _la;
1240
1106
  try {
1241
1107
  this.enterOuterAlt(localContext, 1);
1242
1108
  {
1243
- this.state = 295;
1109
+ this.state = 254;
1244
1110
  this.match(plurnkParser.OPEN_EXEC);
1245
- this.state = 297;
1111
+ this.state = 256;
1112
+ this.errorHandler.sync(this);
1113
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 29, this.context)) {
1114
+ case 1:
1115
+ {
1116
+ this.state = 255;
1117
+ this.match(plurnkParser.EXECUTOR);
1118
+ }
1119
+ break;
1120
+ }
1121
+ this.state = 259;
1246
1122
  this.errorHandler.sync(this);
1247
1123
  _la = this.tokenStream.LA(1);
1248
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1124
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1249
1125
  {
1250
- this.state = 296;
1126
+ this.state = 258;
1251
1127
  this.execModifiers();
1252
1128
  }
1253
1129
  }
1254
- this.state = 300;
1130
+ this.state = 262;
1131
+ this.errorHandler.sync(this);
1132
+ _la = this.tokenStream.LA(1);
1133
+ if (_la === 15) {
1134
+ {
1135
+ this.state = 261;
1136
+ this.match(plurnkParser.EXECUTOR);
1137
+ }
1138
+ }
1139
+ this.state = 265;
1255
1140
  this.errorHandler.sync(this);
1256
1141
  _la = this.tokenStream.LA(1);
1257
- if (_la === 20) {
1142
+ if (_la === 13) {
1258
1143
  {
1259
- this.state = 299;
1144
+ this.state = 264;
1260
1145
  this.opAnnotation();
1261
1146
  }
1262
1147
  }
1263
- this.state = 302;
1148
+ this.state = 267;
1264
1149
  this.statementEnd();
1265
1150
  }
1266
1151
  }
@@ -1280,32 +1165,23 @@ export class plurnkParser extends antlr.Parser {
1280
1165
  }
1281
1166
  bareStatement() {
1282
1167
  let localContext = new BareStatementContext(this.context, this.state);
1283
- this.enterRule(localContext, 42, plurnkParser.RULE_bareStatement);
1168
+ this.enterRule(localContext, 38, plurnkParser.RULE_bareStatement);
1284
1169
  let _la;
1285
1170
  try {
1286
1171
  this.enterOuterAlt(localContext, 1);
1287
1172
  {
1288
- this.state = 304;
1173
+ this.state = 269;
1289
1174
  this.match(plurnkParser.OPEN_BARE);
1290
- this.state = 306;
1291
- this.errorHandler.sync(this);
1292
- _la = this.tokenStream.LA(1);
1293
- if (_la === 1) {
1294
- {
1295
- this.state = 305;
1296
- this.tagSignal();
1297
- }
1298
- }
1299
- this.state = 309;
1175
+ this.state = 271;
1300
1176
  this.errorHandler.sync(this);
1301
1177
  _la = this.tokenStream.LA(1);
1302
- if (_la === 20) {
1178
+ if (_la === 13) {
1303
1179
  {
1304
- this.state = 308;
1180
+ this.state = 270;
1305
1181
  this.opAnnotation();
1306
1182
  }
1307
1183
  }
1308
- this.state = 311;
1184
+ this.state = 273;
1309
1185
  this.statementEnd();
1310
1186
  }
1311
1187
  }
@@ -1325,32 +1201,32 @@ export class plurnkParser extends antlr.Parser {
1325
1201
  }
1326
1202
  workStatement() {
1327
1203
  let localContext = new WorkStatementContext(this.context, this.state);
1328
- this.enterRule(localContext, 44, plurnkParser.RULE_workStatement);
1204
+ this.enterRule(localContext, 40, plurnkParser.RULE_workStatement);
1329
1205
  let _la;
1330
1206
  try {
1331
1207
  this.enterOuterAlt(localContext, 1);
1332
1208
  {
1333
- this.state = 313;
1209
+ this.state = 275;
1334
1210
  this.match(plurnkParser.OPEN_WORK);
1335
- this.state = 315;
1211
+ this.state = 277;
1336
1212
  this.errorHandler.sync(this);
1337
1213
  _la = this.tokenStream.LA(1);
1338
- if (_la === 1 || _la === 3) {
1214
+ if (_la === 1) {
1339
1215
  {
1340
- this.state = 314;
1341
- this.branchModifiers();
1216
+ this.state = 276;
1217
+ this.targetWithMetadata();
1342
1218
  }
1343
1219
  }
1344
- this.state = 318;
1220
+ this.state = 280;
1345
1221
  this.errorHandler.sync(this);
1346
1222
  _la = this.tokenStream.LA(1);
1347
- if (_la === 20) {
1223
+ if (_la === 13) {
1348
1224
  {
1349
- this.state = 317;
1225
+ this.state = 279;
1350
1226
  this.opAnnotation();
1351
1227
  }
1352
1228
  }
1353
- this.state = 320;
1229
+ this.state = 282;
1354
1230
  this.statementEnd();
1355
1231
  }
1356
1232
  }
@@ -1370,32 +1246,32 @@ export class plurnkParser extends antlr.Parser {
1370
1246
  }
1371
1247
  forkStatement() {
1372
1248
  let localContext = new ForkStatementContext(this.context, this.state);
1373
- this.enterRule(localContext, 46, plurnkParser.RULE_forkStatement);
1249
+ this.enterRule(localContext, 42, plurnkParser.RULE_forkStatement);
1374
1250
  let _la;
1375
1251
  try {
1376
1252
  this.enterOuterAlt(localContext, 1);
1377
1253
  {
1378
- this.state = 322;
1254
+ this.state = 284;
1379
1255
  this.match(plurnkParser.OPEN_FORK);
1380
- this.state = 324;
1256
+ this.state = 286;
1381
1257
  this.errorHandler.sync(this);
1382
1258
  _la = this.tokenStream.LA(1);
1383
- if (_la === 1 || _la === 3) {
1259
+ if (_la === 1) {
1384
1260
  {
1385
- this.state = 323;
1386
- this.branchModifiers();
1261
+ this.state = 285;
1262
+ this.targetWithMetadata();
1387
1263
  }
1388
1264
  }
1389
- this.state = 327;
1265
+ this.state = 289;
1390
1266
  this.errorHandler.sync(this);
1391
1267
  _la = this.tokenStream.LA(1);
1392
- if (_la === 20) {
1268
+ if (_la === 13) {
1393
1269
  {
1394
- this.state = 326;
1270
+ this.state = 288;
1395
1271
  this.opAnnotation();
1396
1272
  }
1397
1273
  }
1398
- this.state = 329;
1274
+ this.state = 291;
1399
1275
  this.statementEnd();
1400
1276
  }
1401
1277
  }
@@ -1415,32 +1291,32 @@ export class plurnkParser extends antlr.Parser {
1415
1291
  }
1416
1292
  killStatement() {
1417
1293
  let localContext = new KillStatementContext(this.context, this.state);
1418
- this.enterRule(localContext, 48, plurnkParser.RULE_killStatement);
1294
+ this.enterRule(localContext, 44, plurnkParser.RULE_killStatement);
1419
1295
  let _la;
1420
1296
  try {
1421
1297
  this.enterOuterAlt(localContext, 1);
1422
1298
  {
1423
- this.state = 331;
1299
+ this.state = 293;
1424
1300
  this.match(plurnkParser.OPEN_KILL);
1425
- this.state = 333;
1301
+ this.state = 295;
1426
1302
  this.errorHandler.sync(this);
1427
1303
  _la = this.tokenStream.LA(1);
1428
- if (_la === 1 || _la === 3) {
1304
+ if (_la === 1 || _la === 5) {
1429
1305
  {
1430
- this.state = 332;
1431
- this.intOpModifiers();
1306
+ this.state = 294;
1307
+ this.slotModifiers();
1432
1308
  }
1433
1309
  }
1434
- this.state = 336;
1310
+ this.state = 298;
1435
1311
  this.errorHandler.sync(this);
1436
1312
  _la = this.tokenStream.LA(1);
1437
- if (_la === 20) {
1313
+ if (_la === 13) {
1438
1314
  {
1439
- this.state = 335;
1315
+ this.state = 297;
1440
1316
  this.opAnnotation();
1441
1317
  }
1442
1318
  }
1443
- this.state = 338;
1319
+ this.state = 300;
1444
1320
  this.statementEnd();
1445
1321
  }
1446
1322
  }
@@ -1460,32 +1336,32 @@ export class plurnkParser extends antlr.Parser {
1460
1336
  }
1461
1337
  planStatement() {
1462
1338
  let localContext = new PlanStatementContext(this.context, this.state);
1463
- this.enterRule(localContext, 50, plurnkParser.RULE_planStatement);
1339
+ this.enterRule(localContext, 46, plurnkParser.RULE_planStatement);
1464
1340
  let _la;
1465
1341
  try {
1466
1342
  this.enterOuterAlt(localContext, 1);
1467
1343
  {
1468
- this.state = 340;
1344
+ this.state = 302;
1469
1345
  this.match(plurnkParser.OPEN_PLAN);
1470
- this.state = 342;
1346
+ this.state = 304;
1471
1347
  this.errorHandler.sync(this);
1472
1348
  _la = this.tokenStream.LA(1);
1473
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1349
+ if (_la === 1 || _la === 5) {
1474
1350
  {
1475
- this.state = 341;
1476
- this.tagOpModifiers();
1351
+ this.state = 303;
1352
+ this.slotModifiers();
1477
1353
  }
1478
1354
  }
1479
- this.state = 345;
1355
+ this.state = 307;
1480
1356
  this.errorHandler.sync(this);
1481
1357
  _la = this.tokenStream.LA(1);
1482
- if (_la === 20) {
1358
+ if (_la === 13) {
1483
1359
  {
1484
- this.state = 344;
1360
+ this.state = 306;
1485
1361
  this.opAnnotation();
1486
1362
  }
1487
1363
  }
1488
- this.state = 347;
1364
+ this.state = 309;
1489
1365
  this.statementEnd();
1490
1366
  }
1491
1367
  }
@@ -1505,32 +1381,32 @@ export class plurnkParser extends antlr.Parser {
1505
1381
  }
1506
1382
  lookStatement() {
1507
1383
  let localContext = new LookStatementContext(this.context, this.state);
1508
- this.enterRule(localContext, 52, plurnkParser.RULE_lookStatement);
1384
+ this.enterRule(localContext, 48, plurnkParser.RULE_lookStatement);
1509
1385
  let _la;
1510
1386
  try {
1511
1387
  this.enterOuterAlt(localContext, 1);
1512
1388
  {
1513
- this.state = 349;
1389
+ this.state = 311;
1514
1390
  this.match(plurnkParser.OPEN_LOOK);
1515
- this.state = 351;
1391
+ this.state = 313;
1516
1392
  this.errorHandler.sync(this);
1517
1393
  _la = this.tokenStream.LA(1);
1518
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1394
+ if (_la === 1 || _la === 5) {
1519
1395
  {
1520
- this.state = 350;
1521
- this.tagOpModifiers();
1396
+ this.state = 312;
1397
+ this.slotModifiers();
1522
1398
  }
1523
1399
  }
1524
- this.state = 354;
1400
+ this.state = 316;
1525
1401
  this.errorHandler.sync(this);
1526
1402
  _la = this.tokenStream.LA(1);
1527
- if (_la === 20) {
1403
+ if (_la === 13) {
1528
1404
  {
1529
- this.state = 353;
1405
+ this.state = 315;
1530
1406
  this.opAnnotation();
1531
1407
  }
1532
1408
  }
1533
- this.state = 356;
1409
+ this.state = 318;
1534
1410
  this.statementEnd();
1535
1411
  }
1536
1412
  }
@@ -1550,32 +1426,32 @@ export class plurnkParser extends antlr.Parser {
1550
1426
  }
1551
1427
  buffStatement() {
1552
1428
  let localContext = new BuffStatementContext(this.context, this.state);
1553
- this.enterRule(localContext, 54, plurnkParser.RULE_buffStatement);
1429
+ this.enterRule(localContext, 50, plurnkParser.RULE_buffStatement);
1554
1430
  let _la;
1555
1431
  try {
1556
1432
  this.enterOuterAlt(localContext, 1);
1557
1433
  {
1558
- this.state = 358;
1434
+ this.state = 320;
1559
1435
  this.match(plurnkParser.OPEN_BUFF);
1560
- this.state = 360;
1436
+ this.state = 322;
1561
1437
  this.errorHandler.sync(this);
1562
1438
  _la = this.tokenStream.LA(1);
1563
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1439
+ if (_la === 1 || _la === 5) {
1564
1440
  {
1565
- this.state = 359;
1566
- this.tagOpModifiers();
1441
+ this.state = 321;
1442
+ this.slotModifiers();
1567
1443
  }
1568
1444
  }
1569
- this.state = 363;
1445
+ this.state = 325;
1570
1446
  this.errorHandler.sync(this);
1571
1447
  _la = this.tokenStream.LA(1);
1572
- if (_la === 20) {
1448
+ if (_la === 13) {
1573
1449
  {
1574
- this.state = 362;
1450
+ this.state = 324;
1575
1451
  this.opAnnotation();
1576
1452
  }
1577
1453
  }
1578
- this.state = 365;
1454
+ this.state = 327;
1579
1455
  this.statementEnd();
1580
1456
  }
1581
1457
  }
@@ -1595,11 +1471,11 @@ export class plurnkParser extends antlr.Parser {
1595
1471
  }
1596
1472
  opAnnotation() {
1597
1473
  let localContext = new OpAnnotationContext(this.context, this.state);
1598
- this.enterRule(localContext, 56, plurnkParser.RULE_opAnnotation);
1474
+ this.enterRule(localContext, 52, plurnkParser.RULE_opAnnotation);
1599
1475
  try {
1600
1476
  this.enterOuterAlt(localContext, 1);
1601
1477
  {
1602
- this.state = 367;
1478
+ this.state = 329;
1603
1479
  this.match(plurnkParser.ANNOTATION);
1604
1480
  }
1605
1481
  }
@@ -1619,39 +1495,39 @@ export class plurnkParser extends antlr.Parser {
1619
1495
  }
1620
1496
  statementEnd() {
1621
1497
  let localContext = new StatementEndContext(this.context, this.state);
1622
- this.enterRule(localContext, 58, plurnkParser.RULE_statementEnd);
1498
+ this.enterRule(localContext, 54, plurnkParser.RULE_statementEnd);
1623
1499
  let _la;
1624
1500
  try {
1625
- this.state = 382;
1501
+ this.state = 344;
1626
1502
  this.errorHandler.sync(this);
1627
1503
  switch (this.tokenStream.LA(1)) {
1628
1504
  case plurnkParser.SECTION_END:
1629
1505
  this.enterOuterAlt(localContext, 1);
1630
1506
  {
1631
- this.state = 369;
1507
+ this.state = 331;
1632
1508
  this.match(plurnkParser.SECTION_END);
1633
1509
  }
1634
1510
  break;
1635
1511
  case plurnkParser.BODY_OPEN:
1636
1512
  this.enterOuterAlt(localContext, 2);
1637
1513
  {
1638
- this.state = 370;
1514
+ this.state = 332;
1639
1515
  this.match(plurnkParser.BODY_OPEN);
1640
- this.state = 372;
1516
+ this.state = 334;
1641
1517
  this.errorHandler.sync(this);
1642
1518
  _la = this.tokenStream.LA(1);
1643
- if (_la === 18) {
1519
+ if (_la === 11) {
1644
1520
  {
1645
- this.state = 371;
1521
+ this.state = 333;
1646
1522
  this.body();
1647
1523
  }
1648
1524
  }
1649
- this.state = 375;
1525
+ this.state = 337;
1650
1526
  this.errorHandler.sync(this);
1651
1527
  _la = this.tokenStream.LA(1);
1652
- if (_la === 10) {
1528
+ if (_la === 8) {
1653
1529
  {
1654
- this.state = 374;
1530
+ this.state = 336;
1655
1531
  this.match(plurnkParser.SECTION_END);
1656
1532
  }
1657
1533
  }
@@ -1660,14 +1536,14 @@ export class plurnkParser extends antlr.Parser {
1660
1536
  case plurnkParser.BODY_TEXT:
1661
1537
  this.enterOuterAlt(localContext, 3);
1662
1538
  {
1663
- this.state = 377;
1539
+ this.state = 339;
1664
1540
  this.body();
1665
- this.state = 379;
1541
+ this.state = 341;
1666
1542
  this.errorHandler.sync(this);
1667
1543
  _la = this.tokenStream.LA(1);
1668
- if (_la === 10) {
1544
+ if (_la === 8) {
1669
1545
  {
1670
- this.state = 378;
1546
+ this.state = 340;
1671
1547
  this.match(plurnkParser.SECTION_END);
1672
1548
  }
1673
1549
  }
@@ -1681,8 +1557,6 @@ export class plurnkParser extends antlr.Parser {
1681
1557
  case plurnkParser.OPEN_EDIT:
1682
1558
  case plurnkParser.OPEN_COPY:
1683
1559
  case plurnkParser.OPEN_MOVE:
1684
- case plurnkParser.OPEN_OPEN:
1685
- case plurnkParser.OPEN_FOLD:
1686
1560
  case plurnkParser.OPEN_SEND:
1687
1561
  case plurnkParser.OPEN_EXEC:
1688
1562
  case plurnkParser.OPEN_BARE:
@@ -1717,52 +1591,14 @@ export class plurnkParser extends antlr.Parser {
1717
1591
  }
1718
1592
  transferModifiers() {
1719
1593
  let localContext = new TransferModifiersContext(this.context, this.state);
1720
- this.enterRule(localContext, 60, plurnkParser.RULE_transferModifiers);
1721
- let _la;
1594
+ this.enterRule(localContext, 56, plurnkParser.RULE_transferModifiers);
1722
1595
  try {
1723
- this.state = 397;
1724
- this.errorHandler.sync(this);
1725
- switch (this.interpreter.adaptivePredict(this.tokenStream, 52, this.context)) {
1726
- case 1:
1727
- this.enterOuterAlt(localContext, 1);
1728
- {
1729
- this.state = 384;
1730
- this.tagSignal();
1731
- this.state = 385;
1732
- this.resourceSelection();
1733
- this.state = 386;
1734
- this.resourceSelection();
1735
- }
1736
- break;
1737
- case 2:
1738
- this.enterOuterAlt(localContext, 2);
1739
- {
1740
- this.state = 388;
1741
- this.resourceSelection();
1742
- this.state = 389;
1743
- this.tagSignal();
1744
- this.state = 390;
1745
- this.resourceSelection();
1746
- }
1747
- break;
1748
- case 3:
1749
- this.enterOuterAlt(localContext, 3);
1750
- {
1751
- this.state = 392;
1752
- this.resourceSelection();
1753
- this.state = 393;
1754
- this.resourceSelection();
1755
- this.state = 395;
1756
- this.errorHandler.sync(this);
1757
- _la = this.tokenStream.LA(1);
1758
- if (_la === 1) {
1759
- {
1760
- this.state = 394;
1761
- this.tagSignal();
1762
- }
1763
- }
1764
- }
1765
- break;
1596
+ this.enterOuterAlt(localContext, 1);
1597
+ {
1598
+ this.state = 346;
1599
+ this.resourceSelection();
1600
+ this.state = 347;
1601
+ this.resourceSelection();
1766
1602
  }
1767
1603
  }
1768
1604
  catch (re) {
@@ -1781,19 +1617,19 @@ export class plurnkParser extends antlr.Parser {
1781
1617
  }
1782
1618
  resourceSelection() {
1783
1619
  let localContext = new ResourceSelectionContext(this.context, this.state);
1784
- this.enterRule(localContext, 62, plurnkParser.RULE_resourceSelection);
1620
+ this.enterRule(localContext, 58, plurnkParser.RULE_resourceSelection);
1785
1621
  let _la;
1786
1622
  try {
1787
1623
  this.enterOuterAlt(localContext, 1);
1788
1624
  {
1789
- this.state = 399;
1625
+ this.state = 349;
1790
1626
  this.targetWithMetadata();
1791
- this.state = 401;
1627
+ this.state = 351;
1792
1628
  this.errorHandler.sync(this);
1793
1629
  _la = this.tokenStream.LA(1);
1794
- if (_la === 7) {
1630
+ if (_la === 5) {
1795
1631
  {
1796
- this.state = 400;
1632
+ this.state = 350;
1797
1633
  this.lineMarker();
1798
1634
  }
1799
1635
  }
@@ -1815,30 +1651,30 @@ export class plurnkParser extends antlr.Parser {
1815
1651
  }
1816
1652
  emptyStatementEnd() {
1817
1653
  let localContext = new EmptyStatementEndContext(this.context, this.state);
1818
- this.enterRule(localContext, 64, plurnkParser.RULE_emptyStatementEnd);
1654
+ this.enterRule(localContext, 60, plurnkParser.RULE_emptyStatementEnd);
1819
1655
  let _la;
1820
1656
  try {
1821
- this.state = 409;
1657
+ this.state = 359;
1822
1658
  this.errorHandler.sync(this);
1823
1659
  switch (this.tokenStream.LA(1)) {
1824
1660
  case plurnkParser.SECTION_END:
1825
1661
  this.enterOuterAlt(localContext, 1);
1826
1662
  {
1827
- this.state = 403;
1663
+ this.state = 353;
1828
1664
  this.match(plurnkParser.SECTION_END);
1829
1665
  }
1830
1666
  break;
1831
1667
  case plurnkParser.BODY_OPEN:
1832
1668
  this.enterOuterAlt(localContext, 2);
1833
1669
  {
1834
- this.state = 404;
1670
+ this.state = 354;
1835
1671
  this.match(plurnkParser.BODY_OPEN);
1836
- this.state = 406;
1672
+ this.state = 356;
1837
1673
  this.errorHandler.sync(this);
1838
1674
  _la = this.tokenStream.LA(1);
1839
- if (_la === 10) {
1675
+ if (_la === 8) {
1840
1676
  {
1841
- this.state = 405;
1677
+ this.state = 355;
1842
1678
  this.match(plurnkParser.SECTION_END);
1843
1679
  }
1844
1680
  }
@@ -1851,8 +1687,6 @@ export class plurnkParser extends antlr.Parser {
1851
1687
  case plurnkParser.OPEN_EDIT:
1852
1688
  case plurnkParser.OPEN_COPY:
1853
1689
  case plurnkParser.OPEN_MOVE:
1854
- case plurnkParser.OPEN_OPEN:
1855
- case plurnkParser.OPEN_FOLD:
1856
1690
  case plurnkParser.OPEN_SEND:
1857
1691
  case plurnkParser.OPEN_EXEC:
1858
1692
  case plurnkParser.OPEN_BARE:
@@ -1885,451 +1719,42 @@ export class plurnkParser extends antlr.Parser {
1885
1719
  }
1886
1720
  return localContext;
1887
1721
  }
1888
- tagOpModifiers() {
1889
- let localContext = new TagOpModifiersContext(this.context, this.state);
1890
- this.enterRule(localContext, 66, plurnkParser.RULE_tagOpModifiers);
1722
+ slotModifiers() {
1723
+ let localContext = new SlotModifiersContext(this.context, this.state);
1724
+ this.enterRule(localContext, 62, plurnkParser.RULE_slotModifiers);
1891
1725
  let _la;
1892
1726
  try {
1893
- this.state = 444;
1727
+ this.state = 369;
1894
1728
  this.errorHandler.sync(this);
1895
1729
  switch (this.tokenStream.LA(1)) {
1896
- case plurnkParser.LBRACKET:
1897
- this.enterOuterAlt(localContext, 1);
1898
- {
1899
- this.state = 411;
1900
- this.tagSignal();
1901
- this.state = 420;
1902
- this.errorHandler.sync(this);
1903
- switch (this.tokenStream.LA(1)) {
1904
- case plurnkParser.LPAREN:
1905
- {
1906
- this.state = 412;
1907
- this.targetWithMetadata();
1908
- this.state = 414;
1909
- this.errorHandler.sync(this);
1910
- _la = this.tokenStream.LA(1);
1911
- if (_la === 7) {
1912
- {
1913
- this.state = 413;
1914
- this.lineMarker();
1915
- }
1916
- }
1917
- }
1918
- break;
1919
- case plurnkParser.L_MARKER:
1920
- {
1921
- this.state = 416;
1922
- this.lineMarker();
1923
- this.state = 418;
1924
- this.errorHandler.sync(this);
1925
- _la = this.tokenStream.LA(1);
1926
- if (_la === 3) {
1927
- {
1928
- this.state = 417;
1929
- this.targetWithMetadata();
1930
- }
1931
- }
1932
- }
1933
- break;
1934
- case plurnkParser.EOF:
1935
- case plurnkParser.BODY_OPEN:
1936
- case plurnkParser.SECTION_END:
1937
- case plurnkParser.BODY_TEXT:
1938
- case plurnkParser.ANNOTATION:
1939
- case plurnkParser.OPEN_PLAN:
1940
- case plurnkParser.OPEN_FIND:
1941
- case plurnkParser.OPEN_READ:
1942
- case plurnkParser.OPEN_EDIT:
1943
- case plurnkParser.OPEN_COPY:
1944
- case plurnkParser.OPEN_MOVE:
1945
- case plurnkParser.OPEN_OPEN:
1946
- case plurnkParser.OPEN_FOLD:
1947
- case plurnkParser.OPEN_SEND:
1948
- case plurnkParser.OPEN_EXEC:
1949
- case plurnkParser.OPEN_BARE:
1950
- case plurnkParser.OPEN_WORK:
1951
- case plurnkParser.OPEN_FORK:
1952
- case plurnkParser.OPEN_KILL:
1953
- case plurnkParser.OPEN_LOOK:
1954
- case plurnkParser.OPEN_BUFF:
1955
- case plurnkParser.FENCE_CLOSE:
1956
- break;
1957
- default:
1958
- break;
1959
- }
1960
- }
1961
- break;
1962
1730
  case plurnkParser.LPAREN:
1963
- this.enterOuterAlt(localContext, 2);
1964
- {
1965
- this.state = 422;
1966
- this.targetWithMetadata();
1967
- this.state = 431;
1968
- this.errorHandler.sync(this);
1969
- switch (this.tokenStream.LA(1)) {
1970
- case plurnkParser.LBRACKET:
1971
- {
1972
- this.state = 423;
1973
- this.tagSignal();
1974
- this.state = 425;
1975
- this.errorHandler.sync(this);
1976
- _la = this.tokenStream.LA(1);
1977
- if (_la === 7) {
1978
- {
1979
- this.state = 424;
1980
- this.lineMarker();
1981
- }
1982
- }
1983
- }
1984
- break;
1985
- case plurnkParser.L_MARKER:
1986
- {
1987
- this.state = 427;
1988
- this.lineMarker();
1989
- this.state = 429;
1990
- this.errorHandler.sync(this);
1991
- _la = this.tokenStream.LA(1);
1992
- if (_la === 1) {
1993
- {
1994
- this.state = 428;
1995
- this.tagSignal();
1996
- }
1997
- }
1998
- }
1999
- break;
2000
- case plurnkParser.EOF:
2001
- case plurnkParser.BODY_OPEN:
2002
- case plurnkParser.SECTION_END:
2003
- case plurnkParser.BODY_TEXT:
2004
- case plurnkParser.ANNOTATION:
2005
- case plurnkParser.OPEN_PLAN:
2006
- case plurnkParser.OPEN_FIND:
2007
- case plurnkParser.OPEN_READ:
2008
- case plurnkParser.OPEN_EDIT:
2009
- case plurnkParser.OPEN_COPY:
2010
- case plurnkParser.OPEN_MOVE:
2011
- case plurnkParser.OPEN_OPEN:
2012
- case plurnkParser.OPEN_FOLD:
2013
- case plurnkParser.OPEN_SEND:
2014
- case plurnkParser.OPEN_EXEC:
2015
- case plurnkParser.OPEN_BARE:
2016
- case plurnkParser.OPEN_WORK:
2017
- case plurnkParser.OPEN_FORK:
2018
- case plurnkParser.OPEN_KILL:
2019
- case plurnkParser.OPEN_LOOK:
2020
- case plurnkParser.OPEN_BUFF:
2021
- case plurnkParser.FENCE_CLOSE:
2022
- break;
2023
- default:
2024
- break;
2025
- }
2026
- }
2027
- break;
2028
- case plurnkParser.L_MARKER:
2029
- this.enterOuterAlt(localContext, 3);
2030
- {
2031
- this.state = 433;
2032
- this.lineMarker();
2033
- this.state = 442;
2034
- this.errorHandler.sync(this);
2035
- switch (this.tokenStream.LA(1)) {
2036
- case plurnkParser.LBRACKET:
2037
- {
2038
- this.state = 434;
2039
- this.tagSignal();
2040
- this.state = 436;
2041
- this.errorHandler.sync(this);
2042
- _la = this.tokenStream.LA(1);
2043
- if (_la === 3) {
2044
- {
2045
- this.state = 435;
2046
- this.targetWithMetadata();
2047
- }
2048
- }
2049
- }
2050
- break;
2051
- case plurnkParser.LPAREN:
2052
- {
2053
- this.state = 438;
2054
- this.targetWithMetadata();
2055
- this.state = 440;
2056
- this.errorHandler.sync(this);
2057
- _la = this.tokenStream.LA(1);
2058
- if (_la === 1) {
2059
- {
2060
- this.state = 439;
2061
- this.tagSignal();
2062
- }
2063
- }
2064
- }
2065
- break;
2066
- case plurnkParser.EOF:
2067
- case plurnkParser.BODY_OPEN:
2068
- case plurnkParser.SECTION_END:
2069
- case plurnkParser.BODY_TEXT:
2070
- case plurnkParser.ANNOTATION:
2071
- case plurnkParser.OPEN_PLAN:
2072
- case plurnkParser.OPEN_FIND:
2073
- case plurnkParser.OPEN_READ:
2074
- case plurnkParser.OPEN_EDIT:
2075
- case plurnkParser.OPEN_COPY:
2076
- case plurnkParser.OPEN_MOVE:
2077
- case plurnkParser.OPEN_OPEN:
2078
- case plurnkParser.OPEN_FOLD:
2079
- case plurnkParser.OPEN_SEND:
2080
- case plurnkParser.OPEN_EXEC:
2081
- case plurnkParser.OPEN_BARE:
2082
- case plurnkParser.OPEN_WORK:
2083
- case plurnkParser.OPEN_FORK:
2084
- case plurnkParser.OPEN_KILL:
2085
- case plurnkParser.OPEN_LOOK:
2086
- case plurnkParser.OPEN_BUFF:
2087
- case plurnkParser.FENCE_CLOSE:
2088
- break;
2089
- default:
2090
- break;
2091
- }
2092
- }
2093
- break;
2094
- default:
2095
- throw new antlr.NoViableAltException(this);
2096
- }
2097
- }
2098
- catch (re) {
2099
- if (re instanceof antlr.RecognitionException) {
2100
- this.errorHandler.reportError(this, re);
2101
- this.errorHandler.recover(this, re);
2102
- }
2103
- else {
2104
- throw re;
2105
- }
2106
- }
2107
- finally {
2108
- this.exitRule();
2109
- }
2110
- return localContext;
2111
- }
2112
- intOpModifiers() {
2113
- let localContext = new IntOpModifiersContext(this.context, this.state);
2114
- this.enterRule(localContext, 68, plurnkParser.RULE_intOpModifiers);
2115
- let _la;
2116
- try {
2117
- this.state = 454;
2118
- this.errorHandler.sync(this);
2119
- switch (this.tokenStream.LA(1)) {
2120
- case plurnkParser.LBRACKET:
2121
1731
  this.enterOuterAlt(localContext, 1);
2122
1732
  {
2123
- this.state = 446;
2124
- this.intSignal();
2125
- this.state = 448;
2126
- this.errorHandler.sync(this);
2127
- _la = this.tokenStream.LA(1);
2128
- if (_la === 3) {
2129
- {
2130
- this.state = 447;
2131
- this.targetWithMetadata();
2132
- }
2133
- }
2134
- }
2135
- break;
2136
- case plurnkParser.LPAREN:
2137
- this.enterOuterAlt(localContext, 2);
2138
- {
2139
- this.state = 450;
2140
- this.targetWithMetadata();
2141
- this.state = 452;
2142
- this.errorHandler.sync(this);
2143
- _la = this.tokenStream.LA(1);
2144
- if (_la === 1) {
2145
- {
2146
- this.state = 451;
2147
- this.intSignal();
2148
- }
2149
- }
2150
- }
2151
- break;
2152
- default:
2153
- throw new antlr.NoViableAltException(this);
2154
- }
2155
- }
2156
- catch (re) {
2157
- if (re instanceof antlr.RecognitionException) {
2158
- this.errorHandler.reportError(this, re);
2159
- this.errorHandler.recover(this, re);
2160
- }
2161
- else {
2162
- throw re;
2163
- }
2164
- }
2165
- finally {
2166
- this.exitRule();
2167
- }
2168
- return localContext;
2169
- }
2170
- branchModifiers() {
2171
- let localContext = new BranchModifiersContext(this.context, this.state);
2172
- this.enterRule(localContext, 70, plurnkParser.RULE_branchModifiers);
2173
- let _la;
2174
- try {
2175
- this.state = 464;
2176
- this.errorHandler.sync(this);
2177
- switch (this.tokenStream.LA(1)) {
2178
- case plurnkParser.LBRACKET:
2179
- this.enterOuterAlt(localContext, 1);
2180
- {
2181
- this.state = 456;
2182
- this.branchSignal();
2183
- this.state = 458;
2184
- this.errorHandler.sync(this);
2185
- _la = this.tokenStream.LA(1);
2186
- if (_la === 3) {
2187
- {
2188
- this.state = 457;
2189
- this.targetWithMetadata();
2190
- }
2191
- }
2192
- }
2193
- break;
2194
- case plurnkParser.LPAREN:
2195
- this.enterOuterAlt(localContext, 2);
2196
- {
2197
- this.state = 460;
2198
- this.targetWithMetadata();
2199
- this.state = 462;
2200
- this.errorHandler.sync(this);
2201
- _la = this.tokenStream.LA(1);
2202
- if (_la === 1) {
2203
- {
2204
- this.state = 461;
2205
- this.branchSignal();
2206
- }
2207
- }
2208
- }
2209
- break;
2210
- default:
2211
- throw new antlr.NoViableAltException(this);
2212
- }
2213
- }
2214
- catch (re) {
2215
- if (re instanceof antlr.RecognitionException) {
2216
- this.errorHandler.reportError(this, re);
2217
- this.errorHandler.recover(this, re);
2218
- }
2219
- else {
2220
- throw re;
2221
- }
2222
- }
2223
- finally {
2224
- this.exitRule();
2225
- }
2226
- return localContext;
2227
- }
2228
- termModifiers() {
2229
- let localContext = new TermModifiersContext(this.context, this.state);
2230
- this.enterRule(localContext, 72, plurnkParser.RULE_termModifiers);
2231
- let _la;
2232
- try {
2233
- this.state = 478;
2234
- this.errorHandler.sync(this);
2235
- switch (this.tokenStream.LA(1)) {
2236
- case plurnkParser.LBRACKET:
2237
- this.enterOuterAlt(localContext, 1);
2238
- {
2239
- this.state = 466;
2240
- this.dispSignal();
2241
- this.state = 468;
2242
- this.errorHandler.sync(this);
2243
- _la = this.tokenStream.LA(1);
2244
- if (_la === 3) {
2245
- {
2246
- this.state = 467;
2247
- this.targetWithMetadata();
2248
- }
2249
- }
2250
- this.state = 471;
2251
- this.errorHandler.sync(this);
2252
- _la = this.tokenStream.LA(1);
2253
- if (_la === 7) {
2254
- {
2255
- this.state = 470;
2256
- this.lineMarker();
2257
- }
2258
- }
2259
- }
2260
- break;
2261
- case plurnkParser.LPAREN:
2262
- this.enterOuterAlt(localContext, 2);
2263
- {
2264
- this.state = 473;
1733
+ this.state = 361;
2265
1734
  this.targetWithMetadata();
2266
- this.state = 474;
2267
- this.dispSignal();
2268
- this.state = 476;
1735
+ this.state = 363;
2269
1736
  this.errorHandler.sync(this);
2270
1737
  _la = this.tokenStream.LA(1);
2271
- if (_la === 7) {
1738
+ if (_la === 5) {
2272
1739
  {
2273
- this.state = 475;
1740
+ this.state = 362;
2274
1741
  this.lineMarker();
2275
1742
  }
2276
1743
  }
2277
1744
  }
2278
1745
  break;
2279
- default:
2280
- throw new antlr.NoViableAltException(this);
2281
- }
2282
- }
2283
- catch (re) {
2284
- if (re instanceof antlr.RecognitionException) {
2285
- this.errorHandler.reportError(this, re);
2286
- this.errorHandler.recover(this, re);
2287
- }
2288
- else {
2289
- throw re;
2290
- }
2291
- }
2292
- finally {
2293
- this.exitRule();
2294
- }
2295
- return localContext;
2296
- }
2297
- midModifiers() {
2298
- let localContext = new MidModifiersContext(this.context, this.state);
2299
- this.enterRule(localContext, 74, plurnkParser.RULE_midModifiers);
2300
- let _la;
2301
- try {
2302
- this.state = 488;
2303
- this.errorHandler.sync(this);
2304
- switch (this.tokenStream.LA(1)) {
2305
- case plurnkParser.LBRACKET:
2306
- this.enterOuterAlt(localContext, 1);
2307
- {
2308
- this.state = 480;
2309
- this.midSignal();
2310
- this.state = 482;
2311
- this.errorHandler.sync(this);
2312
- _la = this.tokenStream.LA(1);
2313
- if (_la === 3) {
2314
- {
2315
- this.state = 481;
2316
- this.targetWithMetadata();
2317
- }
2318
- }
2319
- }
2320
- break;
2321
- case plurnkParser.LPAREN:
1746
+ case plurnkParser.L_MARKER:
2322
1747
  this.enterOuterAlt(localContext, 2);
2323
1748
  {
2324
- this.state = 484;
2325
- this.targetWithMetadata();
2326
- this.state = 486;
1749
+ this.state = 365;
1750
+ this.lineMarker();
1751
+ this.state = 367;
2327
1752
  this.errorHandler.sync(this);
2328
1753
  _la = this.tokenStream.LA(1);
2329
1754
  if (_la === 1) {
2330
1755
  {
2331
- this.state = 485;
2332
- this.midSignal();
1756
+ this.state = 366;
1757
+ this.targetWithMetadata();
2333
1758
  }
2334
1759
  }
2335
1760
  }
@@ -2354,25 +1779,25 @@ export class plurnkParser extends antlr.Parser {
2354
1779
  }
2355
1780
  execModifiers() {
2356
1781
  let localContext = new ExecModifiersContext(this.context, this.state);
2357
- this.enterRule(localContext, 76, plurnkParser.RULE_execModifiers);
1782
+ this.enterRule(localContext, 64, plurnkParser.RULE_execModifiers);
2358
1783
  let _la;
2359
1784
  try {
2360
1785
  this.enterOuterAlt(localContext, 1);
2361
1786
  {
2362
- this.state = 491;
1787
+ this.state = 372;
2363
1788
  this.errorHandler.sync(this);
2364
1789
  _la = this.tokenStream.LA(1);
2365
1790
  do {
2366
1791
  {
2367
1792
  {
2368
- this.state = 490;
1793
+ this.state = 371;
2369
1794
  this.execSlot();
2370
1795
  }
2371
1796
  }
2372
- this.state = 493;
1797
+ this.state = 374;
2373
1798
  this.errorHandler.sync(this);
2374
1799
  _la = this.tokenStream.LA(1);
2375
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0));
1800
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0));
2376
1801
  }
2377
1802
  }
2378
1803
  catch (re) {
@@ -2391,258 +1816,34 @@ export class plurnkParser extends antlr.Parser {
2391
1816
  }
2392
1817
  execSlot() {
2393
1818
  let localContext = new ExecSlotContext(this.context, this.state);
2394
- this.enterRule(localContext, 78, plurnkParser.RULE_execSlot);
1819
+ this.enterRule(localContext, 66, plurnkParser.RULE_execSlot);
2395
1820
  try {
2396
- this.state = 499;
1821
+ this.state = 379;
2397
1822
  this.errorHandler.sync(this);
2398
- switch (this.interpreter.adaptivePredict(this.tokenStream, 80, this.context)) {
2399
- case 1:
1823
+ switch (this.tokenStream.LA(1)) {
1824
+ case plurnkParser.LPAREN:
2400
1825
  this.enterOuterAlt(localContext, 1);
2401
1826
  {
2402
- this.state = 495;
2403
- this.identSignal();
2404
- }
2405
- break;
2406
- case 2:
2407
- this.enterOuterAlt(localContext, 2);
2408
- {
2409
- this.state = 496;
2410
- this.tagSignal();
2411
- }
2412
- break;
2413
- case 3:
2414
- this.enterOuterAlt(localContext, 3);
2415
- {
2416
- this.state = 497;
1827
+ this.state = 376;
2417
1828
  this.targetWithMetadata();
2418
1829
  }
2419
1830
  break;
2420
- case 4:
2421
- this.enterOuterAlt(localContext, 4);
2422
- {
2423
- this.state = 498;
2424
- this.lineMarker();
2425
- }
2426
- break;
2427
- }
2428
- }
2429
- catch (re) {
2430
- if (re instanceof antlr.RecognitionException) {
2431
- this.errorHandler.reportError(this, re);
2432
- this.errorHandler.recover(this, re);
2433
- }
2434
- else {
2435
- throw re;
2436
- }
2437
- }
2438
- finally {
2439
- this.exitRule();
2440
- }
2441
- return localContext;
2442
- }
2443
- tagSignal() {
2444
- let localContext = new TagSignalContext(this.context, this.state);
2445
- this.enterRule(localContext, 80, plurnkParser.RULE_tagSignal);
2446
- let _la;
2447
- try {
2448
- this.enterOuterAlt(localContext, 1);
2449
- {
2450
- this.state = 501;
2451
- this.match(plurnkParser.LBRACKET);
2452
- this.state = 505;
2453
- this.errorHandler.sync(this);
2454
- _la = this.tokenStream.LA(1);
2455
- while (_la === 11 || _la === 15) {
2456
- {
2457
- {
2458
- this.state = 502;
2459
- _la = this.tokenStream.LA(1);
2460
- if (!(_la === 11 || _la === 15)) {
2461
- this.errorHandler.recoverInline(this);
2462
- }
2463
- else {
2464
- this.errorHandler.reportMatch(this);
2465
- this.consume();
2466
- }
2467
- }
2468
- }
2469
- this.state = 507;
2470
- this.errorHandler.sync(this);
2471
- _la = this.tokenStream.LA(1);
2472
- }
2473
- this.state = 508;
2474
- this.match(plurnkParser.RBRACKET);
2475
- }
2476
- }
2477
- catch (re) {
2478
- if (re instanceof antlr.RecognitionException) {
2479
- this.errorHandler.reportError(this, re);
2480
- this.errorHandler.recover(this, re);
2481
- }
2482
- else {
2483
- throw re;
2484
- }
2485
- }
2486
- finally {
2487
- this.exitRule();
2488
- }
2489
- return localContext;
2490
- }
2491
- branchSignal() {
2492
- let localContext = new BranchSignalContext(this.context, this.state);
2493
- this.enterRule(localContext, 82, plurnkParser.RULE_branchSignal);
2494
- try {
2495
- this.enterOuterAlt(localContext, 1);
2496
- {
2497
- this.state = 510;
2498
- this.match(plurnkParser.LBRACKET);
2499
- this.state = 511;
2500
- this.match(plurnkParser.TAG);
2501
- this.state = 512;
2502
- this.match(plurnkParser.RBRACKET);
2503
- }
2504
- }
2505
- catch (re) {
2506
- if (re instanceof antlr.RecognitionException) {
2507
- this.errorHandler.reportError(this, re);
2508
- this.errorHandler.recover(this, re);
2509
- }
2510
- else {
2511
- throw re;
2512
- }
2513
- }
2514
- finally {
2515
- this.exitRule();
2516
- }
2517
- return localContext;
2518
- }
2519
- intSignal() {
2520
- let localContext = new IntSignalContext(this.context, this.state);
2521
- this.enterRule(localContext, 84, plurnkParser.RULE_intSignal);
2522
- let _la;
2523
- try {
2524
- this.enterOuterAlt(localContext, 1);
2525
- {
2526
- this.state = 514;
2527
- this.match(plurnkParser.LBRACKET);
2528
- this.state = 516;
2529
- this.errorHandler.sync(this);
2530
- _la = this.tokenStream.LA(1);
2531
- if (_la === 12 || _la === 13) {
2532
- {
2533
- this.state = 515;
2534
- _la = this.tokenStream.LA(1);
2535
- if (!(_la === 12 || _la === 13)) {
2536
- this.errorHandler.recoverInline(this);
2537
- }
2538
- else {
2539
- this.errorHandler.reportMatch(this);
2540
- this.consume();
2541
- }
2542
- }
2543
- }
2544
- this.state = 518;
2545
- this.match(plurnkParser.RBRACKET);
2546
- }
2547
- }
2548
- catch (re) {
2549
- if (re instanceof antlr.RecognitionException) {
2550
- this.errorHandler.reportError(this, re);
2551
- this.errorHandler.recover(this, re);
2552
- }
2553
- else {
2554
- throw re;
2555
- }
2556
- }
2557
- finally {
2558
- this.exitRule();
2559
- }
2560
- return localContext;
2561
- }
2562
- midSignal() {
2563
- let localContext = new MidSignalContext(this.context, this.state);
2564
- this.enterRule(localContext, 86, plurnkParser.RULE_midSignal);
2565
- let _la;
2566
- try {
2567
- this.enterOuterAlt(localContext, 1);
2568
- {
2569
- this.state = 520;
2570
- this.match(plurnkParser.LBRACKET);
2571
- this.state = 522;
2572
- this.errorHandler.sync(this);
2573
- _la = this.tokenStream.LA(1);
2574
- if (_la === 12) {
1831
+ case plurnkParser.LBRACE:
1832
+ this.enterOuterAlt(localContext, 2);
2575
1833
  {
2576
- this.state = 521;
2577
- this.match(plurnkParser.INT);
1834
+ this.state = 377;
1835
+ this.metadata();
2578
1836
  }
2579
- }
2580
- this.state = 524;
2581
- this.match(plurnkParser.RBRACKET);
2582
- }
2583
- }
2584
- catch (re) {
2585
- if (re instanceof antlr.RecognitionException) {
2586
- this.errorHandler.reportError(this, re);
2587
- this.errorHandler.recover(this, re);
2588
- }
2589
- else {
2590
- throw re;
2591
- }
2592
- }
2593
- finally {
2594
- this.exitRule();
2595
- }
2596
- return localContext;
2597
- }
2598
- dispSignal() {
2599
- let localContext = new DispSignalContext(this.context, this.state);
2600
- this.enterRule(localContext, 88, plurnkParser.RULE_dispSignal);
2601
- try {
2602
- this.enterOuterAlt(localContext, 1);
2603
- {
2604
- this.state = 526;
2605
- this.match(plurnkParser.LBRACKET);
2606
- this.state = 527;
2607
- this.match(plurnkParser.DISPOSITION);
2608
- this.state = 528;
2609
- this.match(plurnkParser.RBRACKET);
2610
- }
2611
- }
2612
- catch (re) {
2613
- if (re instanceof antlr.RecognitionException) {
2614
- this.errorHandler.reportError(this, re);
2615
- this.errorHandler.recover(this, re);
2616
- }
2617
- else {
2618
- throw re;
2619
- }
2620
- }
2621
- finally {
2622
- this.exitRule();
2623
- }
2624
- return localContext;
2625
- }
2626
- identSignal() {
2627
- let localContext = new IdentSignalContext(this.context, this.state);
2628
- this.enterRule(localContext, 90, plurnkParser.RULE_identSignal);
2629
- let _la;
2630
- try {
2631
- this.enterOuterAlt(localContext, 1);
2632
- {
2633
- this.state = 530;
2634
- this.match(plurnkParser.LBRACKET);
2635
- this.state = 532;
2636
- this.errorHandler.sync(this);
2637
- _la = this.tokenStream.LA(1);
2638
- if (_la === 14) {
1837
+ break;
1838
+ case plurnkParser.L_MARKER:
1839
+ this.enterOuterAlt(localContext, 3);
2639
1840
  {
2640
- this.state = 531;
2641
- this.match(plurnkParser.IDENT);
1841
+ this.state = 378;
1842
+ this.lineMarker();
2642
1843
  }
2643
- }
2644
- this.state = 534;
2645
- this.match(plurnkParser.RBRACKET);
1844
+ break;
1845
+ default:
1846
+ throw new antlr.NoViableAltException(this);
2646
1847
  }
2647
1848
  }
2648
1849
  catch (re) {
@@ -2661,28 +1862,28 @@ export class plurnkParser extends antlr.Parser {
2661
1862
  }
2662
1863
  target() {
2663
1864
  let localContext = new TargetContext(this.context, this.state);
2664
- this.enterRule(localContext, 92, plurnkParser.RULE_target);
1865
+ this.enterRule(localContext, 68, plurnkParser.RULE_target);
2665
1866
  let _la;
2666
1867
  try {
2667
1868
  this.enterOuterAlt(localContext, 1);
2668
1869
  {
2669
- this.state = 536;
1870
+ this.state = 381;
2670
1871
  this.match(plurnkParser.LPAREN);
2671
- this.state = 540;
1872
+ this.state = 385;
2672
1873
  this.errorHandler.sync(this);
2673
1874
  _la = this.tokenStream.LA(1);
2674
- while (_la === 16) {
1875
+ while (_la === 9) {
2675
1876
  {
2676
1877
  {
2677
- this.state = 537;
1878
+ this.state = 382;
2678
1879
  this.match(plurnkParser.TARGET_TEXT);
2679
1880
  }
2680
1881
  }
2681
- this.state = 542;
1882
+ this.state = 387;
2682
1883
  this.errorHandler.sync(this);
2683
1884
  _la = this.tokenStream.LA(1);
2684
1885
  }
2685
- this.state = 543;
1886
+ this.state = 388;
2686
1887
  this.match(plurnkParser.RPAREN);
2687
1888
  }
2688
1889
  }
@@ -2702,26 +1903,28 @@ export class plurnkParser extends antlr.Parser {
2702
1903
  }
2703
1904
  targetWithMetadata() {
2704
1905
  let localContext = new TargetWithMetadataContext(this.context, this.state);
2705
- this.enterRule(localContext, 94, plurnkParser.RULE_targetWithMetadata);
2706
- let _la;
1906
+ this.enterRule(localContext, 70, plurnkParser.RULE_targetWithMetadata);
2707
1907
  try {
1908
+ let alternative;
2708
1909
  this.enterOuterAlt(localContext, 1);
2709
1910
  {
2710
- this.state = 545;
1911
+ this.state = 390;
2711
1912
  this.target();
2712
- this.state = 549;
1913
+ this.state = 394;
2713
1914
  this.errorHandler.sync(this);
2714
- _la = this.tokenStream.LA(1);
2715
- while (_la === 5) {
2716
- {
1915
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 59, this.context);
1916
+ while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1917
+ if (alternative === 1) {
2717
1918
  {
2718
- this.state = 546;
2719
- this.metadata();
1919
+ {
1920
+ this.state = 391;
1921
+ this.metadata();
1922
+ }
2720
1923
  }
2721
1924
  }
2722
- this.state = 551;
1925
+ this.state = 396;
2723
1926
  this.errorHandler.sync(this);
2724
- _la = this.tokenStream.LA(1);
1927
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 59, this.context);
2725
1928
  }
2726
1929
  }
2727
1930
  }
@@ -2741,28 +1944,28 @@ export class plurnkParser extends antlr.Parser {
2741
1944
  }
2742
1945
  metadata() {
2743
1946
  let localContext = new MetadataContext(this.context, this.state);
2744
- this.enterRule(localContext, 96, plurnkParser.RULE_metadata);
1947
+ this.enterRule(localContext, 72, plurnkParser.RULE_metadata);
2745
1948
  let _la;
2746
1949
  try {
2747
1950
  this.enterOuterAlt(localContext, 1);
2748
1951
  {
2749
- this.state = 552;
1952
+ this.state = 397;
2750
1953
  this.match(plurnkParser.LBRACE);
2751
- this.state = 556;
1954
+ this.state = 401;
2752
1955
  this.errorHandler.sync(this);
2753
1956
  _la = this.tokenStream.LA(1);
2754
- while (_la === 17) {
1957
+ while (_la === 10) {
2755
1958
  {
2756
1959
  {
2757
- this.state = 553;
1960
+ this.state = 398;
2758
1961
  this.match(plurnkParser.METADATA_TEXT);
2759
1962
  }
2760
1963
  }
2761
- this.state = 558;
1964
+ this.state = 403;
2762
1965
  this.errorHandler.sync(this);
2763
1966
  _la = this.tokenStream.LA(1);
2764
1967
  }
2765
- this.state = 559;
1968
+ this.state = 404;
2766
1969
  this.match(plurnkParser.RBRACE);
2767
1970
  }
2768
1971
  }
@@ -2782,11 +1985,11 @@ export class plurnkParser extends antlr.Parser {
2782
1985
  }
2783
1986
  lineMarker() {
2784
1987
  let localContext = new LineMarkerContext(this.context, this.state);
2785
- this.enterRule(localContext, 98, plurnkParser.RULE_lineMarker);
1988
+ this.enterRule(localContext, 74, plurnkParser.RULE_lineMarker);
2786
1989
  try {
2787
1990
  this.enterOuterAlt(localContext, 1);
2788
1991
  {
2789
- this.state = 561;
1992
+ this.state = 406;
2790
1993
  this.match(plurnkParser.L_MARKER);
2791
1994
  }
2792
1995
  }
@@ -2806,25 +2009,25 @@ export class plurnkParser extends antlr.Parser {
2806
2009
  }
2807
2010
  body() {
2808
2011
  let localContext = new BodyContext(this.context, this.state);
2809
- this.enterRule(localContext, 100, plurnkParser.RULE_body);
2012
+ this.enterRule(localContext, 76, plurnkParser.RULE_body);
2810
2013
  let _la;
2811
2014
  try {
2812
2015
  this.enterOuterAlt(localContext, 1);
2813
2016
  {
2814
- this.state = 564;
2017
+ this.state = 409;
2815
2018
  this.errorHandler.sync(this);
2816
2019
  _la = this.tokenStream.LA(1);
2817
2020
  do {
2818
2021
  {
2819
2022
  {
2820
- this.state = 563;
2023
+ this.state = 408;
2821
2024
  this.match(plurnkParser.BODY_TEXT);
2822
2025
  }
2823
2026
  }
2824
- this.state = 566;
2027
+ this.state = 411;
2825
2028
  this.errorHandler.sync(this);
2826
2029
  _la = this.tokenStream.LA(1);
2827
- } while (_la === 18);
2030
+ } while (_la === 11);
2828
2031
  }
2829
2032
  }
2830
2033
  catch (re) {
@@ -2842,225 +2045,162 @@ export class plurnkParser extends antlr.Parser {
2842
2045
  return localContext;
2843
2046
  }
2844
2047
  static _serializedATN = [
2845
- 4, 1, 46, 569, 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,
2048
+ 4, 1, 35, 414, 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,
2846
2049
  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,
2847
2050
  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,
2848
2051
  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,
2849
2052
  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,
2850
- 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,
2851
- 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46,
2852
- 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
2853
- 1, 0, 3, 0, 109, 8, 0, 1, 0, 1, 0, 3, 0, 113, 8, 0, 1, 1, 4, 1, 116, 8, 1, 11, 1, 12, 1, 117,
2854
- 1, 1, 1, 1, 1, 2, 5, 2, 123, 8, 2, 10, 2, 12, 2, 126, 9, 2, 1, 2, 1, 2, 1, 3, 5, 3, 131, 8,
2855
- 3, 10, 3, 12, 3, 134, 9, 3, 1, 3, 1, 3, 1, 4, 1, 4, 5, 4, 140, 8, 4, 10, 4, 12, 4, 143, 9,
2856
- 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 149, 8, 5, 10, 5, 12, 5, 152, 9, 5, 1, 5, 3, 5, 155, 8, 5,
2857
- 1, 5, 4, 5, 158, 8, 5, 11, 5, 12, 5, 159, 1, 5, 3, 5, 163, 8, 5, 1, 5, 3, 5, 166, 8, 5, 1,
2858
- 6, 5, 6, 169, 8, 6, 10, 6, 12, 6, 172, 9, 6, 1, 6, 1, 6, 1, 7, 5, 7, 177, 8, 7, 10, 7, 12,
2859
- 7, 180, 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 187, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1,
2860
- 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 204, 8, 9, 1, 10, 1, 10, 1, 10,
2861
- 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 219, 8, 10,
2862
- 1, 11, 1, 11, 3, 11, 223, 8, 11, 1, 11, 3, 11, 226, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3,
2863
- 12, 232, 8, 12, 1, 12, 3, 12, 235, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 241, 8, 13,
2864
- 1, 13, 3, 13, 244, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 251, 8, 14, 1, 14, 1,
2865
- 14, 1, 15, 1, 15, 1, 15, 3, 15, 258, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 264, 8, 16,
2866
- 1, 16, 3, 16, 267, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 273, 8, 17, 1, 17, 3, 17, 276,
2867
- 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 3, 18, 283, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19,
2868
- 3, 19, 289, 8, 19, 1, 19, 3, 19, 292, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 298, 8,
2869
- 20, 1, 20, 3, 20, 301, 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 307, 8, 21, 1, 21, 3, 21,
2870
- 310, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 316, 8, 22, 1, 22, 3, 22, 319, 8, 22, 1,
2871
- 22, 1, 22, 1, 23, 1, 23, 3, 23, 325, 8, 23, 1, 23, 3, 23, 328, 8, 23, 1, 23, 1, 23, 1, 24,
2872
- 1, 24, 3, 24, 334, 8, 24, 1, 24, 3, 24, 337, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 3, 25, 343,
2873
- 8, 25, 1, 25, 3, 25, 346, 8, 25, 1, 25, 1, 25, 1, 26, 1, 26, 3, 26, 352, 8, 26, 1, 26, 3,
2874
- 26, 355, 8, 26, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 361, 8, 27, 1, 27, 3, 27, 364, 8, 27,
2875
- 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 3, 29, 373, 8, 29, 1, 29, 3, 29, 376, 8,
2876
- 29, 1, 29, 1, 29, 3, 29, 380, 8, 29, 1, 29, 3, 29, 383, 8, 29, 1, 30, 1, 30, 1, 30, 1, 30,
2877
- 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 396, 8, 30, 3, 30, 398, 8, 30, 1,
2878
- 31, 1, 31, 3, 31, 402, 8, 31, 1, 32, 1, 32, 1, 32, 3, 32, 407, 8, 32, 1, 32, 3, 32, 410,
2879
- 8, 32, 1, 33, 1, 33, 1, 33, 3, 33, 415, 8, 33, 1, 33, 1, 33, 3, 33, 419, 8, 33, 3, 33, 421,
2880
- 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 426, 8, 33, 1, 33, 1, 33, 3, 33, 430, 8, 33, 3, 33, 432,
2881
- 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 437, 8, 33, 1, 33, 1, 33, 3, 33, 441, 8, 33, 3, 33, 443,
2882
- 8, 33, 3, 33, 445, 8, 33, 1, 34, 1, 34, 3, 34, 449, 8, 34, 1, 34, 1, 34, 3, 34, 453, 8,
2883
- 34, 3, 34, 455, 8, 34, 1, 35, 1, 35, 3, 35, 459, 8, 35, 1, 35, 1, 35, 3, 35, 463, 8, 35,
2884
- 3, 35, 465, 8, 35, 1, 36, 1, 36, 3, 36, 469, 8, 36, 1, 36, 3, 36, 472, 8, 36, 1, 36, 1,
2885
- 36, 1, 36, 3, 36, 477, 8, 36, 3, 36, 479, 8, 36, 1, 37, 1, 37, 3, 37, 483, 8, 37, 1, 37,
2886
- 1, 37, 3, 37, 487, 8, 37, 3, 37, 489, 8, 37, 1, 38, 4, 38, 492, 8, 38, 11, 38, 12, 38,
2887
- 493, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 500, 8, 39, 1, 40, 1, 40, 5, 40, 504, 8, 40, 10,
2888
- 40, 12, 40, 507, 9, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 517,
2889
- 8, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 523, 8, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44,
2890
- 1, 44, 1, 45, 1, 45, 3, 45, 533, 8, 45, 1, 45, 1, 45, 1, 46, 1, 46, 5, 46, 539, 8, 46, 10,
2891
- 46, 12, 46, 542, 9, 46, 1, 46, 1, 46, 1, 47, 1, 47, 5, 47, 548, 8, 47, 10, 47, 12, 47,
2892
- 551, 9, 47, 1, 48, 1, 48, 5, 48, 555, 8, 48, 10, 48, 12, 48, 558, 9, 48, 1, 48, 1, 48,
2893
- 1, 49, 1, 49, 1, 50, 4, 50, 565, 8, 50, 11, 50, 12, 50, 566, 1, 50, 0, 0, 51, 0, 2, 4, 6,
2894
- 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50,
2895
- 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
2896
- 96, 98, 100, 0, 2, 2, 0, 11, 11, 15, 15, 1, 0, 12, 13, 642, 0, 112, 1, 0, 0, 0, 2, 115,
2897
- 1, 0, 0, 0, 4, 124, 1, 0, 0, 0, 6, 132, 1, 0, 0, 0, 8, 137, 1, 0, 0, 0, 10, 165, 1, 0, 0, 0,
2898
- 12, 170, 1, 0, 0, 0, 14, 178, 1, 0, 0, 0, 16, 186, 1, 0, 0, 0, 18, 203, 1, 0, 0, 0, 20, 218,
2899
- 1, 0, 0, 0, 22, 220, 1, 0, 0, 0, 24, 229, 1, 0, 0, 0, 26, 238, 1, 0, 0, 0, 28, 247, 1, 0,
2900
- 0, 0, 30, 254, 1, 0, 0, 0, 32, 261, 1, 0, 0, 0, 34, 270, 1, 0, 0, 0, 36, 279, 1, 0, 0, 0,
2901
- 38, 286, 1, 0, 0, 0, 40, 295, 1, 0, 0, 0, 42, 304, 1, 0, 0, 0, 44, 313, 1, 0, 0, 0, 46, 322,
2902
- 1, 0, 0, 0, 48, 331, 1, 0, 0, 0, 50, 340, 1, 0, 0, 0, 52, 349, 1, 0, 0, 0, 54, 358, 1, 0,
2903
- 0, 0, 56, 367, 1, 0, 0, 0, 58, 382, 1, 0, 0, 0, 60, 397, 1, 0, 0, 0, 62, 399, 1, 0, 0, 0,
2904
- 64, 409, 1, 0, 0, 0, 66, 444, 1, 0, 0, 0, 68, 454, 1, 0, 0, 0, 70, 464, 1, 0, 0, 0, 72, 478,
2905
- 1, 0, 0, 0, 74, 488, 1, 0, 0, 0, 76, 491, 1, 0, 0, 0, 78, 499, 1, 0, 0, 0, 80, 501, 1, 0,
2906
- 0, 0, 82, 510, 1, 0, 0, 0, 84, 514, 1, 0, 0, 0, 86, 520, 1, 0, 0, 0, 88, 526, 1, 0, 0, 0,
2907
- 90, 530, 1, 0, 0, 0, 92, 536, 1, 0, 0, 0, 94, 545, 1, 0, 0, 0, 96, 552, 1, 0, 0, 0, 98, 561,
2908
- 1, 0, 0, 0, 100, 564, 1, 0, 0, 0, 102, 103, 3, 6, 3, 0, 103, 104, 5, 0, 0, 1, 104, 113,
2909
- 1, 0, 0, 0, 105, 106, 5, 37, 0, 0, 106, 108, 3, 10, 5, 0, 107, 109, 5, 38, 0, 0, 108, 107,
2910
- 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 111, 5, 0, 0, 1, 111, 113,
2911
- 1, 0, 0, 0, 112, 102, 1, 0, 0, 0, 112, 105, 1, 0, 0, 0, 113, 1, 1, 0, 0, 0, 114, 116, 3,
2912
- 4, 2, 0, 115, 114, 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1,
2913
- 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 5, 0, 0, 1, 120, 3, 1, 0, 0, 0, 121, 123, 5, 19,
2914
- 0, 0, 122, 121, 1, 0, 0, 0, 123, 126, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 124, 125, 1, 0,
2915
- 0, 0, 125, 127, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 127, 128, 3, 8, 4, 0, 128, 5, 1, 0, 0,
2916
- 0, 129, 131, 5, 19, 0, 0, 130, 129, 1, 0, 0, 0, 131, 134, 1, 0, 0, 0, 132, 130, 1, 0, 0,
2917
- 0, 132, 133, 1, 0, 0, 0, 133, 135, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 135, 136, 3, 10, 5,
2918
- 0, 136, 7, 1, 0, 0, 0, 137, 141, 3, 50, 25, 0, 138, 140, 3, 20, 10, 0, 139, 138, 1, 0,
2919
- 0, 0, 140, 143, 1, 0, 0, 0, 141, 139, 1, 0, 0, 0, 141, 142, 1, 0, 0, 0, 142, 144, 1, 0,
2920
- 0, 0, 143, 141, 1, 0, 0, 0, 144, 145, 3, 36, 18, 0, 145, 9, 1, 0, 0, 0, 146, 150, 3, 50,
2921
- 25, 0, 147, 149, 3, 20, 10, 0, 148, 147, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1,
2922
- 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 155, 3,
2923
- 36, 18, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 166, 1, 0, 0, 0, 156, 158,
2924
- 3, 20, 10, 0, 157, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 160,
2925
- 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 36, 18, 0, 162, 161, 1, 0, 0, 0, 162, 163,
2926
- 1, 0, 0, 0, 163, 166, 1, 0, 0, 0, 164, 166, 3, 36, 18, 0, 165, 146, 1, 0, 0, 0, 165, 157,
2927
- 1, 0, 0, 0, 165, 164, 1, 0, 0, 0, 166, 11, 1, 0, 0, 0, 167, 169, 3, 18, 9, 0, 168, 167,
2928
- 1, 0, 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 173,
2929
- 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 174, 5, 0, 0, 1, 174, 13, 1, 0, 0, 0, 175, 177, 3,
2930
- 16, 8, 0, 176, 175, 1, 0, 0, 0, 177, 180, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1,
2931
- 0, 0, 0, 179, 181, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 181, 182, 5, 0, 0, 1, 182, 15, 1, 0,
2932
- 0, 0, 183, 187, 3, 18, 9, 0, 184, 187, 3, 52, 26, 0, 185, 187, 3, 54, 27, 0, 186, 183,
2933
- 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 185, 1, 0, 0, 0, 187, 17, 1, 0, 0, 0, 188, 204, 3,
2934
- 22, 11, 0, 189, 204, 3, 24, 12, 0, 190, 204, 3, 26, 13, 0, 191, 204, 3, 28, 14, 0, 192,
2935
- 204, 3, 30, 15, 0, 193, 204, 3, 32, 16, 0, 194, 204, 3, 34, 17, 0, 195, 204, 3, 36, 18,
2936
- 0, 196, 204, 3, 38, 19, 0, 197, 204, 3, 40, 20, 0, 198, 204, 3, 42, 21, 0, 199, 204,
2937
- 3, 44, 22, 0, 200, 204, 3, 46, 23, 0, 201, 204, 3, 48, 24, 0, 202, 204, 3, 50, 25, 0,
2938
- 203, 188, 1, 0, 0, 0, 203, 189, 1, 0, 0, 0, 203, 190, 1, 0, 0, 0, 203, 191, 1, 0, 0, 0,
2939
- 203, 192, 1, 0, 0, 0, 203, 193, 1, 0, 0, 0, 203, 194, 1, 0, 0, 0, 203, 195, 1, 0, 0, 0,
2940
- 203, 196, 1, 0, 0, 0, 203, 197, 1, 0, 0, 0, 203, 198, 1, 0, 0, 0, 203, 199, 1, 0, 0, 0,
2941
- 203, 200, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 202, 1, 0, 0, 0, 204, 19, 1, 0, 0, 0, 205,
2942
- 219, 3, 22, 11, 0, 206, 219, 3, 24, 12, 0, 207, 219, 3, 26, 13, 0, 208, 219, 3, 28, 14,
2943
- 0, 209, 219, 3, 30, 15, 0, 210, 219, 3, 32, 16, 0, 211, 219, 3, 34, 17, 0, 212, 219,
2944
- 3, 38, 19, 0, 213, 219, 3, 40, 20, 0, 214, 219, 3, 42, 21, 0, 215, 219, 3, 44, 22, 0,
2945
- 216, 219, 3, 46, 23, 0, 217, 219, 3, 48, 24, 0, 218, 205, 1, 0, 0, 0, 218, 206, 1, 0,
2946
- 0, 0, 218, 207, 1, 0, 0, 0, 218, 208, 1, 0, 0, 0, 218, 209, 1, 0, 0, 0, 218, 210, 1, 0,
2947
- 0, 0, 218, 211, 1, 0, 0, 0, 218, 212, 1, 0, 0, 0, 218, 213, 1, 0, 0, 0, 218, 214, 1, 0,
2948
- 0, 0, 218, 215, 1, 0, 0, 0, 218, 216, 1, 0, 0, 0, 218, 217, 1, 0, 0, 0, 219, 21, 1, 0, 0,
2949
- 0, 220, 222, 5, 22, 0, 0, 221, 223, 3, 66, 33, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0,
2950
- 0, 0, 223, 225, 1, 0, 0, 0, 224, 226, 3, 56, 28, 0, 225, 224, 1, 0, 0, 0, 225, 226, 1,
2951
- 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 228, 3, 58, 29, 0, 228, 23, 1, 0, 0, 0, 229, 231, 5,
2952
- 23, 0, 0, 230, 232, 3, 66, 33, 0, 231, 230, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 234,
2953
- 1, 0, 0, 0, 233, 235, 3, 56, 28, 0, 234, 233, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 236,
2954
- 1, 0, 0, 0, 236, 237, 3, 58, 29, 0, 237, 25, 1, 0, 0, 0, 238, 240, 5, 24, 0, 0, 239, 241,
2955
- 3, 66, 33, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 243, 1, 0, 0, 0, 242, 244,
2956
- 3, 56, 28, 0, 243, 242, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 246,
2957
- 3, 58, 29, 0, 246, 27, 1, 0, 0, 0, 247, 248, 5, 25, 0, 0, 248, 250, 3, 60, 30, 0, 249,
2958
- 251, 3, 56, 28, 0, 250, 249, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252,
2959
- 253, 3, 64, 32, 0, 253, 29, 1, 0, 0, 0, 254, 255, 5, 26, 0, 0, 255, 257, 3, 60, 30, 0,
2960
- 256, 258, 3, 56, 28, 0, 257, 256, 1, 0, 0, 0, 257, 258, 1, 0, 0, 0, 258, 259, 1, 0, 0,
2961
- 0, 259, 260, 3, 64, 32, 0, 260, 31, 1, 0, 0, 0, 261, 263, 5, 27, 0, 0, 262, 264, 3, 66,
2962
- 33, 0, 263, 262, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 266, 1, 0, 0, 0, 265, 267, 3, 56,
2963
- 28, 0, 266, 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 269, 3, 58,
2964
- 29, 0, 269, 33, 1, 0, 0, 0, 270, 272, 5, 28, 0, 0, 271, 273, 3, 66, 33, 0, 272, 271, 1,
2965
- 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275, 1, 0, 0, 0, 274, 276, 3, 56, 28, 0, 275, 274,
2966
- 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277, 1, 0, 0, 0, 277, 278, 3, 58, 29, 0, 278, 35,
2967
- 1, 0, 0, 0, 279, 280, 5, 29, 0, 0, 280, 282, 3, 72, 36, 0, 281, 283, 3, 56, 28, 0, 282,
2968
- 281, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 285, 3, 58, 29, 0, 285,
2969
- 37, 1, 0, 0, 0, 286, 288, 5, 29, 0, 0, 287, 289, 3, 74, 37, 0, 288, 287, 1, 0, 0, 0, 288,
2970
- 289, 1, 0, 0, 0, 289, 291, 1, 0, 0, 0, 290, 292, 3, 56, 28, 0, 291, 290, 1, 0, 0, 0, 291,
2971
- 292, 1, 0, 0, 0, 292, 293, 1, 0, 0, 0, 293, 294, 3, 58, 29, 0, 294, 39, 1, 0, 0, 0, 295,
2972
- 297, 5, 30, 0, 0, 296, 298, 3, 76, 38, 0, 297, 296, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298,
2973
- 300, 1, 0, 0, 0, 299, 301, 3, 56, 28, 0, 300, 299, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301,
2974
- 302, 1, 0, 0, 0, 302, 303, 3, 58, 29, 0, 303, 41, 1, 0, 0, 0, 304, 306, 5, 31, 0, 0, 305,
2975
- 307, 3, 80, 40, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 309, 1, 0, 0, 0, 308,
2976
- 310, 3, 56, 28, 0, 309, 308, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311,
2977
- 312, 3, 58, 29, 0, 312, 43, 1, 0, 0, 0, 313, 315, 5, 32, 0, 0, 314, 316, 3, 70, 35, 0,
2978
- 315, 314, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 319, 3, 56, 28,
2979
- 0, 318, 317, 1, 0, 0, 0, 318, 319, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 321, 3, 58, 29,
2980
- 0, 321, 45, 1, 0, 0, 0, 322, 324, 5, 33, 0, 0, 323, 325, 3, 70, 35, 0, 324, 323, 1, 0,
2981
- 0, 0, 324, 325, 1, 0, 0, 0, 325, 327, 1, 0, 0, 0, 326, 328, 3, 56, 28, 0, 327, 326, 1,
2982
- 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 330, 3, 58, 29, 0, 330, 47, 1,
2983
- 0, 0, 0, 331, 333, 5, 34, 0, 0, 332, 334, 3, 68, 34, 0, 333, 332, 1, 0, 0, 0, 333, 334,
2984
- 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 337, 3, 56, 28, 0, 336, 335, 1, 0, 0, 0, 336, 337,
2985
- 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 3, 58, 29, 0, 339, 49, 1, 0, 0, 0, 340, 342,
2986
- 5, 21, 0, 0, 341, 343, 3, 66, 33, 0, 342, 341, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 345,
2987
- 1, 0, 0, 0, 344, 346, 3, 56, 28, 0, 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347,
2988
- 1, 0, 0, 0, 347, 348, 3, 58, 29, 0, 348, 51, 1, 0, 0, 0, 349, 351, 5, 35, 0, 0, 350, 352,
2989
- 3, 66, 33, 0, 351, 350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 354, 1, 0, 0, 0, 353, 355,
2990
- 3, 56, 28, 0, 354, 353, 1, 0, 0, 0, 354, 355, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357,
2991
- 3, 58, 29, 0, 357, 53, 1, 0, 0, 0, 358, 360, 5, 36, 0, 0, 359, 361, 3, 66, 33, 0, 360,
2992
- 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 363, 1, 0, 0, 0, 362, 364, 3, 56, 28, 0, 363,
2993
- 362, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 366, 3, 58, 29, 0, 366,
2994
- 55, 1, 0, 0, 0, 367, 368, 5, 20, 0, 0, 368, 57, 1, 0, 0, 0, 369, 383, 5, 10, 0, 0, 370,
2995
- 372, 5, 9, 0, 0, 371, 373, 3, 100, 50, 0, 372, 371, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373,
2996
- 375, 1, 0, 0, 0, 374, 376, 5, 10, 0, 0, 375, 374, 1, 0, 0, 0, 375, 376, 1, 0, 0, 0, 376,
2997
- 383, 1, 0, 0, 0, 377, 379, 3, 100, 50, 0, 378, 380, 5, 10, 0, 0, 379, 378, 1, 0, 0, 0,
2998
- 379, 380, 1, 0, 0, 0, 380, 383, 1, 0, 0, 0, 381, 383, 1, 0, 0, 0, 382, 369, 1, 0, 0, 0,
2999
- 382, 370, 1, 0, 0, 0, 382, 377, 1, 0, 0, 0, 382, 381, 1, 0, 0, 0, 383, 59, 1, 0, 0, 0, 384,
3000
- 385, 3, 80, 40, 0, 385, 386, 3, 62, 31, 0, 386, 387, 3, 62, 31, 0, 387, 398, 1, 0, 0,
3001
- 0, 388, 389, 3, 62, 31, 0, 389, 390, 3, 80, 40, 0, 390, 391, 3, 62, 31, 0, 391, 398,
3002
- 1, 0, 0, 0, 392, 393, 3, 62, 31, 0, 393, 395, 3, 62, 31, 0, 394, 396, 3, 80, 40, 0, 395,
3003
- 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 398, 1, 0, 0, 0, 397, 384, 1, 0, 0, 0, 397,
3004
- 388, 1, 0, 0, 0, 397, 392, 1, 0, 0, 0, 398, 61, 1, 0, 0, 0, 399, 401, 3, 94, 47, 0, 400,
3005
- 402, 3, 98, 49, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 63, 1, 0, 0, 0, 403,
3006
- 410, 5, 10, 0, 0, 404, 406, 5, 9, 0, 0, 405, 407, 5, 10, 0, 0, 406, 405, 1, 0, 0, 0, 406,
3007
- 407, 1, 0, 0, 0, 407, 410, 1, 0, 0, 0, 408, 410, 1, 0, 0, 0, 409, 403, 1, 0, 0, 0, 409,
3008
- 404, 1, 0, 0, 0, 409, 408, 1, 0, 0, 0, 410, 65, 1, 0, 0, 0, 411, 420, 3, 80, 40, 0, 412,
3009
- 414, 3, 94, 47, 0, 413, 415, 3, 98, 49, 0, 414, 413, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0,
3010
- 415, 421, 1, 0, 0, 0, 416, 418, 3, 98, 49, 0, 417, 419, 3, 94, 47, 0, 418, 417, 1, 0,
3011
- 0, 0, 418, 419, 1, 0, 0, 0, 419, 421, 1, 0, 0, 0, 420, 412, 1, 0, 0, 0, 420, 416, 1, 0,
3012
- 0, 0, 420, 421, 1, 0, 0, 0, 421, 445, 1, 0, 0, 0, 422, 431, 3, 94, 47, 0, 423, 425, 3,
3013
- 80, 40, 0, 424, 426, 3, 98, 49, 0, 425, 424, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 432,
3014
- 1, 0, 0, 0, 427, 429, 3, 98, 49, 0, 428, 430, 3, 80, 40, 0, 429, 428, 1, 0, 0, 0, 429,
3015
- 430, 1, 0, 0, 0, 430, 432, 1, 0, 0, 0, 431, 423, 1, 0, 0, 0, 431, 427, 1, 0, 0, 0, 431,
3016
- 432, 1, 0, 0, 0, 432, 445, 1, 0, 0, 0, 433, 442, 3, 98, 49, 0, 434, 436, 3, 80, 40, 0,
3017
- 435, 437, 3, 94, 47, 0, 436, 435, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 443, 1, 0, 0,
3018
- 0, 438, 440, 3, 94, 47, 0, 439, 441, 3, 80, 40, 0, 440, 439, 1, 0, 0, 0, 440, 441, 1,
3019
- 0, 0, 0, 441, 443, 1, 0, 0, 0, 442, 434, 1, 0, 0, 0, 442, 438, 1, 0, 0, 0, 442, 443, 1,
3020
- 0, 0, 0, 443, 445, 1, 0, 0, 0, 444, 411, 1, 0, 0, 0, 444, 422, 1, 0, 0, 0, 444, 433, 1,
3021
- 0, 0, 0, 445, 67, 1, 0, 0, 0, 446, 448, 3, 84, 42, 0, 447, 449, 3, 94, 47, 0, 448, 447,
3022
- 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 455, 1, 0, 0, 0, 450, 452, 3, 94, 47, 0, 451, 453,
3023
- 3, 84, 42, 0, 452, 451, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 455, 1, 0, 0, 0, 454, 446,
3024
- 1, 0, 0, 0, 454, 450, 1, 0, 0, 0, 455, 69, 1, 0, 0, 0, 456, 458, 3, 82, 41, 0, 457, 459,
3025
- 3, 94, 47, 0, 458, 457, 1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 465, 1, 0, 0, 0, 460, 462,
3026
- 3, 94, 47, 0, 461, 463, 3, 82, 41, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463,
3027
- 465, 1, 0, 0, 0, 464, 456, 1, 0, 0, 0, 464, 460, 1, 0, 0, 0, 465, 71, 1, 0, 0, 0, 466, 468,
3028
- 3, 88, 44, 0, 467, 469, 3, 94, 47, 0, 468, 467, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469,
3029
- 471, 1, 0, 0, 0, 470, 472, 3, 98, 49, 0, 471, 470, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472,
3030
- 479, 1, 0, 0, 0, 473, 474, 3, 94, 47, 0, 474, 476, 3, 88, 44, 0, 475, 477, 3, 98, 49,
3031
- 0, 476, 475, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 479, 1, 0, 0, 0, 478, 466, 1, 0, 0,
3032
- 0, 478, 473, 1, 0, 0, 0, 479, 73, 1, 0, 0, 0, 480, 482, 3, 86, 43, 0, 481, 483, 3, 94,
3033
- 47, 0, 482, 481, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 489, 1, 0, 0, 0, 484, 486, 3, 94,
3034
- 47, 0, 485, 487, 3, 86, 43, 0, 486, 485, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 489, 1,
3035
- 0, 0, 0, 488, 480, 1, 0, 0, 0, 488, 484, 1, 0, 0, 0, 489, 75, 1, 0, 0, 0, 490, 492, 3, 78,
3036
- 39, 0, 491, 490, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 491, 1, 0, 0, 0, 493, 494, 1, 0,
3037
- 0, 0, 494, 77, 1, 0, 0, 0, 495, 500, 3, 90, 45, 0, 496, 500, 3, 80, 40, 0, 497, 500, 3,
3038
- 94, 47, 0, 498, 500, 3, 98, 49, 0, 499, 495, 1, 0, 0, 0, 499, 496, 1, 0, 0, 0, 499, 497,
3039
- 1, 0, 0, 0, 499, 498, 1, 0, 0, 0, 500, 79, 1, 0, 0, 0, 501, 505, 5, 1, 0, 0, 502, 504, 7,
3040
- 0, 0, 0, 503, 502, 1, 0, 0, 0, 504, 507, 1, 0, 0, 0, 505, 503, 1, 0, 0, 0, 505, 506, 1,
3041
- 0, 0, 0, 506, 508, 1, 0, 0, 0, 507, 505, 1, 0, 0, 0, 508, 509, 5, 2, 0, 0, 509, 81, 1, 0,
3042
- 0, 0, 510, 511, 5, 1, 0, 0, 511, 512, 5, 15, 0, 0, 512, 513, 5, 2, 0, 0, 513, 83, 1, 0,
3043
- 0, 0, 514, 516, 5, 1, 0, 0, 515, 517, 7, 1, 0, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0,
3044
- 0, 0, 517, 518, 1, 0, 0, 0, 518, 519, 5, 2, 0, 0, 519, 85, 1, 0, 0, 0, 520, 522, 5, 1, 0,
3045
- 0, 521, 523, 5, 12, 0, 0, 522, 521, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 524, 1, 0, 0,
3046
- 0, 524, 525, 5, 2, 0, 0, 525, 87, 1, 0, 0, 0, 526, 527, 5, 1, 0, 0, 527, 528, 5, 13, 0,
3047
- 0, 528, 529, 5, 2, 0, 0, 529, 89, 1, 0, 0, 0, 530, 532, 5, 1, 0, 0, 531, 533, 5, 14, 0,
3048
- 0, 532, 531, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 535, 5, 2, 0,
3049
- 0, 535, 91, 1, 0, 0, 0, 536, 540, 5, 3, 0, 0, 537, 539, 5, 16, 0, 0, 538, 537, 1, 0, 0,
3050
- 0, 539, 542, 1, 0, 0, 0, 540, 538, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 543, 1, 0, 0,
3051
- 0, 542, 540, 1, 0, 0, 0, 543, 544, 5, 4, 0, 0, 544, 93, 1, 0, 0, 0, 545, 549, 3, 92, 46,
3052
- 0, 546, 548, 3, 96, 48, 0, 547, 546, 1, 0, 0, 0, 548, 551, 1, 0, 0, 0, 549, 547, 1, 0,
3053
- 0, 0, 549, 550, 1, 0, 0, 0, 550, 95, 1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 552, 556, 5, 5, 0,
3054
- 0, 553, 555, 5, 17, 0, 0, 554, 553, 1, 0, 0, 0, 555, 558, 1, 0, 0, 0, 556, 554, 1, 0, 0,
3055
- 0, 556, 557, 1, 0, 0, 0, 557, 559, 1, 0, 0, 0, 558, 556, 1, 0, 0, 0, 559, 560, 5, 6, 0,
3056
- 0, 560, 97, 1, 0, 0, 0, 561, 562, 5, 7, 0, 0, 562, 99, 1, 0, 0, 0, 563, 565, 5, 18, 0, 0,
3057
- 564, 563, 1, 0, 0, 0, 565, 566, 1, 0, 0, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0,
3058
- 567, 101, 1, 0, 0, 0, 89, 108, 112, 117, 124, 132, 141, 150, 154, 159, 162, 165, 170,
3059
- 178, 186, 203, 218, 222, 225, 231, 234, 240, 243, 250, 257, 263, 266, 272, 275,
3060
- 282, 288, 291, 297, 300, 306, 309, 315, 318, 324, 327, 333, 336, 342, 345, 351,
3061
- 354, 360, 363, 372, 375, 379, 382, 395, 397, 401, 406, 409, 414, 418, 420, 425,
3062
- 429, 431, 436, 440, 442, 444, 448, 452, 454, 458, 462, 464, 468, 471, 476, 478,
3063
- 482, 486, 488, 493, 499, 505, 516, 522, 532, 540, 549, 556, 566
2053
+ 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 1, 0, 1, 0, 1,
2054
+ 0, 1, 0, 1, 0, 1, 0, 3, 0, 85, 8, 0, 1, 0, 1, 0, 3, 0, 89, 8, 0, 1, 1, 4, 1, 92, 8, 1, 11, 1,
2055
+ 12, 1, 93, 1, 1, 1, 1, 1, 2, 5, 2, 99, 8, 2, 10, 2, 12, 2, 102, 9, 2, 1, 2, 1, 2, 1, 3, 5, 3,
2056
+ 107, 8, 3, 10, 3, 12, 3, 110, 9, 3, 1, 3, 1, 3, 1, 4, 3, 4, 115, 8, 4, 1, 4, 5, 4, 118, 8,
2057
+ 4, 10, 4, 12, 4, 121, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 127, 8, 5, 10, 5, 12, 5, 130, 9,
2058
+ 5, 1, 5, 3, 5, 133, 8, 5, 1, 5, 4, 5, 136, 8, 5, 11, 5, 12, 5, 137, 1, 5, 3, 5, 141, 8, 5,
2059
+ 1, 5, 3, 5, 144, 8, 5, 1, 6, 5, 6, 147, 8, 6, 10, 6, 12, 6, 150, 9, 6, 1, 6, 1, 6, 1, 7, 5,
2060
+ 7, 155, 8, 7, 10, 7, 12, 7, 158, 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 165, 8, 8, 1, 9,
2061
+ 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 180, 8, 9, 1, 10,
2062
+ 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 193, 8, 10,
2063
+ 1, 11, 1, 11, 3, 11, 197, 8, 11, 1, 11, 3, 11, 200, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3,
2064
+ 12, 206, 8, 12, 1, 12, 3, 12, 209, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 215, 8, 13,
2065
+ 1, 13, 3, 13, 218, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 225, 8, 14, 1, 14, 1,
2066
+ 14, 1, 15, 1, 15, 1, 15, 3, 15, 232, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 3, 16, 239,
2067
+ 8, 16, 1, 16, 3, 16, 242, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 248, 8, 17, 1, 17, 3,
2068
+ 17, 251, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 257, 8, 18, 1, 18, 3, 18, 260, 8, 18,
2069
+ 1, 18, 3, 18, 263, 8, 18, 1, 18, 3, 18, 266, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 272,
2070
+ 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 278, 8, 20, 1, 20, 3, 20, 281, 8, 20, 1, 20, 1,
2071
+ 20, 1, 21, 1, 21, 3, 21, 287, 8, 21, 1, 21, 3, 21, 290, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22,
2072
+ 3, 22, 296, 8, 22, 1, 22, 3, 22, 299, 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 305, 8,
2073
+ 23, 1, 23, 3, 23, 308, 8, 23, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 314, 8, 24, 1, 24, 3, 24,
2074
+ 317, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 3, 25, 323, 8, 25, 1, 25, 3, 25, 326, 8, 25, 1,
2075
+ 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 3, 27, 335, 8, 27, 1, 27, 3, 27, 338, 8, 27,
2076
+ 1, 27, 1, 27, 3, 27, 342, 8, 27, 1, 27, 3, 27, 345, 8, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1,
2077
+ 29, 3, 29, 352, 8, 29, 1, 30, 1, 30, 1, 30, 3, 30, 357, 8, 30, 1, 30, 3, 30, 360, 8, 30,
2078
+ 1, 31, 1, 31, 3, 31, 364, 8, 31, 1, 31, 1, 31, 3, 31, 368, 8, 31, 3, 31, 370, 8, 31, 1,
2079
+ 32, 4, 32, 373, 8, 32, 11, 32, 12, 32, 374, 1, 33, 1, 33, 1, 33, 3, 33, 380, 8, 33, 1,
2080
+ 34, 1, 34, 5, 34, 384, 8, 34, 10, 34, 12, 34, 387, 9, 34, 1, 34, 1, 34, 1, 35, 1, 35, 5,
2081
+ 35, 393, 8, 35, 10, 35, 12, 35, 396, 9, 35, 1, 36, 1, 36, 5, 36, 400, 8, 36, 10, 36, 12,
2082
+ 36, 403, 9, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 38, 4, 38, 410, 8, 38, 11, 38, 12, 38, 411,
2083
+ 1, 38, 0, 0, 39, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36,
2084
+ 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 0, 0,
2085
+ 462, 0, 88, 1, 0, 0, 0, 2, 91, 1, 0, 0, 0, 4, 100, 1, 0, 0, 0, 6, 108, 1, 0, 0, 0, 8, 114,
2086
+ 1, 0, 0, 0, 10, 143, 1, 0, 0, 0, 12, 148, 1, 0, 0, 0, 14, 156, 1, 0, 0, 0, 16, 164, 1, 0,
2087
+ 0, 0, 18, 179, 1, 0, 0, 0, 20, 192, 1, 0, 0, 0, 22, 194, 1, 0, 0, 0, 24, 203, 1, 0, 0, 0,
2088
+ 26, 212, 1, 0, 0, 0, 28, 221, 1, 0, 0, 0, 30, 228, 1, 0, 0, 0, 32, 235, 1, 0, 0, 0, 34, 245,
2089
+ 1, 0, 0, 0, 36, 254, 1, 0, 0, 0, 38, 269, 1, 0, 0, 0, 40, 275, 1, 0, 0, 0, 42, 284, 1, 0,
2090
+ 0, 0, 44, 293, 1, 0, 0, 0, 46, 302, 1, 0, 0, 0, 48, 311, 1, 0, 0, 0, 50, 320, 1, 0, 0, 0,
2091
+ 52, 329, 1, 0, 0, 0, 54, 344, 1, 0, 0, 0, 56, 346, 1, 0, 0, 0, 58, 349, 1, 0, 0, 0, 60, 359,
2092
+ 1, 0, 0, 0, 62, 369, 1, 0, 0, 0, 64, 372, 1, 0, 0, 0, 66, 379, 1, 0, 0, 0, 68, 381, 1, 0,
2093
+ 0, 0, 70, 390, 1, 0, 0, 0, 72, 397, 1, 0, 0, 0, 74, 406, 1, 0, 0, 0, 76, 409, 1, 0, 0, 0,
2094
+ 78, 79, 3, 6, 3, 0, 79, 80, 5, 0, 0, 1, 80, 89, 1, 0, 0, 0, 81, 82, 5, 30, 0, 0, 82, 84, 3,
2095
+ 10, 5, 0, 83, 85, 5, 31, 0, 0, 84, 83, 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0,
2096
+ 86, 87, 5, 0, 0, 1, 87, 89, 1, 0, 0, 0, 88, 78, 1, 0, 0, 0, 88, 81, 1, 0, 0, 0, 89, 1, 1, 0,
2097
+ 0, 0, 90, 92, 3, 4, 2, 0, 91, 90, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94,
2098
+ 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 5, 0, 0, 1, 96, 3, 1, 0, 0, 0, 97, 99, 5, 12, 0, 0,
2099
+ 98, 97, 1, 0, 0, 0, 99, 102, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101,
2100
+ 103, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 103, 104, 3, 8, 4, 0, 104, 5, 1, 0, 0, 0, 105, 107,
2101
+ 5, 12, 0, 0, 106, 105, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 108, 109,
2102
+ 1, 0, 0, 0, 109, 111, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 112, 3, 10, 5, 0, 112, 7, 1,
2103
+ 0, 0, 0, 113, 115, 3, 46, 23, 0, 114, 113, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 119,
2104
+ 1, 0, 0, 0, 116, 118, 3, 20, 10, 0, 117, 116, 1, 0, 0, 0, 118, 121, 1, 0, 0, 0, 119, 117,
2105
+ 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 122, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 122, 123,
2106
+ 3, 32, 16, 0, 123, 9, 1, 0, 0, 0, 124, 128, 3, 46, 23, 0, 125, 127, 3, 20, 10, 0, 126,
2107
+ 125, 1, 0, 0, 0, 127, 130, 1, 0, 0, 0, 128, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129,
2108
+ 132, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 131, 133, 3, 32, 16, 0, 132, 131, 1, 0, 0, 0, 132,
2109
+ 133, 1, 0, 0, 0, 133, 144, 1, 0, 0, 0, 134, 136, 3, 20, 10, 0, 135, 134, 1, 0, 0, 0, 136,
2110
+ 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 140, 1, 0, 0, 0, 139,
2111
+ 141, 3, 32, 16, 0, 140, 139, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 144, 1, 0, 0, 0, 142,
2112
+ 144, 3, 32, 16, 0, 143, 124, 1, 0, 0, 0, 143, 135, 1, 0, 0, 0, 143, 142, 1, 0, 0, 0, 144,
2113
+ 11, 1, 0, 0, 0, 145, 147, 3, 18, 9, 0, 146, 145, 1, 0, 0, 0, 147, 150, 1, 0, 0, 0, 148,
2114
+ 146, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 151, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 151,
2115
+ 152, 5, 0, 0, 1, 152, 13, 1, 0, 0, 0, 153, 155, 3, 16, 8, 0, 154, 153, 1, 0, 0, 0, 155,
2116
+ 158, 1, 0, 0, 0, 156, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 159, 1, 0, 0, 0, 158,
2117
+ 156, 1, 0, 0, 0, 159, 160, 5, 0, 0, 1, 160, 15, 1, 0, 0, 0, 161, 165, 3, 18, 9, 0, 162,
2118
+ 165, 3, 48, 24, 0, 163, 165, 3, 50, 25, 0, 164, 161, 1, 0, 0, 0, 164, 162, 1, 0, 0, 0,
2119
+ 164, 163, 1, 0, 0, 0, 165, 17, 1, 0, 0, 0, 166, 180, 3, 22, 11, 0, 167, 180, 3, 24, 12,
2120
+ 0, 168, 180, 3, 26, 13, 0, 169, 180, 3, 28, 14, 0, 170, 180, 3, 30, 15, 0, 171, 180,
2121
+ 3, 32, 16, 0, 172, 180, 3, 34, 17, 0, 173, 180, 3, 36, 18, 0, 174, 180, 3, 38, 19, 0,
2122
+ 175, 180, 3, 40, 20, 0, 176, 180, 3, 42, 21, 0, 177, 180, 3, 44, 22, 0, 178, 180, 3,
2123
+ 46, 23, 0, 179, 166, 1, 0, 0, 0, 179, 167, 1, 0, 0, 0, 179, 168, 1, 0, 0, 0, 179, 169,
2124
+ 1, 0, 0, 0, 179, 170, 1, 0, 0, 0, 179, 171, 1, 0, 0, 0, 179, 172, 1, 0, 0, 0, 179, 173,
2125
+ 1, 0, 0, 0, 179, 174, 1, 0, 0, 0, 179, 175, 1, 0, 0, 0, 179, 176, 1, 0, 0, 0, 179, 177,
2126
+ 1, 0, 0, 0, 179, 178, 1, 0, 0, 0, 180, 19, 1, 0, 0, 0, 181, 193, 3, 22, 11, 0, 182, 193,
2127
+ 3, 24, 12, 0, 183, 193, 3, 26, 13, 0, 184, 193, 3, 28, 14, 0, 185, 193, 3, 30, 15, 0,
2128
+ 186, 193, 3, 34, 17, 0, 187, 193, 3, 36, 18, 0, 188, 193, 3, 38, 19, 0, 189, 193, 3,
2129
+ 40, 20, 0, 190, 193, 3, 42, 21, 0, 191, 193, 3, 44, 22, 0, 192, 181, 1, 0, 0, 0, 192,
2130
+ 182, 1, 0, 0, 0, 192, 183, 1, 0, 0, 0, 192, 184, 1, 0, 0, 0, 192, 185, 1, 0, 0, 0, 192,
2131
+ 186, 1, 0, 0, 0, 192, 187, 1, 0, 0, 0, 192, 188, 1, 0, 0, 0, 192, 189, 1, 0, 0, 0, 192,
2132
+ 190, 1, 0, 0, 0, 192, 191, 1, 0, 0, 0, 193, 21, 1, 0, 0, 0, 194, 196, 5, 17, 0, 0, 195,
2133
+ 197, 3, 62, 31, 0, 196, 195, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 199, 1, 0, 0, 0, 198,
2134
+ 200, 3, 52, 26, 0, 199, 198, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201,
2135
+ 202, 3, 54, 27, 0, 202, 23, 1, 0, 0, 0, 203, 205, 5, 18, 0, 0, 204, 206, 3, 62, 31, 0,
2136
+ 205, 204, 1, 0, 0, 0, 205, 206, 1, 0, 0, 0, 206, 208, 1, 0, 0, 0, 207, 209, 3, 52, 26,
2137
+ 0, 208, 207, 1, 0, 0, 0, 208, 209, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 211, 3, 54, 27,
2138
+ 0, 211, 25, 1, 0, 0, 0, 212, 214, 5, 19, 0, 0, 213, 215, 3, 62, 31, 0, 214, 213, 1, 0,
2139
+ 0, 0, 214, 215, 1, 0, 0, 0, 215, 217, 1, 0, 0, 0, 216, 218, 3, 52, 26, 0, 217, 216, 1,
2140
+ 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 220, 3, 54, 27, 0, 220, 27, 1,
2141
+ 0, 0, 0, 221, 222, 5, 20, 0, 0, 222, 224, 3, 56, 28, 0, 223, 225, 3, 52, 26, 0, 224, 223,
2142
+ 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 226, 1, 0, 0, 0, 226, 227, 3, 60, 30, 0, 227, 29,
2143
+ 1, 0, 0, 0, 228, 229, 5, 21, 0, 0, 229, 231, 3, 56, 28, 0, 230, 232, 3, 52, 26, 0, 231,
2144
+ 230, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 1, 0, 0, 0, 233, 234, 3, 60, 30, 0, 234,
2145
+ 31, 1, 0, 0, 0, 235, 236, 5, 22, 0, 0, 236, 238, 5, 14, 0, 0, 237, 239, 3, 74, 37, 0, 238,
2146
+ 237, 1, 0, 0, 0, 238, 239, 1, 0, 0, 0, 239, 241, 1, 0, 0, 0, 240, 242, 3, 52, 26, 0, 241,
2147
+ 240, 1, 0, 0, 0, 241, 242, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 244, 3, 54, 27, 0, 244,
2148
+ 33, 1, 0, 0, 0, 245, 247, 5, 22, 0, 0, 246, 248, 3, 70, 35, 0, 247, 246, 1, 0, 0, 0, 247,
2149
+ 248, 1, 0, 0, 0, 248, 250, 1, 0, 0, 0, 249, 251, 3, 52, 26, 0, 250, 249, 1, 0, 0, 0, 250,
2150
+ 251, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 253, 3, 54, 27, 0, 253, 35, 1, 0, 0, 0, 254,
2151
+ 256, 5, 23, 0, 0, 255, 257, 5, 15, 0, 0, 256, 255, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257,
2152
+ 259, 1, 0, 0, 0, 258, 260, 3, 64, 32, 0, 259, 258, 1, 0, 0, 0, 259, 260, 1, 0, 0, 0, 260,
2153
+ 262, 1, 0, 0, 0, 261, 263, 5, 15, 0, 0, 262, 261, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263,
2154
+ 265, 1, 0, 0, 0, 264, 266, 3, 52, 26, 0, 265, 264, 1, 0, 0, 0, 265, 266, 1, 0, 0, 0, 266,
2155
+ 267, 1, 0, 0, 0, 267, 268, 3, 54, 27, 0, 268, 37, 1, 0, 0, 0, 269, 271, 5, 24, 0, 0, 270,
2156
+ 272, 3, 52, 26, 0, 271, 270, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273,
2157
+ 274, 3, 54, 27, 0, 274, 39, 1, 0, 0, 0, 275, 277, 5, 25, 0, 0, 276, 278, 3, 70, 35, 0,
2158
+ 277, 276, 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 280, 1, 0, 0, 0, 279, 281, 3, 52, 26,
2159
+ 0, 280, 279, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 283, 3, 54, 27,
2160
+ 0, 283, 41, 1, 0, 0, 0, 284, 286, 5, 26, 0, 0, 285, 287, 3, 70, 35, 0, 286, 285, 1, 0,
2161
+ 0, 0, 286, 287, 1, 0, 0, 0, 287, 289, 1, 0, 0, 0, 288, 290, 3, 52, 26, 0, 289, 288, 1,
2162
+ 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 292, 3, 54, 27, 0, 292, 43, 1,
2163
+ 0, 0, 0, 293, 295, 5, 27, 0, 0, 294, 296, 3, 62, 31, 0, 295, 294, 1, 0, 0, 0, 295, 296,
2164
+ 1, 0, 0, 0, 296, 298, 1, 0, 0, 0, 297, 299, 3, 52, 26, 0, 298, 297, 1, 0, 0, 0, 298, 299,
2165
+ 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 301, 3, 54, 27, 0, 301, 45, 1, 0, 0, 0, 302, 304,
2166
+ 5, 16, 0, 0, 303, 305, 3, 62, 31, 0, 304, 303, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 307,
2167
+ 1, 0, 0, 0, 306, 308, 3, 52, 26, 0, 307, 306, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 309,
2168
+ 1, 0, 0, 0, 309, 310, 3, 54, 27, 0, 310, 47, 1, 0, 0, 0, 311, 313, 5, 28, 0, 0, 312, 314,
2169
+ 3, 62, 31, 0, 313, 312, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 316, 1, 0, 0, 0, 315, 317,
2170
+ 3, 52, 26, 0, 316, 315, 1, 0, 0, 0, 316, 317, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319,
2171
+ 3, 54, 27, 0, 319, 49, 1, 0, 0, 0, 320, 322, 5, 29, 0, 0, 321, 323, 3, 62, 31, 0, 322,
2172
+ 321, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 325, 1, 0, 0, 0, 324, 326, 3, 52, 26, 0, 325,
2173
+ 324, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, 54, 27, 0, 328,
2174
+ 51, 1, 0, 0, 0, 329, 330, 5, 13, 0, 0, 330, 53, 1, 0, 0, 0, 331, 345, 5, 8, 0, 0, 332, 334,
2175
+ 5, 7, 0, 0, 333, 335, 3, 76, 38, 0, 334, 333, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 337,
2176
+ 1, 0, 0, 0, 336, 338, 5, 8, 0, 0, 337, 336, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 345,
2177
+ 1, 0, 0, 0, 339, 341, 3, 76, 38, 0, 340, 342, 5, 8, 0, 0, 341, 340, 1, 0, 0, 0, 341, 342,
2178
+ 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343, 345, 1, 0, 0, 0, 344, 331, 1, 0, 0, 0, 344, 332,
2179
+ 1, 0, 0, 0, 344, 339, 1, 0, 0, 0, 344, 343, 1, 0, 0, 0, 345, 55, 1, 0, 0, 0, 346, 347, 3,
2180
+ 58, 29, 0, 347, 348, 3, 58, 29, 0, 348, 57, 1, 0, 0, 0, 349, 351, 3, 70, 35, 0, 350, 352,
2181
+ 3, 74, 37, 0, 351, 350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 59, 1, 0, 0, 0, 353, 360,
2182
+ 5, 8, 0, 0, 354, 356, 5, 7, 0, 0, 355, 357, 5, 8, 0, 0, 356, 355, 1, 0, 0, 0, 356, 357,
2183
+ 1, 0, 0, 0, 357, 360, 1, 0, 0, 0, 358, 360, 1, 0, 0, 0, 359, 353, 1, 0, 0, 0, 359, 354,
2184
+ 1, 0, 0, 0, 359, 358, 1, 0, 0, 0, 360, 61, 1, 0, 0, 0, 361, 363, 3, 70, 35, 0, 362, 364,
2185
+ 3, 74, 37, 0, 363, 362, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 370, 1, 0, 0, 0, 365, 367,
2186
+ 3, 74, 37, 0, 366, 368, 3, 70, 35, 0, 367, 366, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368,
2187
+ 370, 1, 0, 0, 0, 369, 361, 1, 0, 0, 0, 369, 365, 1, 0, 0, 0, 370, 63, 1, 0, 0, 0, 371, 373,
2188
+ 3, 66, 33, 0, 372, 371, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0, 374, 372, 1, 0, 0, 0, 374, 375,
2189
+ 1, 0, 0, 0, 375, 65, 1, 0, 0, 0, 376, 380, 3, 70, 35, 0, 377, 380, 3, 72, 36, 0, 378, 380,
2190
+ 3, 74, 37, 0, 379, 376, 1, 0, 0, 0, 379, 377, 1, 0, 0, 0, 379, 378, 1, 0, 0, 0, 380, 67,
2191
+ 1, 0, 0, 0, 381, 385, 5, 1, 0, 0, 382, 384, 5, 9, 0, 0, 383, 382, 1, 0, 0, 0, 384, 387,
2192
+ 1, 0, 0, 0, 385, 383, 1, 0, 0, 0, 385, 386, 1, 0, 0, 0, 386, 388, 1, 0, 0, 0, 387, 385,
2193
+ 1, 0, 0, 0, 388, 389, 5, 2, 0, 0, 389, 69, 1, 0, 0, 0, 390, 394, 3, 68, 34, 0, 391, 393,
2194
+ 3, 72, 36, 0, 392, 391, 1, 0, 0, 0, 393, 396, 1, 0, 0, 0, 394, 392, 1, 0, 0, 0, 394, 395,
2195
+ 1, 0, 0, 0, 395, 71, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 397, 401, 5, 3, 0, 0, 398, 400, 5,
2196
+ 10, 0, 0, 399, 398, 1, 0, 0, 0, 400, 403, 1, 0, 0, 0, 401, 399, 1, 0, 0, 0, 401, 402, 1,
2197
+ 0, 0, 0, 402, 404, 1, 0, 0, 0, 403, 401, 1, 0, 0, 0, 404, 405, 5, 4, 0, 0, 405, 73, 1, 0,
2198
+ 0, 0, 406, 407, 5, 5, 0, 0, 407, 75, 1, 0, 0, 0, 408, 410, 5, 11, 0, 0, 409, 408, 1, 0,
2199
+ 0, 0, 410, 411, 1, 0, 0, 0, 411, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 77, 1, 0, 0,
2200
+ 0, 62, 84, 88, 93, 100, 108, 114, 119, 128, 132, 137, 140, 143, 148, 156, 164, 179,
2201
+ 192, 196, 199, 205, 208, 214, 217, 224, 231, 238, 241, 247, 250, 256, 259, 262,
2202
+ 265, 271, 277, 280, 286, 289, 295, 298, 304, 307, 313, 316, 322, 325, 334, 337,
2203
+ 341, 344, 351, 356, 359, 363, 367, 369, 374, 379, 385, 394, 401, 411
3064
2204
  ];
3065
2205
  static __ATN;
3066
2206
  static get _ATN() {
@@ -3189,12 +2329,12 @@ export class TurnContext extends antlr.ParserRuleContext {
3189
2329
  constructor(parent, invokingState) {
3190
2330
  super(parent, invokingState);
3191
2331
  }
3192
- planStatement() {
3193
- return this.getRuleContext(0, PlanStatementContext);
3194
- }
3195
2332
  sendStatement() {
3196
2333
  return this.getRuleContext(0, SendStatementContext);
3197
2334
  }
2335
+ planStatement() {
2336
+ return this.getRuleContext(0, PlanStatementContext);
2337
+ }
3198
2338
  midStatement(i) {
3199
2339
  if (i === undefined) {
3200
2340
  return this.getRuleContexts(MidStatementContext);
@@ -3335,12 +2475,6 @@ export class StatementContext extends antlr.ParserRuleContext {
3335
2475
  moveStatement() {
3336
2476
  return this.getRuleContext(0, MoveStatementContext);
3337
2477
  }
3338
- openStatement() {
3339
- return this.getRuleContext(0, OpenStatementContext);
3340
- }
3341
- foldStatement() {
3342
- return this.getRuleContext(0, FoldStatementContext);
3343
- }
3344
2478
  sendStatement() {
3345
2479
  return this.getRuleContext(0, SendStatementContext);
3346
2480
  }
@@ -3396,12 +2530,6 @@ export class MidStatementContext extends antlr.ParserRuleContext {
3396
2530
  moveStatement() {
3397
2531
  return this.getRuleContext(0, MoveStatementContext);
3398
2532
  }
3399
- openStatement() {
3400
- return this.getRuleContext(0, OpenStatementContext);
3401
- }
3402
- foldStatement() {
3403
- return this.getRuleContext(0, FoldStatementContext);
3404
- }
3405
2533
  midSend() {
3406
2534
  return this.getRuleContext(0, MidSendContext);
3407
2535
  }
@@ -3442,8 +2570,8 @@ export class FindStatementContext extends antlr.ParserRuleContext {
3442
2570
  statementEnd() {
3443
2571
  return this.getRuleContext(0, StatementEndContext);
3444
2572
  }
3445
- tagOpModifiers() {
3446
- return this.getRuleContext(0, TagOpModifiersContext);
2573
+ slotModifiers() {
2574
+ return this.getRuleContext(0, SlotModifiersContext);
3447
2575
  }
3448
2576
  opAnnotation() {
3449
2577
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3470,8 +2598,8 @@ export class ReadStatementContext extends antlr.ParserRuleContext {
3470
2598
  statementEnd() {
3471
2599
  return this.getRuleContext(0, StatementEndContext);
3472
2600
  }
3473
- tagOpModifiers() {
3474
- return this.getRuleContext(0, TagOpModifiersContext);
2601
+ slotModifiers() {
2602
+ return this.getRuleContext(0, SlotModifiersContext);
3475
2603
  }
3476
2604
  opAnnotation() {
3477
2605
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3498,8 +2626,8 @@ export class EditStatementContext extends antlr.ParserRuleContext {
3498
2626
  statementEnd() {
3499
2627
  return this.getRuleContext(0, StatementEndContext);
3500
2628
  }
3501
- tagOpModifiers() {
3502
- return this.getRuleContext(0, TagOpModifiersContext);
2629
+ slotModifiers() {
2630
+ return this.getRuleContext(0, SlotModifiersContext);
3503
2631
  }
3504
2632
  opAnnotation() {
3505
2633
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3572,62 +2700,6 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
3572
2700
  }
3573
2701
  }
3574
2702
  }
3575
- export class OpenStatementContext extends antlr.ParserRuleContext {
3576
- constructor(parent, invokingState) {
3577
- super(parent, invokingState);
3578
- }
3579
- OPEN_OPEN() {
3580
- return this.getToken(plurnkParser.OPEN_OPEN, 0);
3581
- }
3582
- statementEnd() {
3583
- return this.getRuleContext(0, StatementEndContext);
3584
- }
3585
- tagOpModifiers() {
3586
- return this.getRuleContext(0, TagOpModifiersContext);
3587
- }
3588
- opAnnotation() {
3589
- return this.getRuleContext(0, OpAnnotationContext);
3590
- }
3591
- get ruleIndex() {
3592
- return plurnkParser.RULE_openStatement;
3593
- }
3594
- accept(visitor) {
3595
- if (visitor.visitOpenStatement) {
3596
- return visitor.visitOpenStatement(this);
3597
- }
3598
- else {
3599
- return visitor.visitChildren(this);
3600
- }
3601
- }
3602
- }
3603
- export class FoldStatementContext extends antlr.ParserRuleContext {
3604
- constructor(parent, invokingState) {
3605
- super(parent, invokingState);
3606
- }
3607
- OPEN_FOLD() {
3608
- return this.getToken(plurnkParser.OPEN_FOLD, 0);
3609
- }
3610
- statementEnd() {
3611
- return this.getRuleContext(0, StatementEndContext);
3612
- }
3613
- tagOpModifiers() {
3614
- return this.getRuleContext(0, TagOpModifiersContext);
3615
- }
3616
- opAnnotation() {
3617
- return this.getRuleContext(0, OpAnnotationContext);
3618
- }
3619
- get ruleIndex() {
3620
- return plurnkParser.RULE_foldStatement;
3621
- }
3622
- accept(visitor) {
3623
- if (visitor.visitFoldStatement) {
3624
- return visitor.visitFoldStatement(this);
3625
- }
3626
- else {
3627
- return visitor.visitChildren(this);
3628
- }
3629
- }
3630
- }
3631
2703
  export class SendStatementContext extends antlr.ParserRuleContext {
3632
2704
  constructor(parent, invokingState) {
3633
2705
  super(parent, invokingState);
@@ -3635,12 +2707,15 @@ export class SendStatementContext extends antlr.ParserRuleContext {
3635
2707
  OPEN_SEND() {
3636
2708
  return this.getToken(plurnkParser.OPEN_SEND, 0);
3637
2709
  }
3638
- termModifiers() {
3639
- return this.getRuleContext(0, TermModifiersContext);
2710
+ SEND_LABEL() {
2711
+ return this.getToken(plurnkParser.SEND_LABEL, 0);
3640
2712
  }
3641
2713
  statementEnd() {
3642
2714
  return this.getRuleContext(0, StatementEndContext);
3643
2715
  }
2716
+ lineMarker() {
2717
+ return this.getRuleContext(0, LineMarkerContext);
2718
+ }
3644
2719
  opAnnotation() {
3645
2720
  return this.getRuleContext(0, OpAnnotationContext);
3646
2721
  }
@@ -3666,8 +2741,8 @@ export class MidSendContext extends antlr.ParserRuleContext {
3666
2741
  statementEnd() {
3667
2742
  return this.getRuleContext(0, StatementEndContext);
3668
2743
  }
3669
- midModifiers() {
3670
- return this.getRuleContext(0, MidModifiersContext);
2744
+ targetWithMetadata() {
2745
+ return this.getRuleContext(0, TargetWithMetadataContext);
3671
2746
  }
3672
2747
  opAnnotation() {
3673
2748
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3694,6 +2769,14 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
3694
2769
  statementEnd() {
3695
2770
  return this.getRuleContext(0, StatementEndContext);
3696
2771
  }
2772
+ EXECUTOR(i) {
2773
+ if (i === undefined) {
2774
+ return this.getTokens(plurnkParser.EXECUTOR);
2775
+ }
2776
+ else {
2777
+ return this.getToken(plurnkParser.EXECUTOR, i);
2778
+ }
2779
+ }
3697
2780
  execModifiers() {
3698
2781
  return this.getRuleContext(0, ExecModifiersContext);
3699
2782
  }
@@ -3722,9 +2805,6 @@ export class BareStatementContext extends antlr.ParserRuleContext {
3722
2805
  statementEnd() {
3723
2806
  return this.getRuleContext(0, StatementEndContext);
3724
2807
  }
3725
- tagSignal() {
3726
- return this.getRuleContext(0, TagSignalContext);
3727
- }
3728
2808
  opAnnotation() {
3729
2809
  return this.getRuleContext(0, OpAnnotationContext);
3730
2810
  }
@@ -3750,8 +2830,8 @@ export class WorkStatementContext extends antlr.ParserRuleContext {
3750
2830
  statementEnd() {
3751
2831
  return this.getRuleContext(0, StatementEndContext);
3752
2832
  }
3753
- branchModifiers() {
3754
- return this.getRuleContext(0, BranchModifiersContext);
2833
+ targetWithMetadata() {
2834
+ return this.getRuleContext(0, TargetWithMetadataContext);
3755
2835
  }
3756
2836
  opAnnotation() {
3757
2837
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3778,8 +2858,8 @@ export class ForkStatementContext extends antlr.ParserRuleContext {
3778
2858
  statementEnd() {
3779
2859
  return this.getRuleContext(0, StatementEndContext);
3780
2860
  }
3781
- branchModifiers() {
3782
- return this.getRuleContext(0, BranchModifiersContext);
2861
+ targetWithMetadata() {
2862
+ return this.getRuleContext(0, TargetWithMetadataContext);
3783
2863
  }
3784
2864
  opAnnotation() {
3785
2865
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3806,8 +2886,8 @@ export class KillStatementContext extends antlr.ParserRuleContext {
3806
2886
  statementEnd() {
3807
2887
  return this.getRuleContext(0, StatementEndContext);
3808
2888
  }
3809
- intOpModifiers() {
3810
- return this.getRuleContext(0, IntOpModifiersContext);
2889
+ slotModifiers() {
2890
+ return this.getRuleContext(0, SlotModifiersContext);
3811
2891
  }
3812
2892
  opAnnotation() {
3813
2893
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3834,8 +2914,8 @@ export class PlanStatementContext extends antlr.ParserRuleContext {
3834
2914
  statementEnd() {
3835
2915
  return this.getRuleContext(0, StatementEndContext);
3836
2916
  }
3837
- tagOpModifiers() {
3838
- return this.getRuleContext(0, TagOpModifiersContext);
2917
+ slotModifiers() {
2918
+ return this.getRuleContext(0, SlotModifiersContext);
3839
2919
  }
3840
2920
  opAnnotation() {
3841
2921
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3862,8 +2942,8 @@ export class LookStatementContext extends antlr.ParserRuleContext {
3862
2942
  statementEnd() {
3863
2943
  return this.getRuleContext(0, StatementEndContext);
3864
2944
  }
3865
- tagOpModifiers() {
3866
- return this.getRuleContext(0, TagOpModifiersContext);
2945
+ slotModifiers() {
2946
+ return this.getRuleContext(0, SlotModifiersContext);
3867
2947
  }
3868
2948
  opAnnotation() {
3869
2949
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3890,8 +2970,8 @@ export class BuffStatementContext extends antlr.ParserRuleContext {
3890
2970
  statementEnd() {
3891
2971
  return this.getRuleContext(0, StatementEndContext);
3892
2972
  }
3893
- tagOpModifiers() {
3894
- return this.getRuleContext(0, TagOpModifiersContext);
2973
+ slotModifiers() {
2974
+ return this.getRuleContext(0, SlotModifiersContext);
3895
2975
  }
3896
2976
  opAnnotation() {
3897
2977
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3956,9 +3036,6 @@ export class TransferModifiersContext extends antlr.ParserRuleContext {
3956
3036
  constructor(parent, invokingState) {
3957
3037
  super(parent, invokingState);
3958
3038
  }
3959
- tagSignal() {
3960
- return this.getRuleContext(0, TagSignalContext);
3961
- }
3962
3039
  resourceSelection(i) {
3963
3040
  if (i === undefined) {
3964
3041
  return this.getRuleContexts(ResourceSelectionContext);
@@ -4021,82 +3098,10 @@ export class EmptyStatementEndContext extends antlr.ParserRuleContext {
4021
3098
  }
4022
3099
  }
4023
3100
  }
4024
- export class TagOpModifiersContext extends antlr.ParserRuleContext {
4025
- constructor(parent, invokingState) {
4026
- super(parent, invokingState);
4027
- }
4028
- tagSignal() {
4029
- return this.getRuleContext(0, TagSignalContext);
4030
- }
4031
- targetWithMetadata() {
4032
- return this.getRuleContext(0, TargetWithMetadataContext);
4033
- }
4034
- lineMarker() {
4035
- return this.getRuleContext(0, LineMarkerContext);
4036
- }
4037
- get ruleIndex() {
4038
- return plurnkParser.RULE_tagOpModifiers;
4039
- }
4040
- accept(visitor) {
4041
- if (visitor.visitTagOpModifiers) {
4042
- return visitor.visitTagOpModifiers(this);
4043
- }
4044
- else {
4045
- return visitor.visitChildren(this);
4046
- }
4047
- }
4048
- }
4049
- export class IntOpModifiersContext extends antlr.ParserRuleContext {
4050
- constructor(parent, invokingState) {
4051
- super(parent, invokingState);
4052
- }
4053
- intSignal() {
4054
- return this.getRuleContext(0, IntSignalContext);
4055
- }
4056
- targetWithMetadata() {
4057
- return this.getRuleContext(0, TargetWithMetadataContext);
4058
- }
4059
- get ruleIndex() {
4060
- return plurnkParser.RULE_intOpModifiers;
4061
- }
4062
- accept(visitor) {
4063
- if (visitor.visitIntOpModifiers) {
4064
- return visitor.visitIntOpModifiers(this);
4065
- }
4066
- else {
4067
- return visitor.visitChildren(this);
4068
- }
4069
- }
4070
- }
4071
- export class BranchModifiersContext extends antlr.ParserRuleContext {
4072
- constructor(parent, invokingState) {
4073
- super(parent, invokingState);
4074
- }
4075
- branchSignal() {
4076
- return this.getRuleContext(0, BranchSignalContext);
4077
- }
4078
- targetWithMetadata() {
4079
- return this.getRuleContext(0, TargetWithMetadataContext);
4080
- }
4081
- get ruleIndex() {
4082
- return plurnkParser.RULE_branchModifiers;
4083
- }
4084
- accept(visitor) {
4085
- if (visitor.visitBranchModifiers) {
4086
- return visitor.visitBranchModifiers(this);
4087
- }
4088
- else {
4089
- return visitor.visitChildren(this);
4090
- }
4091
- }
4092
- }
4093
- export class TermModifiersContext extends antlr.ParserRuleContext {
3101
+ export class SlotModifiersContext extends antlr.ParserRuleContext {
4094
3102
  constructor(parent, invokingState) {
4095
3103
  super(parent, invokingState);
4096
3104
  }
4097
- dispSignal() {
4098
- return this.getRuleContext(0, DispSignalContext);
4099
- }
4100
3105
  targetWithMetadata() {
4101
3106
  return this.getRuleContext(0, TargetWithMetadataContext);
4102
3107
  }
@@ -4104,33 +3109,11 @@ export class TermModifiersContext extends antlr.ParserRuleContext {
4104
3109
  return this.getRuleContext(0, LineMarkerContext);
4105
3110
  }
4106
3111
  get ruleIndex() {
4107
- return plurnkParser.RULE_termModifiers;
4108
- }
4109
- accept(visitor) {
4110
- if (visitor.visitTermModifiers) {
4111
- return visitor.visitTermModifiers(this);
4112
- }
4113
- else {
4114
- return visitor.visitChildren(this);
4115
- }
4116
- }
4117
- }
4118
- export class MidModifiersContext extends antlr.ParserRuleContext {
4119
- constructor(parent, invokingState) {
4120
- super(parent, invokingState);
4121
- }
4122
- midSignal() {
4123
- return this.getRuleContext(0, MidSignalContext);
4124
- }
4125
- targetWithMetadata() {
4126
- return this.getRuleContext(0, TargetWithMetadataContext);
4127
- }
4128
- get ruleIndex() {
4129
- return plurnkParser.RULE_midModifiers;
3112
+ return plurnkParser.RULE_slotModifiers;
4130
3113
  }
4131
3114
  accept(visitor) {
4132
- if (visitor.visitMidModifiers) {
4133
- return visitor.visitMidModifiers(this);
3115
+ if (visitor.visitSlotModifiers) {
3116
+ return visitor.visitSlotModifiers(this);
4134
3117
  }
4135
3118
  else {
4136
3119
  return visitor.visitChildren(this);
@@ -4163,15 +3146,12 @@ export class ExecSlotContext extends antlr.ParserRuleContext {
4163
3146
  constructor(parent, invokingState) {
4164
3147
  super(parent, invokingState);
4165
3148
  }
4166
- identSignal() {
4167
- return this.getRuleContext(0, IdentSignalContext);
4168
- }
4169
- tagSignal() {
4170
- return this.getRuleContext(0, TagSignalContext);
4171
- }
4172
3149
  targetWithMetadata() {
4173
3150
  return this.getRuleContext(0, TargetWithMetadataContext);
4174
3151
  }
3152
+ metadata() {
3153
+ return this.getRuleContext(0, MetadataContext);
3154
+ }
4175
3155
  lineMarker() {
4176
3156
  return this.getRuleContext(0, LineMarkerContext);
4177
3157
  }
@@ -4187,172 +3167,6 @@ export class ExecSlotContext extends antlr.ParserRuleContext {
4187
3167
  }
4188
3168
  }
4189
3169
  }
4190
- export class TagSignalContext extends antlr.ParserRuleContext {
4191
- constructor(parent, invokingState) {
4192
- super(parent, invokingState);
4193
- }
4194
- LBRACKET() {
4195
- return this.getToken(plurnkParser.LBRACKET, 0);
4196
- }
4197
- RBRACKET() {
4198
- return this.getToken(plurnkParser.RBRACKET, 0);
4199
- }
4200
- TAG(i) {
4201
- if (i === undefined) {
4202
- return this.getTokens(plurnkParser.TAG);
4203
- }
4204
- else {
4205
- return this.getToken(plurnkParser.TAG, i);
4206
- }
4207
- }
4208
- COMMA(i) {
4209
- if (i === undefined) {
4210
- return this.getTokens(plurnkParser.COMMA);
4211
- }
4212
- else {
4213
- return this.getToken(plurnkParser.COMMA, i);
4214
- }
4215
- }
4216
- get ruleIndex() {
4217
- return plurnkParser.RULE_tagSignal;
4218
- }
4219
- accept(visitor) {
4220
- if (visitor.visitTagSignal) {
4221
- return visitor.visitTagSignal(this);
4222
- }
4223
- else {
4224
- return visitor.visitChildren(this);
4225
- }
4226
- }
4227
- }
4228
- export class BranchSignalContext extends antlr.ParserRuleContext {
4229
- constructor(parent, invokingState) {
4230
- super(parent, invokingState);
4231
- }
4232
- LBRACKET() {
4233
- return this.getToken(plurnkParser.LBRACKET, 0);
4234
- }
4235
- TAG() {
4236
- return this.getToken(plurnkParser.TAG, 0);
4237
- }
4238
- RBRACKET() {
4239
- return this.getToken(plurnkParser.RBRACKET, 0);
4240
- }
4241
- get ruleIndex() {
4242
- return plurnkParser.RULE_branchSignal;
4243
- }
4244
- accept(visitor) {
4245
- if (visitor.visitBranchSignal) {
4246
- return visitor.visitBranchSignal(this);
4247
- }
4248
- else {
4249
- return visitor.visitChildren(this);
4250
- }
4251
- }
4252
- }
4253
- export class IntSignalContext extends antlr.ParserRuleContext {
4254
- constructor(parent, invokingState) {
4255
- super(parent, invokingState);
4256
- }
4257
- LBRACKET() {
4258
- return this.getToken(plurnkParser.LBRACKET, 0);
4259
- }
4260
- RBRACKET() {
4261
- return this.getToken(plurnkParser.RBRACKET, 0);
4262
- }
4263
- INT() {
4264
- return this.getToken(plurnkParser.INT, 0);
4265
- }
4266
- DISPOSITION() {
4267
- return this.getToken(plurnkParser.DISPOSITION, 0);
4268
- }
4269
- get ruleIndex() {
4270
- return plurnkParser.RULE_intSignal;
4271
- }
4272
- accept(visitor) {
4273
- if (visitor.visitIntSignal) {
4274
- return visitor.visitIntSignal(this);
4275
- }
4276
- else {
4277
- return visitor.visitChildren(this);
4278
- }
4279
- }
4280
- }
4281
- export class MidSignalContext extends antlr.ParserRuleContext {
4282
- constructor(parent, invokingState) {
4283
- super(parent, invokingState);
4284
- }
4285
- LBRACKET() {
4286
- return this.getToken(plurnkParser.LBRACKET, 0);
4287
- }
4288
- RBRACKET() {
4289
- return this.getToken(plurnkParser.RBRACKET, 0);
4290
- }
4291
- INT() {
4292
- return this.getToken(plurnkParser.INT, 0);
4293
- }
4294
- get ruleIndex() {
4295
- return plurnkParser.RULE_midSignal;
4296
- }
4297
- accept(visitor) {
4298
- if (visitor.visitMidSignal) {
4299
- return visitor.visitMidSignal(this);
4300
- }
4301
- else {
4302
- return visitor.visitChildren(this);
4303
- }
4304
- }
4305
- }
4306
- export class DispSignalContext extends antlr.ParserRuleContext {
4307
- constructor(parent, invokingState) {
4308
- super(parent, invokingState);
4309
- }
4310
- LBRACKET() {
4311
- return this.getToken(plurnkParser.LBRACKET, 0);
4312
- }
4313
- DISPOSITION() {
4314
- return this.getToken(plurnkParser.DISPOSITION, 0);
4315
- }
4316
- RBRACKET() {
4317
- return this.getToken(plurnkParser.RBRACKET, 0);
4318
- }
4319
- get ruleIndex() {
4320
- return plurnkParser.RULE_dispSignal;
4321
- }
4322
- accept(visitor) {
4323
- if (visitor.visitDispSignal) {
4324
- return visitor.visitDispSignal(this);
4325
- }
4326
- else {
4327
- return visitor.visitChildren(this);
4328
- }
4329
- }
4330
- }
4331
- export class IdentSignalContext extends antlr.ParserRuleContext {
4332
- constructor(parent, invokingState) {
4333
- super(parent, invokingState);
4334
- }
4335
- LBRACKET() {
4336
- return this.getToken(plurnkParser.LBRACKET, 0);
4337
- }
4338
- RBRACKET() {
4339
- return this.getToken(plurnkParser.RBRACKET, 0);
4340
- }
4341
- IDENT() {
4342
- return this.getToken(plurnkParser.IDENT, 0);
4343
- }
4344
- get ruleIndex() {
4345
- return plurnkParser.RULE_identSignal;
4346
- }
4347
- accept(visitor) {
4348
- if (visitor.visitIdentSignal) {
4349
- return visitor.visitIdentSignal(this);
4350
- }
4351
- else {
4352
- return visitor.visitChildren(this);
4353
- }
4354
- }
4355
- }
4356
3170
  export class TargetContext extends antlr.ParserRuleContext {
4357
3171
  constructor(parent, invokingState) {
4358
3172
  super(parent, invokingState);