@plurnk/plurnk-contracts 1.16.4 → 1.17.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 (88) hide show
  1. package/README.md +13 -29
  2. package/SPEC.md +605 -518
  3. package/dist/conformance/agui-v1.json +3 -3
  4. package/dist/schema/CapabilityProjection.json +2 -4
  5. package/dist/schema/ClientStatement.json +5 -52
  6. package/dist/schema/FunctionalityDefinitionState.json +2 -2
  7. package/dist/schema/LineMarker.json +1 -1
  8. package/dist/schema/LoopPolicy.json +2 -3
  9. package/dist/schema/MatcherBody.json +6 -6
  10. package/dist/schema/McpServerDefinition.json +17 -0
  11. package/dist/schema/ModelCatalogPage.json +10 -1
  12. package/dist/schema/ModelRoute.json +9 -0
  13. package/dist/schema/Notice.json +1 -1
  14. package/dist/schema/ParsedPath.json +3 -2
  15. package/dist/schema/Plan.json +9 -5
  16. package/dist/schema/PlurnkStatement.json +86 -134
  17. package/dist/schema/ProposalProjection.json +2 -1
  18. package/dist/schema/ResourceSelection.json +51 -27
  19. package/dist/schema/SkillDefinition.json +3 -3
  20. package/dist/src/AcpPlanValue.d.ts +0 -1
  21. package/dist/src/AcpPlanValue.d.ts.map +1 -1
  22. package/dist/src/AcpPlanValue.js +14 -13
  23. package/dist/src/AcpPlanValue.js.map +1 -1
  24. package/dist/src/ApplicationPort.d.ts +16 -14
  25. package/dist/src/ApplicationPort.d.ts.map +1 -1
  26. package/dist/src/AstBuilder.d.ts +3 -2
  27. package/dist/src/AstBuilder.d.ts.map +1 -1
  28. package/dist/src/AstBuilder.js +340 -187
  29. package/dist/src/AstBuilder.js.map +1 -1
  30. package/dist/src/JsonDocument.d.ts +2 -0
  31. package/dist/src/JsonDocument.d.ts.map +1 -0
  32. package/dist/src/JsonDocument.js +14 -0
  33. package/dist/src/JsonDocument.js.map +1 -0
  34. package/dist/src/LoopLifecycle.d.ts +3 -0
  35. package/dist/src/LoopLifecycle.d.ts.map +1 -0
  36. package/dist/src/LoopLifecycle.js +14 -0
  37. package/dist/src/LoopLifecycle.js.map +1 -0
  38. package/dist/src/PlanValue.d.ts +1 -1
  39. package/dist/src/PlanValue.d.ts.map +1 -1
  40. package/dist/src/PlanValue.js +10 -6
  41. package/dist/src/PlanValue.js.map +1 -1
  42. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  43. package/dist/src/PlurnkErrorStrategy.js +58 -139
  44. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  45. package/dist/src/PlurnkParseError.d.ts +3 -1
  46. package/dist/src/PlurnkParseError.d.ts.map +1 -1
  47. package/dist/src/PlurnkParseError.js +4 -1
  48. package/dist/src/PlurnkParseError.js.map +1 -1
  49. package/dist/src/PlurnkParser.d.ts +9 -5
  50. package/dist/src/PlurnkParser.d.ts.map +1 -1
  51. package/dist/src/PlurnkParser.js +175 -180
  52. package/dist/src/PlurnkParser.js.map +1 -1
  53. package/dist/src/RecordingListener.d.ts +1 -1
  54. package/dist/src/RecordingListener.d.ts.map +1 -1
  55. package/dist/src/RecordingListener.js +24 -6
  56. package/dist/src/RecordingListener.js.map +1 -1
  57. package/dist/src/TurnDisposition.d.ts +11 -0
  58. package/dist/src/TurnDisposition.d.ts.map +1 -0
  59. package/dist/src/TurnDisposition.js +32 -0
  60. package/dist/src/TurnDisposition.js.map +1 -0
  61. package/dist/src/Validator.js +1 -1
  62. package/dist/src/Validator.js.map +1 -1
  63. package/dist/src/generated/plurnkLexer.d.ts +95 -106
  64. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  65. package/dist/src/generated/plurnkLexer.js +674 -828
  66. package/dist/src/generated/plurnkLexer.js.map +1 -1
  67. package/dist/src/generated/plurnkParser.d.ts +111 -152
  68. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  69. package/dist/src/generated/plurnkParser.js +756 -1082
  70. package/dist/src/generated/plurnkParser.js.map +1 -1
  71. package/dist/src/generated/plurnkParserVisitor.d.ts +15 -36
  72. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  73. package/dist/src/generated/plurnkParserVisitor.js +12 -30
  74. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  75. package/dist/src/index.d.ts +5 -1
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/src/index.js +4 -1
  78. package/dist/src/index.js.map +1 -1
  79. package/dist/src/types.d.ts +3 -7
  80. package/dist/src/types.d.ts.map +1 -1
  81. package/dist/src/types.generated.d.ts +147 -80
  82. package/dist/src/types.generated.d.ts.map +1 -1
  83. package/dist/src/types.js +3 -3
  84. package/dist/src/types.js.map +1 -1
  85. package/package.json +4 -8
  86. package/plurnk.md +103 -119
  87. package/dist/plurnk.gemma.gbnf +0 -141
  88. package/dist/plurnk.qwen.gbnf +0 -130
@@ -1,104 +1,97 @@
1
1
  import * as antlr from "antlr4ng";
2
2
  export class plurnkParser extends antlr.Parser {
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;
3
+ static OPEN_FIND = 1;
4
+ static OPEN_READ = 2;
5
+ static OPEN_EDIT = 3;
6
+ static OPEN_COPY = 4;
7
+ static OPEN_MOVE = 5;
8
+ static OPEN_SEND = 6;
9
+ static OPEN_TASK = 7;
10
+ static OPEN_EXEC = 8;
11
+ static OPEN_BARE = 9;
12
+ static OPEN_WORK = 10;
13
+ static OPEN_FORK = 11;
14
+ static OPEN_KILL = 12;
15
+ static OPEN_LOOK = 13;
16
+ static LPAREN = 14;
17
+ static RPAREN = 15;
18
+ static LBRACKET = 16;
19
+ static RBRACKET = 17;
20
+ static L_MARKER = 18;
21
+ static BODY_OPEN = 19;
22
+ static SECTION_END = 20;
23
+ static TARGET_TEXT = 21;
24
+ static METADATA_TEXT = 22;
25
+ static BODY_TEXT = 23;
26
+ static TEXT = 24;
27
+ static ASIDE = 25;
28
+ static OPEN = 26;
29
+ static WS = 27;
30
+ static SLOTS_WS = 28;
31
+ static TARGET_BACKSLASH = 29;
32
+ static TARGET_TICK = 30;
33
+ static METADATA_QUOTE = 31;
34
+ static B_CR = 32;
38
35
  static RULE_document = 0;
39
36
  static RULE_log = 1;
40
- static RULE_turnContent = 2;
41
- static RULE_modelTurnContent = 3;
42
- static RULE_turn = 4;
43
- static RULE_modelTurn = 5;
44
- static RULE_statementSeq = 6;
45
- static RULE_clientStatementSeq = 7;
46
- static RULE_clientStatement = 8;
47
- static RULE_statement = 9;
48
- static RULE_midStatement = 10;
49
- static RULE_findStatement = 11;
50
- static RULE_readStatement = 12;
51
- static RULE_editStatement = 13;
52
- static RULE_copyStatement = 14;
53
- static RULE_moveStatement = 15;
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;
37
+ static RULE_turn = 2;
38
+ static RULE_modelTurn = 3;
39
+ static RULE_statementSeq = 4;
40
+ static RULE_clientStatementSeq = 5;
41
+ static RULE_clientStatement = 6;
42
+ static RULE_statement = 7;
43
+ static RULE_midStatement = 8;
44
+ static RULE_findStatement = 9;
45
+ static RULE_readStatement = 10;
46
+ static RULE_editStatement = 11;
47
+ static RULE_copyStatement = 12;
48
+ static RULE_moveStatement = 13;
49
+ static RULE_dispositionStatement = 14;
50
+ static RULE_sendStatement = 15;
51
+ static RULE_execStatement = 16;
52
+ static RULE_bareStatement = 17;
53
+ static RULE_workStatement = 18;
54
+ static RULE_forkStatement = 19;
55
+ static RULE_killStatement = 20;
56
+ static RULE_lookStatement = 21;
57
+ static RULE_opAside = 22;
58
+ static RULE_statementEnd = 23;
59
+ static RULE_transferModifiers = 24;
60
+ static RULE_resourceSelection = 25;
61
+ static RULE_selectionModifier = 26;
62
+ static RULE_emptyStatementEnd = 27;
63
+ static RULE_slotModifiers = 28;
64
+ static RULE_execModifiers = 29;
65
+ static RULE_execSlot = 30;
66
+ static RULE_target = 31;
67
+ static RULE_targetWithMetadata = 32;
68
+ static RULE_metadata = 33;
69
+ static RULE_lineMarker = 34;
70
+ static RULE_body = 35;
77
71
  static literalNames = [
78
72
  null, null, null, null, null, null, null, null, null, null, null,
79
73
  null, null, null, null, null, null, null, null, null, null, null,
80
- null, null, null, null, null, null, null, null, null, null, null,
81
- null, "'#'", "'\\'"
74
+ null, null, null, null, null, null, null, "'\\'", null, "'\"'",
75
+ "'\\r'"
82
76
  ];
83
77
  static symbolicNames = [
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"
78
+ null, "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
79
+ "OPEN_SEND", "OPEN_TASK", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK",
80
+ "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "LPAREN", "RPAREN", "LBRACKET",
81
+ "RBRACKET", "L_MARKER", "BODY_OPEN", "SECTION_END", "TARGET_TEXT",
82
+ "METADATA_TEXT", "BODY_TEXT", "TEXT", "ASIDE", "OPEN", "WS", "SLOTS_WS",
83
+ "TARGET_BACKSLASH", "TARGET_TICK", "METADATA_QUOTE", "B_CR"
91
84
  ];
92
85
  static ruleNames = [
93
- "document", "log", "turnContent", "modelTurnContent", "turn", "modelTurn",
94
- "statementSeq", "clientStatementSeq", "clientStatement", "statement",
95
- "midStatement", "findStatement", "readStatement", "editStatement",
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",
86
+ "document", "log", "turn", "modelTurn", "statementSeq", "clientStatementSeq",
87
+ "clientStatement", "statement", "midStatement", "findStatement",
88
+ "readStatement", "editStatement", "copyStatement", "moveStatement",
89
+ "dispositionStatement", "sendStatement", "execStatement", "bareStatement",
90
+ "workStatement", "forkStatement", "killStatement", "lookStatement",
91
+ "opAside", "statementEnd", "transferModifiers", "resourceSelection",
92
+ "selectionModifier", "emptyStatementEnd", "slotModifiers", "execModifiers",
93
+ "execSlot", "target", "targetWithMetadata", "metadata", "lineMarker",
94
+ "body",
102
95
  ];
103
96
  get grammarFileName() { return "plurnkParser.g4"; }
104
97
  get literalNames() { return plurnkParser.literalNames; }
@@ -115,54 +108,13 @@ export class plurnkParser extends antlr.Parser {
115
108
  document() {
116
109
  let localContext = new DocumentContext(this.context, this.state);
117
110
  this.enterRule(localContext, 0, plurnkParser.RULE_document);
118
- let _la;
119
111
  try {
120
- this.state = 88;
121
- this.errorHandler.sync(this);
122
- switch (this.tokenStream.LA(1)) {
123
- case plurnkParser.TEXT:
124
- case plurnkParser.OPEN_PLAN:
125
- case plurnkParser.OPEN_FIND:
126
- case plurnkParser.OPEN_READ:
127
- case plurnkParser.OPEN_EDIT:
128
- case plurnkParser.OPEN_COPY:
129
- case plurnkParser.OPEN_MOVE:
130
- case plurnkParser.OPEN_SEND:
131
- case plurnkParser.OPEN_EXEC:
132
- case plurnkParser.OPEN_BARE:
133
- case plurnkParser.OPEN_WORK:
134
- case plurnkParser.OPEN_FORK:
135
- case plurnkParser.OPEN_KILL:
136
- this.enterOuterAlt(localContext, 1);
137
- {
138
- this.state = 78;
139
- this.modelTurnContent();
140
- this.state = 79;
141
- this.match(plurnkParser.EOF);
142
- }
143
- break;
144
- case plurnkParser.FENCE_OPEN:
145
- this.enterOuterAlt(localContext, 2);
146
- {
147
- this.state = 81;
148
- this.match(plurnkParser.FENCE_OPEN);
149
- this.state = 82;
150
- this.modelTurn();
151
- this.state = 84;
152
- this.errorHandler.sync(this);
153
- _la = this.tokenStream.LA(1);
154
- if (_la === 31) {
155
- {
156
- this.state = 83;
157
- this.match(plurnkParser.FENCE_CLOSE);
158
- }
159
- }
160
- this.state = 86;
161
- this.match(plurnkParser.EOF);
162
- }
163
- break;
164
- default:
165
- throw new antlr.NoViableAltException(this);
112
+ this.enterOuterAlt(localContext, 1);
113
+ {
114
+ this.state = 72;
115
+ this.modelTurn();
116
+ this.state = 73;
117
+ this.match(plurnkParser.EOF);
166
118
  }
167
119
  }
168
120
  catch (re) {
@@ -186,21 +138,21 @@ export class plurnkParser extends antlr.Parser {
186
138
  try {
187
139
  this.enterOuterAlt(localContext, 1);
188
140
  {
189
- this.state = 91;
141
+ this.state = 76;
190
142
  this.errorHandler.sync(this);
191
143
  _la = this.tokenStream.LA(1);
192
144
  do {
193
145
  {
194
146
  {
195
- this.state = 90;
196
- this.turnContent();
147
+ this.state = 75;
148
+ this.turn();
197
149
  }
198
150
  }
199
- this.state = 93;
151
+ this.state = 78;
200
152
  this.errorHandler.sync(this);
201
153
  _la = this.tokenStream.LA(1);
202
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268374016) !== 0));
203
- this.state = 95;
154
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8190) !== 0));
155
+ this.state = 80;
204
156
  this.match(plurnkParser.EOF);
205
157
  }
206
158
  }
@@ -218,119 +170,29 @@ export class plurnkParser extends antlr.Parser {
218
170
  }
219
171
  return localContext;
220
172
  }
221
- turnContent() {
222
- let localContext = new TurnContentContext(this.context, this.state);
223
- this.enterRule(localContext, 4, plurnkParser.RULE_turnContent);
224
- let _la;
225
- try {
226
- this.enterOuterAlt(localContext, 1);
227
- {
228
- this.state = 100;
229
- this.errorHandler.sync(this);
230
- _la = this.tokenStream.LA(1);
231
- while (_la === 12) {
232
- {
233
- {
234
- this.state = 97;
235
- this.match(plurnkParser.TEXT);
236
- }
237
- }
238
- this.state = 102;
239
- this.errorHandler.sync(this);
240
- _la = this.tokenStream.LA(1);
241
- }
242
- this.state = 103;
243
- this.turn();
244
- }
245
- }
246
- catch (re) {
247
- if (re instanceof antlr.RecognitionException) {
248
- this.errorHandler.reportError(this, re);
249
- this.errorHandler.recover(this, re);
250
- }
251
- else {
252
- throw re;
253
- }
254
- }
255
- finally {
256
- this.exitRule();
257
- }
258
- return localContext;
259
- }
260
- modelTurnContent() {
261
- let localContext = new ModelTurnContentContext(this.context, this.state);
262
- this.enterRule(localContext, 6, plurnkParser.RULE_modelTurnContent);
263
- let _la;
264
- try {
265
- this.enterOuterAlt(localContext, 1);
266
- {
267
- this.state = 108;
268
- this.errorHandler.sync(this);
269
- _la = this.tokenStream.LA(1);
270
- while (_la === 12) {
271
- {
272
- {
273
- this.state = 105;
274
- this.match(plurnkParser.TEXT);
275
- }
276
- }
277
- this.state = 110;
278
- this.errorHandler.sync(this);
279
- _la = this.tokenStream.LA(1);
280
- }
281
- this.state = 111;
282
- this.modelTurn();
283
- }
284
- }
285
- catch (re) {
286
- if (re instanceof antlr.RecognitionException) {
287
- this.errorHandler.reportError(this, re);
288
- this.errorHandler.recover(this, re);
289
- }
290
- else {
291
- throw re;
292
- }
293
- }
294
- finally {
295
- this.exitRule();
296
- }
297
- return localContext;
298
- }
299
173
  turn() {
300
174
  let localContext = new TurnContext(this.context, this.state);
301
- this.enterRule(localContext, 8, plurnkParser.RULE_turn);
175
+ this.enterRule(localContext, 4, plurnkParser.RULE_turn);
302
176
  let _la;
303
177
  try {
304
- let alternative;
305
178
  this.enterOuterAlt(localContext, 1);
306
179
  {
307
- this.state = 114;
180
+ this.state = 85;
308
181
  this.errorHandler.sync(this);
309
182
  _la = this.tokenStream.LA(1);
310
- if (_la === 16) {
183
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8062) !== 0)) {
311
184
  {
312
- this.state = 113;
313
- this.planStatement();
314
- }
315
- }
316
- this.state = 119;
317
- this.errorHandler.sync(this);
318
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
319
- while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
320
- if (alternative === 1) {
321
185
  {
322
- {
323
- this.state = 116;
324
- this.midStatement();
325
- }
186
+ this.state = 82;
187
+ this.midStatement();
326
188
  }
327
189
  }
328
- this.state = 121;
190
+ this.state = 87;
329
191
  this.errorHandler.sync(this);
330
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
192
+ _la = this.tokenStream.LA(1);
331
193
  }
332
- this.state = 122;
333
- this.sendStatement();
194
+ this.state = 88;
195
+ this.dispositionStatement();
334
196
  }
335
197
  }
336
198
  catch (re) {
@@ -349,86 +211,87 @@ export class plurnkParser extends antlr.Parser {
349
211
  }
350
212
  modelTurn() {
351
213
  let localContext = new ModelTurnContext(this.context, this.state);
352
- this.enterRule(localContext, 10, plurnkParser.RULE_modelTurn);
214
+ this.enterRule(localContext, 6, plurnkParser.RULE_modelTurn);
353
215
  let _la;
354
216
  try {
355
- let alternative;
356
- this.state = 143;
217
+ this.state = 111;
357
218
  this.errorHandler.sync(this);
358
- switch (this.interpreter.adaptivePredict(this.tokenStream, 11, this.context)) {
359
- case 1:
219
+ switch (this.tokenStream.LA(1)) {
220
+ case plurnkParser.OPEN_FIND:
221
+ case plurnkParser.OPEN_READ:
222
+ case plurnkParser.OPEN_EDIT:
223
+ case plurnkParser.OPEN_COPY:
224
+ case plurnkParser.OPEN_MOVE:
225
+ case plurnkParser.OPEN_SEND:
226
+ case plurnkParser.OPEN_EXEC:
227
+ case plurnkParser.OPEN_BARE:
228
+ case plurnkParser.OPEN_WORK:
229
+ case plurnkParser.OPEN_FORK:
230
+ case plurnkParser.OPEN_KILL:
360
231
  this.enterOuterAlt(localContext, 1);
361
232
  {
362
- this.state = 124;
363
- this.planStatement();
364
- this.state = 128;
233
+ this.state = 91;
365
234
  this.errorHandler.sync(this);
366
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 7, this.context);
367
- while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
368
- if (alternative === 1) {
235
+ _la = this.tokenStream.LA(1);
236
+ do {
237
+ {
369
238
  {
370
- {
371
- this.state = 125;
372
- this.midStatement();
373
- }
239
+ this.state = 90;
240
+ this.midStatement();
374
241
  }
375
242
  }
376
- this.state = 130;
243
+ this.state = 93;
377
244
  this.errorHandler.sync(this);
378
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 7, this.context);
379
- }
380
- this.state = 132;
245
+ _la = this.tokenStream.LA(1);
246
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8062) !== 0));
247
+ this.state = 102;
381
248
  this.errorHandler.sync(this);
382
249
  _la = this.tokenStream.LA(1);
383
- if (_la === 22) {
250
+ if (_la === 7) {
384
251
  {
385
- this.state = 131;
386
- this.sendStatement();
387
- }
388
- }
389
- }
390
- break;
391
- case 2:
392
- this.enterOuterAlt(localContext, 2);
393
- {
394
- this.state = 135;
395
- this.errorHandler.sync(this);
396
- alternative = 1;
397
- do {
398
- switch (alternative) {
399
- case 1:
252
+ this.state = 95;
253
+ this.dispositionStatement();
254
+ this.state = 99;
255
+ this.errorHandler.sync(this);
256
+ _la = this.tokenStream.LA(1);
257
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8062) !== 0)) {
400
258
  {
401
259
  {
402
- this.state = 134;
260
+ this.state = 96;
403
261
  this.midStatement();
404
262
  }
405
263
  }
406
- break;
407
- default:
408
- throw new antlr.NoViableAltException(this);
264
+ this.state = 101;
265
+ this.errorHandler.sync(this);
266
+ _la = this.tokenStream.LA(1);
267
+ }
409
268
  }
410
- this.state = 137;
411
- this.errorHandler.sync(this);
412
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 9, this.context);
413
- } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
414
- this.state = 140;
269
+ }
270
+ }
271
+ break;
272
+ case plurnkParser.OPEN_TASK:
273
+ this.enterOuterAlt(localContext, 2);
274
+ {
275
+ this.state = 104;
276
+ this.dispositionStatement();
277
+ this.state = 108;
415
278
  this.errorHandler.sync(this);
416
279
  _la = this.tokenStream.LA(1);
417
- if (_la === 22) {
280
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8062) !== 0)) {
418
281
  {
419
- this.state = 139;
420
- this.sendStatement();
282
+ {
283
+ this.state = 105;
284
+ this.midStatement();
285
+ }
421
286
  }
287
+ this.state = 110;
288
+ this.errorHandler.sync(this);
289
+ _la = this.tokenStream.LA(1);
422
290
  }
423
291
  }
424
292
  break;
425
- case 3:
426
- this.enterOuterAlt(localContext, 3);
427
- {
428
- this.state = 142;
429
- this.sendStatement();
430
- }
431
- break;
293
+ default:
294
+ throw new antlr.NoViableAltException(this);
432
295
  }
433
296
  }
434
297
  catch (re) {
@@ -447,26 +310,26 @@ export class plurnkParser extends antlr.Parser {
447
310
  }
448
311
  statementSeq() {
449
312
  let localContext = new StatementSeqContext(this.context, this.state);
450
- this.enterRule(localContext, 12, plurnkParser.RULE_statementSeq);
313
+ this.enterRule(localContext, 8, plurnkParser.RULE_statementSeq);
451
314
  let _la;
452
315
  try {
453
316
  this.enterOuterAlt(localContext, 1);
454
317
  {
455
- this.state = 148;
318
+ this.state = 116;
456
319
  this.errorHandler.sync(this);
457
320
  _la = this.tokenStream.LA(1);
458
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268369920) !== 0)) {
321
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8190) !== 0)) {
459
322
  {
460
323
  {
461
- this.state = 145;
324
+ this.state = 113;
462
325
  this.statement();
463
326
  }
464
327
  }
465
- this.state = 150;
328
+ this.state = 118;
466
329
  this.errorHandler.sync(this);
467
330
  _la = this.tokenStream.LA(1);
468
331
  }
469
- this.state = 151;
332
+ this.state = 119;
470
333
  this.match(plurnkParser.EOF);
471
334
  }
472
335
  }
@@ -486,26 +349,26 @@ export class plurnkParser extends antlr.Parser {
486
349
  }
487
350
  clientStatementSeq() {
488
351
  let localContext = new ClientStatementSeqContext(this.context, this.state);
489
- this.enterRule(localContext, 14, plurnkParser.RULE_clientStatementSeq);
352
+ this.enterRule(localContext, 10, plurnkParser.RULE_clientStatementSeq);
490
353
  let _la;
491
354
  try {
492
355
  this.enterOuterAlt(localContext, 1);
493
356
  {
494
- this.state = 156;
357
+ this.state = 124;
495
358
  this.errorHandler.sync(this);
496
359
  _la = this.tokenStream.LA(1);
497
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073676288) !== 0)) {
360
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 16382) !== 0)) {
498
361
  {
499
362
  {
500
- this.state = 153;
363
+ this.state = 121;
501
364
  this.clientStatement();
502
365
  }
503
366
  }
504
- this.state = 158;
367
+ this.state = 126;
505
368
  this.errorHandler.sync(this);
506
369
  _la = this.tokenStream.LA(1);
507
370
  }
508
- this.state = 159;
371
+ this.state = 127;
509
372
  this.match(plurnkParser.EOF);
510
373
  }
511
374
  }
@@ -525,18 +388,18 @@ export class plurnkParser extends antlr.Parser {
525
388
  }
526
389
  clientStatement() {
527
390
  let localContext = new ClientStatementContext(this.context, this.state);
528
- this.enterRule(localContext, 16, plurnkParser.RULE_clientStatement);
391
+ this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
529
392
  try {
530
- this.state = 164;
393
+ this.state = 131;
531
394
  this.errorHandler.sync(this);
532
395
  switch (this.tokenStream.LA(1)) {
533
- case plurnkParser.OPEN_PLAN:
534
396
  case plurnkParser.OPEN_FIND:
535
397
  case plurnkParser.OPEN_READ:
536
398
  case plurnkParser.OPEN_EDIT:
537
399
  case plurnkParser.OPEN_COPY:
538
400
  case plurnkParser.OPEN_MOVE:
539
401
  case plurnkParser.OPEN_SEND:
402
+ case plurnkParser.OPEN_TASK:
540
403
  case plurnkParser.OPEN_EXEC:
541
404
  case plurnkParser.OPEN_BARE:
542
405
  case plurnkParser.OPEN_WORK:
@@ -544,24 +407,17 @@ export class plurnkParser extends antlr.Parser {
544
407
  case plurnkParser.OPEN_KILL:
545
408
  this.enterOuterAlt(localContext, 1);
546
409
  {
547
- this.state = 161;
410
+ this.state = 129;
548
411
  this.statement();
549
412
  }
550
413
  break;
551
414
  case plurnkParser.OPEN_LOOK:
552
415
  this.enterOuterAlt(localContext, 2);
553
416
  {
554
- this.state = 162;
417
+ this.state = 130;
555
418
  this.lookStatement();
556
419
  }
557
420
  break;
558
- case plurnkParser.OPEN_BUFF:
559
- this.enterOuterAlt(localContext, 3);
560
- {
561
- this.state = 163;
562
- this.buffStatement();
563
- }
564
- break;
565
421
  default:
566
422
  throw new antlr.NoViableAltException(this);
567
423
  }
@@ -582,102 +438,97 @@ export class plurnkParser extends antlr.Parser {
582
438
  }
583
439
  statement() {
584
440
  let localContext = new StatementContext(this.context, this.state);
585
- this.enterRule(localContext, 18, plurnkParser.RULE_statement);
441
+ this.enterRule(localContext, 14, plurnkParser.RULE_statement);
586
442
  try {
587
- this.state = 179;
443
+ this.state = 145;
588
444
  this.errorHandler.sync(this);
589
- switch (this.interpreter.adaptivePredict(this.tokenStream, 15, this.context)) {
590
- case 1:
445
+ switch (this.tokenStream.LA(1)) {
446
+ case plurnkParser.OPEN_FIND:
591
447
  this.enterOuterAlt(localContext, 1);
592
448
  {
593
- this.state = 166;
449
+ this.state = 133;
594
450
  this.findStatement();
595
451
  }
596
452
  break;
597
- case 2:
453
+ case plurnkParser.OPEN_READ:
598
454
  this.enterOuterAlt(localContext, 2);
599
455
  {
600
- this.state = 167;
456
+ this.state = 134;
601
457
  this.readStatement();
602
458
  }
603
459
  break;
604
- case 3:
460
+ case plurnkParser.OPEN_EDIT:
605
461
  this.enterOuterAlt(localContext, 3);
606
462
  {
607
- this.state = 168;
463
+ this.state = 135;
608
464
  this.editStatement();
609
465
  }
610
466
  break;
611
- case 4:
467
+ case plurnkParser.OPEN_COPY:
612
468
  this.enterOuterAlt(localContext, 4);
613
469
  {
614
- this.state = 169;
470
+ this.state = 136;
615
471
  this.copyStatement();
616
472
  }
617
473
  break;
618
- case 5:
474
+ case plurnkParser.OPEN_MOVE:
619
475
  this.enterOuterAlt(localContext, 5);
620
476
  {
621
- this.state = 170;
477
+ this.state = 137;
622
478
  this.moveStatement();
623
479
  }
624
480
  break;
625
- case 6:
481
+ case plurnkParser.OPEN_TASK:
626
482
  this.enterOuterAlt(localContext, 6);
627
483
  {
628
- this.state = 171;
629
- this.sendStatement();
484
+ this.state = 138;
485
+ this.dispositionStatement();
630
486
  }
631
487
  break;
632
- case 7:
488
+ case plurnkParser.OPEN_SEND:
633
489
  this.enterOuterAlt(localContext, 7);
634
490
  {
635
- this.state = 172;
636
- this.midSend();
491
+ this.state = 139;
492
+ this.sendStatement();
637
493
  }
638
494
  break;
639
- case 8:
495
+ case plurnkParser.OPEN_EXEC:
640
496
  this.enterOuterAlt(localContext, 8);
641
497
  {
642
- this.state = 173;
498
+ this.state = 140;
643
499
  this.execStatement();
644
500
  }
645
501
  break;
646
- case 9:
502
+ case plurnkParser.OPEN_BARE:
647
503
  this.enterOuterAlt(localContext, 9);
648
504
  {
649
- this.state = 174;
505
+ this.state = 141;
650
506
  this.bareStatement();
651
507
  }
652
508
  break;
653
- case 10:
509
+ case plurnkParser.OPEN_WORK:
654
510
  this.enterOuterAlt(localContext, 10);
655
511
  {
656
- this.state = 175;
512
+ this.state = 142;
657
513
  this.workStatement();
658
514
  }
659
515
  break;
660
- case 11:
516
+ case plurnkParser.OPEN_FORK:
661
517
  this.enterOuterAlt(localContext, 11);
662
518
  {
663
- this.state = 176;
519
+ this.state = 143;
664
520
  this.forkStatement();
665
521
  }
666
522
  break;
667
- case 12:
523
+ case plurnkParser.OPEN_KILL:
668
524
  this.enterOuterAlt(localContext, 12);
669
525
  {
670
- this.state = 177;
526
+ this.state = 144;
671
527
  this.killStatement();
672
528
  }
673
529
  break;
674
- case 13:
675
- this.enterOuterAlt(localContext, 13);
676
- {
677
- this.state = 178;
678
- this.planStatement();
679
- }
680
- break;
530
+ default:
531
+ throw new antlr.NoViableAltException(this);
681
532
  }
682
533
  }
683
534
  catch (re) {
@@ -696,85 +547,85 @@ export class plurnkParser extends antlr.Parser {
696
547
  }
697
548
  midStatement() {
698
549
  let localContext = new MidStatementContext(this.context, this.state);
699
- this.enterRule(localContext, 20, plurnkParser.RULE_midStatement);
550
+ this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
700
551
  try {
701
- this.state = 192;
552
+ this.state = 158;
702
553
  this.errorHandler.sync(this);
703
554
  switch (this.tokenStream.LA(1)) {
704
555
  case plurnkParser.OPEN_FIND:
705
556
  this.enterOuterAlt(localContext, 1);
706
557
  {
707
- this.state = 181;
558
+ this.state = 147;
708
559
  this.findStatement();
709
560
  }
710
561
  break;
711
562
  case plurnkParser.OPEN_READ:
712
563
  this.enterOuterAlt(localContext, 2);
713
564
  {
714
- this.state = 182;
565
+ this.state = 148;
715
566
  this.readStatement();
716
567
  }
717
568
  break;
718
569
  case plurnkParser.OPEN_EDIT:
719
570
  this.enterOuterAlt(localContext, 3);
720
571
  {
721
- this.state = 183;
572
+ this.state = 149;
722
573
  this.editStatement();
723
574
  }
724
575
  break;
725
576
  case plurnkParser.OPEN_COPY:
726
577
  this.enterOuterAlt(localContext, 4);
727
578
  {
728
- this.state = 184;
579
+ this.state = 150;
729
580
  this.copyStatement();
730
581
  }
731
582
  break;
732
583
  case plurnkParser.OPEN_MOVE:
733
584
  this.enterOuterAlt(localContext, 5);
734
585
  {
735
- this.state = 185;
586
+ this.state = 151;
736
587
  this.moveStatement();
737
588
  }
738
589
  break;
739
590
  case plurnkParser.OPEN_SEND:
740
591
  this.enterOuterAlt(localContext, 6);
741
592
  {
742
- this.state = 186;
743
- this.midSend();
593
+ this.state = 152;
594
+ this.sendStatement();
744
595
  }
745
596
  break;
746
597
  case plurnkParser.OPEN_EXEC:
747
598
  this.enterOuterAlt(localContext, 7);
748
599
  {
749
- this.state = 187;
600
+ this.state = 153;
750
601
  this.execStatement();
751
602
  }
752
603
  break;
753
604
  case plurnkParser.OPEN_BARE:
754
605
  this.enterOuterAlt(localContext, 8);
755
606
  {
756
- this.state = 188;
607
+ this.state = 154;
757
608
  this.bareStatement();
758
609
  }
759
610
  break;
760
611
  case plurnkParser.OPEN_WORK:
761
612
  this.enterOuterAlt(localContext, 9);
762
613
  {
763
- this.state = 189;
614
+ this.state = 155;
764
615
  this.workStatement();
765
616
  }
766
617
  break;
767
618
  case plurnkParser.OPEN_FORK:
768
619
  this.enterOuterAlt(localContext, 10);
769
620
  {
770
- this.state = 190;
621
+ this.state = 156;
771
622
  this.forkStatement();
772
623
  }
773
624
  break;
774
625
  case plurnkParser.OPEN_KILL:
775
626
  this.enterOuterAlt(localContext, 11);
776
627
  {
777
- this.state = 191;
628
+ this.state = 157;
778
629
  this.killStatement();
779
630
  }
780
631
  break;
@@ -798,32 +649,32 @@ export class plurnkParser extends antlr.Parser {
798
649
  }
799
650
  findStatement() {
800
651
  let localContext = new FindStatementContext(this.context, this.state);
801
- this.enterRule(localContext, 22, plurnkParser.RULE_findStatement);
652
+ this.enterRule(localContext, 18, plurnkParser.RULE_findStatement);
802
653
  let _la;
803
654
  try {
804
655
  this.enterOuterAlt(localContext, 1);
805
656
  {
806
- this.state = 194;
657
+ this.state = 160;
807
658
  this.match(plurnkParser.OPEN_FIND);
808
- this.state = 196;
659
+ this.state = 162;
809
660
  this.errorHandler.sync(this);
810
661
  _la = this.tokenStream.LA(1);
811
- if (_la === 1 || _la === 5) {
662
+ if (_la === 14 || _la === 18) {
812
663
  {
813
- this.state = 195;
664
+ this.state = 161;
814
665
  this.slotModifiers();
815
666
  }
816
667
  }
817
- this.state = 199;
668
+ this.state = 165;
818
669
  this.errorHandler.sync(this);
819
670
  _la = this.tokenStream.LA(1);
820
- if (_la === 13) {
671
+ if (_la === 25) {
821
672
  {
822
- this.state = 198;
823
- this.opAnnotation();
673
+ this.state = 164;
674
+ this.opAside();
824
675
  }
825
676
  }
826
- this.state = 201;
677
+ this.state = 167;
827
678
  this.statementEnd();
828
679
  }
829
680
  }
@@ -843,32 +694,32 @@ export class plurnkParser extends antlr.Parser {
843
694
  }
844
695
  readStatement() {
845
696
  let localContext = new ReadStatementContext(this.context, this.state);
846
- this.enterRule(localContext, 24, plurnkParser.RULE_readStatement);
697
+ this.enterRule(localContext, 20, plurnkParser.RULE_readStatement);
847
698
  let _la;
848
699
  try {
849
700
  this.enterOuterAlt(localContext, 1);
850
701
  {
851
- this.state = 203;
702
+ this.state = 169;
852
703
  this.match(plurnkParser.OPEN_READ);
853
- this.state = 205;
704
+ this.state = 171;
854
705
  this.errorHandler.sync(this);
855
706
  _la = this.tokenStream.LA(1);
856
- if (_la === 1 || _la === 5) {
707
+ if (_la === 14 || _la === 18) {
857
708
  {
858
- this.state = 204;
709
+ this.state = 170;
859
710
  this.slotModifiers();
860
711
  }
861
712
  }
862
- this.state = 208;
713
+ this.state = 174;
863
714
  this.errorHandler.sync(this);
864
715
  _la = this.tokenStream.LA(1);
865
- if (_la === 13) {
716
+ if (_la === 25) {
866
717
  {
867
- this.state = 207;
868
- this.opAnnotation();
718
+ this.state = 173;
719
+ this.opAside();
869
720
  }
870
721
  }
871
- this.state = 210;
722
+ this.state = 176;
872
723
  this.statementEnd();
873
724
  }
874
725
  }
@@ -888,32 +739,32 @@ export class plurnkParser extends antlr.Parser {
888
739
  }
889
740
  editStatement() {
890
741
  let localContext = new EditStatementContext(this.context, this.state);
891
- this.enterRule(localContext, 26, plurnkParser.RULE_editStatement);
742
+ this.enterRule(localContext, 22, plurnkParser.RULE_editStatement);
892
743
  let _la;
893
744
  try {
894
745
  this.enterOuterAlt(localContext, 1);
895
746
  {
896
- this.state = 212;
747
+ this.state = 178;
897
748
  this.match(plurnkParser.OPEN_EDIT);
898
- this.state = 214;
749
+ this.state = 180;
899
750
  this.errorHandler.sync(this);
900
751
  _la = this.tokenStream.LA(1);
901
- if (_la === 1 || _la === 5) {
752
+ if (_la === 14 || _la === 18) {
902
753
  {
903
- this.state = 213;
754
+ this.state = 179;
904
755
  this.slotModifiers();
905
756
  }
906
757
  }
907
- this.state = 217;
758
+ this.state = 183;
908
759
  this.errorHandler.sync(this);
909
760
  _la = this.tokenStream.LA(1);
910
- if (_la === 13) {
761
+ if (_la === 25) {
911
762
  {
912
- this.state = 216;
913
- this.opAnnotation();
763
+ this.state = 182;
764
+ this.opAside();
914
765
  }
915
766
  }
916
- this.state = 219;
767
+ this.state = 185;
917
768
  this.statementEnd();
918
769
  }
919
770
  }
@@ -933,25 +784,25 @@ export class plurnkParser extends antlr.Parser {
933
784
  }
934
785
  copyStatement() {
935
786
  let localContext = new CopyStatementContext(this.context, this.state);
936
- this.enterRule(localContext, 28, plurnkParser.RULE_copyStatement);
787
+ this.enterRule(localContext, 24, plurnkParser.RULE_copyStatement);
937
788
  let _la;
938
789
  try {
939
790
  this.enterOuterAlt(localContext, 1);
940
791
  {
941
- this.state = 221;
792
+ this.state = 187;
942
793
  this.match(plurnkParser.OPEN_COPY);
943
- this.state = 222;
794
+ this.state = 188;
944
795
  this.transferModifiers();
945
- this.state = 224;
796
+ this.state = 190;
946
797
  this.errorHandler.sync(this);
947
798
  _la = this.tokenStream.LA(1);
948
- if (_la === 13) {
799
+ if (_la === 25) {
949
800
  {
950
- this.state = 223;
951
- this.opAnnotation();
801
+ this.state = 189;
802
+ this.opAside();
952
803
  }
953
804
  }
954
- this.state = 226;
805
+ this.state = 192;
955
806
  this.emptyStatementEnd();
956
807
  }
957
808
  }
@@ -971,25 +822,25 @@ export class plurnkParser extends antlr.Parser {
971
822
  }
972
823
  moveStatement() {
973
824
  let localContext = new MoveStatementContext(this.context, this.state);
974
- this.enterRule(localContext, 30, plurnkParser.RULE_moveStatement);
825
+ this.enterRule(localContext, 26, plurnkParser.RULE_moveStatement);
975
826
  let _la;
976
827
  try {
977
828
  this.enterOuterAlt(localContext, 1);
978
829
  {
979
- this.state = 228;
830
+ this.state = 194;
980
831
  this.match(plurnkParser.OPEN_MOVE);
981
- this.state = 229;
832
+ this.state = 195;
982
833
  this.transferModifiers();
983
- this.state = 231;
834
+ this.state = 197;
984
835
  this.errorHandler.sync(this);
985
836
  _la = this.tokenStream.LA(1);
986
- if (_la === 13) {
837
+ if (_la === 25) {
987
838
  {
988
- this.state = 230;
989
- this.opAnnotation();
839
+ this.state = 196;
840
+ this.opAside();
990
841
  }
991
842
  }
992
- this.state = 233;
843
+ this.state = 199;
993
844
  this.emptyStatementEnd();
994
845
  }
995
846
  }
@@ -1007,36 +858,43 @@ export class plurnkParser extends antlr.Parser {
1007
858
  }
1008
859
  return localContext;
1009
860
  }
1010
- sendStatement() {
1011
- let localContext = new SendStatementContext(this.context, this.state);
1012
- this.enterRule(localContext, 32, plurnkParser.RULE_sendStatement);
861
+ dispositionStatement() {
862
+ let localContext = new DispositionStatementContext(this.context, this.state);
863
+ this.enterRule(localContext, 28, plurnkParser.RULE_dispositionStatement);
1013
864
  let _la;
1014
865
  try {
1015
866
  this.enterOuterAlt(localContext, 1);
1016
867
  {
1017
- this.state = 235;
1018
- this.match(plurnkParser.OPEN_SEND);
1019
- this.state = 236;
1020
- this.match(plurnkParser.SEND_LABEL);
1021
- this.state = 238;
868
+ this.state = 201;
869
+ this.match(plurnkParser.OPEN_TASK);
870
+ this.state = 203;
1022
871
  this.errorHandler.sync(this);
1023
872
  _la = this.tokenStream.LA(1);
1024
- if (_la === 5) {
873
+ if (_la === 18) {
1025
874
  {
1026
- this.state = 237;
875
+ this.state = 202;
1027
876
  this.lineMarker();
1028
877
  }
1029
878
  }
1030
- this.state = 241;
879
+ this.state = 206;
880
+ this.errorHandler.sync(this);
881
+ _la = this.tokenStream.LA(1);
882
+ if (_la === 16) {
883
+ {
884
+ this.state = 205;
885
+ this.metadata();
886
+ }
887
+ }
888
+ this.state = 209;
1031
889
  this.errorHandler.sync(this);
1032
890
  _la = this.tokenStream.LA(1);
1033
- if (_la === 13) {
891
+ if (_la === 25) {
1034
892
  {
1035
- this.state = 240;
1036
- this.opAnnotation();
893
+ this.state = 208;
894
+ this.opAside();
1037
895
  }
1038
896
  }
1039
- this.state = 243;
897
+ this.state = 211;
1040
898
  this.statementEnd();
1041
899
  }
1042
900
  }
@@ -1054,34 +912,34 @@ export class plurnkParser extends antlr.Parser {
1054
912
  }
1055
913
  return localContext;
1056
914
  }
1057
- midSend() {
1058
- let localContext = new MidSendContext(this.context, this.state);
1059
- this.enterRule(localContext, 34, plurnkParser.RULE_midSend);
915
+ sendStatement() {
916
+ let localContext = new SendStatementContext(this.context, this.state);
917
+ this.enterRule(localContext, 30, plurnkParser.RULE_sendStatement);
1060
918
  let _la;
1061
919
  try {
1062
920
  this.enterOuterAlt(localContext, 1);
1063
921
  {
1064
- this.state = 245;
922
+ this.state = 213;
1065
923
  this.match(plurnkParser.OPEN_SEND);
1066
- this.state = 247;
924
+ this.state = 215;
1067
925
  this.errorHandler.sync(this);
1068
926
  _la = this.tokenStream.LA(1);
1069
- if (_la === 1) {
927
+ if (_la === 14) {
1070
928
  {
1071
- this.state = 246;
1072
- this.targetWithMetadata();
929
+ this.state = 214;
930
+ this.resourceSelection();
1073
931
  }
1074
932
  }
1075
- this.state = 250;
933
+ this.state = 218;
1076
934
  this.errorHandler.sync(this);
1077
935
  _la = this.tokenStream.LA(1);
1078
- if (_la === 13) {
936
+ if (_la === 25) {
1079
937
  {
1080
- this.state = 249;
1081
- this.opAnnotation();
938
+ this.state = 217;
939
+ this.opAside();
1082
940
  }
1083
941
  }
1084
- this.state = 252;
942
+ this.state = 220;
1085
943
  this.statementEnd();
1086
944
  }
1087
945
  }
@@ -1101,51 +959,32 @@ export class plurnkParser extends antlr.Parser {
1101
959
  }
1102
960
  execStatement() {
1103
961
  let localContext = new ExecStatementContext(this.context, this.state);
1104
- this.enterRule(localContext, 36, plurnkParser.RULE_execStatement);
962
+ this.enterRule(localContext, 32, plurnkParser.RULE_execStatement);
1105
963
  let _la;
1106
964
  try {
1107
965
  this.enterOuterAlt(localContext, 1);
1108
966
  {
1109
- this.state = 254;
967
+ this.state = 222;
1110
968
  this.match(plurnkParser.OPEN_EXEC);
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;
969
+ this.state = 224;
1122
970
  this.errorHandler.sync(this);
1123
971
  _la = this.tokenStream.LA(1);
1124
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
972
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 344064) !== 0)) {
1125
973
  {
1126
- this.state = 258;
974
+ this.state = 223;
1127
975
  this.execModifiers();
1128
976
  }
1129
977
  }
1130
- this.state = 262;
978
+ this.state = 227;
1131
979
  this.errorHandler.sync(this);
1132
980
  _la = this.tokenStream.LA(1);
1133
- if (_la === 15) {
981
+ if (_la === 25) {
1134
982
  {
1135
- this.state = 261;
1136
- this.match(plurnkParser.EXECUTOR);
983
+ this.state = 226;
984
+ this.opAside();
1137
985
  }
1138
986
  }
1139
- this.state = 265;
1140
- this.errorHandler.sync(this);
1141
- _la = this.tokenStream.LA(1);
1142
- if (_la === 13) {
1143
- {
1144
- this.state = 264;
1145
- this.opAnnotation();
1146
- }
1147
- }
1148
- this.state = 267;
987
+ this.state = 229;
1149
988
  this.statementEnd();
1150
989
  }
1151
990
  }
@@ -1165,113 +1004,32 @@ export class plurnkParser extends antlr.Parser {
1165
1004
  }
1166
1005
  bareStatement() {
1167
1006
  let localContext = new BareStatementContext(this.context, this.state);
1168
- this.enterRule(localContext, 38, plurnkParser.RULE_bareStatement);
1169
- let _la;
1170
- try {
1171
- this.enterOuterAlt(localContext, 1);
1172
- {
1173
- this.state = 269;
1174
- this.match(plurnkParser.OPEN_BARE);
1175
- this.state = 271;
1176
- this.errorHandler.sync(this);
1177
- _la = this.tokenStream.LA(1);
1178
- if (_la === 13) {
1179
- {
1180
- this.state = 270;
1181
- this.opAnnotation();
1182
- }
1183
- }
1184
- this.state = 273;
1185
- this.statementEnd();
1186
- }
1187
- }
1188
- catch (re) {
1189
- if (re instanceof antlr.RecognitionException) {
1190
- this.errorHandler.reportError(this, re);
1191
- this.errorHandler.recover(this, re);
1192
- }
1193
- else {
1194
- throw re;
1195
- }
1196
- }
1197
- finally {
1198
- this.exitRule();
1199
- }
1200
- return localContext;
1201
- }
1202
- workStatement() {
1203
- let localContext = new WorkStatementContext(this.context, this.state);
1204
- this.enterRule(localContext, 40, plurnkParser.RULE_workStatement);
1007
+ this.enterRule(localContext, 34, plurnkParser.RULE_bareStatement);
1205
1008
  let _la;
1206
1009
  try {
1207
1010
  this.enterOuterAlt(localContext, 1);
1208
1011
  {
1209
- this.state = 275;
1210
- this.match(plurnkParser.OPEN_WORK);
1211
- this.state = 277;
1212
- this.errorHandler.sync(this);
1213
- _la = this.tokenStream.LA(1);
1214
- if (_la === 1) {
1215
- {
1216
- this.state = 276;
1217
- this.targetWithMetadata();
1218
- }
1219
- }
1220
- this.state = 280;
1221
- this.errorHandler.sync(this);
1222
- _la = this.tokenStream.LA(1);
1223
- if (_la === 13) {
1224
- {
1225
- this.state = 279;
1226
- this.opAnnotation();
1227
- }
1228
- }
1229
- this.state = 282;
1230
- this.statementEnd();
1231
- }
1232
- }
1233
- catch (re) {
1234
- if (re instanceof antlr.RecognitionException) {
1235
- this.errorHandler.reportError(this, re);
1236
- this.errorHandler.recover(this, re);
1237
- }
1238
- else {
1239
- throw re;
1240
- }
1241
- }
1242
- finally {
1243
- this.exitRule();
1244
- }
1245
- return localContext;
1246
- }
1247
- forkStatement() {
1248
- let localContext = new ForkStatementContext(this.context, this.state);
1249
- this.enterRule(localContext, 42, plurnkParser.RULE_forkStatement);
1250
- let _la;
1251
- try {
1252
- this.enterOuterAlt(localContext, 1);
1253
- {
1254
- this.state = 284;
1255
- this.match(plurnkParser.OPEN_FORK);
1256
- this.state = 286;
1012
+ this.state = 231;
1013
+ this.match(plurnkParser.OPEN_BARE);
1014
+ this.state = 233;
1257
1015
  this.errorHandler.sync(this);
1258
1016
  _la = this.tokenStream.LA(1);
1259
- if (_la === 1) {
1017
+ if (_la === 14) {
1260
1018
  {
1261
- this.state = 285;
1019
+ this.state = 232;
1262
1020
  this.targetWithMetadata();
1263
1021
  }
1264
1022
  }
1265
- this.state = 289;
1023
+ this.state = 236;
1266
1024
  this.errorHandler.sync(this);
1267
1025
  _la = this.tokenStream.LA(1);
1268
- if (_la === 13) {
1026
+ if (_la === 25) {
1269
1027
  {
1270
- this.state = 288;
1271
- this.opAnnotation();
1028
+ this.state = 235;
1029
+ this.opAside();
1272
1030
  }
1273
1031
  }
1274
- this.state = 291;
1032
+ this.state = 238;
1275
1033
  this.statementEnd();
1276
1034
  }
1277
1035
  }
@@ -1289,34 +1047,34 @@ export class plurnkParser extends antlr.Parser {
1289
1047
  }
1290
1048
  return localContext;
1291
1049
  }
1292
- killStatement() {
1293
- let localContext = new KillStatementContext(this.context, this.state);
1294
- this.enterRule(localContext, 44, plurnkParser.RULE_killStatement);
1050
+ workStatement() {
1051
+ let localContext = new WorkStatementContext(this.context, this.state);
1052
+ this.enterRule(localContext, 36, plurnkParser.RULE_workStatement);
1295
1053
  let _la;
1296
1054
  try {
1297
1055
  this.enterOuterAlt(localContext, 1);
1298
1056
  {
1299
- this.state = 293;
1300
- this.match(plurnkParser.OPEN_KILL);
1301
- this.state = 295;
1057
+ this.state = 240;
1058
+ this.match(plurnkParser.OPEN_WORK);
1059
+ this.state = 242;
1302
1060
  this.errorHandler.sync(this);
1303
1061
  _la = this.tokenStream.LA(1);
1304
- if (_la === 1 || _la === 5) {
1062
+ if (_la === 14) {
1305
1063
  {
1306
- this.state = 294;
1307
- this.slotModifiers();
1064
+ this.state = 241;
1065
+ this.targetWithMetadata();
1308
1066
  }
1309
1067
  }
1310
- this.state = 298;
1068
+ this.state = 245;
1311
1069
  this.errorHandler.sync(this);
1312
1070
  _la = this.tokenStream.LA(1);
1313
- if (_la === 13) {
1071
+ if (_la === 25) {
1314
1072
  {
1315
- this.state = 297;
1316
- this.opAnnotation();
1073
+ this.state = 244;
1074
+ this.opAside();
1317
1075
  }
1318
1076
  }
1319
- this.state = 300;
1077
+ this.state = 247;
1320
1078
  this.statementEnd();
1321
1079
  }
1322
1080
  }
@@ -1334,34 +1092,34 @@ export class plurnkParser extends antlr.Parser {
1334
1092
  }
1335
1093
  return localContext;
1336
1094
  }
1337
- planStatement() {
1338
- let localContext = new PlanStatementContext(this.context, this.state);
1339
- this.enterRule(localContext, 46, plurnkParser.RULE_planStatement);
1095
+ forkStatement() {
1096
+ let localContext = new ForkStatementContext(this.context, this.state);
1097
+ this.enterRule(localContext, 38, plurnkParser.RULE_forkStatement);
1340
1098
  let _la;
1341
1099
  try {
1342
1100
  this.enterOuterAlt(localContext, 1);
1343
1101
  {
1344
- this.state = 302;
1345
- this.match(plurnkParser.OPEN_PLAN);
1346
- this.state = 304;
1102
+ this.state = 249;
1103
+ this.match(plurnkParser.OPEN_FORK);
1104
+ this.state = 251;
1347
1105
  this.errorHandler.sync(this);
1348
1106
  _la = this.tokenStream.LA(1);
1349
- if (_la === 1 || _la === 5) {
1107
+ if (_la === 14) {
1350
1108
  {
1351
- this.state = 303;
1352
- this.slotModifiers();
1109
+ this.state = 250;
1110
+ this.targetWithMetadata();
1353
1111
  }
1354
1112
  }
1355
- this.state = 307;
1113
+ this.state = 254;
1356
1114
  this.errorHandler.sync(this);
1357
1115
  _la = this.tokenStream.LA(1);
1358
- if (_la === 13) {
1116
+ if (_la === 25) {
1359
1117
  {
1360
- this.state = 306;
1361
- this.opAnnotation();
1118
+ this.state = 253;
1119
+ this.opAside();
1362
1120
  }
1363
1121
  }
1364
- this.state = 309;
1122
+ this.state = 256;
1365
1123
  this.statementEnd();
1366
1124
  }
1367
1125
  }
@@ -1379,34 +1137,34 @@ export class plurnkParser extends antlr.Parser {
1379
1137
  }
1380
1138
  return localContext;
1381
1139
  }
1382
- lookStatement() {
1383
- let localContext = new LookStatementContext(this.context, this.state);
1384
- this.enterRule(localContext, 48, plurnkParser.RULE_lookStatement);
1140
+ killStatement() {
1141
+ let localContext = new KillStatementContext(this.context, this.state);
1142
+ this.enterRule(localContext, 40, plurnkParser.RULE_killStatement);
1385
1143
  let _la;
1386
1144
  try {
1387
1145
  this.enterOuterAlt(localContext, 1);
1388
1146
  {
1389
- this.state = 311;
1390
- this.match(plurnkParser.OPEN_LOOK);
1391
- this.state = 313;
1147
+ this.state = 258;
1148
+ this.match(plurnkParser.OPEN_KILL);
1149
+ this.state = 260;
1392
1150
  this.errorHandler.sync(this);
1393
1151
  _la = this.tokenStream.LA(1);
1394
- if (_la === 1 || _la === 5) {
1152
+ if (_la === 14 || _la === 18) {
1395
1153
  {
1396
- this.state = 312;
1154
+ this.state = 259;
1397
1155
  this.slotModifiers();
1398
1156
  }
1399
1157
  }
1400
- this.state = 316;
1158
+ this.state = 263;
1401
1159
  this.errorHandler.sync(this);
1402
1160
  _la = this.tokenStream.LA(1);
1403
- if (_la === 13) {
1161
+ if (_la === 25) {
1404
1162
  {
1405
- this.state = 315;
1406
- this.opAnnotation();
1163
+ this.state = 262;
1164
+ this.opAside();
1407
1165
  }
1408
1166
  }
1409
- this.state = 318;
1167
+ this.state = 265;
1410
1168
  this.statementEnd();
1411
1169
  }
1412
1170
  }
@@ -1424,34 +1182,34 @@ export class plurnkParser extends antlr.Parser {
1424
1182
  }
1425
1183
  return localContext;
1426
1184
  }
1427
- buffStatement() {
1428
- let localContext = new BuffStatementContext(this.context, this.state);
1429
- this.enterRule(localContext, 50, plurnkParser.RULE_buffStatement);
1185
+ lookStatement() {
1186
+ let localContext = new LookStatementContext(this.context, this.state);
1187
+ this.enterRule(localContext, 42, plurnkParser.RULE_lookStatement);
1430
1188
  let _la;
1431
1189
  try {
1432
1190
  this.enterOuterAlt(localContext, 1);
1433
1191
  {
1434
- this.state = 320;
1435
- this.match(plurnkParser.OPEN_BUFF);
1436
- this.state = 322;
1192
+ this.state = 267;
1193
+ this.match(plurnkParser.OPEN_LOOK);
1194
+ this.state = 269;
1437
1195
  this.errorHandler.sync(this);
1438
1196
  _la = this.tokenStream.LA(1);
1439
- if (_la === 1 || _la === 5) {
1197
+ if (_la === 14 || _la === 18) {
1440
1198
  {
1441
- this.state = 321;
1199
+ this.state = 268;
1442
1200
  this.slotModifiers();
1443
1201
  }
1444
1202
  }
1445
- this.state = 325;
1203
+ this.state = 272;
1446
1204
  this.errorHandler.sync(this);
1447
1205
  _la = this.tokenStream.LA(1);
1448
- if (_la === 13) {
1206
+ if (_la === 25) {
1449
1207
  {
1450
- this.state = 324;
1451
- this.opAnnotation();
1208
+ this.state = 271;
1209
+ this.opAside();
1452
1210
  }
1453
1211
  }
1454
- this.state = 327;
1212
+ this.state = 274;
1455
1213
  this.statementEnd();
1456
1214
  }
1457
1215
  }
@@ -1469,14 +1227,14 @@ export class plurnkParser extends antlr.Parser {
1469
1227
  }
1470
1228
  return localContext;
1471
1229
  }
1472
- opAnnotation() {
1473
- let localContext = new OpAnnotationContext(this.context, this.state);
1474
- this.enterRule(localContext, 52, plurnkParser.RULE_opAnnotation);
1230
+ opAside() {
1231
+ let localContext = new OpAsideContext(this.context, this.state);
1232
+ this.enterRule(localContext, 44, plurnkParser.RULE_opAside);
1475
1233
  try {
1476
1234
  this.enterOuterAlt(localContext, 1);
1477
1235
  {
1478
- this.state = 329;
1479
- this.match(plurnkParser.ANNOTATION);
1236
+ this.state = 276;
1237
+ this.match(plurnkParser.ASIDE);
1480
1238
  }
1481
1239
  }
1482
1240
  catch (re) {
@@ -1495,39 +1253,39 @@ export class plurnkParser extends antlr.Parser {
1495
1253
  }
1496
1254
  statementEnd() {
1497
1255
  let localContext = new StatementEndContext(this.context, this.state);
1498
- this.enterRule(localContext, 54, plurnkParser.RULE_statementEnd);
1256
+ this.enterRule(localContext, 46, plurnkParser.RULE_statementEnd);
1499
1257
  let _la;
1500
1258
  try {
1501
- this.state = 344;
1259
+ this.state = 291;
1502
1260
  this.errorHandler.sync(this);
1503
1261
  switch (this.tokenStream.LA(1)) {
1504
1262
  case plurnkParser.SECTION_END:
1505
1263
  this.enterOuterAlt(localContext, 1);
1506
1264
  {
1507
- this.state = 331;
1265
+ this.state = 278;
1508
1266
  this.match(plurnkParser.SECTION_END);
1509
1267
  }
1510
1268
  break;
1511
1269
  case plurnkParser.BODY_OPEN:
1512
1270
  this.enterOuterAlt(localContext, 2);
1513
1271
  {
1514
- this.state = 332;
1272
+ this.state = 279;
1515
1273
  this.match(plurnkParser.BODY_OPEN);
1516
- this.state = 334;
1274
+ this.state = 281;
1517
1275
  this.errorHandler.sync(this);
1518
1276
  _la = this.tokenStream.LA(1);
1519
- if (_la === 11) {
1277
+ if (_la === 23) {
1520
1278
  {
1521
- this.state = 333;
1279
+ this.state = 280;
1522
1280
  this.body();
1523
1281
  }
1524
1282
  }
1525
- this.state = 337;
1283
+ this.state = 284;
1526
1284
  this.errorHandler.sync(this);
1527
1285
  _la = this.tokenStream.LA(1);
1528
- if (_la === 8) {
1286
+ if (_la === 20) {
1529
1287
  {
1530
- this.state = 336;
1288
+ this.state = 283;
1531
1289
  this.match(plurnkParser.SECTION_END);
1532
1290
  }
1533
1291
  }
@@ -1536,36 +1294,33 @@ export class plurnkParser extends antlr.Parser {
1536
1294
  case plurnkParser.BODY_TEXT:
1537
1295
  this.enterOuterAlt(localContext, 3);
1538
1296
  {
1539
- this.state = 339;
1297
+ this.state = 286;
1540
1298
  this.body();
1541
- this.state = 341;
1299
+ this.state = 288;
1542
1300
  this.errorHandler.sync(this);
1543
1301
  _la = this.tokenStream.LA(1);
1544
- if (_la === 8) {
1302
+ if (_la === 20) {
1545
1303
  {
1546
- this.state = 340;
1304
+ this.state = 287;
1547
1305
  this.match(plurnkParser.SECTION_END);
1548
1306
  }
1549
1307
  }
1550
1308
  }
1551
1309
  break;
1552
1310
  case plurnkParser.EOF:
1553
- case plurnkParser.TEXT:
1554
- case plurnkParser.OPEN_PLAN:
1555
1311
  case plurnkParser.OPEN_FIND:
1556
1312
  case plurnkParser.OPEN_READ:
1557
1313
  case plurnkParser.OPEN_EDIT:
1558
1314
  case plurnkParser.OPEN_COPY:
1559
1315
  case plurnkParser.OPEN_MOVE:
1560
1316
  case plurnkParser.OPEN_SEND:
1317
+ case plurnkParser.OPEN_TASK:
1561
1318
  case plurnkParser.OPEN_EXEC:
1562
1319
  case plurnkParser.OPEN_BARE:
1563
1320
  case plurnkParser.OPEN_WORK:
1564
1321
  case plurnkParser.OPEN_FORK:
1565
1322
  case plurnkParser.OPEN_KILL:
1566
1323
  case plurnkParser.OPEN_LOOK:
1567
- case plurnkParser.OPEN_BUFF:
1568
- case plurnkParser.FENCE_CLOSE:
1569
1324
  this.enterOuterAlt(localContext, 4);
1570
1325
  // tslint:disable-next-line:no-empty
1571
1326
  {
@@ -1591,13 +1346,13 @@ export class plurnkParser extends antlr.Parser {
1591
1346
  }
1592
1347
  transferModifiers() {
1593
1348
  let localContext = new TransferModifiersContext(this.context, this.state);
1594
- this.enterRule(localContext, 56, plurnkParser.RULE_transferModifiers);
1349
+ this.enterRule(localContext, 48, plurnkParser.RULE_transferModifiers);
1595
1350
  try {
1596
1351
  this.enterOuterAlt(localContext, 1);
1597
1352
  {
1598
- this.state = 346;
1353
+ this.state = 293;
1599
1354
  this.resourceSelection();
1600
- this.state = 347;
1355
+ this.state = 294;
1601
1356
  this.resourceSelection();
1602
1357
  }
1603
1358
  }
@@ -1617,21 +1372,26 @@ export class plurnkParser extends antlr.Parser {
1617
1372
  }
1618
1373
  resourceSelection() {
1619
1374
  let localContext = new ResourceSelectionContext(this.context, this.state);
1620
- this.enterRule(localContext, 58, plurnkParser.RULE_resourceSelection);
1375
+ this.enterRule(localContext, 50, plurnkParser.RULE_resourceSelection);
1621
1376
  let _la;
1622
1377
  try {
1623
1378
  this.enterOuterAlt(localContext, 1);
1624
1379
  {
1625
- this.state = 349;
1626
- this.targetWithMetadata();
1627
- this.state = 351;
1380
+ this.state = 296;
1381
+ this.target();
1382
+ this.state = 300;
1628
1383
  this.errorHandler.sync(this);
1629
1384
  _la = this.tokenStream.LA(1);
1630
- if (_la === 5) {
1385
+ while (_la === 16 || _la === 18) {
1631
1386
  {
1632
- this.state = 350;
1633
- this.lineMarker();
1387
+ {
1388
+ this.state = 297;
1389
+ this.selectionModifier();
1390
+ }
1634
1391
  }
1392
+ this.state = 302;
1393
+ this.errorHandler.sync(this);
1394
+ _la = this.tokenStream.LA(1);
1635
1395
  }
1636
1396
  }
1637
1397
  }
@@ -1649,53 +1409,90 @@ export class plurnkParser extends antlr.Parser {
1649
1409
  }
1650
1410
  return localContext;
1651
1411
  }
1412
+ selectionModifier() {
1413
+ let localContext = new SelectionModifierContext(this.context, this.state);
1414
+ this.enterRule(localContext, 52, plurnkParser.RULE_selectionModifier);
1415
+ try {
1416
+ this.state = 305;
1417
+ this.errorHandler.sync(this);
1418
+ switch (this.tokenStream.LA(1)) {
1419
+ case plurnkParser.L_MARKER:
1420
+ this.enterOuterAlt(localContext, 1);
1421
+ {
1422
+ this.state = 303;
1423
+ this.lineMarker();
1424
+ }
1425
+ break;
1426
+ case plurnkParser.LBRACKET:
1427
+ this.enterOuterAlt(localContext, 2);
1428
+ {
1429
+ this.state = 304;
1430
+ this.metadata();
1431
+ }
1432
+ break;
1433
+ default:
1434
+ throw new antlr.NoViableAltException(this);
1435
+ }
1436
+ }
1437
+ catch (re) {
1438
+ if (re instanceof antlr.RecognitionException) {
1439
+ this.errorHandler.reportError(this, re);
1440
+ this.errorHandler.recover(this, re);
1441
+ }
1442
+ else {
1443
+ throw re;
1444
+ }
1445
+ }
1446
+ finally {
1447
+ this.exitRule();
1448
+ }
1449
+ return localContext;
1450
+ }
1652
1451
  emptyStatementEnd() {
1653
1452
  let localContext = new EmptyStatementEndContext(this.context, this.state);
1654
- this.enterRule(localContext, 60, plurnkParser.RULE_emptyStatementEnd);
1453
+ this.enterRule(localContext, 54, plurnkParser.RULE_emptyStatementEnd);
1655
1454
  let _la;
1656
1455
  try {
1657
- this.state = 359;
1456
+ this.state = 313;
1658
1457
  this.errorHandler.sync(this);
1659
1458
  switch (this.tokenStream.LA(1)) {
1660
1459
  case plurnkParser.SECTION_END:
1661
1460
  this.enterOuterAlt(localContext, 1);
1662
1461
  {
1663
- this.state = 353;
1462
+ this.state = 307;
1664
1463
  this.match(plurnkParser.SECTION_END);
1665
1464
  }
1666
1465
  break;
1667
1466
  case plurnkParser.BODY_OPEN:
1668
1467
  this.enterOuterAlt(localContext, 2);
1669
1468
  {
1670
- this.state = 354;
1469
+ this.state = 308;
1671
1470
  this.match(plurnkParser.BODY_OPEN);
1672
- this.state = 356;
1471
+ this.state = 310;
1673
1472
  this.errorHandler.sync(this);
1674
1473
  _la = this.tokenStream.LA(1);
1675
- if (_la === 8) {
1474
+ if (_la === 20) {
1676
1475
  {
1677
- this.state = 355;
1476
+ this.state = 309;
1678
1477
  this.match(plurnkParser.SECTION_END);
1679
1478
  }
1680
1479
  }
1681
1480
  }
1682
1481
  break;
1683
1482
  case plurnkParser.EOF:
1684
- case plurnkParser.OPEN_PLAN:
1685
1483
  case plurnkParser.OPEN_FIND:
1686
1484
  case plurnkParser.OPEN_READ:
1687
1485
  case plurnkParser.OPEN_EDIT:
1688
1486
  case plurnkParser.OPEN_COPY:
1689
1487
  case plurnkParser.OPEN_MOVE:
1690
1488
  case plurnkParser.OPEN_SEND:
1489
+ case plurnkParser.OPEN_TASK:
1691
1490
  case plurnkParser.OPEN_EXEC:
1692
1491
  case plurnkParser.OPEN_BARE:
1693
1492
  case plurnkParser.OPEN_WORK:
1694
1493
  case plurnkParser.OPEN_FORK:
1695
1494
  case plurnkParser.OPEN_KILL:
1696
1495
  case plurnkParser.OPEN_LOOK:
1697
- case plurnkParser.OPEN_BUFF:
1698
- case plurnkParser.FENCE_CLOSE:
1699
1496
  this.enterOuterAlt(localContext, 3);
1700
1497
  // tslint:disable-next-line:no-empty
1701
1498
  {
@@ -1721,39 +1518,30 @@ export class plurnkParser extends antlr.Parser {
1721
1518
  }
1722
1519
  slotModifiers() {
1723
1520
  let localContext = new SlotModifiersContext(this.context, this.state);
1724
- this.enterRule(localContext, 62, plurnkParser.RULE_slotModifiers);
1521
+ this.enterRule(localContext, 56, plurnkParser.RULE_slotModifiers);
1725
1522
  let _la;
1726
1523
  try {
1727
- this.state = 369;
1524
+ this.state = 320;
1728
1525
  this.errorHandler.sync(this);
1729
1526
  switch (this.tokenStream.LA(1)) {
1730
1527
  case plurnkParser.LPAREN:
1731
1528
  this.enterOuterAlt(localContext, 1);
1732
1529
  {
1733
- this.state = 361;
1734
- this.targetWithMetadata();
1735
- this.state = 363;
1736
- this.errorHandler.sync(this);
1737
- _la = this.tokenStream.LA(1);
1738
- if (_la === 5) {
1739
- {
1740
- this.state = 362;
1741
- this.lineMarker();
1742
- }
1743
- }
1530
+ this.state = 315;
1531
+ this.resourceSelection();
1744
1532
  }
1745
1533
  break;
1746
1534
  case plurnkParser.L_MARKER:
1747
1535
  this.enterOuterAlt(localContext, 2);
1748
1536
  {
1749
- this.state = 365;
1537
+ this.state = 316;
1750
1538
  this.lineMarker();
1751
- this.state = 367;
1539
+ this.state = 318;
1752
1540
  this.errorHandler.sync(this);
1753
1541
  _la = this.tokenStream.LA(1);
1754
- if (_la === 1) {
1542
+ if (_la === 14) {
1755
1543
  {
1756
- this.state = 366;
1544
+ this.state = 317;
1757
1545
  this.targetWithMetadata();
1758
1546
  }
1759
1547
  }
@@ -1779,25 +1567,25 @@ export class plurnkParser extends antlr.Parser {
1779
1567
  }
1780
1568
  execModifiers() {
1781
1569
  let localContext = new ExecModifiersContext(this.context, this.state);
1782
- this.enterRule(localContext, 64, plurnkParser.RULE_execModifiers);
1570
+ this.enterRule(localContext, 58, plurnkParser.RULE_execModifiers);
1783
1571
  let _la;
1784
1572
  try {
1785
1573
  this.enterOuterAlt(localContext, 1);
1786
1574
  {
1787
- this.state = 372;
1575
+ this.state = 323;
1788
1576
  this.errorHandler.sync(this);
1789
1577
  _la = this.tokenStream.LA(1);
1790
1578
  do {
1791
1579
  {
1792
1580
  {
1793
- this.state = 371;
1581
+ this.state = 322;
1794
1582
  this.execSlot();
1795
1583
  }
1796
1584
  }
1797
- this.state = 374;
1585
+ this.state = 325;
1798
1586
  this.errorHandler.sync(this);
1799
1587
  _la = this.tokenStream.LA(1);
1800
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0));
1588
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 344064) !== 0));
1801
1589
  }
1802
1590
  }
1803
1591
  catch (re) {
@@ -1816,29 +1604,29 @@ export class plurnkParser extends antlr.Parser {
1816
1604
  }
1817
1605
  execSlot() {
1818
1606
  let localContext = new ExecSlotContext(this.context, this.state);
1819
- this.enterRule(localContext, 66, plurnkParser.RULE_execSlot);
1607
+ this.enterRule(localContext, 60, plurnkParser.RULE_execSlot);
1820
1608
  try {
1821
- this.state = 379;
1609
+ this.state = 330;
1822
1610
  this.errorHandler.sync(this);
1823
1611
  switch (this.tokenStream.LA(1)) {
1824
1612
  case plurnkParser.LPAREN:
1825
1613
  this.enterOuterAlt(localContext, 1);
1826
1614
  {
1827
- this.state = 376;
1615
+ this.state = 327;
1828
1616
  this.targetWithMetadata();
1829
1617
  }
1830
1618
  break;
1831
- case plurnkParser.LBRACE:
1619
+ case plurnkParser.LBRACKET:
1832
1620
  this.enterOuterAlt(localContext, 2);
1833
1621
  {
1834
- this.state = 377;
1622
+ this.state = 328;
1835
1623
  this.metadata();
1836
1624
  }
1837
1625
  break;
1838
1626
  case plurnkParser.L_MARKER:
1839
1627
  this.enterOuterAlt(localContext, 3);
1840
1628
  {
1841
- this.state = 378;
1629
+ this.state = 329;
1842
1630
  this.lineMarker();
1843
1631
  }
1844
1632
  break;
@@ -1862,28 +1650,37 @@ export class plurnkParser extends antlr.Parser {
1862
1650
  }
1863
1651
  target() {
1864
1652
  let localContext = new TargetContext(this.context, this.state);
1865
- this.enterRule(localContext, 68, plurnkParser.RULE_target);
1653
+ this.enterRule(localContext, 62, plurnkParser.RULE_target);
1866
1654
  let _la;
1867
1655
  try {
1868
1656
  this.enterOuterAlt(localContext, 1);
1869
1657
  {
1870
- this.state = 381;
1658
+ this.state = 332;
1871
1659
  this.match(plurnkParser.LPAREN);
1872
- this.state = 385;
1660
+ this.state = 336;
1873
1661
  this.errorHandler.sync(this);
1874
1662
  _la = this.tokenStream.LA(1);
1875
- while (_la === 9) {
1663
+ while (_la === 21) {
1876
1664
  {
1877
1665
  {
1878
- this.state = 382;
1666
+ this.state = 333;
1879
1667
  this.match(plurnkParser.TARGET_TEXT);
1880
1668
  }
1881
1669
  }
1882
- this.state = 387;
1670
+ this.state = 338;
1883
1671
  this.errorHandler.sync(this);
1884
1672
  _la = this.tokenStream.LA(1);
1885
1673
  }
1886
- this.state = 388;
1674
+ this.state = 340;
1675
+ this.errorHandler.sync(this);
1676
+ _la = this.tokenStream.LA(1);
1677
+ if (_la === 18) {
1678
+ {
1679
+ this.state = 339;
1680
+ this.lineMarker();
1681
+ }
1682
+ }
1683
+ this.state = 342;
1887
1684
  this.match(plurnkParser.RPAREN);
1888
1685
  }
1889
1686
  }
@@ -1903,28 +1700,28 @@ export class plurnkParser extends antlr.Parser {
1903
1700
  }
1904
1701
  targetWithMetadata() {
1905
1702
  let localContext = new TargetWithMetadataContext(this.context, this.state);
1906
- this.enterRule(localContext, 70, plurnkParser.RULE_targetWithMetadata);
1703
+ this.enterRule(localContext, 64, plurnkParser.RULE_targetWithMetadata);
1907
1704
  try {
1908
1705
  let alternative;
1909
1706
  this.enterOuterAlt(localContext, 1);
1910
1707
  {
1911
- this.state = 390;
1708
+ this.state = 344;
1912
1709
  this.target();
1913
- this.state = 394;
1710
+ this.state = 348;
1914
1711
  this.errorHandler.sync(this);
1915
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 59, this.context);
1712
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 51, this.context);
1916
1713
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1917
1714
  if (alternative === 1) {
1918
1715
  {
1919
1716
  {
1920
- this.state = 391;
1717
+ this.state = 345;
1921
1718
  this.metadata();
1922
1719
  }
1923
1720
  }
1924
1721
  }
1925
- this.state = 396;
1722
+ this.state = 350;
1926
1723
  this.errorHandler.sync(this);
1927
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 59, this.context);
1724
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 51, this.context);
1928
1725
  }
1929
1726
  }
1930
1727
  }
@@ -1944,29 +1741,29 @@ export class plurnkParser extends antlr.Parser {
1944
1741
  }
1945
1742
  metadata() {
1946
1743
  let localContext = new MetadataContext(this.context, this.state);
1947
- this.enterRule(localContext, 72, plurnkParser.RULE_metadata);
1744
+ this.enterRule(localContext, 66, plurnkParser.RULE_metadata);
1948
1745
  let _la;
1949
1746
  try {
1950
1747
  this.enterOuterAlt(localContext, 1);
1951
1748
  {
1952
- this.state = 397;
1953
- this.match(plurnkParser.LBRACE);
1954
- this.state = 401;
1749
+ this.state = 351;
1750
+ this.match(plurnkParser.LBRACKET);
1751
+ this.state = 355;
1955
1752
  this.errorHandler.sync(this);
1956
1753
  _la = this.tokenStream.LA(1);
1957
- while (_la === 10) {
1754
+ while (_la === 22) {
1958
1755
  {
1959
1756
  {
1960
- this.state = 398;
1757
+ this.state = 352;
1961
1758
  this.match(plurnkParser.METADATA_TEXT);
1962
1759
  }
1963
1760
  }
1964
- this.state = 403;
1761
+ this.state = 357;
1965
1762
  this.errorHandler.sync(this);
1966
1763
  _la = this.tokenStream.LA(1);
1967
1764
  }
1968
- this.state = 404;
1969
- this.match(plurnkParser.RBRACE);
1765
+ this.state = 358;
1766
+ this.match(plurnkParser.RBRACKET);
1970
1767
  }
1971
1768
  }
1972
1769
  catch (re) {
@@ -1985,11 +1782,11 @@ export class plurnkParser extends antlr.Parser {
1985
1782
  }
1986
1783
  lineMarker() {
1987
1784
  let localContext = new LineMarkerContext(this.context, this.state);
1988
- this.enterRule(localContext, 74, plurnkParser.RULE_lineMarker);
1785
+ this.enterRule(localContext, 68, plurnkParser.RULE_lineMarker);
1989
1786
  try {
1990
1787
  this.enterOuterAlt(localContext, 1);
1991
1788
  {
1992
- this.state = 406;
1789
+ this.state = 360;
1993
1790
  this.match(plurnkParser.L_MARKER);
1994
1791
  }
1995
1792
  }
@@ -2009,25 +1806,25 @@ export class plurnkParser extends antlr.Parser {
2009
1806
  }
2010
1807
  body() {
2011
1808
  let localContext = new BodyContext(this.context, this.state);
2012
- this.enterRule(localContext, 76, plurnkParser.RULE_body);
1809
+ this.enterRule(localContext, 70, plurnkParser.RULE_body);
2013
1810
  let _la;
2014
1811
  try {
2015
1812
  this.enterOuterAlt(localContext, 1);
2016
1813
  {
2017
- this.state = 409;
1814
+ this.state = 363;
2018
1815
  this.errorHandler.sync(this);
2019
1816
  _la = this.tokenStream.LA(1);
2020
1817
  do {
2021
1818
  {
2022
1819
  {
2023
- this.state = 408;
1820
+ this.state = 362;
2024
1821
  this.match(plurnkParser.BODY_TEXT);
2025
1822
  }
2026
1823
  }
2027
- this.state = 411;
1824
+ this.state = 365;
2028
1825
  this.errorHandler.sync(this);
2029
1826
  _la = this.tokenStream.LA(1);
2030
- } while (_la === 11);
1827
+ } while (_la === 23);
2031
1828
  }
2032
1829
  }
2033
1830
  catch (re) {
@@ -2045,162 +1842,144 @@ export class plurnkParser extends antlr.Parser {
2045
1842
  return localContext;
2046
1843
  }
2047
1844
  static _serializedATN = [
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,
1845
+ 4, 1, 32, 368, 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,
2049
1846
  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,
2050
1847
  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,
2051
1848
  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,
2052
1849
  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,
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
1850
+ 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 77, 8, 1, 11, 1, 12, 1, 78,
1851
+ 1, 1, 1, 1, 1, 2, 5, 2, 84, 8, 2, 10, 2, 12, 2, 87, 9, 2, 1, 2, 1, 2, 1, 3, 4, 3, 92, 8, 3, 11,
1852
+ 3, 12, 3, 93, 1, 3, 1, 3, 5, 3, 98, 8, 3, 10, 3, 12, 3, 101, 9, 3, 3, 3, 103, 8, 3, 1, 3, 1,
1853
+ 3, 5, 3, 107, 8, 3, 10, 3, 12, 3, 110, 9, 3, 3, 3, 112, 8, 3, 1, 4, 5, 4, 115, 8, 4, 10, 4,
1854
+ 12, 4, 118, 9, 4, 1, 4, 1, 4, 1, 5, 5, 5, 123, 8, 5, 10, 5, 12, 5, 126, 9, 5, 1, 5, 1, 5, 1,
1855
+ 6, 1, 6, 3, 6, 132, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1,
1856
+ 7, 3, 7, 146, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 159,
1857
+ 8, 8, 1, 9, 1, 9, 3, 9, 163, 8, 9, 1, 9, 3, 9, 166, 8, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 172,
1858
+ 8, 10, 1, 10, 3, 10, 175, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 181, 8, 11, 1, 11, 3,
1859
+ 11, 184, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 3, 12, 191, 8, 12, 1, 12, 1, 12, 1, 13,
1860
+ 1, 13, 1, 13, 3, 13, 198, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 204, 8, 14, 1, 14, 3,
1861
+ 14, 207, 8, 14, 1, 14, 3, 14, 210, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 216, 8, 15,
1862
+ 1, 15, 3, 15, 219, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 225, 8, 16, 1, 16, 3, 16, 228,
1863
+ 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 234, 8, 17, 1, 17, 3, 17, 237, 8, 17, 1, 17, 1,
1864
+ 17, 1, 18, 1, 18, 3, 18, 243, 8, 18, 1, 18, 3, 18, 246, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19,
1865
+ 3, 19, 252, 8, 19, 1, 19, 3, 19, 255, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 261, 8,
1866
+ 20, 1, 20, 3, 20, 264, 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 270, 8, 21, 1, 21, 3, 21,
1867
+ 273, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 3, 23, 282, 8, 23, 1, 23, 3,
1868
+ 23, 285, 8, 23, 1, 23, 1, 23, 3, 23, 289, 8, 23, 1, 23, 3, 23, 292, 8, 23, 1, 24, 1, 24,
1869
+ 1, 24, 1, 25, 1, 25, 5, 25, 299, 8, 25, 10, 25, 12, 25, 302, 9, 25, 1, 26, 1, 26, 3, 26,
1870
+ 306, 8, 26, 1, 27, 1, 27, 1, 27, 3, 27, 311, 8, 27, 1, 27, 3, 27, 314, 8, 27, 1, 28, 1,
1871
+ 28, 1, 28, 3, 28, 319, 8, 28, 3, 28, 321, 8, 28, 1, 29, 4, 29, 324, 8, 29, 11, 29, 12,
1872
+ 29, 325, 1, 30, 1, 30, 1, 30, 3, 30, 331, 8, 30, 1, 31, 1, 31, 5, 31, 335, 8, 31, 10, 31,
1873
+ 12, 31, 338, 9, 31, 1, 31, 3, 31, 341, 8, 31, 1, 31, 1, 31, 1, 32, 1, 32, 5, 32, 347, 8,
1874
+ 32, 10, 32, 12, 32, 350, 9, 32, 1, 33, 1, 33, 5, 33, 354, 8, 33, 10, 33, 12, 33, 357,
1875
+ 9, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 4, 35, 364, 8, 35, 11, 35, 12, 35, 365, 1, 35,
1876
+ 0, 0, 36, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40,
1877
+ 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 0, 0, 408, 0, 72, 1, 0, 0,
1878
+ 0, 2, 76, 1, 0, 0, 0, 4, 85, 1, 0, 0, 0, 6, 111, 1, 0, 0, 0, 8, 116, 1, 0, 0, 0, 10, 124, 1,
1879
+ 0, 0, 0, 12, 131, 1, 0, 0, 0, 14, 145, 1, 0, 0, 0, 16, 158, 1, 0, 0, 0, 18, 160, 1, 0, 0,
1880
+ 0, 20, 169, 1, 0, 0, 0, 22, 178, 1, 0, 0, 0, 24, 187, 1, 0, 0, 0, 26, 194, 1, 0, 0, 0, 28,
1881
+ 201, 1, 0, 0, 0, 30, 213, 1, 0, 0, 0, 32, 222, 1, 0, 0, 0, 34, 231, 1, 0, 0, 0, 36, 240,
1882
+ 1, 0, 0, 0, 38, 249, 1, 0, 0, 0, 40, 258, 1, 0, 0, 0, 42, 267, 1, 0, 0, 0, 44, 276, 1, 0,
1883
+ 0, 0, 46, 291, 1, 0, 0, 0, 48, 293, 1, 0, 0, 0, 50, 296, 1, 0, 0, 0, 52, 305, 1, 0, 0, 0,
1884
+ 54, 313, 1, 0, 0, 0, 56, 320, 1, 0, 0, 0, 58, 323, 1, 0, 0, 0, 60, 330, 1, 0, 0, 0, 62, 332,
1885
+ 1, 0, 0, 0, 64, 344, 1, 0, 0, 0, 66, 351, 1, 0, 0, 0, 68, 360, 1, 0, 0, 0, 70, 363, 1, 0,
1886
+ 0, 0, 72, 73, 3, 6, 3, 0, 73, 74, 5, 0, 0, 1, 74, 1, 1, 0, 0, 0, 75, 77, 3, 4, 2, 0, 76, 75,
1887
+ 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0,
1888
+ 80, 81, 5, 0, 0, 1, 81, 3, 1, 0, 0, 0, 82, 84, 3, 16, 8, 0, 83, 82, 1, 0, 0, 0, 84, 87, 1,
1889
+ 0, 0, 0, 85, 83, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 88, 1, 0, 0, 0, 87, 85, 1, 0, 0, 0, 88,
1890
+ 89, 3, 28, 14, 0, 89, 5, 1, 0, 0, 0, 90, 92, 3, 16, 8, 0, 91, 90, 1, 0, 0, 0, 92, 93, 1, 0,
1891
+ 0, 0, 93, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 102, 1, 0, 0, 0, 95, 99, 3, 28, 14, 0, 96,
1892
+ 98, 3, 16, 8, 0, 97, 96, 1, 0, 0, 0, 98, 101, 1, 0, 0, 0, 99, 97, 1, 0, 0, 0, 99, 100, 1,
1893
+ 0, 0, 0, 100, 103, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 102, 95, 1, 0, 0, 0, 102, 103, 1, 0,
1894
+ 0, 0, 103, 112, 1, 0, 0, 0, 104, 108, 3, 28, 14, 0, 105, 107, 3, 16, 8, 0, 106, 105, 1,
1895
+ 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 112, 1,
1896
+ 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 91, 1, 0, 0, 0, 111, 104, 1, 0, 0, 0, 112, 7, 1, 0, 0,
1897
+ 0, 113, 115, 3, 14, 7, 0, 114, 113, 1, 0, 0, 0, 115, 118, 1, 0, 0, 0, 116, 114, 1, 0, 0,
1898
+ 0, 116, 117, 1, 0, 0, 0, 117, 119, 1, 0, 0, 0, 118, 116, 1, 0, 0, 0, 119, 120, 5, 0, 0,
1899
+ 1, 120, 9, 1, 0, 0, 0, 121, 123, 3, 12, 6, 0, 122, 121, 1, 0, 0, 0, 123, 126, 1, 0, 0, 0,
1900
+ 124, 122, 1, 0, 0, 0, 124, 125, 1, 0, 0, 0, 125, 127, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0,
1901
+ 127, 128, 5, 0, 0, 1, 128, 11, 1, 0, 0, 0, 129, 132, 3, 14, 7, 0, 130, 132, 3, 42, 21,
1902
+ 0, 131, 129, 1, 0, 0, 0, 131, 130, 1, 0, 0, 0, 132, 13, 1, 0, 0, 0, 133, 146, 3, 18, 9,
1903
+ 0, 134, 146, 3, 20, 10, 0, 135, 146, 3, 22, 11, 0, 136, 146, 3, 24, 12, 0, 137, 146,
1904
+ 3, 26, 13, 0, 138, 146, 3, 28, 14, 0, 139, 146, 3, 30, 15, 0, 140, 146, 3, 32, 16, 0,
1905
+ 141, 146, 3, 34, 17, 0, 142, 146, 3, 36, 18, 0, 143, 146, 3, 38, 19, 0, 144, 146, 3,
1906
+ 40, 20, 0, 145, 133, 1, 0, 0, 0, 145, 134, 1, 0, 0, 0, 145, 135, 1, 0, 0, 0, 145, 136,
1907
+ 1, 0, 0, 0, 145, 137, 1, 0, 0, 0, 145, 138, 1, 0, 0, 0, 145, 139, 1, 0, 0, 0, 145, 140,
1908
+ 1, 0, 0, 0, 145, 141, 1, 0, 0, 0, 145, 142, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 144,
1909
+ 1, 0, 0, 0, 146, 15, 1, 0, 0, 0, 147, 159, 3, 18, 9, 0, 148, 159, 3, 20, 10, 0, 149, 159,
1910
+ 3, 22, 11, 0, 150, 159, 3, 24, 12, 0, 151, 159, 3, 26, 13, 0, 152, 159, 3, 30, 15, 0,
1911
+ 153, 159, 3, 32, 16, 0, 154, 159, 3, 34, 17, 0, 155, 159, 3, 36, 18, 0, 156, 159, 3,
1912
+ 38, 19, 0, 157, 159, 3, 40, 20, 0, 158, 147, 1, 0, 0, 0, 158, 148, 1, 0, 0, 0, 158, 149,
1913
+ 1, 0, 0, 0, 158, 150, 1, 0, 0, 0, 158, 151, 1, 0, 0, 0, 158, 152, 1, 0, 0, 0, 158, 153,
1914
+ 1, 0, 0, 0, 158, 154, 1, 0, 0, 0, 158, 155, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 158, 157,
1915
+ 1, 0, 0, 0, 159, 17, 1, 0, 0, 0, 160, 162, 5, 1, 0, 0, 161, 163, 3, 56, 28, 0, 162, 161,
1916
+ 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 165, 1, 0, 0, 0, 164, 166, 3, 44, 22, 0, 165, 164,
1917
+ 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 3, 46, 23, 0, 168, 19,
1918
+ 1, 0, 0, 0, 169, 171, 5, 2, 0, 0, 170, 172, 3, 56, 28, 0, 171, 170, 1, 0, 0, 0, 171, 172,
1919
+ 1, 0, 0, 0, 172, 174, 1, 0, 0, 0, 173, 175, 3, 44, 22, 0, 174, 173, 1, 0, 0, 0, 174, 175,
1920
+ 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 177, 3, 46, 23, 0, 177, 21, 1, 0, 0, 0, 178, 180,
1921
+ 5, 3, 0, 0, 179, 181, 3, 56, 28, 0, 180, 179, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 183,
1922
+ 1, 0, 0, 0, 182, 184, 3, 44, 22, 0, 183, 182, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185,
1923
+ 1, 0, 0, 0, 185, 186, 3, 46, 23, 0, 186, 23, 1, 0, 0, 0, 187, 188, 5, 4, 0, 0, 188, 190,
1924
+ 3, 48, 24, 0, 189, 191, 3, 44, 22, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191,
1925
+ 192, 1, 0, 0, 0, 192, 193, 3, 54, 27, 0, 193, 25, 1, 0, 0, 0, 194, 195, 5, 5, 0, 0, 195,
1926
+ 197, 3, 48, 24, 0, 196, 198, 3, 44, 22, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0,
1927
+ 198, 199, 1, 0, 0, 0, 199, 200, 3, 54, 27, 0, 200, 27, 1, 0, 0, 0, 201, 203, 5, 7, 0, 0,
1928
+ 202, 204, 3, 68, 34, 0, 203, 202, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 206, 1, 0, 0,
1929
+ 0, 205, 207, 3, 66, 33, 0, 206, 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 209, 1, 0,
1930
+ 0, 0, 208, 210, 3, 44, 22, 0, 209, 208, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 211, 1,
1931
+ 0, 0, 0, 211, 212, 3, 46, 23, 0, 212, 29, 1, 0, 0, 0, 213, 215, 5, 6, 0, 0, 214, 216, 3,
1932
+ 50, 25, 0, 215, 214, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 218, 1, 0, 0, 0, 217, 219,
1933
+ 3, 44, 22, 0, 218, 217, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 220, 1, 0, 0, 0, 220, 221,
1934
+ 3, 46, 23, 0, 221, 31, 1, 0, 0, 0, 222, 224, 5, 8, 0, 0, 223, 225, 3, 58, 29, 0, 224, 223,
1935
+ 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227, 1, 0, 0, 0, 226, 228, 3, 44, 22, 0, 227, 226,
1936
+ 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 229, 1, 0, 0, 0, 229, 230, 3, 46, 23, 0, 230, 33,
1937
+ 1, 0, 0, 0, 231, 233, 5, 9, 0, 0, 232, 234, 3, 64, 32, 0, 233, 232, 1, 0, 0, 0, 233, 234,
1938
+ 1, 0, 0, 0, 234, 236, 1, 0, 0, 0, 235, 237, 3, 44, 22, 0, 236, 235, 1, 0, 0, 0, 236, 237,
1939
+ 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 239, 3, 46, 23, 0, 239, 35, 1, 0, 0, 0, 240, 242,
1940
+ 5, 10, 0, 0, 241, 243, 3, 64, 32, 0, 242, 241, 1, 0, 0, 0, 242, 243, 1, 0, 0, 0, 243, 245,
1941
+ 1, 0, 0, 0, 244, 246, 3, 44, 22, 0, 245, 244, 1, 0, 0, 0, 245, 246, 1, 0, 0, 0, 246, 247,
1942
+ 1, 0, 0, 0, 247, 248, 3, 46, 23, 0, 248, 37, 1, 0, 0, 0, 249, 251, 5, 11, 0, 0, 250, 252,
1943
+ 3, 64, 32, 0, 251, 250, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 254, 1, 0, 0, 0, 253, 255,
1944
+ 3, 44, 22, 0, 254, 253, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 257,
1945
+ 3, 46, 23, 0, 257, 39, 1, 0, 0, 0, 258, 260, 5, 12, 0, 0, 259, 261, 3, 56, 28, 0, 260,
1946
+ 259, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 263, 1, 0, 0, 0, 262, 264, 3, 44, 22, 0, 263,
1947
+ 262, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 266, 3, 46, 23, 0, 266,
1948
+ 41, 1, 0, 0, 0, 267, 269, 5, 13, 0, 0, 268, 270, 3, 56, 28, 0, 269, 268, 1, 0, 0, 0, 269,
1949
+ 270, 1, 0, 0, 0, 270, 272, 1, 0, 0, 0, 271, 273, 3, 44, 22, 0, 272, 271, 1, 0, 0, 0, 272,
1950
+ 273, 1, 0, 0, 0, 273, 274, 1, 0, 0, 0, 274, 275, 3, 46, 23, 0, 275, 43, 1, 0, 0, 0, 276,
1951
+ 277, 5, 25, 0, 0, 277, 45, 1, 0, 0, 0, 278, 292, 5, 20, 0, 0, 279, 281, 5, 19, 0, 0, 280,
1952
+ 282, 3, 70, 35, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 284, 1, 0, 0, 0, 283,
1953
+ 285, 5, 20, 0, 0, 284, 283, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 292, 1, 0, 0, 0, 286,
1954
+ 288, 3, 70, 35, 0, 287, 289, 5, 20, 0, 0, 288, 287, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289,
1955
+ 292, 1, 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 278, 1, 0, 0, 0, 291, 279, 1, 0, 0, 0, 291,
1956
+ 286, 1, 0, 0, 0, 291, 290, 1, 0, 0, 0, 292, 47, 1, 0, 0, 0, 293, 294, 3, 50, 25, 0, 294,
1957
+ 295, 3, 50, 25, 0, 295, 49, 1, 0, 0, 0, 296, 300, 3, 62, 31, 0, 297, 299, 3, 52, 26, 0,
1958
+ 298, 297, 1, 0, 0, 0, 299, 302, 1, 0, 0, 0, 300, 298, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0,
1959
+ 301, 51, 1, 0, 0, 0, 302, 300, 1, 0, 0, 0, 303, 306, 3, 68, 34, 0, 304, 306, 3, 66, 33,
1960
+ 0, 305, 303, 1, 0, 0, 0, 305, 304, 1, 0, 0, 0, 306, 53, 1, 0, 0, 0, 307, 314, 5, 20, 0,
1961
+ 0, 308, 310, 5, 19, 0, 0, 309, 311, 5, 20, 0, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0,
1962
+ 0, 0, 311, 314, 1, 0, 0, 0, 312, 314, 1, 0, 0, 0, 313, 307, 1, 0, 0, 0, 313, 308, 1, 0,
1963
+ 0, 0, 313, 312, 1, 0, 0, 0, 314, 55, 1, 0, 0, 0, 315, 321, 3, 50, 25, 0, 316, 318, 3, 68,
1964
+ 34, 0, 317, 319, 3, 64, 32, 0, 318, 317, 1, 0, 0, 0, 318, 319, 1, 0, 0, 0, 319, 321, 1,
1965
+ 0, 0, 0, 320, 315, 1, 0, 0, 0, 320, 316, 1, 0, 0, 0, 321, 57, 1, 0, 0, 0, 322, 324, 3, 60,
1966
+ 30, 0, 323, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0,
1967
+ 0, 0, 326, 59, 1, 0, 0, 0, 327, 331, 3, 64, 32, 0, 328, 331, 3, 66, 33, 0, 329, 331, 3,
1968
+ 68, 34, 0, 330, 327, 1, 0, 0, 0, 330, 328, 1, 0, 0, 0, 330, 329, 1, 0, 0, 0, 331, 61, 1,
1969
+ 0, 0, 0, 332, 336, 5, 14, 0, 0, 333, 335, 5, 21, 0, 0, 334, 333, 1, 0, 0, 0, 335, 338,
1970
+ 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 340, 1, 0, 0, 0, 338, 336,
1971
+ 1, 0, 0, 0, 339, 341, 3, 68, 34, 0, 340, 339, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 342,
1972
+ 1, 0, 0, 0, 342, 343, 5, 15, 0, 0, 343, 63, 1, 0, 0, 0, 344, 348, 3, 62, 31, 0, 345, 347,
1973
+ 3, 66, 33, 0, 346, 345, 1, 0, 0, 0, 347, 350, 1, 0, 0, 0, 348, 346, 1, 0, 0, 0, 348, 349,
1974
+ 1, 0, 0, 0, 349, 65, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 351, 355, 5, 16, 0, 0, 352, 354,
1975
+ 5, 22, 0, 0, 353, 352, 1, 0, 0, 0, 354, 357, 1, 0, 0, 0, 355, 353, 1, 0, 0, 0, 355, 356,
1976
+ 1, 0, 0, 0, 356, 358, 1, 0, 0, 0, 357, 355, 1, 0, 0, 0, 358, 359, 5, 17, 0, 0, 359, 67,
1977
+ 1, 0, 0, 0, 360, 361, 5, 18, 0, 0, 361, 69, 1, 0, 0, 0, 362, 364, 5, 23, 0, 0, 363, 362,
1978
+ 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 71, 1,
1979
+ 0, 0, 0, 54, 78, 85, 93, 99, 102, 108, 111, 116, 124, 131, 145, 158, 162, 165, 171,
1980
+ 174, 180, 183, 190, 197, 203, 206, 209, 215, 218, 224, 227, 233, 236, 242, 245,
1981
+ 251, 254, 260, 263, 269, 272, 281, 284, 288, 291, 300, 305, 310, 313, 318, 320,
1982
+ 325, 330, 336, 340, 348, 355, 365
2204
1983
  ];
2205
1984
  static __ATN;
2206
1985
  static get _ATN() {
@@ -2219,20 +1998,11 @@ export class DocumentContext extends antlr.ParserRuleContext {
2219
1998
  constructor(parent, invokingState) {
2220
1999
  super(parent, invokingState);
2221
2000
  }
2222
- modelTurnContent() {
2223
- return this.getRuleContext(0, ModelTurnContentContext);
2224
- }
2225
- EOF() {
2226
- return this.getToken(plurnkParser.EOF, 0);
2227
- }
2228
- FENCE_OPEN() {
2229
- return this.getToken(plurnkParser.FENCE_OPEN, 0);
2230
- }
2231
2001
  modelTurn() {
2232
2002
  return this.getRuleContext(0, ModelTurnContext);
2233
2003
  }
2234
- FENCE_CLOSE() {
2235
- return this.getToken(plurnkParser.FENCE_CLOSE, 0);
2004
+ EOF() {
2005
+ return this.getToken(plurnkParser.EOF, 0);
2236
2006
  }
2237
2007
  get ruleIndex() {
2238
2008
  return plurnkParser.RULE_document;
@@ -2253,11 +2023,11 @@ export class LogContext extends antlr.ParserRuleContext {
2253
2023
  EOF() {
2254
2024
  return this.getToken(plurnkParser.EOF, 0);
2255
2025
  }
2256
- turnContent(i) {
2026
+ turn(i) {
2257
2027
  if (i === undefined) {
2258
- return this.getRuleContexts(TurnContentContext);
2028
+ return this.getRuleContexts(TurnContext);
2259
2029
  }
2260
- return this.getRuleContext(i, TurnContentContext);
2030
+ return this.getRuleContext(i, TurnContext);
2261
2031
  }
2262
2032
  get ruleIndex() {
2263
2033
  return plurnkParser.RULE_log;
@@ -2271,69 +2041,12 @@ export class LogContext extends antlr.ParserRuleContext {
2271
2041
  }
2272
2042
  }
2273
2043
  }
2274
- export class TurnContentContext extends antlr.ParserRuleContext {
2275
- constructor(parent, invokingState) {
2276
- super(parent, invokingState);
2277
- }
2278
- turn() {
2279
- return this.getRuleContext(0, TurnContext);
2280
- }
2281
- TEXT(i) {
2282
- if (i === undefined) {
2283
- return this.getTokens(plurnkParser.TEXT);
2284
- }
2285
- else {
2286
- return this.getToken(plurnkParser.TEXT, i);
2287
- }
2288
- }
2289
- get ruleIndex() {
2290
- return plurnkParser.RULE_turnContent;
2291
- }
2292
- accept(visitor) {
2293
- if (visitor.visitTurnContent) {
2294
- return visitor.visitTurnContent(this);
2295
- }
2296
- else {
2297
- return visitor.visitChildren(this);
2298
- }
2299
- }
2300
- }
2301
- export class ModelTurnContentContext extends antlr.ParserRuleContext {
2302
- constructor(parent, invokingState) {
2303
- super(parent, invokingState);
2304
- }
2305
- modelTurn() {
2306
- return this.getRuleContext(0, ModelTurnContext);
2307
- }
2308
- TEXT(i) {
2309
- if (i === undefined) {
2310
- return this.getTokens(plurnkParser.TEXT);
2311
- }
2312
- else {
2313
- return this.getToken(plurnkParser.TEXT, i);
2314
- }
2315
- }
2316
- get ruleIndex() {
2317
- return plurnkParser.RULE_modelTurnContent;
2318
- }
2319
- accept(visitor) {
2320
- if (visitor.visitModelTurnContent) {
2321
- return visitor.visitModelTurnContent(this);
2322
- }
2323
- else {
2324
- return visitor.visitChildren(this);
2325
- }
2326
- }
2327
- }
2328
2044
  export class TurnContext extends antlr.ParserRuleContext {
2329
2045
  constructor(parent, invokingState) {
2330
2046
  super(parent, invokingState);
2331
2047
  }
2332
- sendStatement() {
2333
- return this.getRuleContext(0, SendStatementContext);
2334
- }
2335
- planStatement() {
2336
- return this.getRuleContext(0, PlanStatementContext);
2048
+ dispositionStatement() {
2049
+ return this.getRuleContext(0, DispositionStatementContext);
2337
2050
  }
2338
2051
  midStatement(i) {
2339
2052
  if (i === undefined) {
@@ -2357,17 +2070,14 @@ export class ModelTurnContext extends antlr.ParserRuleContext {
2357
2070
  constructor(parent, invokingState) {
2358
2071
  super(parent, invokingState);
2359
2072
  }
2360
- planStatement() {
2361
- return this.getRuleContext(0, PlanStatementContext);
2362
- }
2363
2073
  midStatement(i) {
2364
2074
  if (i === undefined) {
2365
2075
  return this.getRuleContexts(MidStatementContext);
2366
2076
  }
2367
2077
  return this.getRuleContext(i, MidStatementContext);
2368
2078
  }
2369
- sendStatement() {
2370
- return this.getRuleContext(0, SendStatementContext);
2079
+ dispositionStatement() {
2080
+ return this.getRuleContext(0, DispositionStatementContext);
2371
2081
  }
2372
2082
  get ruleIndex() {
2373
2083
  return plurnkParser.RULE_modelTurn;
@@ -2441,9 +2151,6 @@ export class ClientStatementContext extends antlr.ParserRuleContext {
2441
2151
  lookStatement() {
2442
2152
  return this.getRuleContext(0, LookStatementContext);
2443
2153
  }
2444
- buffStatement() {
2445
- return this.getRuleContext(0, BuffStatementContext);
2446
- }
2447
2154
  get ruleIndex() {
2448
2155
  return plurnkParser.RULE_clientStatement;
2449
2156
  }
@@ -2475,12 +2182,12 @@ export class StatementContext extends antlr.ParserRuleContext {
2475
2182
  moveStatement() {
2476
2183
  return this.getRuleContext(0, MoveStatementContext);
2477
2184
  }
2185
+ dispositionStatement() {
2186
+ return this.getRuleContext(0, DispositionStatementContext);
2187
+ }
2478
2188
  sendStatement() {
2479
2189
  return this.getRuleContext(0, SendStatementContext);
2480
2190
  }
2481
- midSend() {
2482
- return this.getRuleContext(0, MidSendContext);
2483
- }
2484
2191
  execStatement() {
2485
2192
  return this.getRuleContext(0, ExecStatementContext);
2486
2193
  }
@@ -2496,9 +2203,6 @@ export class StatementContext extends antlr.ParserRuleContext {
2496
2203
  killStatement() {
2497
2204
  return this.getRuleContext(0, KillStatementContext);
2498
2205
  }
2499
- planStatement() {
2500
- return this.getRuleContext(0, PlanStatementContext);
2501
- }
2502
2206
  get ruleIndex() {
2503
2207
  return plurnkParser.RULE_statement;
2504
2208
  }
@@ -2530,8 +2234,8 @@ export class MidStatementContext extends antlr.ParserRuleContext {
2530
2234
  moveStatement() {
2531
2235
  return this.getRuleContext(0, MoveStatementContext);
2532
2236
  }
2533
- midSend() {
2534
- return this.getRuleContext(0, MidSendContext);
2237
+ sendStatement() {
2238
+ return this.getRuleContext(0, SendStatementContext);
2535
2239
  }
2536
2240
  execStatement() {
2537
2241
  return this.getRuleContext(0, ExecStatementContext);
@@ -2573,8 +2277,8 @@ export class FindStatementContext extends antlr.ParserRuleContext {
2573
2277
  slotModifiers() {
2574
2278
  return this.getRuleContext(0, SlotModifiersContext);
2575
2279
  }
2576
- opAnnotation() {
2577
- return this.getRuleContext(0, OpAnnotationContext);
2280
+ opAside() {
2281
+ return this.getRuleContext(0, OpAsideContext);
2578
2282
  }
2579
2283
  get ruleIndex() {
2580
2284
  return plurnkParser.RULE_findStatement;
@@ -2601,8 +2305,8 @@ export class ReadStatementContext extends antlr.ParserRuleContext {
2601
2305
  slotModifiers() {
2602
2306
  return this.getRuleContext(0, SlotModifiersContext);
2603
2307
  }
2604
- opAnnotation() {
2605
- return this.getRuleContext(0, OpAnnotationContext);
2308
+ opAside() {
2309
+ return this.getRuleContext(0, OpAsideContext);
2606
2310
  }
2607
2311
  get ruleIndex() {
2608
2312
  return plurnkParser.RULE_readStatement;
@@ -2629,8 +2333,8 @@ export class EditStatementContext extends antlr.ParserRuleContext {
2629
2333
  slotModifiers() {
2630
2334
  return this.getRuleContext(0, SlotModifiersContext);
2631
2335
  }
2632
- opAnnotation() {
2633
- return this.getRuleContext(0, OpAnnotationContext);
2336
+ opAside() {
2337
+ return this.getRuleContext(0, OpAsideContext);
2634
2338
  }
2635
2339
  get ruleIndex() {
2636
2340
  return plurnkParser.RULE_editStatement;
@@ -2657,8 +2361,8 @@ export class CopyStatementContext extends antlr.ParserRuleContext {
2657
2361
  emptyStatementEnd() {
2658
2362
  return this.getRuleContext(0, EmptyStatementEndContext);
2659
2363
  }
2660
- opAnnotation() {
2661
- return this.getRuleContext(0, OpAnnotationContext);
2364
+ opAside() {
2365
+ return this.getRuleContext(0, OpAsideContext);
2662
2366
  }
2663
2367
  get ruleIndex() {
2664
2368
  return plurnkParser.RULE_copyStatement;
@@ -2685,8 +2389,8 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
2685
2389
  emptyStatementEnd() {
2686
2390
  return this.getRuleContext(0, EmptyStatementEndContext);
2687
2391
  }
2688
- opAnnotation() {
2689
- return this.getRuleContext(0, OpAnnotationContext);
2392
+ opAside() {
2393
+ return this.getRuleContext(0, OpAsideContext);
2690
2394
  }
2691
2395
  get ruleIndex() {
2692
2396
  return plurnkParser.RULE_moveStatement;
@@ -2700,15 +2404,12 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
2700
2404
  }
2701
2405
  }
2702
2406
  }
2703
- export class SendStatementContext extends antlr.ParserRuleContext {
2407
+ export class DispositionStatementContext extends antlr.ParserRuleContext {
2704
2408
  constructor(parent, invokingState) {
2705
2409
  super(parent, invokingState);
2706
2410
  }
2707
- OPEN_SEND() {
2708
- return this.getToken(plurnkParser.OPEN_SEND, 0);
2709
- }
2710
- SEND_LABEL() {
2711
- return this.getToken(plurnkParser.SEND_LABEL, 0);
2411
+ OPEN_TASK() {
2412
+ return this.getToken(plurnkParser.OPEN_TASK, 0);
2712
2413
  }
2713
2414
  statementEnd() {
2714
2415
  return this.getRuleContext(0, StatementEndContext);
@@ -2716,22 +2417,25 @@ export class SendStatementContext extends antlr.ParserRuleContext {
2716
2417
  lineMarker() {
2717
2418
  return this.getRuleContext(0, LineMarkerContext);
2718
2419
  }
2719
- opAnnotation() {
2720
- return this.getRuleContext(0, OpAnnotationContext);
2420
+ metadata() {
2421
+ return this.getRuleContext(0, MetadataContext);
2422
+ }
2423
+ opAside() {
2424
+ return this.getRuleContext(0, OpAsideContext);
2721
2425
  }
2722
2426
  get ruleIndex() {
2723
- return plurnkParser.RULE_sendStatement;
2427
+ return plurnkParser.RULE_dispositionStatement;
2724
2428
  }
2725
2429
  accept(visitor) {
2726
- if (visitor.visitSendStatement) {
2727
- return visitor.visitSendStatement(this);
2430
+ if (visitor.visitDispositionStatement) {
2431
+ return visitor.visitDispositionStatement(this);
2728
2432
  }
2729
2433
  else {
2730
2434
  return visitor.visitChildren(this);
2731
2435
  }
2732
2436
  }
2733
2437
  }
2734
- export class MidSendContext extends antlr.ParserRuleContext {
2438
+ export class SendStatementContext extends antlr.ParserRuleContext {
2735
2439
  constructor(parent, invokingState) {
2736
2440
  super(parent, invokingState);
2737
2441
  }
@@ -2741,18 +2445,18 @@ export class MidSendContext extends antlr.ParserRuleContext {
2741
2445
  statementEnd() {
2742
2446
  return this.getRuleContext(0, StatementEndContext);
2743
2447
  }
2744
- targetWithMetadata() {
2745
- return this.getRuleContext(0, TargetWithMetadataContext);
2448
+ resourceSelection() {
2449
+ return this.getRuleContext(0, ResourceSelectionContext);
2746
2450
  }
2747
- opAnnotation() {
2748
- return this.getRuleContext(0, OpAnnotationContext);
2451
+ opAside() {
2452
+ return this.getRuleContext(0, OpAsideContext);
2749
2453
  }
2750
2454
  get ruleIndex() {
2751
- return plurnkParser.RULE_midSend;
2455
+ return plurnkParser.RULE_sendStatement;
2752
2456
  }
2753
2457
  accept(visitor) {
2754
- if (visitor.visitMidSend) {
2755
- return visitor.visitMidSend(this);
2458
+ if (visitor.visitSendStatement) {
2459
+ return visitor.visitSendStatement(this);
2756
2460
  }
2757
2461
  else {
2758
2462
  return visitor.visitChildren(this);
@@ -2769,19 +2473,11 @@ export class ExecStatementContext extends antlr.ParserRuleContext {
2769
2473
  statementEnd() {
2770
2474
  return this.getRuleContext(0, StatementEndContext);
2771
2475
  }
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
- }
2780
2476
  execModifiers() {
2781
2477
  return this.getRuleContext(0, ExecModifiersContext);
2782
2478
  }
2783
- opAnnotation() {
2784
- return this.getRuleContext(0, OpAnnotationContext);
2479
+ opAside() {
2480
+ return this.getRuleContext(0, OpAsideContext);
2785
2481
  }
2786
2482
  get ruleIndex() {
2787
2483
  return plurnkParser.RULE_execStatement;
@@ -2805,8 +2501,11 @@ export class BareStatementContext extends antlr.ParserRuleContext {
2805
2501
  statementEnd() {
2806
2502
  return this.getRuleContext(0, StatementEndContext);
2807
2503
  }
2808
- opAnnotation() {
2809
- return this.getRuleContext(0, OpAnnotationContext);
2504
+ targetWithMetadata() {
2505
+ return this.getRuleContext(0, TargetWithMetadataContext);
2506
+ }
2507
+ opAside() {
2508
+ return this.getRuleContext(0, OpAsideContext);
2810
2509
  }
2811
2510
  get ruleIndex() {
2812
2511
  return plurnkParser.RULE_bareStatement;
@@ -2833,8 +2532,8 @@ export class WorkStatementContext extends antlr.ParserRuleContext {
2833
2532
  targetWithMetadata() {
2834
2533
  return this.getRuleContext(0, TargetWithMetadataContext);
2835
2534
  }
2836
- opAnnotation() {
2837
- return this.getRuleContext(0, OpAnnotationContext);
2535
+ opAside() {
2536
+ return this.getRuleContext(0, OpAsideContext);
2838
2537
  }
2839
2538
  get ruleIndex() {
2840
2539
  return plurnkParser.RULE_workStatement;
@@ -2861,8 +2560,8 @@ export class ForkStatementContext extends antlr.ParserRuleContext {
2861
2560
  targetWithMetadata() {
2862
2561
  return this.getRuleContext(0, TargetWithMetadataContext);
2863
2562
  }
2864
- opAnnotation() {
2865
- return this.getRuleContext(0, OpAnnotationContext);
2563
+ opAside() {
2564
+ return this.getRuleContext(0, OpAsideContext);
2866
2565
  }
2867
2566
  get ruleIndex() {
2868
2567
  return plurnkParser.RULE_forkStatement;
@@ -2889,8 +2588,8 @@ export class KillStatementContext extends antlr.ParserRuleContext {
2889
2588
  slotModifiers() {
2890
2589
  return this.getRuleContext(0, SlotModifiersContext);
2891
2590
  }
2892
- opAnnotation() {
2893
- return this.getRuleContext(0, OpAnnotationContext);
2591
+ opAside() {
2592
+ return this.getRuleContext(0, OpAsideContext);
2894
2593
  }
2895
2594
  get ruleIndex() {
2896
2595
  return plurnkParser.RULE_killStatement;
@@ -2904,34 +2603,6 @@ export class KillStatementContext extends antlr.ParserRuleContext {
2904
2603
  }
2905
2604
  }
2906
2605
  }
2907
- export class PlanStatementContext extends antlr.ParserRuleContext {
2908
- constructor(parent, invokingState) {
2909
- super(parent, invokingState);
2910
- }
2911
- OPEN_PLAN() {
2912
- return this.getToken(plurnkParser.OPEN_PLAN, 0);
2913
- }
2914
- statementEnd() {
2915
- return this.getRuleContext(0, StatementEndContext);
2916
- }
2917
- slotModifiers() {
2918
- return this.getRuleContext(0, SlotModifiersContext);
2919
- }
2920
- opAnnotation() {
2921
- return this.getRuleContext(0, OpAnnotationContext);
2922
- }
2923
- get ruleIndex() {
2924
- return plurnkParser.RULE_planStatement;
2925
- }
2926
- accept(visitor) {
2927
- if (visitor.visitPlanStatement) {
2928
- return visitor.visitPlanStatement(this);
2929
- }
2930
- else {
2931
- return visitor.visitChildren(this);
2932
- }
2933
- }
2934
- }
2935
2606
  export class LookStatementContext extends antlr.ParserRuleContext {
2936
2607
  constructor(parent, invokingState) {
2937
2608
  super(parent, invokingState);
@@ -2945,8 +2616,8 @@ export class LookStatementContext extends antlr.ParserRuleContext {
2945
2616
  slotModifiers() {
2946
2617
  return this.getRuleContext(0, SlotModifiersContext);
2947
2618
  }
2948
- opAnnotation() {
2949
- return this.getRuleContext(0, OpAnnotationContext);
2619
+ opAside() {
2620
+ return this.getRuleContext(0, OpAsideContext);
2950
2621
  }
2951
2622
  get ruleIndex() {
2952
2623
  return plurnkParser.RULE_lookStatement;
@@ -2960,47 +2631,19 @@ export class LookStatementContext extends antlr.ParserRuleContext {
2960
2631
  }
2961
2632
  }
2962
2633
  }
2963
- export class BuffStatementContext extends antlr.ParserRuleContext {
2964
- constructor(parent, invokingState) {
2965
- super(parent, invokingState);
2966
- }
2967
- OPEN_BUFF() {
2968
- return this.getToken(plurnkParser.OPEN_BUFF, 0);
2969
- }
2970
- statementEnd() {
2971
- return this.getRuleContext(0, StatementEndContext);
2972
- }
2973
- slotModifiers() {
2974
- return this.getRuleContext(0, SlotModifiersContext);
2975
- }
2976
- opAnnotation() {
2977
- return this.getRuleContext(0, OpAnnotationContext);
2978
- }
2979
- get ruleIndex() {
2980
- return plurnkParser.RULE_buffStatement;
2981
- }
2982
- accept(visitor) {
2983
- if (visitor.visitBuffStatement) {
2984
- return visitor.visitBuffStatement(this);
2985
- }
2986
- else {
2987
- return visitor.visitChildren(this);
2988
- }
2989
- }
2990
- }
2991
- export class OpAnnotationContext extends antlr.ParserRuleContext {
2634
+ export class OpAsideContext extends antlr.ParserRuleContext {
2992
2635
  constructor(parent, invokingState) {
2993
2636
  super(parent, invokingState);
2994
2637
  }
2995
- ANNOTATION() {
2996
- return this.getToken(plurnkParser.ANNOTATION, 0);
2638
+ ASIDE() {
2639
+ return this.getToken(plurnkParser.ASIDE, 0);
2997
2640
  }
2998
2641
  get ruleIndex() {
2999
- return plurnkParser.RULE_opAnnotation;
2642
+ return plurnkParser.RULE_opAside;
3000
2643
  }
3001
2644
  accept(visitor) {
3002
- if (visitor.visitOpAnnotation) {
3003
- return visitor.visitOpAnnotation(this);
2645
+ if (visitor.visitOpAside) {
2646
+ return visitor.visitOpAside(this);
3004
2647
  }
3005
2648
  else {
3006
2649
  return visitor.visitChildren(this);
@@ -3058,11 +2701,14 @@ export class ResourceSelectionContext extends antlr.ParserRuleContext {
3058
2701
  constructor(parent, invokingState) {
3059
2702
  super(parent, invokingState);
3060
2703
  }
3061
- targetWithMetadata() {
3062
- return this.getRuleContext(0, TargetWithMetadataContext);
2704
+ target() {
2705
+ return this.getRuleContext(0, TargetContext);
3063
2706
  }
3064
- lineMarker() {
3065
- return this.getRuleContext(0, LineMarkerContext);
2707
+ selectionModifier(i) {
2708
+ if (i === undefined) {
2709
+ return this.getRuleContexts(SelectionModifierContext);
2710
+ }
2711
+ return this.getRuleContext(i, SelectionModifierContext);
3066
2712
  }
3067
2713
  get ruleIndex() {
3068
2714
  return plurnkParser.RULE_resourceSelection;
@@ -3076,6 +2722,28 @@ export class ResourceSelectionContext extends antlr.ParserRuleContext {
3076
2722
  }
3077
2723
  }
3078
2724
  }
2725
+ export class SelectionModifierContext extends antlr.ParserRuleContext {
2726
+ constructor(parent, invokingState) {
2727
+ super(parent, invokingState);
2728
+ }
2729
+ lineMarker() {
2730
+ return this.getRuleContext(0, LineMarkerContext);
2731
+ }
2732
+ metadata() {
2733
+ return this.getRuleContext(0, MetadataContext);
2734
+ }
2735
+ get ruleIndex() {
2736
+ return plurnkParser.RULE_selectionModifier;
2737
+ }
2738
+ accept(visitor) {
2739
+ if (visitor.visitSelectionModifier) {
2740
+ return visitor.visitSelectionModifier(this);
2741
+ }
2742
+ else {
2743
+ return visitor.visitChildren(this);
2744
+ }
2745
+ }
2746
+ }
3079
2747
  export class EmptyStatementEndContext extends antlr.ParserRuleContext {
3080
2748
  constructor(parent, invokingState) {
3081
2749
  super(parent, invokingState);
@@ -3102,12 +2770,15 @@ export class SlotModifiersContext extends antlr.ParserRuleContext {
3102
2770
  constructor(parent, invokingState) {
3103
2771
  super(parent, invokingState);
3104
2772
  }
3105
- targetWithMetadata() {
3106
- return this.getRuleContext(0, TargetWithMetadataContext);
2773
+ resourceSelection() {
2774
+ return this.getRuleContext(0, ResourceSelectionContext);
3107
2775
  }
3108
2776
  lineMarker() {
3109
2777
  return this.getRuleContext(0, LineMarkerContext);
3110
2778
  }
2779
+ targetWithMetadata() {
2780
+ return this.getRuleContext(0, TargetWithMetadataContext);
2781
+ }
3111
2782
  get ruleIndex() {
3112
2783
  return plurnkParser.RULE_slotModifiers;
3113
2784
  }
@@ -3185,6 +2856,9 @@ export class TargetContext extends antlr.ParserRuleContext {
3185
2856
  return this.getToken(plurnkParser.TARGET_TEXT, i);
3186
2857
  }
3187
2858
  }
2859
+ lineMarker() {
2860
+ return this.getRuleContext(0, LineMarkerContext);
2861
+ }
3188
2862
  get ruleIndex() {
3189
2863
  return plurnkParser.RULE_target;
3190
2864
  }
@@ -3226,11 +2900,11 @@ export class MetadataContext extends antlr.ParserRuleContext {
3226
2900
  constructor(parent, invokingState) {
3227
2901
  super(parent, invokingState);
3228
2902
  }
3229
- LBRACE() {
3230
- return this.getToken(plurnkParser.LBRACE, 0);
2903
+ LBRACKET() {
2904
+ return this.getToken(plurnkParser.LBRACKET, 0);
3231
2905
  }
3232
- RBRACE() {
3233
- return this.getToken(plurnkParser.RBRACE, 0);
2906
+ RBRACKET() {
2907
+ return this.getToken(plurnkParser.RBRACKET, 0);
3234
2908
  }
3235
2909
  METADATA_TEXT(i) {
3236
2910
  if (i === undefined) {