@plurnk/plurnk-contracts 1.10.1 → 1.12.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 (72) hide show
  1. package/README.md +2 -3
  2. package/SPEC.md +190 -85
  3. package/dist/conformance/agui-v1.json +5 -5
  4. package/dist/plurnk.gemma.gbnf +4 -3
  5. package/dist/plurnk.qwen.gbnf +4 -3
  6. package/dist/schema/CapabilityDescriptor.json +23 -0
  7. package/dist/schema/CapabilityPolicy.json +18 -0
  8. package/dist/schema/CapabilityProjection.json +16 -0
  9. package/dist/schema/CapabilitySelector.json +24 -0
  10. package/dist/schema/ClientStatement.json +10 -2
  11. package/dist/schema/LoopPolicy.json +13 -0
  12. package/dist/schema/MatcherBody.json +8 -8
  13. package/dist/schema/ParsedPath.json +1 -11
  14. package/dist/schema/PlurnkStatement.json +76 -34
  15. package/dist/schema/ProblemProjection.json +38 -0
  16. package/dist/schema/ProposalProjection.json +2 -2
  17. package/dist/schema/ProviderUsage.json +1 -1
  18. package/dist/schema/ResourceSelection.json +12 -2
  19. package/dist/src/ApplicationPort.d.ts +9 -40
  20. package/dist/src/ApplicationPort.d.ts.map +1 -1
  21. package/dist/src/AstBuilder.d.ts +1 -7
  22. package/dist/src/AstBuilder.d.ts.map +1 -1
  23. package/dist/src/AstBuilder.js +127 -102
  24. package/dist/src/AstBuilder.js.map +1 -1
  25. package/dist/src/CapabilityAdmission.d.ts +9 -0
  26. package/dist/src/CapabilityAdmission.d.ts.map +1 -0
  27. package/dist/src/CapabilityAdmission.js +96 -0
  28. package/dist/src/CapabilityAdmission.js.map +1 -0
  29. package/dist/src/PlurnkErrorStrategy.d.ts +1 -0
  30. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  31. package/dist/src/PlurnkErrorStrategy.js +140 -1
  32. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  33. package/dist/src/PlurnkParser.d.ts +4 -1
  34. package/dist/src/PlurnkParser.d.ts.map +1 -1
  35. package/dist/src/PlurnkParser.js +151 -22
  36. package/dist/src/PlurnkParser.js.map +1 -1
  37. package/dist/src/Problems.d.ts +6 -1
  38. package/dist/src/Problems.d.ts.map +1 -1
  39. package/dist/src/Problems.js +34 -0
  40. package/dist/src/Problems.js.map +1 -1
  41. package/dist/src/TagSignal.d.ts.map +1 -1
  42. package/dist/src/TagSignal.js +5 -0
  43. package/dist/src/TagSignal.js.map +1 -1
  44. package/dist/src/Validator.d.ts +18 -4
  45. package/dist/src/Validator.d.ts.map +1 -1
  46. package/dist/src/Validator.js +69 -10
  47. package/dist/src/Validator.js.map +1 -1
  48. package/dist/src/generated/plurnkLexer.d.ts +52 -40
  49. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  50. package/dist/src/generated/plurnkLexer.js +519 -431
  51. package/dist/src/generated/plurnkLexer.js.map +1 -1
  52. package/dist/src/generated/plurnkParser.d.ts +165 -92
  53. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  54. package/dist/src/generated/plurnkParser.js +1336 -722
  55. package/dist/src/generated/plurnkParser.js.map +1 -1
  56. package/dist/src/generated/plurnkParserVisitor.d.ts +49 -0
  57. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  58. package/dist/src/generated/plurnkParserVisitor.js +42 -0
  59. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  60. package/dist/src/index.d.ts +4 -4
  61. package/dist/src/index.d.ts.map +1 -1
  62. package/dist/src/index.js +3 -3
  63. package/dist/src/index.js.map +1 -1
  64. package/dist/src/types.d.ts +9 -2
  65. package/dist/src/types.d.ts.map +1 -1
  66. package/dist/src/types.generated.d.ts +142 -36
  67. package/dist/src/types.generated.d.ts.map +1 -1
  68. package/dist/src/types.js +4 -6
  69. package/dist/src/types.js.map +1 -1
  70. package/package.json +2 -2
  71. package/plurnk.md +68 -61
  72. package/dist/schema/LoopFlags.json +0 -16
@@ -4,116 +4,130 @@ export class plurnkParser extends antlr.Parser {
4
4
  static RBRACKET = 2;
5
5
  static LPAREN = 3;
6
6
  static RPAREN = 4;
7
- static L_MARKER = 5;
8
- static COMBINED_L_MARKER = 6;
9
- static BODY_OPEN = 7;
10
- static SECTION_END = 8;
11
- static COMMA = 9;
12
- static INT = 10;
13
- static DISPOSITION = 11;
14
- static IDENT = 12;
15
- static TAG = 13;
16
- static TARGET_TEXT = 14;
17
- static BODY_TEXT = 15;
18
- static TEXT = 16;
19
- static ANNOTATION = 17;
20
- static OPEN_PLAN = 18;
21
- static OPEN_FIND = 19;
22
- static OPEN_READ = 20;
23
- static OPEN_EDIT = 21;
24
- static OPEN_COPY = 22;
25
- static OPEN_MOVE = 23;
26
- static OPEN_OPEN = 24;
27
- static OPEN_FOLD = 25;
28
- static OPEN_SEND = 26;
29
- static OPEN_EXEC = 27;
30
- static OPEN_BARE = 28;
31
- static OPEN_WORK = 29;
32
- static OPEN_FORK = 30;
33
- static OPEN_KILL = 31;
34
- static OPEN_LOOK = 32;
35
- static OPEN_BUFF = 33;
36
- static FENCE_OPEN = 34;
37
- static FENCE_CLOSE = 35;
38
- static WS = 36;
39
- static SLOTS_WS = 37;
40
- static ST_WS = 38;
41
- static SI_WS = 39;
42
- static SD_WS = 40;
43
- static TEXT_HASH = 41;
44
- static ST_COMMA = 42;
45
- static TARGET_BACKSLASH = 43;
7
+ static LBRACE = 5;
8
+ static RBRACE = 6;
9
+ static L_MARKER = 7;
10
+ static COMBINED_L_MARKER = 8;
11
+ static BODY_OPEN = 9;
12
+ static SECTION_END = 10;
13
+ static COMMA = 11;
14
+ static INT = 12;
15
+ static DISPOSITION = 13;
16
+ static IDENT = 14;
17
+ static TAG = 15;
18
+ static TARGET_TEXT = 16;
19
+ static METADATA_TEXT = 17;
20
+ static BODY_TEXT = 18;
21
+ static TEXT = 19;
22
+ static ANNOTATION = 20;
23
+ static OPEN_PLAN = 21;
24
+ static OPEN_FIND = 22;
25
+ static OPEN_READ = 23;
26
+ static OPEN_EDIT = 24;
27
+ static OPEN_COPY = 25;
28
+ static OPEN_MOVE = 26;
29
+ static OPEN_OPEN = 27;
30
+ static OPEN_FOLD = 28;
31
+ static OPEN_SEND = 29;
32
+ static OPEN_EXEC = 30;
33
+ static OPEN_BARE = 31;
34
+ static OPEN_WORK = 32;
35
+ static OPEN_FORK = 33;
36
+ static OPEN_KILL = 34;
37
+ static OPEN_LOOK = 35;
38
+ static OPEN_BUFF = 36;
39
+ static FENCE_OPEN = 37;
40
+ static FENCE_CLOSE = 38;
41
+ static WS = 39;
42
+ static SLOTS_WS = 40;
43
+ static ST_WS = 41;
44
+ static SI_WS = 42;
45
+ static SD_WS = 43;
46
+ static TEXT_HASH = 44;
47
+ static ST_COMMA = 45;
48
+ static TARGET_BACKSLASH = 46;
46
49
  static RULE_document = 0;
47
50
  static RULE_log = 1;
48
51
  static RULE_turnContent = 2;
49
- static RULE_turn = 3;
50
- static RULE_statementSeq = 4;
51
- static RULE_clientStatementSeq = 5;
52
- static RULE_clientStatement = 6;
53
- static RULE_statement = 7;
54
- static RULE_midStatement = 8;
55
- static RULE_findStatement = 9;
56
- static RULE_readStatement = 10;
57
- static RULE_editStatement = 11;
58
- static RULE_copyStatement = 12;
59
- static RULE_moveStatement = 13;
60
- static RULE_openStatement = 14;
61
- static RULE_foldStatement = 15;
62
- static RULE_sendStatement = 16;
63
- static RULE_midSend = 17;
64
- static RULE_execStatement = 18;
65
- static RULE_bareStatement = 19;
66
- static RULE_workStatement = 20;
67
- static RULE_forkStatement = 21;
68
- static RULE_killStatement = 22;
69
- static RULE_planStatement = 23;
70
- static RULE_lookStatement = 24;
71
- static RULE_buffStatement = 25;
72
- static RULE_opAnnotation = 26;
73
- static RULE_statementEnd = 27;
74
- static RULE_tagOpModifiers = 28;
75
- static RULE_intOpModifiers = 29;
76
- static RULE_branchModifiers = 30;
77
- static RULE_termModifiers = 31;
78
- static RULE_midModifiers = 32;
79
- static RULE_execModifiers = 33;
80
- static RULE_execSlot = 34;
81
- static RULE_tagSignal = 35;
82
- static RULE_branchSignal = 36;
83
- static RULE_intSignal = 37;
84
- static RULE_midSignal = 38;
85
- static RULE_dispSignal = 39;
86
- static RULE_identSignal = 40;
87
- static RULE_target = 41;
88
- static RULE_lineMarker = 42;
89
- static RULE_body = 43;
52
+ static RULE_modelTurnContent = 3;
53
+ static RULE_turn = 4;
54
+ static RULE_modelTurn = 5;
55
+ static RULE_statementSeq = 6;
56
+ static RULE_clientStatementSeq = 7;
57
+ static RULE_clientStatement = 8;
58
+ static RULE_statement = 9;
59
+ static RULE_midStatement = 10;
60
+ static RULE_findStatement = 11;
61
+ static RULE_readStatement = 12;
62
+ static RULE_editStatement = 13;
63
+ static RULE_copyStatement = 14;
64
+ static RULE_moveStatement = 15;
65
+ static RULE_openStatement = 16;
66
+ static RULE_foldStatement = 17;
67
+ static RULE_sendStatement = 18;
68
+ static RULE_midSend = 19;
69
+ static RULE_execStatement = 20;
70
+ static RULE_bareStatement = 21;
71
+ static RULE_workStatement = 22;
72
+ static RULE_forkStatement = 23;
73
+ static RULE_killStatement = 24;
74
+ static RULE_planStatement = 25;
75
+ static RULE_lookStatement = 26;
76
+ static RULE_buffStatement = 27;
77
+ static RULE_opAnnotation = 28;
78
+ static RULE_statementEnd = 29;
79
+ static RULE_transferModifiers = 30;
80
+ static RULE_resourceSelection = 31;
81
+ static RULE_emptyStatementEnd = 32;
82
+ static RULE_tagOpModifiers = 33;
83
+ static RULE_intOpModifiers = 34;
84
+ static RULE_branchModifiers = 35;
85
+ static RULE_termModifiers = 36;
86
+ static RULE_midModifiers = 37;
87
+ static RULE_execModifiers = 38;
88
+ static RULE_execSlot = 39;
89
+ static RULE_tagSignal = 40;
90
+ static RULE_branchSignal = 41;
91
+ static RULE_intSignal = 42;
92
+ static RULE_midSignal = 43;
93
+ static RULE_dispSignal = 44;
94
+ static RULE_identSignal = 45;
95
+ static RULE_target = 46;
96
+ static RULE_targetWithMetadata = 47;
97
+ static RULE_metadata = 48;
98
+ static RULE_lineMarker = 49;
99
+ static RULE_body = 50;
90
100
  static literalNames = [
91
101
  null, null, null, null, null, null, null, null, null, null, null,
92
102
  null, null, null, null, null, null, null, null, null, null, null,
93
103
  null, null, null, null, null, null, null, null, null, null, null,
94
- null, null, null, null, null, null, null, null, "'#'", "','", "'\\'"
104
+ null, null, null, null, null, null, null, null, null, null, null,
105
+ "'#'", "','", "'\\'"
95
106
  ];
96
107
  static symbolicNames = [
97
- null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COMBINED_L_MARKER",
98
- "BODY_OPEN", "SECTION_END", "COMMA", "INT", "DISPOSITION", "IDENT",
99
- "TAG", "TARGET_TEXT", "BODY_TEXT", "TEXT", "ANNOTATION", "OPEN_PLAN",
100
- "OPEN_FIND", "OPEN_READ", "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE",
101
- "OPEN_OPEN", "OPEN_FOLD", "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE",
102
- "OPEN_WORK", "OPEN_FORK", "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF",
103
- "FENCE_OPEN", "FENCE_CLOSE", "WS", "SLOTS_WS", "ST_WS", "SI_WS",
104
- "SD_WS", "TEXT_HASH", "ST_COMMA", "TARGET_BACKSLASH"
108
+ null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "LBRACE", "RBRACE",
109
+ "L_MARKER", "COMBINED_L_MARKER", "BODY_OPEN", "SECTION_END", "COMMA",
110
+ "INT", "DISPOSITION", "IDENT", "TAG", "TARGET_TEXT", "METADATA_TEXT",
111
+ "BODY_TEXT", "TEXT", "ANNOTATION", "OPEN_PLAN", "OPEN_FIND", "OPEN_READ",
112
+ "OPEN_EDIT", "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD",
113
+ "OPEN_SEND", "OPEN_EXEC", "OPEN_BARE", "OPEN_WORK", "OPEN_FORK",
114
+ "OPEN_KILL", "OPEN_LOOK", "OPEN_BUFF", "FENCE_OPEN", "FENCE_CLOSE",
115
+ "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "TEXT_HASH", "ST_COMMA",
116
+ "TARGET_BACKSLASH"
105
117
  ];
106
118
  static ruleNames = [
107
- "document", "log", "turnContent", "turn", "statementSeq", "clientStatementSeq",
108
- "clientStatement", "statement", "midStatement", "findStatement",
109
- "readStatement", "editStatement", "copyStatement", "moveStatement",
110
- "openStatement", "foldStatement", "sendStatement", "midSend", "execStatement",
111
- "bareStatement", "workStatement", "forkStatement", "killStatement",
112
- "planStatement", "lookStatement", "buffStatement", "opAnnotation",
113
- "statementEnd", "tagOpModifiers", "intOpModifiers", "branchModifiers",
114
- "termModifiers", "midModifiers", "execModifiers", "execSlot", "tagSignal",
115
- "branchSignal", "intSignal", "midSignal", "dispSignal", "identSignal",
116
- "target", "lineMarker", "body",
119
+ "document", "log", "turnContent", "modelTurnContent", "turn", "modelTurn",
120
+ "statementSeq", "clientStatementSeq", "clientStatement", "statement",
121
+ "midStatement", "findStatement", "readStatement", "editStatement",
122
+ "copyStatement", "moveStatement", "openStatement", "foldStatement",
123
+ "sendStatement", "midSend", "execStatement", "bareStatement", "workStatement",
124
+ "forkStatement", "killStatement", "planStatement", "lookStatement",
125
+ "buffStatement", "opAnnotation", "statementEnd", "transferModifiers",
126
+ "resourceSelection", "emptyStatementEnd", "tagOpModifiers", "intOpModifiers",
127
+ "branchModifiers", "termModifiers", "midModifiers", "execModifiers",
128
+ "execSlot", "tagSignal", "branchSignal", "intSignal", "midSignal",
129
+ "dispSignal", "identSignal", "target", "targetWithMetadata", "metadata",
130
+ "lineMarker", "body",
117
131
  ];
118
132
  get grammarFileName() { return "plurnkParser.g4"; }
119
133
  get literalNames() { return plurnkParser.literalNames; }
@@ -132,36 +146,49 @@ export class plurnkParser extends antlr.Parser {
132
146
  this.enterRule(localContext, 0, plurnkParser.RULE_document);
133
147
  let _la;
134
148
  try {
135
- this.state = 98;
149
+ this.state = 112;
136
150
  this.errorHandler.sync(this);
137
151
  switch (this.tokenStream.LA(1)) {
138
152
  case plurnkParser.TEXT:
139
153
  case plurnkParser.OPEN_PLAN:
154
+ case plurnkParser.OPEN_FIND:
155
+ case plurnkParser.OPEN_READ:
156
+ case plurnkParser.OPEN_EDIT:
157
+ case plurnkParser.OPEN_COPY:
158
+ case plurnkParser.OPEN_MOVE:
159
+ case plurnkParser.OPEN_OPEN:
160
+ case plurnkParser.OPEN_FOLD:
161
+ case plurnkParser.OPEN_SEND:
162
+ case plurnkParser.OPEN_EXEC:
163
+ case plurnkParser.OPEN_BARE:
164
+ case plurnkParser.OPEN_WORK:
165
+ case plurnkParser.OPEN_FORK:
166
+ case plurnkParser.OPEN_KILL:
140
167
  this.enterOuterAlt(localContext, 1);
141
168
  {
142
- this.state = 88;
143
- this.turnContent();
144
- this.state = 89;
169
+ this.state = 102;
170
+ this.modelTurnContent();
171
+ this.state = 103;
145
172
  this.match(plurnkParser.EOF);
146
173
  }
147
174
  break;
148
175
  case plurnkParser.FENCE_OPEN:
149
176
  this.enterOuterAlt(localContext, 2);
150
177
  {
151
- this.state = 91;
178
+ this.state = 105;
152
179
  this.match(plurnkParser.FENCE_OPEN);
153
- this.state = 92;
154
- this.turn();
155
- this.state = 94;
180
+ this.state = 106;
181
+ this.modelTurn();
182
+ this.state = 108;
156
183
  this.errorHandler.sync(this);
157
184
  _la = this.tokenStream.LA(1);
158
- if (_la === 35) {
185
+ if (_la === 38) {
159
186
  {
160
- this.state = 93;
187
+ this.state = 107;
161
188
  this.match(plurnkParser.FENCE_CLOSE);
162
189
  }
163
190
  }
164
- this.state = 96;
191
+ this.state = 110;
165
192
  this.match(plurnkParser.EOF);
166
193
  }
167
194
  break;
@@ -190,21 +217,21 @@ export class plurnkParser extends antlr.Parser {
190
217
  try {
191
218
  this.enterOuterAlt(localContext, 1);
192
219
  {
193
- this.state = 101;
220
+ this.state = 115;
194
221
  this.errorHandler.sync(this);
195
222
  _la = this.tokenStream.LA(1);
196
223
  do {
197
224
  {
198
225
  {
199
- this.state = 100;
226
+ this.state = 114;
200
227
  this.turnContent();
201
228
  }
202
229
  }
203
- this.state = 103;
230
+ this.state = 117;
204
231
  this.errorHandler.sync(this);
205
232
  _la = this.tokenStream.LA(1);
206
- } while (_la === 16 || _la === 18);
207
- this.state = 105;
233
+ } while (_la === 19 || _la === 21);
234
+ this.state = 119;
208
235
  this.match(plurnkParser.EOF);
209
236
  }
210
237
  }
@@ -229,21 +256,21 @@ export class plurnkParser extends antlr.Parser {
229
256
  try {
230
257
  this.enterOuterAlt(localContext, 1);
231
258
  {
232
- this.state = 110;
259
+ this.state = 124;
233
260
  this.errorHandler.sync(this);
234
261
  _la = this.tokenStream.LA(1);
235
- while (_la === 16) {
262
+ while (_la === 19) {
236
263
  {
237
264
  {
238
- this.state = 107;
265
+ this.state = 121;
239
266
  this.match(plurnkParser.TEXT);
240
267
  }
241
268
  }
242
- this.state = 112;
269
+ this.state = 126;
243
270
  this.errorHandler.sync(this);
244
271
  _la = this.tokenStream.LA(1);
245
272
  }
246
- this.state = 113;
273
+ this.state = 127;
247
274
  this.turn();
248
275
  }
249
276
  }
@@ -261,32 +288,71 @@ export class plurnkParser extends antlr.Parser {
261
288
  }
262
289
  return localContext;
263
290
  }
291
+ modelTurnContent() {
292
+ let localContext = new ModelTurnContentContext(this.context, this.state);
293
+ this.enterRule(localContext, 6, plurnkParser.RULE_modelTurnContent);
294
+ let _la;
295
+ try {
296
+ this.enterOuterAlt(localContext, 1);
297
+ {
298
+ this.state = 132;
299
+ this.errorHandler.sync(this);
300
+ _la = this.tokenStream.LA(1);
301
+ while (_la === 19) {
302
+ {
303
+ {
304
+ this.state = 129;
305
+ this.match(plurnkParser.TEXT);
306
+ }
307
+ }
308
+ this.state = 134;
309
+ this.errorHandler.sync(this);
310
+ _la = this.tokenStream.LA(1);
311
+ }
312
+ this.state = 135;
313
+ this.modelTurn();
314
+ }
315
+ }
316
+ catch (re) {
317
+ if (re instanceof antlr.RecognitionException) {
318
+ this.errorHandler.reportError(this, re);
319
+ this.errorHandler.recover(this, re);
320
+ }
321
+ else {
322
+ throw re;
323
+ }
324
+ }
325
+ finally {
326
+ this.exitRule();
327
+ }
328
+ return localContext;
329
+ }
264
330
  turn() {
265
331
  let localContext = new TurnContext(this.context, this.state);
266
- this.enterRule(localContext, 6, plurnkParser.RULE_turn);
332
+ this.enterRule(localContext, 8, plurnkParser.RULE_turn);
267
333
  try {
268
334
  let alternative;
269
335
  this.enterOuterAlt(localContext, 1);
270
336
  {
271
- this.state = 115;
337
+ this.state = 137;
272
338
  this.planStatement();
273
- this.state = 119;
339
+ this.state = 141;
274
340
  this.errorHandler.sync(this);
275
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
341
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 5, this.context);
276
342
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
277
343
  if (alternative === 1) {
278
344
  {
279
345
  {
280
- this.state = 116;
346
+ this.state = 138;
281
347
  this.midStatement();
282
348
  }
283
349
  }
284
350
  }
285
- this.state = 121;
351
+ this.state = 143;
286
352
  this.errorHandler.sync(this);
287
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
353
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 5, this.context);
288
354
  }
289
- this.state = 122;
355
+ this.state = 144;
290
356
  this.sendStatement();
291
357
  }
292
358
  }
@@ -304,28 +370,126 @@ export class plurnkParser extends antlr.Parser {
304
370
  }
305
371
  return localContext;
306
372
  }
373
+ modelTurn() {
374
+ let localContext = new ModelTurnContext(this.context, this.state);
375
+ this.enterRule(localContext, 10, plurnkParser.RULE_modelTurn);
376
+ let _la;
377
+ try {
378
+ let alternative;
379
+ this.state = 165;
380
+ this.errorHandler.sync(this);
381
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 10, this.context)) {
382
+ case 1:
383
+ this.enterOuterAlt(localContext, 1);
384
+ {
385
+ this.state = 146;
386
+ this.planStatement();
387
+ this.state = 150;
388
+ this.errorHandler.sync(this);
389
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
390
+ while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
391
+ if (alternative === 1) {
392
+ {
393
+ {
394
+ this.state = 147;
395
+ this.midStatement();
396
+ }
397
+ }
398
+ }
399
+ this.state = 152;
400
+ this.errorHandler.sync(this);
401
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 6, this.context);
402
+ }
403
+ this.state = 154;
404
+ this.errorHandler.sync(this);
405
+ _la = this.tokenStream.LA(1);
406
+ if (_la === 29) {
407
+ {
408
+ this.state = 153;
409
+ this.sendStatement();
410
+ }
411
+ }
412
+ }
413
+ break;
414
+ case 2:
415
+ this.enterOuterAlt(localContext, 2);
416
+ {
417
+ this.state = 157;
418
+ this.errorHandler.sync(this);
419
+ alternative = 1;
420
+ do {
421
+ switch (alternative) {
422
+ case 1:
423
+ {
424
+ {
425
+ this.state = 156;
426
+ this.midStatement();
427
+ }
428
+ }
429
+ break;
430
+ default:
431
+ throw new antlr.NoViableAltException(this);
432
+ }
433
+ this.state = 159;
434
+ this.errorHandler.sync(this);
435
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 8, this.context);
436
+ } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
437
+ this.state = 162;
438
+ this.errorHandler.sync(this);
439
+ _la = this.tokenStream.LA(1);
440
+ if (_la === 29) {
441
+ {
442
+ this.state = 161;
443
+ this.sendStatement();
444
+ }
445
+ }
446
+ }
447
+ break;
448
+ case 3:
449
+ this.enterOuterAlt(localContext, 3);
450
+ {
451
+ this.state = 164;
452
+ this.sendStatement();
453
+ }
454
+ break;
455
+ }
456
+ }
457
+ catch (re) {
458
+ if (re instanceof antlr.RecognitionException) {
459
+ this.errorHandler.reportError(this, re);
460
+ this.errorHandler.recover(this, re);
461
+ }
462
+ else {
463
+ throw re;
464
+ }
465
+ }
466
+ finally {
467
+ this.exitRule();
468
+ }
469
+ return localContext;
470
+ }
307
471
  statementSeq() {
308
472
  let localContext = new StatementSeqContext(this.context, this.state);
309
- this.enterRule(localContext, 8, plurnkParser.RULE_statementSeq);
473
+ this.enterRule(localContext, 12, plurnkParser.RULE_statementSeq);
310
474
  let _la;
311
475
  try {
312
476
  this.enterOuterAlt(localContext, 1);
313
477
  {
314
- this.state = 127;
478
+ this.state = 170;
315
479
  this.errorHandler.sync(this);
316
480
  _la = this.tokenStream.LA(1);
317
- while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 4294705152) !== 0)) {
481
+ while (((((_la - 21)) & ~0x1F) === 0 && ((1 << (_la - 21)) & 16383) !== 0)) {
318
482
  {
319
483
  {
320
- this.state = 124;
484
+ this.state = 167;
321
485
  this.statement();
322
486
  }
323
487
  }
324
- this.state = 129;
488
+ this.state = 172;
325
489
  this.errorHandler.sync(this);
326
490
  _la = this.tokenStream.LA(1);
327
491
  }
328
- this.state = 130;
492
+ this.state = 173;
329
493
  this.match(plurnkParser.EOF);
330
494
  }
331
495
  }
@@ -345,26 +509,26 @@ export class plurnkParser extends antlr.Parser {
345
509
  }
346
510
  clientStatementSeq() {
347
511
  let localContext = new ClientStatementSeqContext(this.context, this.state);
348
- this.enterRule(localContext, 10, plurnkParser.RULE_clientStatementSeq);
512
+ this.enterRule(localContext, 14, plurnkParser.RULE_clientStatementSeq);
349
513
  let _la;
350
514
  try {
351
515
  this.enterOuterAlt(localContext, 1);
352
516
  {
353
- this.state = 135;
517
+ this.state = 178;
354
518
  this.errorHandler.sync(this);
355
519
  _la = this.tokenStream.LA(1);
356
- while (((((_la - 18)) & ~0x1F) === 0 && ((1 << (_la - 18)) & 65535) !== 0)) {
520
+ while (((((_la - 21)) & ~0x1F) === 0 && ((1 << (_la - 21)) & 65535) !== 0)) {
357
521
  {
358
522
  {
359
- this.state = 132;
523
+ this.state = 175;
360
524
  this.clientStatement();
361
525
  }
362
526
  }
363
- this.state = 137;
527
+ this.state = 180;
364
528
  this.errorHandler.sync(this);
365
529
  _la = this.tokenStream.LA(1);
366
530
  }
367
- this.state = 138;
531
+ this.state = 181;
368
532
  this.match(plurnkParser.EOF);
369
533
  }
370
534
  }
@@ -384,9 +548,9 @@ export class plurnkParser extends antlr.Parser {
384
548
  }
385
549
  clientStatement() {
386
550
  let localContext = new ClientStatementContext(this.context, this.state);
387
- this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
551
+ this.enterRule(localContext, 16, plurnkParser.RULE_clientStatement);
388
552
  try {
389
- this.state = 143;
553
+ this.state = 186;
390
554
  this.errorHandler.sync(this);
391
555
  switch (this.tokenStream.LA(1)) {
392
556
  case plurnkParser.OPEN_PLAN:
@@ -405,21 +569,21 @@ export class plurnkParser extends antlr.Parser {
405
569
  case plurnkParser.OPEN_KILL:
406
570
  this.enterOuterAlt(localContext, 1);
407
571
  {
408
- this.state = 140;
572
+ this.state = 183;
409
573
  this.statement();
410
574
  }
411
575
  break;
412
576
  case plurnkParser.OPEN_LOOK:
413
577
  this.enterOuterAlt(localContext, 2);
414
578
  {
415
- this.state = 141;
579
+ this.state = 184;
416
580
  this.lookStatement();
417
581
  }
418
582
  break;
419
583
  case plurnkParser.OPEN_BUFF:
420
584
  this.enterOuterAlt(localContext, 3);
421
585
  {
422
- this.state = 142;
586
+ this.state = 185;
423
587
  this.buffStatement();
424
588
  }
425
589
  break;
@@ -443,113 +607,113 @@ export class plurnkParser extends antlr.Parser {
443
607
  }
444
608
  statement() {
445
609
  let localContext = new StatementContext(this.context, this.state);
446
- this.enterRule(localContext, 14, plurnkParser.RULE_statement);
610
+ this.enterRule(localContext, 18, plurnkParser.RULE_statement);
447
611
  try {
448
- this.state = 160;
612
+ this.state = 203;
449
613
  this.errorHandler.sync(this);
450
- switch (this.interpreter.adaptivePredict(this.tokenStream, 8, this.context)) {
614
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 14, this.context)) {
451
615
  case 1:
452
616
  this.enterOuterAlt(localContext, 1);
453
617
  {
454
- this.state = 145;
618
+ this.state = 188;
455
619
  this.findStatement();
456
620
  }
457
621
  break;
458
622
  case 2:
459
623
  this.enterOuterAlt(localContext, 2);
460
624
  {
461
- this.state = 146;
625
+ this.state = 189;
462
626
  this.readStatement();
463
627
  }
464
628
  break;
465
629
  case 3:
466
630
  this.enterOuterAlt(localContext, 3);
467
631
  {
468
- this.state = 147;
632
+ this.state = 190;
469
633
  this.editStatement();
470
634
  }
471
635
  break;
472
636
  case 4:
473
637
  this.enterOuterAlt(localContext, 4);
474
638
  {
475
- this.state = 148;
639
+ this.state = 191;
476
640
  this.copyStatement();
477
641
  }
478
642
  break;
479
643
  case 5:
480
644
  this.enterOuterAlt(localContext, 5);
481
645
  {
482
- this.state = 149;
646
+ this.state = 192;
483
647
  this.moveStatement();
484
648
  }
485
649
  break;
486
650
  case 6:
487
651
  this.enterOuterAlt(localContext, 6);
488
652
  {
489
- this.state = 150;
653
+ this.state = 193;
490
654
  this.openStatement();
491
655
  }
492
656
  break;
493
657
  case 7:
494
658
  this.enterOuterAlt(localContext, 7);
495
659
  {
496
- this.state = 151;
660
+ this.state = 194;
497
661
  this.foldStatement();
498
662
  }
499
663
  break;
500
664
  case 8:
501
665
  this.enterOuterAlt(localContext, 8);
502
666
  {
503
- this.state = 152;
667
+ this.state = 195;
504
668
  this.sendStatement();
505
669
  }
506
670
  break;
507
671
  case 9:
508
672
  this.enterOuterAlt(localContext, 9);
509
673
  {
510
- this.state = 153;
674
+ this.state = 196;
511
675
  this.midSend();
512
676
  }
513
677
  break;
514
678
  case 10:
515
679
  this.enterOuterAlt(localContext, 10);
516
680
  {
517
- this.state = 154;
681
+ this.state = 197;
518
682
  this.execStatement();
519
683
  }
520
684
  break;
521
685
  case 11:
522
686
  this.enterOuterAlt(localContext, 11);
523
687
  {
524
- this.state = 155;
688
+ this.state = 198;
525
689
  this.bareStatement();
526
690
  }
527
691
  break;
528
692
  case 12:
529
693
  this.enterOuterAlt(localContext, 12);
530
694
  {
531
- this.state = 156;
695
+ this.state = 199;
532
696
  this.workStatement();
533
697
  }
534
698
  break;
535
699
  case 13:
536
700
  this.enterOuterAlt(localContext, 13);
537
701
  {
538
- this.state = 157;
702
+ this.state = 200;
539
703
  this.forkStatement();
540
704
  }
541
705
  break;
542
706
  case 14:
543
707
  this.enterOuterAlt(localContext, 14);
544
708
  {
545
- this.state = 158;
709
+ this.state = 201;
546
710
  this.killStatement();
547
711
  }
548
712
  break;
549
713
  case 15:
550
714
  this.enterOuterAlt(localContext, 15);
551
715
  {
552
- this.state = 159;
716
+ this.state = 202;
553
717
  this.planStatement();
554
718
  }
555
719
  break;
@@ -571,99 +735,99 @@ export class plurnkParser extends antlr.Parser {
571
735
  }
572
736
  midStatement() {
573
737
  let localContext = new MidStatementContext(this.context, this.state);
574
- this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
738
+ this.enterRule(localContext, 20, plurnkParser.RULE_midStatement);
575
739
  try {
576
- this.state = 175;
740
+ this.state = 218;
577
741
  this.errorHandler.sync(this);
578
742
  switch (this.tokenStream.LA(1)) {
579
743
  case plurnkParser.OPEN_FIND:
580
744
  this.enterOuterAlt(localContext, 1);
581
745
  {
582
- this.state = 162;
746
+ this.state = 205;
583
747
  this.findStatement();
584
748
  }
585
749
  break;
586
750
  case plurnkParser.OPEN_READ:
587
751
  this.enterOuterAlt(localContext, 2);
588
752
  {
589
- this.state = 163;
753
+ this.state = 206;
590
754
  this.readStatement();
591
755
  }
592
756
  break;
593
757
  case plurnkParser.OPEN_EDIT:
594
758
  this.enterOuterAlt(localContext, 3);
595
759
  {
596
- this.state = 164;
760
+ this.state = 207;
597
761
  this.editStatement();
598
762
  }
599
763
  break;
600
764
  case plurnkParser.OPEN_COPY:
601
765
  this.enterOuterAlt(localContext, 4);
602
766
  {
603
- this.state = 165;
767
+ this.state = 208;
604
768
  this.copyStatement();
605
769
  }
606
770
  break;
607
771
  case plurnkParser.OPEN_MOVE:
608
772
  this.enterOuterAlt(localContext, 5);
609
773
  {
610
- this.state = 166;
774
+ this.state = 209;
611
775
  this.moveStatement();
612
776
  }
613
777
  break;
614
778
  case plurnkParser.OPEN_OPEN:
615
779
  this.enterOuterAlt(localContext, 6);
616
780
  {
617
- this.state = 167;
781
+ this.state = 210;
618
782
  this.openStatement();
619
783
  }
620
784
  break;
621
785
  case plurnkParser.OPEN_FOLD:
622
786
  this.enterOuterAlt(localContext, 7);
623
787
  {
624
- this.state = 168;
788
+ this.state = 211;
625
789
  this.foldStatement();
626
790
  }
627
791
  break;
628
792
  case plurnkParser.OPEN_SEND:
629
793
  this.enterOuterAlt(localContext, 8);
630
794
  {
631
- this.state = 169;
795
+ this.state = 212;
632
796
  this.midSend();
633
797
  }
634
798
  break;
635
799
  case plurnkParser.OPEN_EXEC:
636
800
  this.enterOuterAlt(localContext, 9);
637
801
  {
638
- this.state = 170;
802
+ this.state = 213;
639
803
  this.execStatement();
640
804
  }
641
805
  break;
642
806
  case plurnkParser.OPEN_BARE:
643
807
  this.enterOuterAlt(localContext, 10);
644
808
  {
645
- this.state = 171;
809
+ this.state = 214;
646
810
  this.bareStatement();
647
811
  }
648
812
  break;
649
813
  case plurnkParser.OPEN_WORK:
650
814
  this.enterOuterAlt(localContext, 11);
651
815
  {
652
- this.state = 172;
816
+ this.state = 215;
653
817
  this.workStatement();
654
818
  }
655
819
  break;
656
820
  case plurnkParser.OPEN_FORK:
657
821
  this.enterOuterAlt(localContext, 12);
658
822
  {
659
- this.state = 173;
823
+ this.state = 216;
660
824
  this.forkStatement();
661
825
  }
662
826
  break;
663
827
  case plurnkParser.OPEN_KILL:
664
828
  this.enterOuterAlt(localContext, 13);
665
829
  {
666
- this.state = 174;
830
+ this.state = 217;
667
831
  this.killStatement();
668
832
  }
669
833
  break;
@@ -687,32 +851,32 @@ export class plurnkParser extends antlr.Parser {
687
851
  }
688
852
  findStatement() {
689
853
  let localContext = new FindStatementContext(this.context, this.state);
690
- this.enterRule(localContext, 18, plurnkParser.RULE_findStatement);
854
+ this.enterRule(localContext, 22, plurnkParser.RULE_findStatement);
691
855
  let _la;
692
856
  try {
693
857
  this.enterOuterAlt(localContext, 1);
694
858
  {
695
- this.state = 177;
859
+ this.state = 220;
696
860
  this.match(plurnkParser.OPEN_FIND);
697
- this.state = 179;
861
+ this.state = 222;
698
862
  this.errorHandler.sync(this);
699
863
  _la = this.tokenStream.LA(1);
700
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
864
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
701
865
  {
702
- this.state = 178;
866
+ this.state = 221;
703
867
  this.tagOpModifiers();
704
868
  }
705
869
  }
706
- this.state = 182;
870
+ this.state = 225;
707
871
  this.errorHandler.sync(this);
708
872
  _la = this.tokenStream.LA(1);
709
- if (_la === 17) {
873
+ if (_la === 20) {
710
874
  {
711
- this.state = 181;
875
+ this.state = 224;
712
876
  this.opAnnotation();
713
877
  }
714
878
  }
715
- this.state = 184;
879
+ this.state = 227;
716
880
  this.statementEnd();
717
881
  }
718
882
  }
@@ -732,32 +896,32 @@ export class plurnkParser extends antlr.Parser {
732
896
  }
733
897
  readStatement() {
734
898
  let localContext = new ReadStatementContext(this.context, this.state);
735
- this.enterRule(localContext, 20, plurnkParser.RULE_readStatement);
899
+ this.enterRule(localContext, 24, plurnkParser.RULE_readStatement);
736
900
  let _la;
737
901
  try {
738
902
  this.enterOuterAlt(localContext, 1);
739
903
  {
740
- this.state = 186;
904
+ this.state = 229;
741
905
  this.match(plurnkParser.OPEN_READ);
742
- this.state = 188;
906
+ this.state = 231;
743
907
  this.errorHandler.sync(this);
744
908
  _la = this.tokenStream.LA(1);
745
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
909
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
746
910
  {
747
- this.state = 187;
911
+ this.state = 230;
748
912
  this.tagOpModifiers();
749
913
  }
750
914
  }
751
- this.state = 191;
915
+ this.state = 234;
752
916
  this.errorHandler.sync(this);
753
917
  _la = this.tokenStream.LA(1);
754
- if (_la === 17) {
918
+ if (_la === 20) {
755
919
  {
756
- this.state = 190;
920
+ this.state = 233;
757
921
  this.opAnnotation();
758
922
  }
759
923
  }
760
- this.state = 193;
924
+ this.state = 236;
761
925
  this.statementEnd();
762
926
  }
763
927
  }
@@ -777,32 +941,32 @@ export class plurnkParser extends antlr.Parser {
777
941
  }
778
942
  editStatement() {
779
943
  let localContext = new EditStatementContext(this.context, this.state);
780
- this.enterRule(localContext, 22, plurnkParser.RULE_editStatement);
944
+ this.enterRule(localContext, 26, plurnkParser.RULE_editStatement);
781
945
  let _la;
782
946
  try {
783
947
  this.enterOuterAlt(localContext, 1);
784
948
  {
785
- this.state = 195;
949
+ this.state = 238;
786
950
  this.match(plurnkParser.OPEN_EDIT);
787
- this.state = 197;
951
+ this.state = 240;
788
952
  this.errorHandler.sync(this);
789
953
  _la = this.tokenStream.LA(1);
790
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
954
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
791
955
  {
792
- this.state = 196;
956
+ this.state = 239;
793
957
  this.tagOpModifiers();
794
958
  }
795
959
  }
796
- this.state = 200;
960
+ this.state = 243;
797
961
  this.errorHandler.sync(this);
798
962
  _la = this.tokenStream.LA(1);
799
- if (_la === 17) {
963
+ if (_la === 20) {
800
964
  {
801
- this.state = 199;
965
+ this.state = 242;
802
966
  this.opAnnotation();
803
967
  }
804
968
  }
805
- this.state = 202;
969
+ this.state = 245;
806
970
  this.statementEnd();
807
971
  }
808
972
  }
@@ -822,33 +986,26 @@ export class plurnkParser extends antlr.Parser {
822
986
  }
823
987
  copyStatement() {
824
988
  let localContext = new CopyStatementContext(this.context, this.state);
825
- this.enterRule(localContext, 24, plurnkParser.RULE_copyStatement);
989
+ this.enterRule(localContext, 28, plurnkParser.RULE_copyStatement);
826
990
  let _la;
827
991
  try {
828
992
  this.enterOuterAlt(localContext, 1);
829
993
  {
830
- this.state = 204;
994
+ this.state = 247;
831
995
  this.match(plurnkParser.OPEN_COPY);
832
- this.state = 206;
996
+ this.state = 248;
997
+ this.transferModifiers();
998
+ this.state = 250;
833
999
  this.errorHandler.sync(this);
834
1000
  _la = this.tokenStream.LA(1);
835
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1001
+ if (_la === 20) {
836
1002
  {
837
- this.state = 205;
838
- this.tagOpModifiers();
839
- }
840
- }
841
- this.state = 209;
842
- this.errorHandler.sync(this);
843
- _la = this.tokenStream.LA(1);
844
- if (_la === 17) {
845
- {
846
- this.state = 208;
1003
+ this.state = 249;
847
1004
  this.opAnnotation();
848
1005
  }
849
1006
  }
850
- this.state = 211;
851
- this.statementEnd();
1007
+ this.state = 252;
1008
+ this.emptyStatementEnd();
852
1009
  }
853
1010
  }
854
1011
  catch (re) {
@@ -867,33 +1024,26 @@ export class plurnkParser extends antlr.Parser {
867
1024
  }
868
1025
  moveStatement() {
869
1026
  let localContext = new MoveStatementContext(this.context, this.state);
870
- this.enterRule(localContext, 26, plurnkParser.RULE_moveStatement);
1027
+ this.enterRule(localContext, 30, plurnkParser.RULE_moveStatement);
871
1028
  let _la;
872
1029
  try {
873
1030
  this.enterOuterAlt(localContext, 1);
874
1031
  {
875
- this.state = 213;
1032
+ this.state = 254;
876
1033
  this.match(plurnkParser.OPEN_MOVE);
877
- this.state = 215;
1034
+ this.state = 255;
1035
+ this.transferModifiers();
1036
+ this.state = 257;
878
1037
  this.errorHandler.sync(this);
879
1038
  _la = this.tokenStream.LA(1);
880
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1039
+ if (_la === 20) {
881
1040
  {
882
- this.state = 214;
883
- this.tagOpModifiers();
884
- }
885
- }
886
- this.state = 218;
887
- this.errorHandler.sync(this);
888
- _la = this.tokenStream.LA(1);
889
- if (_la === 17) {
890
- {
891
- this.state = 217;
1041
+ this.state = 256;
892
1042
  this.opAnnotation();
893
1043
  }
894
1044
  }
895
- this.state = 220;
896
- this.statementEnd();
1045
+ this.state = 259;
1046
+ this.emptyStatementEnd();
897
1047
  }
898
1048
  }
899
1049
  catch (re) {
@@ -912,32 +1062,32 @@ export class plurnkParser extends antlr.Parser {
912
1062
  }
913
1063
  openStatement() {
914
1064
  let localContext = new OpenStatementContext(this.context, this.state);
915
- this.enterRule(localContext, 28, plurnkParser.RULE_openStatement);
1065
+ this.enterRule(localContext, 32, plurnkParser.RULE_openStatement);
916
1066
  let _la;
917
1067
  try {
918
1068
  this.enterOuterAlt(localContext, 1);
919
1069
  {
920
- this.state = 222;
1070
+ this.state = 261;
921
1071
  this.match(plurnkParser.OPEN_OPEN);
922
- this.state = 224;
1072
+ this.state = 263;
923
1073
  this.errorHandler.sync(this);
924
1074
  _la = this.tokenStream.LA(1);
925
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1075
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
926
1076
  {
927
- this.state = 223;
1077
+ this.state = 262;
928
1078
  this.tagOpModifiers();
929
1079
  }
930
1080
  }
931
- this.state = 227;
1081
+ this.state = 266;
932
1082
  this.errorHandler.sync(this);
933
1083
  _la = this.tokenStream.LA(1);
934
- if (_la === 17) {
1084
+ if (_la === 20) {
935
1085
  {
936
- this.state = 226;
1086
+ this.state = 265;
937
1087
  this.opAnnotation();
938
1088
  }
939
1089
  }
940
- this.state = 229;
1090
+ this.state = 268;
941
1091
  this.statementEnd();
942
1092
  }
943
1093
  }
@@ -957,32 +1107,32 @@ export class plurnkParser extends antlr.Parser {
957
1107
  }
958
1108
  foldStatement() {
959
1109
  let localContext = new FoldStatementContext(this.context, this.state);
960
- this.enterRule(localContext, 30, plurnkParser.RULE_foldStatement);
1110
+ this.enterRule(localContext, 34, plurnkParser.RULE_foldStatement);
961
1111
  let _la;
962
1112
  try {
963
1113
  this.enterOuterAlt(localContext, 1);
964
1114
  {
965
- this.state = 231;
1115
+ this.state = 270;
966
1116
  this.match(plurnkParser.OPEN_FOLD);
967
- this.state = 233;
1117
+ this.state = 272;
968
1118
  this.errorHandler.sync(this);
969
1119
  _la = this.tokenStream.LA(1);
970
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1120
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
971
1121
  {
972
- this.state = 232;
1122
+ this.state = 271;
973
1123
  this.tagOpModifiers();
974
1124
  }
975
1125
  }
976
- this.state = 236;
1126
+ this.state = 275;
977
1127
  this.errorHandler.sync(this);
978
1128
  _la = this.tokenStream.LA(1);
979
- if (_la === 17) {
1129
+ if (_la === 20) {
980
1130
  {
981
- this.state = 235;
1131
+ this.state = 274;
982
1132
  this.opAnnotation();
983
1133
  }
984
1134
  }
985
- this.state = 238;
1135
+ this.state = 277;
986
1136
  this.statementEnd();
987
1137
  }
988
1138
  }
@@ -1002,25 +1152,25 @@ export class plurnkParser extends antlr.Parser {
1002
1152
  }
1003
1153
  sendStatement() {
1004
1154
  let localContext = new SendStatementContext(this.context, this.state);
1005
- this.enterRule(localContext, 32, plurnkParser.RULE_sendStatement);
1155
+ this.enterRule(localContext, 36, plurnkParser.RULE_sendStatement);
1006
1156
  let _la;
1007
1157
  try {
1008
1158
  this.enterOuterAlt(localContext, 1);
1009
1159
  {
1010
- this.state = 240;
1160
+ this.state = 279;
1011
1161
  this.match(plurnkParser.OPEN_SEND);
1012
- this.state = 241;
1162
+ this.state = 280;
1013
1163
  this.termModifiers();
1014
- this.state = 243;
1164
+ this.state = 282;
1015
1165
  this.errorHandler.sync(this);
1016
1166
  _la = this.tokenStream.LA(1);
1017
- if (_la === 17) {
1167
+ if (_la === 20) {
1018
1168
  {
1019
- this.state = 242;
1169
+ this.state = 281;
1020
1170
  this.opAnnotation();
1021
1171
  }
1022
1172
  }
1023
- this.state = 245;
1173
+ this.state = 284;
1024
1174
  this.statementEnd();
1025
1175
  }
1026
1176
  }
@@ -1040,32 +1190,32 @@ export class plurnkParser extends antlr.Parser {
1040
1190
  }
1041
1191
  midSend() {
1042
1192
  let localContext = new MidSendContext(this.context, this.state);
1043
- this.enterRule(localContext, 34, plurnkParser.RULE_midSend);
1193
+ this.enterRule(localContext, 38, plurnkParser.RULE_midSend);
1044
1194
  let _la;
1045
1195
  try {
1046
1196
  this.enterOuterAlt(localContext, 1);
1047
1197
  {
1048
- this.state = 247;
1198
+ this.state = 286;
1049
1199
  this.match(plurnkParser.OPEN_SEND);
1050
- this.state = 249;
1200
+ this.state = 288;
1051
1201
  this.errorHandler.sync(this);
1052
1202
  _la = this.tokenStream.LA(1);
1053
1203
  if (_la === 1 || _la === 3) {
1054
1204
  {
1055
- this.state = 248;
1205
+ this.state = 287;
1056
1206
  this.midModifiers();
1057
1207
  }
1058
1208
  }
1059
- this.state = 252;
1209
+ this.state = 291;
1060
1210
  this.errorHandler.sync(this);
1061
1211
  _la = this.tokenStream.LA(1);
1062
- if (_la === 17) {
1212
+ if (_la === 20) {
1063
1213
  {
1064
- this.state = 251;
1214
+ this.state = 290;
1065
1215
  this.opAnnotation();
1066
1216
  }
1067
1217
  }
1068
- this.state = 254;
1218
+ this.state = 293;
1069
1219
  this.statementEnd();
1070
1220
  }
1071
1221
  }
@@ -1085,32 +1235,32 @@ export class plurnkParser extends antlr.Parser {
1085
1235
  }
1086
1236
  execStatement() {
1087
1237
  let localContext = new ExecStatementContext(this.context, this.state);
1088
- this.enterRule(localContext, 36, plurnkParser.RULE_execStatement);
1238
+ this.enterRule(localContext, 40, plurnkParser.RULE_execStatement);
1089
1239
  let _la;
1090
1240
  try {
1091
1241
  this.enterOuterAlt(localContext, 1);
1092
1242
  {
1093
- this.state = 256;
1243
+ this.state = 295;
1094
1244
  this.match(plurnkParser.OPEN_EXEC);
1095
- this.state = 258;
1245
+ this.state = 297;
1096
1246
  this.errorHandler.sync(this);
1097
1247
  _la = this.tokenStream.LA(1);
1098
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1248
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1099
1249
  {
1100
- this.state = 257;
1250
+ this.state = 296;
1101
1251
  this.execModifiers();
1102
1252
  }
1103
1253
  }
1104
- this.state = 261;
1254
+ this.state = 300;
1105
1255
  this.errorHandler.sync(this);
1106
1256
  _la = this.tokenStream.LA(1);
1107
- if (_la === 17) {
1257
+ if (_la === 20) {
1108
1258
  {
1109
- this.state = 260;
1259
+ this.state = 299;
1110
1260
  this.opAnnotation();
1111
1261
  }
1112
1262
  }
1113
- this.state = 263;
1263
+ this.state = 302;
1114
1264
  this.statementEnd();
1115
1265
  }
1116
1266
  }
@@ -1130,32 +1280,32 @@ export class plurnkParser extends antlr.Parser {
1130
1280
  }
1131
1281
  bareStatement() {
1132
1282
  let localContext = new BareStatementContext(this.context, this.state);
1133
- this.enterRule(localContext, 38, plurnkParser.RULE_bareStatement);
1283
+ this.enterRule(localContext, 42, plurnkParser.RULE_bareStatement);
1134
1284
  let _la;
1135
1285
  try {
1136
1286
  this.enterOuterAlt(localContext, 1);
1137
1287
  {
1138
- this.state = 265;
1288
+ this.state = 304;
1139
1289
  this.match(plurnkParser.OPEN_BARE);
1140
- this.state = 267;
1290
+ this.state = 306;
1141
1291
  this.errorHandler.sync(this);
1142
1292
  _la = this.tokenStream.LA(1);
1143
1293
  if (_la === 1) {
1144
1294
  {
1145
- this.state = 266;
1295
+ this.state = 305;
1146
1296
  this.tagSignal();
1147
1297
  }
1148
1298
  }
1149
- this.state = 270;
1299
+ this.state = 309;
1150
1300
  this.errorHandler.sync(this);
1151
1301
  _la = this.tokenStream.LA(1);
1152
- if (_la === 17) {
1302
+ if (_la === 20) {
1153
1303
  {
1154
- this.state = 269;
1304
+ this.state = 308;
1155
1305
  this.opAnnotation();
1156
1306
  }
1157
1307
  }
1158
- this.state = 272;
1308
+ this.state = 311;
1159
1309
  this.statementEnd();
1160
1310
  }
1161
1311
  }
@@ -1175,32 +1325,32 @@ export class plurnkParser extends antlr.Parser {
1175
1325
  }
1176
1326
  workStatement() {
1177
1327
  let localContext = new WorkStatementContext(this.context, this.state);
1178
- this.enterRule(localContext, 40, plurnkParser.RULE_workStatement);
1328
+ this.enterRule(localContext, 44, plurnkParser.RULE_workStatement);
1179
1329
  let _la;
1180
1330
  try {
1181
1331
  this.enterOuterAlt(localContext, 1);
1182
1332
  {
1183
- this.state = 274;
1333
+ this.state = 313;
1184
1334
  this.match(plurnkParser.OPEN_WORK);
1185
- this.state = 276;
1335
+ this.state = 315;
1186
1336
  this.errorHandler.sync(this);
1187
1337
  _la = this.tokenStream.LA(1);
1188
1338
  if (_la === 1 || _la === 3) {
1189
1339
  {
1190
- this.state = 275;
1340
+ this.state = 314;
1191
1341
  this.branchModifiers();
1192
1342
  }
1193
1343
  }
1194
- this.state = 279;
1344
+ this.state = 318;
1195
1345
  this.errorHandler.sync(this);
1196
1346
  _la = this.tokenStream.LA(1);
1197
- if (_la === 17) {
1347
+ if (_la === 20) {
1198
1348
  {
1199
- this.state = 278;
1349
+ this.state = 317;
1200
1350
  this.opAnnotation();
1201
1351
  }
1202
1352
  }
1203
- this.state = 281;
1353
+ this.state = 320;
1204
1354
  this.statementEnd();
1205
1355
  }
1206
1356
  }
@@ -1220,32 +1370,32 @@ export class plurnkParser extends antlr.Parser {
1220
1370
  }
1221
1371
  forkStatement() {
1222
1372
  let localContext = new ForkStatementContext(this.context, this.state);
1223
- this.enterRule(localContext, 42, plurnkParser.RULE_forkStatement);
1373
+ this.enterRule(localContext, 46, plurnkParser.RULE_forkStatement);
1224
1374
  let _la;
1225
1375
  try {
1226
1376
  this.enterOuterAlt(localContext, 1);
1227
1377
  {
1228
- this.state = 283;
1378
+ this.state = 322;
1229
1379
  this.match(plurnkParser.OPEN_FORK);
1230
- this.state = 285;
1380
+ this.state = 324;
1231
1381
  this.errorHandler.sync(this);
1232
1382
  _la = this.tokenStream.LA(1);
1233
1383
  if (_la === 1 || _la === 3) {
1234
1384
  {
1235
- this.state = 284;
1385
+ this.state = 323;
1236
1386
  this.branchModifiers();
1237
1387
  }
1238
1388
  }
1239
- this.state = 288;
1389
+ this.state = 327;
1240
1390
  this.errorHandler.sync(this);
1241
1391
  _la = this.tokenStream.LA(1);
1242
- if (_la === 17) {
1392
+ if (_la === 20) {
1243
1393
  {
1244
- this.state = 287;
1394
+ this.state = 326;
1245
1395
  this.opAnnotation();
1246
1396
  }
1247
1397
  }
1248
- this.state = 290;
1398
+ this.state = 329;
1249
1399
  this.statementEnd();
1250
1400
  }
1251
1401
  }
@@ -1265,32 +1415,32 @@ export class plurnkParser extends antlr.Parser {
1265
1415
  }
1266
1416
  killStatement() {
1267
1417
  let localContext = new KillStatementContext(this.context, this.state);
1268
- this.enterRule(localContext, 44, plurnkParser.RULE_killStatement);
1418
+ this.enterRule(localContext, 48, plurnkParser.RULE_killStatement);
1269
1419
  let _la;
1270
1420
  try {
1271
1421
  this.enterOuterAlt(localContext, 1);
1272
1422
  {
1273
- this.state = 292;
1423
+ this.state = 331;
1274
1424
  this.match(plurnkParser.OPEN_KILL);
1275
- this.state = 294;
1425
+ this.state = 333;
1276
1426
  this.errorHandler.sync(this);
1277
1427
  _la = this.tokenStream.LA(1);
1278
1428
  if (_la === 1 || _la === 3) {
1279
1429
  {
1280
- this.state = 293;
1430
+ this.state = 332;
1281
1431
  this.intOpModifiers();
1282
1432
  }
1283
1433
  }
1284
- this.state = 297;
1434
+ this.state = 336;
1285
1435
  this.errorHandler.sync(this);
1286
1436
  _la = this.tokenStream.LA(1);
1287
- if (_la === 17) {
1437
+ if (_la === 20) {
1288
1438
  {
1289
- this.state = 296;
1439
+ this.state = 335;
1290
1440
  this.opAnnotation();
1291
1441
  }
1292
1442
  }
1293
- this.state = 299;
1443
+ this.state = 338;
1294
1444
  this.statementEnd();
1295
1445
  }
1296
1446
  }
@@ -1310,32 +1460,32 @@ export class plurnkParser extends antlr.Parser {
1310
1460
  }
1311
1461
  planStatement() {
1312
1462
  let localContext = new PlanStatementContext(this.context, this.state);
1313
- this.enterRule(localContext, 46, plurnkParser.RULE_planStatement);
1463
+ this.enterRule(localContext, 50, plurnkParser.RULE_planStatement);
1314
1464
  let _la;
1315
1465
  try {
1316
1466
  this.enterOuterAlt(localContext, 1);
1317
1467
  {
1318
- this.state = 301;
1468
+ this.state = 340;
1319
1469
  this.match(plurnkParser.OPEN_PLAN);
1320
- this.state = 303;
1470
+ this.state = 342;
1321
1471
  this.errorHandler.sync(this);
1322
1472
  _la = this.tokenStream.LA(1);
1323
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1473
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1324
1474
  {
1325
- this.state = 302;
1475
+ this.state = 341;
1326
1476
  this.tagOpModifiers();
1327
1477
  }
1328
1478
  }
1329
- this.state = 306;
1479
+ this.state = 345;
1330
1480
  this.errorHandler.sync(this);
1331
1481
  _la = this.tokenStream.LA(1);
1332
- if (_la === 17) {
1482
+ if (_la === 20) {
1333
1483
  {
1334
- this.state = 305;
1484
+ this.state = 344;
1335
1485
  this.opAnnotation();
1336
1486
  }
1337
1487
  }
1338
- this.state = 308;
1488
+ this.state = 347;
1339
1489
  this.statementEnd();
1340
1490
  }
1341
1491
  }
@@ -1355,32 +1505,32 @@ export class plurnkParser extends antlr.Parser {
1355
1505
  }
1356
1506
  lookStatement() {
1357
1507
  let localContext = new LookStatementContext(this.context, this.state);
1358
- this.enterRule(localContext, 48, plurnkParser.RULE_lookStatement);
1508
+ this.enterRule(localContext, 52, plurnkParser.RULE_lookStatement);
1359
1509
  let _la;
1360
1510
  try {
1361
1511
  this.enterOuterAlt(localContext, 1);
1362
1512
  {
1363
- this.state = 310;
1513
+ this.state = 349;
1364
1514
  this.match(plurnkParser.OPEN_LOOK);
1365
- this.state = 312;
1515
+ this.state = 351;
1366
1516
  this.errorHandler.sync(this);
1367
1517
  _la = this.tokenStream.LA(1);
1368
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1518
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1369
1519
  {
1370
- this.state = 311;
1520
+ this.state = 350;
1371
1521
  this.tagOpModifiers();
1372
1522
  }
1373
1523
  }
1374
- this.state = 315;
1524
+ this.state = 354;
1375
1525
  this.errorHandler.sync(this);
1376
1526
  _la = this.tokenStream.LA(1);
1377
- if (_la === 17) {
1527
+ if (_la === 20) {
1378
1528
  {
1379
- this.state = 314;
1529
+ this.state = 353;
1380
1530
  this.opAnnotation();
1381
1531
  }
1382
1532
  }
1383
- this.state = 317;
1533
+ this.state = 356;
1384
1534
  this.statementEnd();
1385
1535
  }
1386
1536
  }
@@ -1400,32 +1550,32 @@ export class plurnkParser extends antlr.Parser {
1400
1550
  }
1401
1551
  buffStatement() {
1402
1552
  let localContext = new BuffStatementContext(this.context, this.state);
1403
- this.enterRule(localContext, 50, plurnkParser.RULE_buffStatement);
1553
+ this.enterRule(localContext, 54, plurnkParser.RULE_buffStatement);
1404
1554
  let _la;
1405
1555
  try {
1406
1556
  this.enterOuterAlt(localContext, 1);
1407
1557
  {
1408
- this.state = 319;
1558
+ this.state = 358;
1409
1559
  this.match(plurnkParser.OPEN_BUFF);
1410
- this.state = 321;
1560
+ this.state = 360;
1411
1561
  this.errorHandler.sync(this);
1412
1562
  _la = this.tokenStream.LA(1);
1413
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1563
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0)) {
1414
1564
  {
1415
- this.state = 320;
1565
+ this.state = 359;
1416
1566
  this.tagOpModifiers();
1417
1567
  }
1418
1568
  }
1419
- this.state = 324;
1569
+ this.state = 363;
1420
1570
  this.errorHandler.sync(this);
1421
1571
  _la = this.tokenStream.LA(1);
1422
- if (_la === 17) {
1572
+ if (_la === 20) {
1423
1573
  {
1424
- this.state = 323;
1574
+ this.state = 362;
1425
1575
  this.opAnnotation();
1426
1576
  }
1427
1577
  }
1428
- this.state = 326;
1578
+ this.state = 365;
1429
1579
  this.statementEnd();
1430
1580
  }
1431
1581
  }
@@ -1445,11 +1595,11 @@ export class plurnkParser extends antlr.Parser {
1445
1595
  }
1446
1596
  opAnnotation() {
1447
1597
  let localContext = new OpAnnotationContext(this.context, this.state);
1448
- this.enterRule(localContext, 52, plurnkParser.RULE_opAnnotation);
1598
+ this.enterRule(localContext, 56, plurnkParser.RULE_opAnnotation);
1449
1599
  try {
1450
1600
  this.enterOuterAlt(localContext, 1);
1451
1601
  {
1452
- this.state = 328;
1602
+ this.state = 367;
1453
1603
  this.match(plurnkParser.ANNOTATION);
1454
1604
  }
1455
1605
  }
@@ -1467,64 +1617,234 @@ export class plurnkParser extends antlr.Parser {
1467
1617
  }
1468
1618
  return localContext;
1469
1619
  }
1470
- statementEnd() {
1471
- let localContext = new StatementEndContext(this.context, this.state);
1472
- this.enterRule(localContext, 54, plurnkParser.RULE_statementEnd);
1620
+ statementEnd() {
1621
+ let localContext = new StatementEndContext(this.context, this.state);
1622
+ this.enterRule(localContext, 58, plurnkParser.RULE_statementEnd);
1623
+ let _la;
1624
+ try {
1625
+ this.state = 382;
1626
+ this.errorHandler.sync(this);
1627
+ switch (this.tokenStream.LA(1)) {
1628
+ case plurnkParser.SECTION_END:
1629
+ this.enterOuterAlt(localContext, 1);
1630
+ {
1631
+ this.state = 369;
1632
+ this.match(plurnkParser.SECTION_END);
1633
+ }
1634
+ break;
1635
+ case plurnkParser.BODY_OPEN:
1636
+ this.enterOuterAlt(localContext, 2);
1637
+ {
1638
+ this.state = 370;
1639
+ this.match(plurnkParser.BODY_OPEN);
1640
+ this.state = 372;
1641
+ this.errorHandler.sync(this);
1642
+ _la = this.tokenStream.LA(1);
1643
+ if (_la === 18) {
1644
+ {
1645
+ this.state = 371;
1646
+ this.body();
1647
+ }
1648
+ }
1649
+ this.state = 375;
1650
+ this.errorHandler.sync(this);
1651
+ _la = this.tokenStream.LA(1);
1652
+ if (_la === 10) {
1653
+ {
1654
+ this.state = 374;
1655
+ this.match(plurnkParser.SECTION_END);
1656
+ }
1657
+ }
1658
+ }
1659
+ break;
1660
+ case plurnkParser.BODY_TEXT:
1661
+ this.enterOuterAlt(localContext, 3);
1662
+ {
1663
+ this.state = 377;
1664
+ this.body();
1665
+ this.state = 379;
1666
+ this.errorHandler.sync(this);
1667
+ _la = this.tokenStream.LA(1);
1668
+ if (_la === 10) {
1669
+ {
1670
+ this.state = 378;
1671
+ this.match(plurnkParser.SECTION_END);
1672
+ }
1673
+ }
1674
+ }
1675
+ break;
1676
+ case plurnkParser.EOF:
1677
+ case plurnkParser.TEXT:
1678
+ case plurnkParser.OPEN_PLAN:
1679
+ case plurnkParser.OPEN_FIND:
1680
+ case plurnkParser.OPEN_READ:
1681
+ case plurnkParser.OPEN_EDIT:
1682
+ case plurnkParser.OPEN_COPY:
1683
+ case plurnkParser.OPEN_MOVE:
1684
+ case plurnkParser.OPEN_OPEN:
1685
+ case plurnkParser.OPEN_FOLD:
1686
+ case plurnkParser.OPEN_SEND:
1687
+ case plurnkParser.OPEN_EXEC:
1688
+ case plurnkParser.OPEN_BARE:
1689
+ case plurnkParser.OPEN_WORK:
1690
+ case plurnkParser.OPEN_FORK:
1691
+ case plurnkParser.OPEN_KILL:
1692
+ case plurnkParser.OPEN_LOOK:
1693
+ case plurnkParser.OPEN_BUFF:
1694
+ case plurnkParser.FENCE_CLOSE:
1695
+ this.enterOuterAlt(localContext, 4);
1696
+ // tslint:disable-next-line:no-empty
1697
+ {
1698
+ }
1699
+ break;
1700
+ default:
1701
+ throw new antlr.NoViableAltException(this);
1702
+ }
1703
+ }
1704
+ catch (re) {
1705
+ if (re instanceof antlr.RecognitionException) {
1706
+ this.errorHandler.reportError(this, re);
1707
+ this.errorHandler.recover(this, re);
1708
+ }
1709
+ else {
1710
+ throw re;
1711
+ }
1712
+ }
1713
+ finally {
1714
+ this.exitRule();
1715
+ }
1716
+ return localContext;
1717
+ }
1718
+ transferModifiers() {
1719
+ let localContext = new TransferModifiersContext(this.context, this.state);
1720
+ this.enterRule(localContext, 60, plurnkParser.RULE_transferModifiers);
1721
+ let _la;
1722
+ try {
1723
+ this.state = 397;
1724
+ this.errorHandler.sync(this);
1725
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 52, this.context)) {
1726
+ case 1:
1727
+ this.enterOuterAlt(localContext, 1);
1728
+ {
1729
+ this.state = 384;
1730
+ this.tagSignal();
1731
+ this.state = 385;
1732
+ this.resourceSelection();
1733
+ this.state = 386;
1734
+ this.resourceSelection();
1735
+ }
1736
+ break;
1737
+ case 2:
1738
+ this.enterOuterAlt(localContext, 2);
1739
+ {
1740
+ this.state = 388;
1741
+ this.resourceSelection();
1742
+ this.state = 389;
1743
+ this.tagSignal();
1744
+ this.state = 390;
1745
+ this.resourceSelection();
1746
+ }
1747
+ break;
1748
+ case 3:
1749
+ this.enterOuterAlt(localContext, 3);
1750
+ {
1751
+ this.state = 392;
1752
+ this.resourceSelection();
1753
+ this.state = 393;
1754
+ this.resourceSelection();
1755
+ this.state = 395;
1756
+ this.errorHandler.sync(this);
1757
+ _la = this.tokenStream.LA(1);
1758
+ if (_la === 1) {
1759
+ {
1760
+ this.state = 394;
1761
+ this.tagSignal();
1762
+ }
1763
+ }
1764
+ }
1765
+ break;
1766
+ }
1767
+ }
1768
+ catch (re) {
1769
+ if (re instanceof antlr.RecognitionException) {
1770
+ this.errorHandler.reportError(this, re);
1771
+ this.errorHandler.recover(this, re);
1772
+ }
1773
+ else {
1774
+ throw re;
1775
+ }
1776
+ }
1777
+ finally {
1778
+ this.exitRule();
1779
+ }
1780
+ return localContext;
1781
+ }
1782
+ resourceSelection() {
1783
+ let localContext = new ResourceSelectionContext(this.context, this.state);
1784
+ this.enterRule(localContext, 62, plurnkParser.RULE_resourceSelection);
1785
+ let _la;
1786
+ try {
1787
+ this.enterOuterAlt(localContext, 1);
1788
+ {
1789
+ this.state = 399;
1790
+ this.targetWithMetadata();
1791
+ this.state = 401;
1792
+ this.errorHandler.sync(this);
1793
+ _la = this.tokenStream.LA(1);
1794
+ if (_la === 7) {
1795
+ {
1796
+ this.state = 400;
1797
+ this.lineMarker();
1798
+ }
1799
+ }
1800
+ }
1801
+ }
1802
+ catch (re) {
1803
+ if (re instanceof antlr.RecognitionException) {
1804
+ this.errorHandler.reportError(this, re);
1805
+ this.errorHandler.recover(this, re);
1806
+ }
1807
+ else {
1808
+ throw re;
1809
+ }
1810
+ }
1811
+ finally {
1812
+ this.exitRule();
1813
+ }
1814
+ return localContext;
1815
+ }
1816
+ emptyStatementEnd() {
1817
+ let localContext = new EmptyStatementEndContext(this.context, this.state);
1818
+ this.enterRule(localContext, 64, plurnkParser.RULE_emptyStatementEnd);
1473
1819
  let _la;
1474
1820
  try {
1475
- this.state = 343;
1821
+ this.state = 409;
1476
1822
  this.errorHandler.sync(this);
1477
1823
  switch (this.tokenStream.LA(1)) {
1478
1824
  case plurnkParser.SECTION_END:
1479
1825
  this.enterOuterAlt(localContext, 1);
1480
1826
  {
1481
- this.state = 330;
1827
+ this.state = 403;
1482
1828
  this.match(plurnkParser.SECTION_END);
1483
1829
  }
1484
1830
  break;
1485
1831
  case plurnkParser.BODY_OPEN:
1486
1832
  this.enterOuterAlt(localContext, 2);
1487
1833
  {
1488
- this.state = 331;
1834
+ this.state = 404;
1489
1835
  this.match(plurnkParser.BODY_OPEN);
1490
- this.state = 333;
1491
- this.errorHandler.sync(this);
1492
- _la = this.tokenStream.LA(1);
1493
- if (_la === 15) {
1494
- {
1495
- this.state = 332;
1496
- this.body();
1497
- }
1498
- }
1499
- this.state = 336;
1500
- this.errorHandler.sync(this);
1501
- _la = this.tokenStream.LA(1);
1502
- if (_la === 8) {
1503
- {
1504
- this.state = 335;
1505
- this.match(plurnkParser.SECTION_END);
1506
- }
1507
- }
1508
- }
1509
- break;
1510
- case plurnkParser.BODY_TEXT:
1511
- this.enterOuterAlt(localContext, 3);
1512
- {
1513
- this.state = 338;
1514
- this.body();
1515
- this.state = 340;
1836
+ this.state = 406;
1516
1837
  this.errorHandler.sync(this);
1517
1838
  _la = this.tokenStream.LA(1);
1518
- if (_la === 8) {
1839
+ if (_la === 10) {
1519
1840
  {
1520
- this.state = 339;
1841
+ this.state = 405;
1521
1842
  this.match(plurnkParser.SECTION_END);
1522
1843
  }
1523
1844
  }
1524
1845
  }
1525
1846
  break;
1526
1847
  case plurnkParser.EOF:
1527
- case plurnkParser.TEXT:
1528
1848
  case plurnkParser.OPEN_PLAN:
1529
1849
  case plurnkParser.OPEN_FIND:
1530
1850
  case plurnkParser.OPEN_READ:
@@ -1542,7 +1862,7 @@ export class plurnkParser extends antlr.Parser {
1542
1862
  case plurnkParser.OPEN_LOOK:
1543
1863
  case plurnkParser.OPEN_BUFF:
1544
1864
  case plurnkParser.FENCE_CLOSE:
1545
- this.enterOuterAlt(localContext, 4);
1865
+ this.enterOuterAlt(localContext, 3);
1546
1866
  // tslint:disable-next-line:no-empty
1547
1867
  {
1548
1868
  }
@@ -1567,30 +1887,30 @@ export class plurnkParser extends antlr.Parser {
1567
1887
  }
1568
1888
  tagOpModifiers() {
1569
1889
  let localContext = new TagOpModifiersContext(this.context, this.state);
1570
- this.enterRule(localContext, 56, plurnkParser.RULE_tagOpModifiers);
1890
+ this.enterRule(localContext, 66, plurnkParser.RULE_tagOpModifiers);
1571
1891
  let _la;
1572
1892
  try {
1573
- this.state = 378;
1893
+ this.state = 444;
1574
1894
  this.errorHandler.sync(this);
1575
1895
  switch (this.tokenStream.LA(1)) {
1576
1896
  case plurnkParser.LBRACKET:
1577
1897
  this.enterOuterAlt(localContext, 1);
1578
1898
  {
1579
- this.state = 345;
1899
+ this.state = 411;
1580
1900
  this.tagSignal();
1581
- this.state = 354;
1901
+ this.state = 420;
1582
1902
  this.errorHandler.sync(this);
1583
1903
  switch (this.tokenStream.LA(1)) {
1584
1904
  case plurnkParser.LPAREN:
1585
1905
  {
1586
- this.state = 346;
1587
- this.target();
1588
- this.state = 348;
1906
+ this.state = 412;
1907
+ this.targetWithMetadata();
1908
+ this.state = 414;
1589
1909
  this.errorHandler.sync(this);
1590
1910
  _la = this.tokenStream.LA(1);
1591
- if (_la === 5) {
1911
+ if (_la === 7) {
1592
1912
  {
1593
- this.state = 347;
1913
+ this.state = 413;
1594
1914
  this.lineMarker();
1595
1915
  }
1596
1916
  }
@@ -1598,15 +1918,15 @@ export class plurnkParser extends antlr.Parser {
1598
1918
  break;
1599
1919
  case plurnkParser.L_MARKER:
1600
1920
  {
1601
- this.state = 350;
1921
+ this.state = 416;
1602
1922
  this.lineMarker();
1603
- this.state = 352;
1923
+ this.state = 418;
1604
1924
  this.errorHandler.sync(this);
1605
1925
  _la = this.tokenStream.LA(1);
1606
1926
  if (_la === 3) {
1607
1927
  {
1608
- this.state = 351;
1609
- this.target();
1928
+ this.state = 417;
1929
+ this.targetWithMetadata();
1610
1930
  }
1611
1931
  }
1612
1932
  }
@@ -1632,6 +1952,7 @@ export class plurnkParser extends antlr.Parser {
1632
1952
  case plurnkParser.OPEN_KILL:
1633
1953
  case plurnkParser.OPEN_LOOK:
1634
1954
  case plurnkParser.OPEN_BUFF:
1955
+ case plurnkParser.FENCE_CLOSE:
1635
1956
  break;
1636
1957
  default:
1637
1958
  break;
@@ -1641,21 +1962,21 @@ export class plurnkParser extends antlr.Parser {
1641
1962
  case plurnkParser.LPAREN:
1642
1963
  this.enterOuterAlt(localContext, 2);
1643
1964
  {
1644
- this.state = 356;
1645
- this.target();
1646
- this.state = 365;
1965
+ this.state = 422;
1966
+ this.targetWithMetadata();
1967
+ this.state = 431;
1647
1968
  this.errorHandler.sync(this);
1648
1969
  switch (this.tokenStream.LA(1)) {
1649
1970
  case plurnkParser.LBRACKET:
1650
1971
  {
1651
- this.state = 357;
1972
+ this.state = 423;
1652
1973
  this.tagSignal();
1653
- this.state = 359;
1974
+ this.state = 425;
1654
1975
  this.errorHandler.sync(this);
1655
1976
  _la = this.tokenStream.LA(1);
1656
- if (_la === 5) {
1977
+ if (_la === 7) {
1657
1978
  {
1658
- this.state = 358;
1979
+ this.state = 424;
1659
1980
  this.lineMarker();
1660
1981
  }
1661
1982
  }
@@ -1663,14 +1984,14 @@ export class plurnkParser extends antlr.Parser {
1663
1984
  break;
1664
1985
  case plurnkParser.L_MARKER:
1665
1986
  {
1666
- this.state = 361;
1987
+ this.state = 427;
1667
1988
  this.lineMarker();
1668
- this.state = 363;
1989
+ this.state = 429;
1669
1990
  this.errorHandler.sync(this);
1670
1991
  _la = this.tokenStream.LA(1);
1671
1992
  if (_la === 1) {
1672
1993
  {
1673
- this.state = 362;
1994
+ this.state = 428;
1674
1995
  this.tagSignal();
1675
1996
  }
1676
1997
  }
@@ -1697,6 +2018,7 @@ export class plurnkParser extends antlr.Parser {
1697
2018
  case plurnkParser.OPEN_KILL:
1698
2019
  case plurnkParser.OPEN_LOOK:
1699
2020
  case plurnkParser.OPEN_BUFF:
2021
+ case plurnkParser.FENCE_CLOSE:
1700
2022
  break;
1701
2023
  default:
1702
2024
  break;
@@ -1706,36 +2028,36 @@ export class plurnkParser extends antlr.Parser {
1706
2028
  case plurnkParser.L_MARKER:
1707
2029
  this.enterOuterAlt(localContext, 3);
1708
2030
  {
1709
- this.state = 367;
2031
+ this.state = 433;
1710
2032
  this.lineMarker();
1711
- this.state = 376;
2033
+ this.state = 442;
1712
2034
  this.errorHandler.sync(this);
1713
2035
  switch (this.tokenStream.LA(1)) {
1714
2036
  case plurnkParser.LBRACKET:
1715
2037
  {
1716
- this.state = 368;
2038
+ this.state = 434;
1717
2039
  this.tagSignal();
1718
- this.state = 370;
2040
+ this.state = 436;
1719
2041
  this.errorHandler.sync(this);
1720
2042
  _la = this.tokenStream.LA(1);
1721
2043
  if (_la === 3) {
1722
2044
  {
1723
- this.state = 369;
1724
- this.target();
2045
+ this.state = 435;
2046
+ this.targetWithMetadata();
1725
2047
  }
1726
2048
  }
1727
2049
  }
1728
2050
  break;
1729
2051
  case plurnkParser.LPAREN:
1730
2052
  {
1731
- this.state = 372;
1732
- this.target();
1733
- this.state = 374;
2053
+ this.state = 438;
2054
+ this.targetWithMetadata();
2055
+ this.state = 440;
1734
2056
  this.errorHandler.sync(this);
1735
2057
  _la = this.tokenStream.LA(1);
1736
2058
  if (_la === 1) {
1737
2059
  {
1738
- this.state = 373;
2060
+ this.state = 439;
1739
2061
  this.tagSignal();
1740
2062
  }
1741
2063
  }
@@ -1762,6 +2084,7 @@ export class plurnkParser extends antlr.Parser {
1762
2084
  case plurnkParser.OPEN_KILL:
1763
2085
  case plurnkParser.OPEN_LOOK:
1764
2086
  case plurnkParser.OPEN_BUFF:
2087
+ case plurnkParser.FENCE_CLOSE:
1765
2088
  break;
1766
2089
  default:
1767
2090
  break;
@@ -1788,24 +2111,24 @@ export class plurnkParser extends antlr.Parser {
1788
2111
  }
1789
2112
  intOpModifiers() {
1790
2113
  let localContext = new IntOpModifiersContext(this.context, this.state);
1791
- this.enterRule(localContext, 58, plurnkParser.RULE_intOpModifiers);
2114
+ this.enterRule(localContext, 68, plurnkParser.RULE_intOpModifiers);
1792
2115
  let _la;
1793
2116
  try {
1794
- this.state = 388;
2117
+ this.state = 454;
1795
2118
  this.errorHandler.sync(this);
1796
2119
  switch (this.tokenStream.LA(1)) {
1797
2120
  case plurnkParser.LBRACKET:
1798
2121
  this.enterOuterAlt(localContext, 1);
1799
2122
  {
1800
- this.state = 380;
2123
+ this.state = 446;
1801
2124
  this.intSignal();
1802
- this.state = 382;
2125
+ this.state = 448;
1803
2126
  this.errorHandler.sync(this);
1804
2127
  _la = this.tokenStream.LA(1);
1805
2128
  if (_la === 3) {
1806
2129
  {
1807
- this.state = 381;
1808
- this.target();
2130
+ this.state = 447;
2131
+ this.targetWithMetadata();
1809
2132
  }
1810
2133
  }
1811
2134
  }
@@ -1813,14 +2136,14 @@ export class plurnkParser extends antlr.Parser {
1813
2136
  case plurnkParser.LPAREN:
1814
2137
  this.enterOuterAlt(localContext, 2);
1815
2138
  {
1816
- this.state = 384;
1817
- this.target();
1818
- this.state = 386;
2139
+ this.state = 450;
2140
+ this.targetWithMetadata();
2141
+ this.state = 452;
1819
2142
  this.errorHandler.sync(this);
1820
2143
  _la = this.tokenStream.LA(1);
1821
2144
  if (_la === 1) {
1822
2145
  {
1823
- this.state = 385;
2146
+ this.state = 451;
1824
2147
  this.intSignal();
1825
2148
  }
1826
2149
  }
@@ -1846,24 +2169,24 @@ export class plurnkParser extends antlr.Parser {
1846
2169
  }
1847
2170
  branchModifiers() {
1848
2171
  let localContext = new BranchModifiersContext(this.context, this.state);
1849
- this.enterRule(localContext, 60, plurnkParser.RULE_branchModifiers);
2172
+ this.enterRule(localContext, 70, plurnkParser.RULE_branchModifiers);
1850
2173
  let _la;
1851
2174
  try {
1852
- this.state = 398;
2175
+ this.state = 464;
1853
2176
  this.errorHandler.sync(this);
1854
2177
  switch (this.tokenStream.LA(1)) {
1855
2178
  case plurnkParser.LBRACKET:
1856
2179
  this.enterOuterAlt(localContext, 1);
1857
2180
  {
1858
- this.state = 390;
2181
+ this.state = 456;
1859
2182
  this.branchSignal();
1860
- this.state = 392;
2183
+ this.state = 458;
1861
2184
  this.errorHandler.sync(this);
1862
2185
  _la = this.tokenStream.LA(1);
1863
2186
  if (_la === 3) {
1864
2187
  {
1865
- this.state = 391;
1866
- this.target();
2188
+ this.state = 457;
2189
+ this.targetWithMetadata();
1867
2190
  }
1868
2191
  }
1869
2192
  }
@@ -1871,14 +2194,14 @@ export class plurnkParser extends antlr.Parser {
1871
2194
  case plurnkParser.LPAREN:
1872
2195
  this.enterOuterAlt(localContext, 2);
1873
2196
  {
1874
- this.state = 394;
1875
- this.target();
1876
- this.state = 396;
2197
+ this.state = 460;
2198
+ this.targetWithMetadata();
2199
+ this.state = 462;
1877
2200
  this.errorHandler.sync(this);
1878
2201
  _la = this.tokenStream.LA(1);
1879
2202
  if (_la === 1) {
1880
2203
  {
1881
- this.state = 395;
2204
+ this.state = 461;
1882
2205
  this.branchSignal();
1883
2206
  }
1884
2207
  }
@@ -1904,32 +2227,32 @@ export class plurnkParser extends antlr.Parser {
1904
2227
  }
1905
2228
  termModifiers() {
1906
2229
  let localContext = new TermModifiersContext(this.context, this.state);
1907
- this.enterRule(localContext, 62, plurnkParser.RULE_termModifiers);
2230
+ this.enterRule(localContext, 72, plurnkParser.RULE_termModifiers);
1908
2231
  let _la;
1909
2232
  try {
1910
- this.state = 412;
2233
+ this.state = 478;
1911
2234
  this.errorHandler.sync(this);
1912
2235
  switch (this.tokenStream.LA(1)) {
1913
2236
  case plurnkParser.LBRACKET:
1914
2237
  this.enterOuterAlt(localContext, 1);
1915
2238
  {
1916
- this.state = 400;
2239
+ this.state = 466;
1917
2240
  this.dispSignal();
1918
- this.state = 402;
2241
+ this.state = 468;
1919
2242
  this.errorHandler.sync(this);
1920
2243
  _la = this.tokenStream.LA(1);
1921
2244
  if (_la === 3) {
1922
2245
  {
1923
- this.state = 401;
1924
- this.target();
2246
+ this.state = 467;
2247
+ this.targetWithMetadata();
1925
2248
  }
1926
2249
  }
1927
- this.state = 405;
2250
+ this.state = 471;
1928
2251
  this.errorHandler.sync(this);
1929
2252
  _la = this.tokenStream.LA(1);
1930
- if (_la === 5) {
2253
+ if (_la === 7) {
1931
2254
  {
1932
- this.state = 404;
2255
+ this.state = 470;
1933
2256
  this.lineMarker();
1934
2257
  }
1935
2258
  }
@@ -1938,16 +2261,16 @@ export class plurnkParser extends antlr.Parser {
1938
2261
  case plurnkParser.LPAREN:
1939
2262
  this.enterOuterAlt(localContext, 2);
1940
2263
  {
1941
- this.state = 407;
1942
- this.target();
1943
- this.state = 408;
2264
+ this.state = 473;
2265
+ this.targetWithMetadata();
2266
+ this.state = 474;
1944
2267
  this.dispSignal();
1945
- this.state = 410;
2268
+ this.state = 476;
1946
2269
  this.errorHandler.sync(this);
1947
2270
  _la = this.tokenStream.LA(1);
1948
- if (_la === 5) {
2271
+ if (_la === 7) {
1949
2272
  {
1950
- this.state = 409;
2273
+ this.state = 475;
1951
2274
  this.lineMarker();
1952
2275
  }
1953
2276
  }
@@ -1973,24 +2296,24 @@ export class plurnkParser extends antlr.Parser {
1973
2296
  }
1974
2297
  midModifiers() {
1975
2298
  let localContext = new MidModifiersContext(this.context, this.state);
1976
- this.enterRule(localContext, 64, plurnkParser.RULE_midModifiers);
2299
+ this.enterRule(localContext, 74, plurnkParser.RULE_midModifiers);
1977
2300
  let _la;
1978
2301
  try {
1979
- this.state = 422;
2302
+ this.state = 488;
1980
2303
  this.errorHandler.sync(this);
1981
2304
  switch (this.tokenStream.LA(1)) {
1982
2305
  case plurnkParser.LBRACKET:
1983
2306
  this.enterOuterAlt(localContext, 1);
1984
2307
  {
1985
- this.state = 414;
2308
+ this.state = 480;
1986
2309
  this.midSignal();
1987
- this.state = 416;
2310
+ this.state = 482;
1988
2311
  this.errorHandler.sync(this);
1989
2312
  _la = this.tokenStream.LA(1);
1990
2313
  if (_la === 3) {
1991
2314
  {
1992
- this.state = 415;
1993
- this.target();
2315
+ this.state = 481;
2316
+ this.targetWithMetadata();
1994
2317
  }
1995
2318
  }
1996
2319
  }
@@ -1998,14 +2321,14 @@ export class plurnkParser extends antlr.Parser {
1998
2321
  case plurnkParser.LPAREN:
1999
2322
  this.enterOuterAlt(localContext, 2);
2000
2323
  {
2001
- this.state = 418;
2002
- this.target();
2003
- this.state = 420;
2324
+ this.state = 484;
2325
+ this.targetWithMetadata();
2326
+ this.state = 486;
2004
2327
  this.errorHandler.sync(this);
2005
2328
  _la = this.tokenStream.LA(1);
2006
2329
  if (_la === 1) {
2007
2330
  {
2008
- this.state = 419;
2331
+ this.state = 485;
2009
2332
  this.midSignal();
2010
2333
  }
2011
2334
  }
@@ -2031,25 +2354,25 @@ export class plurnkParser extends antlr.Parser {
2031
2354
  }
2032
2355
  execModifiers() {
2033
2356
  let localContext = new ExecModifiersContext(this.context, this.state);
2034
- this.enterRule(localContext, 66, plurnkParser.RULE_execModifiers);
2357
+ this.enterRule(localContext, 76, plurnkParser.RULE_execModifiers);
2035
2358
  let _la;
2036
2359
  try {
2037
2360
  this.enterOuterAlt(localContext, 1);
2038
2361
  {
2039
- this.state = 425;
2362
+ this.state = 491;
2040
2363
  this.errorHandler.sync(this);
2041
2364
  _la = this.tokenStream.LA(1);
2042
2365
  do {
2043
2366
  {
2044
2367
  {
2045
- this.state = 424;
2368
+ this.state = 490;
2046
2369
  this.execSlot();
2047
2370
  }
2048
2371
  }
2049
- this.state = 427;
2372
+ this.state = 493;
2050
2373
  this.errorHandler.sync(this);
2051
2374
  _la = this.tokenStream.LA(1);
2052
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0));
2375
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 138) !== 0));
2053
2376
  }
2054
2377
  }
2055
2378
  catch (re) {
@@ -2068,36 +2391,36 @@ export class plurnkParser extends antlr.Parser {
2068
2391
  }
2069
2392
  execSlot() {
2070
2393
  let localContext = new ExecSlotContext(this.context, this.state);
2071
- this.enterRule(localContext, 68, plurnkParser.RULE_execSlot);
2394
+ this.enterRule(localContext, 78, plurnkParser.RULE_execSlot);
2072
2395
  try {
2073
- this.state = 433;
2396
+ this.state = 499;
2074
2397
  this.errorHandler.sync(this);
2075
- switch (this.interpreter.adaptivePredict(this.tokenStream, 71, this.context)) {
2398
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 80, this.context)) {
2076
2399
  case 1:
2077
2400
  this.enterOuterAlt(localContext, 1);
2078
2401
  {
2079
- this.state = 429;
2402
+ this.state = 495;
2080
2403
  this.identSignal();
2081
2404
  }
2082
2405
  break;
2083
2406
  case 2:
2084
2407
  this.enterOuterAlt(localContext, 2);
2085
2408
  {
2086
- this.state = 430;
2409
+ this.state = 496;
2087
2410
  this.tagSignal();
2088
2411
  }
2089
2412
  break;
2090
2413
  case 3:
2091
2414
  this.enterOuterAlt(localContext, 3);
2092
2415
  {
2093
- this.state = 431;
2094
- this.target();
2416
+ this.state = 497;
2417
+ this.targetWithMetadata();
2095
2418
  }
2096
2419
  break;
2097
2420
  case 4:
2098
2421
  this.enterOuterAlt(localContext, 4);
2099
2422
  {
2100
- this.state = 432;
2423
+ this.state = 498;
2101
2424
  this.lineMarker();
2102
2425
  }
2103
2426
  break;
@@ -2119,22 +2442,22 @@ export class plurnkParser extends antlr.Parser {
2119
2442
  }
2120
2443
  tagSignal() {
2121
2444
  let localContext = new TagSignalContext(this.context, this.state);
2122
- this.enterRule(localContext, 70, plurnkParser.RULE_tagSignal);
2445
+ this.enterRule(localContext, 80, plurnkParser.RULE_tagSignal);
2123
2446
  let _la;
2124
2447
  try {
2125
2448
  this.enterOuterAlt(localContext, 1);
2126
2449
  {
2127
- this.state = 435;
2450
+ this.state = 501;
2128
2451
  this.match(plurnkParser.LBRACKET);
2129
- this.state = 439;
2452
+ this.state = 505;
2130
2453
  this.errorHandler.sync(this);
2131
2454
  _la = this.tokenStream.LA(1);
2132
- while (_la === 9 || _la === 13) {
2455
+ while (_la === 11 || _la === 15) {
2133
2456
  {
2134
2457
  {
2135
- this.state = 436;
2458
+ this.state = 502;
2136
2459
  _la = this.tokenStream.LA(1);
2137
- if (!(_la === 9 || _la === 13)) {
2460
+ if (!(_la === 11 || _la === 15)) {
2138
2461
  this.errorHandler.recoverInline(this);
2139
2462
  }
2140
2463
  else {
@@ -2143,11 +2466,11 @@ export class plurnkParser extends antlr.Parser {
2143
2466
  }
2144
2467
  }
2145
2468
  }
2146
- this.state = 441;
2469
+ this.state = 507;
2147
2470
  this.errorHandler.sync(this);
2148
2471
  _la = this.tokenStream.LA(1);
2149
2472
  }
2150
- this.state = 442;
2473
+ this.state = 508;
2151
2474
  this.match(plurnkParser.RBRACKET);
2152
2475
  }
2153
2476
  }
@@ -2167,15 +2490,15 @@ export class plurnkParser extends antlr.Parser {
2167
2490
  }
2168
2491
  branchSignal() {
2169
2492
  let localContext = new BranchSignalContext(this.context, this.state);
2170
- this.enterRule(localContext, 72, plurnkParser.RULE_branchSignal);
2493
+ this.enterRule(localContext, 82, plurnkParser.RULE_branchSignal);
2171
2494
  try {
2172
2495
  this.enterOuterAlt(localContext, 1);
2173
2496
  {
2174
- this.state = 444;
2497
+ this.state = 510;
2175
2498
  this.match(plurnkParser.LBRACKET);
2176
- this.state = 445;
2499
+ this.state = 511;
2177
2500
  this.match(plurnkParser.TAG);
2178
- this.state = 446;
2501
+ this.state = 512;
2179
2502
  this.match(plurnkParser.RBRACKET);
2180
2503
  }
2181
2504
  }
@@ -2195,21 +2518,21 @@ export class plurnkParser extends antlr.Parser {
2195
2518
  }
2196
2519
  intSignal() {
2197
2520
  let localContext = new IntSignalContext(this.context, this.state);
2198
- this.enterRule(localContext, 74, plurnkParser.RULE_intSignal);
2521
+ this.enterRule(localContext, 84, plurnkParser.RULE_intSignal);
2199
2522
  let _la;
2200
2523
  try {
2201
2524
  this.enterOuterAlt(localContext, 1);
2202
2525
  {
2203
- this.state = 448;
2526
+ this.state = 514;
2204
2527
  this.match(plurnkParser.LBRACKET);
2205
- this.state = 450;
2528
+ this.state = 516;
2206
2529
  this.errorHandler.sync(this);
2207
2530
  _la = this.tokenStream.LA(1);
2208
- if (_la === 10 || _la === 11) {
2531
+ if (_la === 12 || _la === 13) {
2209
2532
  {
2210
- this.state = 449;
2533
+ this.state = 515;
2211
2534
  _la = this.tokenStream.LA(1);
2212
- if (!(_la === 10 || _la === 11)) {
2535
+ if (!(_la === 12 || _la === 13)) {
2213
2536
  this.errorHandler.recoverInline(this);
2214
2537
  }
2215
2538
  else {
@@ -2218,7 +2541,7 @@ export class plurnkParser extends antlr.Parser {
2218
2541
  }
2219
2542
  }
2220
2543
  }
2221
- this.state = 452;
2544
+ this.state = 518;
2222
2545
  this.match(plurnkParser.RBRACKET);
2223
2546
  }
2224
2547
  }
@@ -2238,23 +2561,23 @@ export class plurnkParser extends antlr.Parser {
2238
2561
  }
2239
2562
  midSignal() {
2240
2563
  let localContext = new MidSignalContext(this.context, this.state);
2241
- this.enterRule(localContext, 76, plurnkParser.RULE_midSignal);
2564
+ this.enterRule(localContext, 86, plurnkParser.RULE_midSignal);
2242
2565
  let _la;
2243
2566
  try {
2244
2567
  this.enterOuterAlt(localContext, 1);
2245
2568
  {
2246
- this.state = 454;
2569
+ this.state = 520;
2247
2570
  this.match(plurnkParser.LBRACKET);
2248
- this.state = 456;
2571
+ this.state = 522;
2249
2572
  this.errorHandler.sync(this);
2250
2573
  _la = this.tokenStream.LA(1);
2251
- if (_la === 10) {
2574
+ if (_la === 12) {
2252
2575
  {
2253
- this.state = 455;
2576
+ this.state = 521;
2254
2577
  this.match(plurnkParser.INT);
2255
2578
  }
2256
2579
  }
2257
- this.state = 458;
2580
+ this.state = 524;
2258
2581
  this.match(plurnkParser.RBRACKET);
2259
2582
  }
2260
2583
  }
@@ -2274,15 +2597,15 @@ export class plurnkParser extends antlr.Parser {
2274
2597
  }
2275
2598
  dispSignal() {
2276
2599
  let localContext = new DispSignalContext(this.context, this.state);
2277
- this.enterRule(localContext, 78, plurnkParser.RULE_dispSignal);
2600
+ this.enterRule(localContext, 88, plurnkParser.RULE_dispSignal);
2278
2601
  try {
2279
2602
  this.enterOuterAlt(localContext, 1);
2280
2603
  {
2281
- this.state = 460;
2604
+ this.state = 526;
2282
2605
  this.match(plurnkParser.LBRACKET);
2283
- this.state = 461;
2606
+ this.state = 527;
2284
2607
  this.match(plurnkParser.DISPOSITION);
2285
- this.state = 462;
2608
+ this.state = 528;
2286
2609
  this.match(plurnkParser.RBRACKET);
2287
2610
  }
2288
2611
  }
@@ -2302,23 +2625,23 @@ export class plurnkParser extends antlr.Parser {
2302
2625
  }
2303
2626
  identSignal() {
2304
2627
  let localContext = new IdentSignalContext(this.context, this.state);
2305
- this.enterRule(localContext, 80, plurnkParser.RULE_identSignal);
2628
+ this.enterRule(localContext, 90, plurnkParser.RULE_identSignal);
2306
2629
  let _la;
2307
2630
  try {
2308
2631
  this.enterOuterAlt(localContext, 1);
2309
2632
  {
2310
- this.state = 464;
2633
+ this.state = 530;
2311
2634
  this.match(plurnkParser.LBRACKET);
2312
- this.state = 466;
2635
+ this.state = 532;
2313
2636
  this.errorHandler.sync(this);
2314
2637
  _la = this.tokenStream.LA(1);
2315
- if (_la === 12) {
2638
+ if (_la === 14) {
2316
2639
  {
2317
- this.state = 465;
2640
+ this.state = 531;
2318
2641
  this.match(plurnkParser.IDENT);
2319
2642
  }
2320
2643
  }
2321
- this.state = 468;
2644
+ this.state = 534;
2322
2645
  this.match(plurnkParser.RBRACKET);
2323
2646
  }
2324
2647
  }
@@ -2338,28 +2661,28 @@ export class plurnkParser extends antlr.Parser {
2338
2661
  }
2339
2662
  target() {
2340
2663
  let localContext = new TargetContext(this.context, this.state);
2341
- this.enterRule(localContext, 82, plurnkParser.RULE_target);
2664
+ this.enterRule(localContext, 92, plurnkParser.RULE_target);
2342
2665
  let _la;
2343
2666
  try {
2344
2667
  this.enterOuterAlt(localContext, 1);
2345
2668
  {
2346
- this.state = 470;
2669
+ this.state = 536;
2347
2670
  this.match(plurnkParser.LPAREN);
2348
- this.state = 474;
2671
+ this.state = 540;
2349
2672
  this.errorHandler.sync(this);
2350
2673
  _la = this.tokenStream.LA(1);
2351
- while (_la === 14) {
2674
+ while (_la === 16) {
2352
2675
  {
2353
2676
  {
2354
- this.state = 471;
2677
+ this.state = 537;
2355
2678
  this.match(plurnkParser.TARGET_TEXT);
2356
2679
  }
2357
2680
  }
2358
- this.state = 476;
2681
+ this.state = 542;
2359
2682
  this.errorHandler.sync(this);
2360
2683
  _la = this.tokenStream.LA(1);
2361
2684
  }
2362
- this.state = 477;
2685
+ this.state = 543;
2363
2686
  this.match(plurnkParser.RPAREN);
2364
2687
  }
2365
2688
  }
@@ -2377,13 +2700,93 @@ export class plurnkParser extends antlr.Parser {
2377
2700
  }
2378
2701
  return localContext;
2379
2702
  }
2703
+ targetWithMetadata() {
2704
+ let localContext = new TargetWithMetadataContext(this.context, this.state);
2705
+ this.enterRule(localContext, 94, plurnkParser.RULE_targetWithMetadata);
2706
+ let _la;
2707
+ try {
2708
+ this.enterOuterAlt(localContext, 1);
2709
+ {
2710
+ this.state = 545;
2711
+ this.target();
2712
+ this.state = 549;
2713
+ this.errorHandler.sync(this);
2714
+ _la = this.tokenStream.LA(1);
2715
+ while (_la === 5) {
2716
+ {
2717
+ {
2718
+ this.state = 546;
2719
+ this.metadata();
2720
+ }
2721
+ }
2722
+ this.state = 551;
2723
+ this.errorHandler.sync(this);
2724
+ _la = this.tokenStream.LA(1);
2725
+ }
2726
+ }
2727
+ }
2728
+ catch (re) {
2729
+ if (re instanceof antlr.RecognitionException) {
2730
+ this.errorHandler.reportError(this, re);
2731
+ this.errorHandler.recover(this, re);
2732
+ }
2733
+ else {
2734
+ throw re;
2735
+ }
2736
+ }
2737
+ finally {
2738
+ this.exitRule();
2739
+ }
2740
+ return localContext;
2741
+ }
2742
+ metadata() {
2743
+ let localContext = new MetadataContext(this.context, this.state);
2744
+ this.enterRule(localContext, 96, plurnkParser.RULE_metadata);
2745
+ let _la;
2746
+ try {
2747
+ this.enterOuterAlt(localContext, 1);
2748
+ {
2749
+ this.state = 552;
2750
+ this.match(plurnkParser.LBRACE);
2751
+ this.state = 556;
2752
+ this.errorHandler.sync(this);
2753
+ _la = this.tokenStream.LA(1);
2754
+ while (_la === 17) {
2755
+ {
2756
+ {
2757
+ this.state = 553;
2758
+ this.match(plurnkParser.METADATA_TEXT);
2759
+ }
2760
+ }
2761
+ this.state = 558;
2762
+ this.errorHandler.sync(this);
2763
+ _la = this.tokenStream.LA(1);
2764
+ }
2765
+ this.state = 559;
2766
+ this.match(plurnkParser.RBRACE);
2767
+ }
2768
+ }
2769
+ catch (re) {
2770
+ if (re instanceof antlr.RecognitionException) {
2771
+ this.errorHandler.reportError(this, re);
2772
+ this.errorHandler.recover(this, re);
2773
+ }
2774
+ else {
2775
+ throw re;
2776
+ }
2777
+ }
2778
+ finally {
2779
+ this.exitRule();
2780
+ }
2781
+ return localContext;
2782
+ }
2380
2783
  lineMarker() {
2381
2784
  let localContext = new LineMarkerContext(this.context, this.state);
2382
- this.enterRule(localContext, 84, plurnkParser.RULE_lineMarker);
2785
+ this.enterRule(localContext, 98, plurnkParser.RULE_lineMarker);
2383
2786
  try {
2384
2787
  this.enterOuterAlt(localContext, 1);
2385
2788
  {
2386
- this.state = 479;
2789
+ this.state = 561;
2387
2790
  this.match(plurnkParser.L_MARKER);
2388
2791
  }
2389
2792
  }
@@ -2403,25 +2806,25 @@ export class plurnkParser extends antlr.Parser {
2403
2806
  }
2404
2807
  body() {
2405
2808
  let localContext = new BodyContext(this.context, this.state);
2406
- this.enterRule(localContext, 86, plurnkParser.RULE_body);
2809
+ this.enterRule(localContext, 100, plurnkParser.RULE_body);
2407
2810
  let _la;
2408
2811
  try {
2409
2812
  this.enterOuterAlt(localContext, 1);
2410
2813
  {
2411
- this.state = 482;
2814
+ this.state = 564;
2412
2815
  this.errorHandler.sync(this);
2413
2816
  _la = this.tokenStream.LA(1);
2414
2817
  do {
2415
2818
  {
2416
2819
  {
2417
- this.state = 481;
2820
+ this.state = 563;
2418
2821
  this.match(plurnkParser.BODY_TEXT);
2419
2822
  }
2420
2823
  }
2421
- this.state = 484;
2824
+ this.state = 566;
2422
2825
  this.errorHandler.sync(this);
2423
2826
  _la = this.tokenStream.LA(1);
2424
- } while (_la === 15);
2827
+ } while (_la === 18);
2425
2828
  }
2426
2829
  }
2427
2830
  catch (re) {
@@ -2439,193 +2842,225 @@ export class plurnkParser extends antlr.Parser {
2439
2842
  return localContext;
2440
2843
  }
2441
2844
  static _serializedATN = [
2442
- 4, 1, 43, 487, 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,
2845
+ 4, 1, 46, 569, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
2443
2846
  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,
2444
2847
  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,
2445
2848
  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,
2446
2849
  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,
2447
2850
  7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39,
2448
- 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
2449
- 3, 0, 95, 8, 0, 1, 0, 1, 0, 3, 0, 99, 8, 0, 1, 1, 4, 1, 102, 8, 1, 11, 1, 12, 1, 103, 1, 1,
2450
- 1, 1, 1, 2, 5, 2, 109, 8, 2, 10, 2, 12, 2, 112, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 5, 3, 118, 8,
2451
- 3, 10, 3, 12, 3, 121, 9, 3, 1, 3, 1, 3, 1, 4, 5, 4, 126, 8, 4, 10, 4, 12, 4, 129, 9, 4, 1,
2452
- 4, 1, 4, 1, 5, 5, 5, 134, 8, 5, 10, 5, 12, 5, 137, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 3, 6,
2453
- 144, 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, 7, 1, 7, 1, 7,
2454
- 1, 7, 3, 7, 161, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8,
2455
- 1, 8, 3, 8, 176, 8, 8, 1, 9, 1, 9, 3, 9, 180, 8, 9, 1, 9, 3, 9, 183, 8, 9, 1, 9, 1, 9, 1, 10,
2456
- 1, 10, 3, 10, 189, 8, 10, 1, 10, 3, 10, 192, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 198,
2457
- 8, 11, 1, 11, 3, 11, 201, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 207, 8, 12, 1, 12, 3,
2458
- 12, 210, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 216, 8, 13, 1, 13, 3, 13, 219, 8, 13,
2459
- 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 225, 8, 14, 1, 14, 3, 14, 228, 8, 14, 1, 14, 1, 14, 1,
2460
- 15, 1, 15, 3, 15, 234, 8, 15, 1, 15, 3, 15, 237, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16,
2461
- 3, 16, 244, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 250, 8, 17, 1, 17, 3, 17, 253, 8,
2462
- 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 259, 8, 18, 1, 18, 3, 18, 262, 8, 18, 1, 18, 1, 18,
2463
- 1, 19, 1, 19, 3, 19, 268, 8, 19, 1, 19, 3, 19, 271, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3,
2464
- 20, 277, 8, 20, 1, 20, 3, 20, 280, 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 286, 8, 21,
2465
- 1, 21, 3, 21, 289, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 295, 8, 22, 1, 22, 3, 22, 298,
2466
- 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 304, 8, 23, 1, 23, 3, 23, 307, 8, 23, 1, 23, 1,
2467
- 23, 1, 24, 1, 24, 3, 24, 313, 8, 24, 1, 24, 3, 24, 316, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25,
2468
- 3, 25, 322, 8, 25, 1, 25, 3, 25, 325, 8, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1,
2469
- 27, 3, 27, 334, 8, 27, 1, 27, 3, 27, 337, 8, 27, 1, 27, 1, 27, 3, 27, 341, 8, 27, 1, 27,
2470
- 3, 27, 344, 8, 27, 1, 28, 1, 28, 1, 28, 3, 28, 349, 8, 28, 1, 28, 1, 28, 3, 28, 353, 8,
2471
- 28, 3, 28, 355, 8, 28, 1, 28, 1, 28, 1, 28, 3, 28, 360, 8, 28, 1, 28, 1, 28, 3, 28, 364,
2472
- 8, 28, 3, 28, 366, 8, 28, 1, 28, 1, 28, 1, 28, 3, 28, 371, 8, 28, 1, 28, 1, 28, 3, 28, 375,
2473
- 8, 28, 3, 28, 377, 8, 28, 3, 28, 379, 8, 28, 1, 29, 1, 29, 3, 29, 383, 8, 29, 1, 29, 1,
2474
- 29, 3, 29, 387, 8, 29, 3, 29, 389, 8, 29, 1, 30, 1, 30, 3, 30, 393, 8, 30, 1, 30, 1, 30,
2475
- 3, 30, 397, 8, 30, 3, 30, 399, 8, 30, 1, 31, 1, 31, 3, 31, 403, 8, 31, 1, 31, 3, 31, 406,
2476
- 8, 31, 1, 31, 1, 31, 1, 31, 3, 31, 411, 8, 31, 3, 31, 413, 8, 31, 1, 32, 1, 32, 3, 32, 417,
2477
- 8, 32, 1, 32, 1, 32, 3, 32, 421, 8, 32, 3, 32, 423, 8, 32, 1, 33, 4, 33, 426, 8, 33, 11,
2478
- 33, 12, 33, 427, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 434, 8, 34, 1, 35, 1, 35, 5, 35, 438,
2479
- 8, 35, 10, 35, 12, 35, 441, 9, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37,
2480
- 3, 37, 451, 8, 37, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 457, 8, 38, 1, 38, 1, 38, 1, 39, 1,
2481
- 39, 1, 39, 1, 39, 1, 40, 1, 40, 3, 40, 467, 8, 40, 1, 40, 1, 40, 1, 41, 1, 41, 5, 41, 473,
2482
- 8, 41, 10, 41, 12, 41, 476, 9, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 4, 43, 483, 8, 43,
2483
- 11, 43, 12, 43, 484, 1, 43, 0, 0, 44, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
2484
- 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70,
2485
- 72, 74, 76, 78, 80, 82, 84, 86, 0, 2, 2, 0, 9, 9, 13, 13, 1, 0, 10, 11, 553, 0, 98, 1, 0,
2486
- 0, 0, 2, 101, 1, 0, 0, 0, 4, 110, 1, 0, 0, 0, 6, 115, 1, 0, 0, 0, 8, 127, 1, 0, 0, 0, 10, 135,
2487
- 1, 0, 0, 0, 12, 143, 1, 0, 0, 0, 14, 160, 1, 0, 0, 0, 16, 175, 1, 0, 0, 0, 18, 177, 1, 0,
2488
- 0, 0, 20, 186, 1, 0, 0, 0, 22, 195, 1, 0, 0, 0, 24, 204, 1, 0, 0, 0, 26, 213, 1, 0, 0, 0,
2489
- 28, 222, 1, 0, 0, 0, 30, 231, 1, 0, 0, 0, 32, 240, 1, 0, 0, 0, 34, 247, 1, 0, 0, 0, 36, 256,
2490
- 1, 0, 0, 0, 38, 265, 1, 0, 0, 0, 40, 274, 1, 0, 0, 0, 42, 283, 1, 0, 0, 0, 44, 292, 1, 0,
2491
- 0, 0, 46, 301, 1, 0, 0, 0, 48, 310, 1, 0, 0, 0, 50, 319, 1, 0, 0, 0, 52, 328, 1, 0, 0, 0,
2492
- 54, 343, 1, 0, 0, 0, 56, 378, 1, 0, 0, 0, 58, 388, 1, 0, 0, 0, 60, 398, 1, 0, 0, 0, 62, 412,
2493
- 1, 0, 0, 0, 64, 422, 1, 0, 0, 0, 66, 425, 1, 0, 0, 0, 68, 433, 1, 0, 0, 0, 70, 435, 1, 0,
2494
- 0, 0, 72, 444, 1, 0, 0, 0, 74, 448, 1, 0, 0, 0, 76, 454, 1, 0, 0, 0, 78, 460, 1, 0, 0, 0,
2495
- 80, 464, 1, 0, 0, 0, 82, 470, 1, 0, 0, 0, 84, 479, 1, 0, 0, 0, 86, 482, 1, 0, 0, 0, 88, 89,
2496
- 3, 4, 2, 0, 89, 90, 5, 0, 0, 1, 90, 99, 1, 0, 0, 0, 91, 92, 5, 34, 0, 0, 92, 94, 3, 6, 3, 0,
2497
- 93, 95, 5, 35, 0, 0, 94, 93, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 97, 5,
2498
- 0, 0, 1, 97, 99, 1, 0, 0, 0, 98, 88, 1, 0, 0, 0, 98, 91, 1, 0, 0, 0, 99, 1, 1, 0, 0, 0, 100,
2499
- 102, 3, 4, 2, 0, 101, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 103,
2500
- 104, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 106, 5, 0, 0, 1, 106, 3, 1, 0, 0, 0, 107, 109,
2501
- 5, 16, 0, 0, 108, 107, 1, 0, 0, 0, 109, 112, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 110, 111,
2502
- 1, 0, 0, 0, 111, 113, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 113, 114, 3, 6, 3, 0, 114, 5, 1,
2503
- 0, 0, 0, 115, 119, 3, 46, 23, 0, 116, 118, 3, 16, 8, 0, 117, 116, 1, 0, 0, 0, 118, 121,
2504
- 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 122, 1, 0, 0, 0, 121, 119,
2505
- 1, 0, 0, 0, 122, 123, 3, 32, 16, 0, 123, 7, 1, 0, 0, 0, 124, 126, 3, 14, 7, 0, 125, 124,
2506
- 1, 0, 0, 0, 126, 129, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 130,
2507
- 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 130, 131, 5, 0, 0, 1, 131, 9, 1, 0, 0, 0, 132, 134, 3,
2508
- 12, 6, 0, 133, 132, 1, 0, 0, 0, 134, 137, 1, 0, 0, 0, 135, 133, 1, 0, 0, 0, 135, 136, 1,
2509
- 0, 0, 0, 136, 138, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 138, 139, 5, 0, 0, 1, 139, 11, 1, 0,
2510
- 0, 0, 140, 144, 3, 14, 7, 0, 141, 144, 3, 48, 24, 0, 142, 144, 3, 50, 25, 0, 143, 140,
2511
- 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 142, 1, 0, 0, 0, 144, 13, 1, 0, 0, 0, 145, 161, 3,
2512
- 18, 9, 0, 146, 161, 3, 20, 10, 0, 147, 161, 3, 22, 11, 0, 148, 161, 3, 24, 12, 0, 149,
2513
- 161, 3, 26, 13, 0, 150, 161, 3, 28, 14, 0, 151, 161, 3, 30, 15, 0, 152, 161, 3, 32, 16,
2514
- 0, 153, 161, 3, 34, 17, 0, 154, 161, 3, 36, 18, 0, 155, 161, 3, 38, 19, 0, 156, 161,
2515
- 3, 40, 20, 0, 157, 161, 3, 42, 21, 0, 158, 161, 3, 44, 22, 0, 159, 161, 3, 46, 23, 0,
2516
- 160, 145, 1, 0, 0, 0, 160, 146, 1, 0, 0, 0, 160, 147, 1, 0, 0, 0, 160, 148, 1, 0, 0, 0,
2517
- 160, 149, 1, 0, 0, 0, 160, 150, 1, 0, 0, 0, 160, 151, 1, 0, 0, 0, 160, 152, 1, 0, 0, 0,
2518
- 160, 153, 1, 0, 0, 0, 160, 154, 1, 0, 0, 0, 160, 155, 1, 0, 0, 0, 160, 156, 1, 0, 0, 0,
2519
- 160, 157, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 160, 159, 1, 0, 0, 0, 161, 15, 1, 0, 0, 0, 162,
2520
- 176, 3, 18, 9, 0, 163, 176, 3, 20, 10, 0, 164, 176, 3, 22, 11, 0, 165, 176, 3, 24, 12,
2521
- 0, 166, 176, 3, 26, 13, 0, 167, 176, 3, 28, 14, 0, 168, 176, 3, 30, 15, 0, 169, 176,
2522
- 3, 34, 17, 0, 170, 176, 3, 36, 18, 0, 171, 176, 3, 38, 19, 0, 172, 176, 3, 40, 20, 0,
2523
- 173, 176, 3, 42, 21, 0, 174, 176, 3, 44, 22, 0, 175, 162, 1, 0, 0, 0, 175, 163, 1, 0,
2524
- 0, 0, 175, 164, 1, 0, 0, 0, 175, 165, 1, 0, 0, 0, 175, 166, 1, 0, 0, 0, 175, 167, 1, 0,
2525
- 0, 0, 175, 168, 1, 0, 0, 0, 175, 169, 1, 0, 0, 0, 175, 170, 1, 0, 0, 0, 175, 171, 1, 0,
2526
- 0, 0, 175, 172, 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 175, 174, 1, 0, 0, 0, 176, 17, 1, 0, 0,
2527
- 0, 177, 179, 5, 19, 0, 0, 178, 180, 3, 56, 28, 0, 179, 178, 1, 0, 0, 0, 179, 180, 1, 0,
2528
- 0, 0, 180, 182, 1, 0, 0, 0, 181, 183, 3, 52, 26, 0, 182, 181, 1, 0, 0, 0, 182, 183, 1,
2529
- 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 3, 54, 27, 0, 185, 19, 1, 0, 0, 0, 186, 188, 5,
2530
- 20, 0, 0, 187, 189, 3, 56, 28, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191,
2531
- 1, 0, 0, 0, 190, 192, 3, 52, 26, 0, 191, 190, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193,
2532
- 1, 0, 0, 0, 193, 194, 3, 54, 27, 0, 194, 21, 1, 0, 0, 0, 195, 197, 5, 21, 0, 0, 196, 198,
2533
- 3, 56, 28, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 200, 1, 0, 0, 0, 199, 201,
2534
- 3, 52, 26, 0, 200, 199, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 202, 1, 0, 0, 0, 202, 203,
2535
- 3, 54, 27, 0, 203, 23, 1, 0, 0, 0, 204, 206, 5, 22, 0, 0, 205, 207, 3, 56, 28, 0, 206,
2536
- 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 209, 1, 0, 0, 0, 208, 210, 3, 52, 26, 0, 209,
2537
- 208, 1, 0, 0, 0, 209, 210, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 212, 3, 54, 27, 0, 212,
2538
- 25, 1, 0, 0, 0, 213, 215, 5, 23, 0, 0, 214, 216, 3, 56, 28, 0, 215, 214, 1, 0, 0, 0, 215,
2539
- 216, 1, 0, 0, 0, 216, 218, 1, 0, 0, 0, 217, 219, 3, 52, 26, 0, 218, 217, 1, 0, 0, 0, 218,
2540
- 219, 1, 0, 0, 0, 219, 220, 1, 0, 0, 0, 220, 221, 3, 54, 27, 0, 221, 27, 1, 0, 0, 0, 222,
2541
- 224, 5, 24, 0, 0, 223, 225, 3, 56, 28, 0, 224, 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225,
2542
- 227, 1, 0, 0, 0, 226, 228, 3, 52, 26, 0, 227, 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228,
2543
- 229, 1, 0, 0, 0, 229, 230, 3, 54, 27, 0, 230, 29, 1, 0, 0, 0, 231, 233, 5, 25, 0, 0, 232,
2544
- 234, 3, 56, 28, 0, 233, 232, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234, 236, 1, 0, 0, 0, 235,
2545
- 237, 3, 52, 26, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238,
2546
- 239, 3, 54, 27, 0, 239, 31, 1, 0, 0, 0, 240, 241, 5, 26, 0, 0, 241, 243, 3, 62, 31, 0,
2547
- 242, 244, 3, 52, 26, 0, 243, 242, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 1, 0, 0,
2548
- 0, 245, 246, 3, 54, 27, 0, 246, 33, 1, 0, 0, 0, 247, 249, 5, 26, 0, 0, 248, 250, 3, 64,
2549
- 32, 0, 249, 248, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 252, 1, 0, 0, 0, 251, 253, 3, 52,
2550
- 26, 0, 252, 251, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 254, 1, 0, 0, 0, 254, 255, 3, 54,
2551
- 27, 0, 255, 35, 1, 0, 0, 0, 256, 258, 5, 27, 0, 0, 257, 259, 3, 66, 33, 0, 258, 257, 1,
2552
- 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 261, 1, 0, 0, 0, 260, 262, 3, 52, 26, 0, 261, 260,
2553
- 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 3, 54, 27, 0, 264, 37,
2554
- 1, 0, 0, 0, 265, 267, 5, 28, 0, 0, 266, 268, 3, 70, 35, 0, 267, 266, 1, 0, 0, 0, 267, 268,
2555
- 1, 0, 0, 0, 268, 270, 1, 0, 0, 0, 269, 271, 3, 52, 26, 0, 270, 269, 1, 0, 0, 0, 270, 271,
2556
- 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 273, 3, 54, 27, 0, 273, 39, 1, 0, 0, 0, 274, 276,
2557
- 5, 29, 0, 0, 275, 277, 3, 60, 30, 0, 276, 275, 1, 0, 0, 0, 276, 277, 1, 0, 0, 0, 277, 279,
2558
- 1, 0, 0, 0, 278, 280, 3, 52, 26, 0, 279, 278, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 281,
2559
- 1, 0, 0, 0, 281, 282, 3, 54, 27, 0, 282, 41, 1, 0, 0, 0, 283, 285, 5, 30, 0, 0, 284, 286,
2560
- 3, 60, 30, 0, 285, 284, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 288, 1, 0, 0, 0, 287, 289,
2561
- 3, 52, 26, 0, 288, 287, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 291,
2562
- 3, 54, 27, 0, 291, 43, 1, 0, 0, 0, 292, 294, 5, 31, 0, 0, 293, 295, 3, 58, 29, 0, 294,
2563
- 293, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 297, 1, 0, 0, 0, 296, 298, 3, 52, 26, 0, 297,
2564
- 296, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298, 299, 1, 0, 0, 0, 299, 300, 3, 54, 27, 0, 300,
2565
- 45, 1, 0, 0, 0, 301, 303, 5, 18, 0, 0, 302, 304, 3, 56, 28, 0, 303, 302, 1, 0, 0, 0, 303,
2566
- 304, 1, 0, 0, 0, 304, 306, 1, 0, 0, 0, 305, 307, 3, 52, 26, 0, 306, 305, 1, 0, 0, 0, 306,
2567
- 307, 1, 0, 0, 0, 307, 308, 1, 0, 0, 0, 308, 309, 3, 54, 27, 0, 309, 47, 1, 0, 0, 0, 310,
2568
- 312, 5, 32, 0, 0, 311, 313, 3, 56, 28, 0, 312, 311, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313,
2569
- 315, 1, 0, 0, 0, 314, 316, 3, 52, 26, 0, 315, 314, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316,
2570
- 317, 1, 0, 0, 0, 317, 318, 3, 54, 27, 0, 318, 49, 1, 0, 0, 0, 319, 321, 5, 33, 0, 0, 320,
2571
- 322, 3, 56, 28, 0, 321, 320, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323,
2572
- 325, 3, 52, 26, 0, 324, 323, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326,
2573
- 327, 3, 54, 27, 0, 327, 51, 1, 0, 0, 0, 328, 329, 5, 17, 0, 0, 329, 53, 1, 0, 0, 0, 330,
2574
- 344, 5, 8, 0, 0, 331, 333, 5, 7, 0, 0, 332, 334, 3, 86, 43, 0, 333, 332, 1, 0, 0, 0, 333,
2575
- 334, 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 337, 5, 8, 0, 0, 336, 335, 1, 0, 0, 0, 336,
2576
- 337, 1, 0, 0, 0, 337, 344, 1, 0, 0, 0, 338, 340, 3, 86, 43, 0, 339, 341, 5, 8, 0, 0, 340,
2577
- 339, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 344, 1, 0, 0, 0, 342, 344, 1, 0, 0, 0, 343,
2578
- 330, 1, 0, 0, 0, 343, 331, 1, 0, 0, 0, 343, 338, 1, 0, 0, 0, 343, 342, 1, 0, 0, 0, 344,
2579
- 55, 1, 0, 0, 0, 345, 354, 3, 70, 35, 0, 346, 348, 3, 82, 41, 0, 347, 349, 3, 84, 42, 0,
2580
- 348, 347, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 355, 1, 0, 0, 0, 350, 352, 3, 84, 42,
2581
- 0, 351, 353, 3, 82, 41, 0, 352, 351, 1, 0, 0, 0, 352, 353, 1, 0, 0, 0, 353, 355, 1, 0,
2582
- 0, 0, 354, 346, 1, 0, 0, 0, 354, 350, 1, 0, 0, 0, 354, 355, 1, 0, 0, 0, 355, 379, 1, 0,
2583
- 0, 0, 356, 365, 3, 82, 41, 0, 357, 359, 3, 70, 35, 0, 358, 360, 3, 84, 42, 0, 359, 358,
2584
- 1, 0, 0, 0, 359, 360, 1, 0, 0, 0, 360, 366, 1, 0, 0, 0, 361, 363, 3, 84, 42, 0, 362, 364,
2585
- 3, 70, 35, 0, 363, 362, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 366, 1, 0, 0, 0, 365, 357,
2586
- 1, 0, 0, 0, 365, 361, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 379, 1, 0, 0, 0, 367, 376,
2587
- 3, 84, 42, 0, 368, 370, 3, 70, 35, 0, 369, 371, 3, 82, 41, 0, 370, 369, 1, 0, 0, 0, 370,
2588
- 371, 1, 0, 0, 0, 371, 377, 1, 0, 0, 0, 372, 374, 3, 82, 41, 0, 373, 375, 3, 70, 35, 0,
2589
- 374, 373, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375, 377, 1, 0, 0, 0, 376, 368, 1, 0, 0, 0,
2590
- 376, 372, 1, 0, 0, 0, 376, 377, 1, 0, 0, 0, 377, 379, 1, 0, 0, 0, 378, 345, 1, 0, 0, 0,
2591
- 378, 356, 1, 0, 0, 0, 378, 367, 1, 0, 0, 0, 379, 57, 1, 0, 0, 0, 380, 382, 3, 74, 37, 0,
2592
- 381, 383, 3, 82, 41, 0, 382, 381, 1, 0, 0, 0, 382, 383, 1, 0, 0, 0, 383, 389, 1, 0, 0,
2593
- 0, 384, 386, 3, 82, 41, 0, 385, 387, 3, 74, 37, 0, 386, 385, 1, 0, 0, 0, 386, 387, 1,
2594
- 0, 0, 0, 387, 389, 1, 0, 0, 0, 388, 380, 1, 0, 0, 0, 388, 384, 1, 0, 0, 0, 389, 59, 1, 0,
2595
- 0, 0, 390, 392, 3, 72, 36, 0, 391, 393, 3, 82, 41, 0, 392, 391, 1, 0, 0, 0, 392, 393,
2596
- 1, 0, 0, 0, 393, 399, 1, 0, 0, 0, 394, 396, 3, 82, 41, 0, 395, 397, 3, 72, 36, 0, 396,
2597
- 395, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 390, 1, 0, 0, 0, 398,
2598
- 394, 1, 0, 0, 0, 399, 61, 1, 0, 0, 0, 400, 402, 3, 78, 39, 0, 401, 403, 3, 82, 41, 0, 402,
2599
- 401, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 405, 1, 0, 0, 0, 404, 406, 3, 84, 42, 0, 405,
2600
- 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 413, 1, 0, 0, 0, 407, 408, 3, 82, 41, 0, 408,
2601
- 410, 3, 78, 39, 0, 409, 411, 3, 84, 42, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0,
2602
- 411, 413, 1, 0, 0, 0, 412, 400, 1, 0, 0, 0, 412, 407, 1, 0, 0, 0, 413, 63, 1, 0, 0, 0, 414,
2603
- 416, 3, 76, 38, 0, 415, 417, 3, 82, 41, 0, 416, 415, 1, 0, 0, 0, 416, 417, 1, 0, 0, 0,
2604
- 417, 423, 1, 0, 0, 0, 418, 420, 3, 82, 41, 0, 419, 421, 3, 76, 38, 0, 420, 419, 1, 0,
2605
- 0, 0, 420, 421, 1, 0, 0, 0, 421, 423, 1, 0, 0, 0, 422, 414, 1, 0, 0, 0, 422, 418, 1, 0,
2606
- 0, 0, 423, 65, 1, 0, 0, 0, 424, 426, 3, 68, 34, 0, 425, 424, 1, 0, 0, 0, 426, 427, 1, 0,
2607
- 0, 0, 427, 425, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 67, 1, 0, 0, 0, 429, 434, 3, 80,
2608
- 40, 0, 430, 434, 3, 70, 35, 0, 431, 434, 3, 82, 41, 0, 432, 434, 3, 84, 42, 0, 433, 429,
2609
- 1, 0, 0, 0, 433, 430, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 433, 432, 1, 0, 0, 0, 434, 69, 1,
2610
- 0, 0, 0, 435, 439, 5, 1, 0, 0, 436, 438, 7, 0, 0, 0, 437, 436, 1, 0, 0, 0, 438, 441, 1,
2611
- 0, 0, 0, 439, 437, 1, 0, 0, 0, 439, 440, 1, 0, 0, 0, 440, 442, 1, 0, 0, 0, 441, 439, 1,
2612
- 0, 0, 0, 442, 443, 5, 2, 0, 0, 443, 71, 1, 0, 0, 0, 444, 445, 5, 1, 0, 0, 445, 446, 5, 13,
2613
- 0, 0, 446, 447, 5, 2, 0, 0, 447, 73, 1, 0, 0, 0, 448, 450, 5, 1, 0, 0, 449, 451, 7, 1, 0,
2614
- 0, 450, 449, 1, 0, 0, 0, 450, 451, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 5, 2, 0,
2615
- 0, 453, 75, 1, 0, 0, 0, 454, 456, 5, 1, 0, 0, 455, 457, 5, 10, 0, 0, 456, 455, 1, 0, 0,
2616
- 0, 456, 457, 1, 0, 0, 0, 457, 458, 1, 0, 0, 0, 458, 459, 5, 2, 0, 0, 459, 77, 1, 0, 0, 0,
2617
- 460, 461, 5, 1, 0, 0, 461, 462, 5, 11, 0, 0, 462, 463, 5, 2, 0, 0, 463, 79, 1, 0, 0, 0,
2618
- 464, 466, 5, 1, 0, 0, 465, 467, 5, 12, 0, 0, 466, 465, 1, 0, 0, 0, 466, 467, 1, 0, 0, 0,
2619
- 467, 468, 1, 0, 0, 0, 468, 469, 5, 2, 0, 0, 469, 81, 1, 0, 0, 0, 470, 474, 5, 3, 0, 0, 471,
2620
- 473, 5, 14, 0, 0, 472, 471, 1, 0, 0, 0, 473, 476, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 474,
2621
- 475, 1, 0, 0, 0, 475, 477, 1, 0, 0, 0, 476, 474, 1, 0, 0, 0, 477, 478, 5, 4, 0, 0, 478,
2622
- 83, 1, 0, 0, 0, 479, 480, 5, 5, 0, 0, 480, 85, 1, 0, 0, 0, 481, 483, 5, 15, 0, 0, 482, 481,
2623
- 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 87, 1,
2624
- 0, 0, 0, 78, 94, 98, 103, 110, 119, 127, 135, 143, 160, 175, 179, 182, 188, 191, 197,
2625
- 200, 206, 209, 215, 218, 224, 227, 233, 236, 243, 249, 252, 258, 261, 267, 270,
2626
- 276, 279, 285, 288, 294, 297, 303, 306, 312, 315, 321, 324, 333, 336, 340, 343,
2627
- 348, 352, 354, 359, 363, 365, 370, 374, 376, 378, 382, 386, 388, 392, 396, 398,
2628
- 402, 405, 410, 412, 416, 420, 422, 427, 433, 439, 450, 456, 466, 474, 484
2851
+ 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46,
2852
+ 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
2853
+ 1, 0, 3, 0, 109, 8, 0, 1, 0, 1, 0, 3, 0, 113, 8, 0, 1, 1, 4, 1, 116, 8, 1, 11, 1, 12, 1, 117,
2854
+ 1, 1, 1, 1, 1, 2, 5, 2, 123, 8, 2, 10, 2, 12, 2, 126, 9, 2, 1, 2, 1, 2, 1, 3, 5, 3, 131, 8,
2855
+ 3, 10, 3, 12, 3, 134, 9, 3, 1, 3, 1, 3, 1, 4, 1, 4, 5, 4, 140, 8, 4, 10, 4, 12, 4, 143, 9,
2856
+ 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 149, 8, 5, 10, 5, 12, 5, 152, 9, 5, 1, 5, 3, 5, 155, 8, 5,
2857
+ 1, 5, 4, 5, 158, 8, 5, 11, 5, 12, 5, 159, 1, 5, 3, 5, 163, 8, 5, 1, 5, 3, 5, 166, 8, 5, 1,
2858
+ 6, 5, 6, 169, 8, 6, 10, 6, 12, 6, 172, 9, 6, 1, 6, 1, 6, 1, 7, 5, 7, 177, 8, 7, 10, 7, 12,
2859
+ 7, 180, 9, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 3, 8, 187, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1,
2860
+ 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 204, 8, 9, 1, 10, 1, 10, 1, 10,
2861
+ 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 219, 8, 10,
2862
+ 1, 11, 1, 11, 3, 11, 223, 8, 11, 1, 11, 3, 11, 226, 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3,
2863
+ 12, 232, 8, 12, 1, 12, 3, 12, 235, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 241, 8, 13,
2864
+ 1, 13, 3, 13, 244, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 251, 8, 14, 1, 14, 1,
2865
+ 14, 1, 15, 1, 15, 1, 15, 3, 15, 258, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 264, 8, 16,
2866
+ 1, 16, 3, 16, 267, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 273, 8, 17, 1, 17, 3, 17, 276,
2867
+ 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 3, 18, 283, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19,
2868
+ 3, 19, 289, 8, 19, 1, 19, 3, 19, 292, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 298, 8,
2869
+ 20, 1, 20, 3, 20, 301, 8, 20, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 307, 8, 21, 1, 21, 3, 21,
2870
+ 310, 8, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 316, 8, 22, 1, 22, 3, 22, 319, 8, 22, 1,
2871
+ 22, 1, 22, 1, 23, 1, 23, 3, 23, 325, 8, 23, 1, 23, 3, 23, 328, 8, 23, 1, 23, 1, 23, 1, 24,
2872
+ 1, 24, 3, 24, 334, 8, 24, 1, 24, 3, 24, 337, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 3, 25, 343,
2873
+ 8, 25, 1, 25, 3, 25, 346, 8, 25, 1, 25, 1, 25, 1, 26, 1, 26, 3, 26, 352, 8, 26, 1, 26, 3,
2874
+ 26, 355, 8, 26, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 361, 8, 27, 1, 27, 3, 27, 364, 8, 27,
2875
+ 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 3, 29, 373, 8, 29, 1, 29, 3, 29, 376, 8,
2876
+ 29, 1, 29, 1, 29, 3, 29, 380, 8, 29, 1, 29, 3, 29, 383, 8, 29, 1, 30, 1, 30, 1, 30, 1, 30,
2877
+ 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 396, 8, 30, 3, 30, 398, 8, 30, 1,
2878
+ 31, 1, 31, 3, 31, 402, 8, 31, 1, 32, 1, 32, 1, 32, 3, 32, 407, 8, 32, 1, 32, 3, 32, 410,
2879
+ 8, 32, 1, 33, 1, 33, 1, 33, 3, 33, 415, 8, 33, 1, 33, 1, 33, 3, 33, 419, 8, 33, 3, 33, 421,
2880
+ 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 426, 8, 33, 1, 33, 1, 33, 3, 33, 430, 8, 33, 3, 33, 432,
2881
+ 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 437, 8, 33, 1, 33, 1, 33, 3, 33, 441, 8, 33, 3, 33, 443,
2882
+ 8, 33, 3, 33, 445, 8, 33, 1, 34, 1, 34, 3, 34, 449, 8, 34, 1, 34, 1, 34, 3, 34, 453, 8,
2883
+ 34, 3, 34, 455, 8, 34, 1, 35, 1, 35, 3, 35, 459, 8, 35, 1, 35, 1, 35, 3, 35, 463, 8, 35,
2884
+ 3, 35, 465, 8, 35, 1, 36, 1, 36, 3, 36, 469, 8, 36, 1, 36, 3, 36, 472, 8, 36, 1, 36, 1,
2885
+ 36, 1, 36, 3, 36, 477, 8, 36, 3, 36, 479, 8, 36, 1, 37, 1, 37, 3, 37, 483, 8, 37, 1, 37,
2886
+ 1, 37, 3, 37, 487, 8, 37, 3, 37, 489, 8, 37, 1, 38, 4, 38, 492, 8, 38, 11, 38, 12, 38,
2887
+ 493, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 500, 8, 39, 1, 40, 1, 40, 5, 40, 504, 8, 40, 10,
2888
+ 40, 12, 40, 507, 9, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 517,
2889
+ 8, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 523, 8, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44,
2890
+ 1, 44, 1, 45, 1, 45, 3, 45, 533, 8, 45, 1, 45, 1, 45, 1, 46, 1, 46, 5, 46, 539, 8, 46, 10,
2891
+ 46, 12, 46, 542, 9, 46, 1, 46, 1, 46, 1, 47, 1, 47, 5, 47, 548, 8, 47, 10, 47, 12, 47,
2892
+ 551, 9, 47, 1, 48, 1, 48, 5, 48, 555, 8, 48, 10, 48, 12, 48, 558, 9, 48, 1, 48, 1, 48,
2893
+ 1, 49, 1, 49, 1, 50, 4, 50, 565, 8, 50, 11, 50, 12, 50, 566, 1, 50, 0, 0, 51, 0, 2, 4, 6,
2894
+ 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50,
2895
+ 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94,
2896
+ 96, 98, 100, 0, 2, 2, 0, 11, 11, 15, 15, 1, 0, 12, 13, 642, 0, 112, 1, 0, 0, 0, 2, 115,
2897
+ 1, 0, 0, 0, 4, 124, 1, 0, 0, 0, 6, 132, 1, 0, 0, 0, 8, 137, 1, 0, 0, 0, 10, 165, 1, 0, 0, 0,
2898
+ 12, 170, 1, 0, 0, 0, 14, 178, 1, 0, 0, 0, 16, 186, 1, 0, 0, 0, 18, 203, 1, 0, 0, 0, 20, 218,
2899
+ 1, 0, 0, 0, 22, 220, 1, 0, 0, 0, 24, 229, 1, 0, 0, 0, 26, 238, 1, 0, 0, 0, 28, 247, 1, 0,
2900
+ 0, 0, 30, 254, 1, 0, 0, 0, 32, 261, 1, 0, 0, 0, 34, 270, 1, 0, 0, 0, 36, 279, 1, 0, 0, 0,
2901
+ 38, 286, 1, 0, 0, 0, 40, 295, 1, 0, 0, 0, 42, 304, 1, 0, 0, 0, 44, 313, 1, 0, 0, 0, 46, 322,
2902
+ 1, 0, 0, 0, 48, 331, 1, 0, 0, 0, 50, 340, 1, 0, 0, 0, 52, 349, 1, 0, 0, 0, 54, 358, 1, 0,
2903
+ 0, 0, 56, 367, 1, 0, 0, 0, 58, 382, 1, 0, 0, 0, 60, 397, 1, 0, 0, 0, 62, 399, 1, 0, 0, 0,
2904
+ 64, 409, 1, 0, 0, 0, 66, 444, 1, 0, 0, 0, 68, 454, 1, 0, 0, 0, 70, 464, 1, 0, 0, 0, 72, 478,
2905
+ 1, 0, 0, 0, 74, 488, 1, 0, 0, 0, 76, 491, 1, 0, 0, 0, 78, 499, 1, 0, 0, 0, 80, 501, 1, 0,
2906
+ 0, 0, 82, 510, 1, 0, 0, 0, 84, 514, 1, 0, 0, 0, 86, 520, 1, 0, 0, 0, 88, 526, 1, 0, 0, 0,
2907
+ 90, 530, 1, 0, 0, 0, 92, 536, 1, 0, 0, 0, 94, 545, 1, 0, 0, 0, 96, 552, 1, 0, 0, 0, 98, 561,
2908
+ 1, 0, 0, 0, 100, 564, 1, 0, 0, 0, 102, 103, 3, 6, 3, 0, 103, 104, 5, 0, 0, 1, 104, 113,
2909
+ 1, 0, 0, 0, 105, 106, 5, 37, 0, 0, 106, 108, 3, 10, 5, 0, 107, 109, 5, 38, 0, 0, 108, 107,
2910
+ 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 111, 5, 0, 0, 1, 111, 113,
2911
+ 1, 0, 0, 0, 112, 102, 1, 0, 0, 0, 112, 105, 1, 0, 0, 0, 113, 1, 1, 0, 0, 0, 114, 116, 3,
2912
+ 4, 2, 0, 115, 114, 1, 0, 0, 0, 116, 117, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1,
2913
+ 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 5, 0, 0, 1, 120, 3, 1, 0, 0, 0, 121, 123, 5, 19,
2914
+ 0, 0, 122, 121, 1, 0, 0, 0, 123, 126, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 124, 125, 1, 0,
2915
+ 0, 0, 125, 127, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 127, 128, 3, 8, 4, 0, 128, 5, 1, 0, 0,
2916
+ 0, 129, 131, 5, 19, 0, 0, 130, 129, 1, 0, 0, 0, 131, 134, 1, 0, 0, 0, 132, 130, 1, 0, 0,
2917
+ 0, 132, 133, 1, 0, 0, 0, 133, 135, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 135, 136, 3, 10, 5,
2918
+ 0, 136, 7, 1, 0, 0, 0, 137, 141, 3, 50, 25, 0, 138, 140, 3, 20, 10, 0, 139, 138, 1, 0,
2919
+ 0, 0, 140, 143, 1, 0, 0, 0, 141, 139, 1, 0, 0, 0, 141, 142, 1, 0, 0, 0, 142, 144, 1, 0,
2920
+ 0, 0, 143, 141, 1, 0, 0, 0, 144, 145, 3, 36, 18, 0, 145, 9, 1, 0, 0, 0, 146, 150, 3, 50,
2921
+ 25, 0, 147, 149, 3, 20, 10, 0, 148, 147, 1, 0, 0, 0, 149, 152, 1, 0, 0, 0, 150, 148, 1,
2922
+ 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 153, 155, 3,
2923
+ 36, 18, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 166, 1, 0, 0, 0, 156, 158,
2924
+ 3, 20, 10, 0, 157, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 159, 160,
2925
+ 1, 0, 0, 0, 160, 162, 1, 0, 0, 0, 161, 163, 3, 36, 18, 0, 162, 161, 1, 0, 0, 0, 162, 163,
2926
+ 1, 0, 0, 0, 163, 166, 1, 0, 0, 0, 164, 166, 3, 36, 18, 0, 165, 146, 1, 0, 0, 0, 165, 157,
2927
+ 1, 0, 0, 0, 165, 164, 1, 0, 0, 0, 166, 11, 1, 0, 0, 0, 167, 169, 3, 18, 9, 0, 168, 167,
2928
+ 1, 0, 0, 0, 169, 172, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 173,
2929
+ 1, 0, 0, 0, 172, 170, 1, 0, 0, 0, 173, 174, 5, 0, 0, 1, 174, 13, 1, 0, 0, 0, 175, 177, 3,
2930
+ 16, 8, 0, 176, 175, 1, 0, 0, 0, 177, 180, 1, 0, 0, 0, 178, 176, 1, 0, 0, 0, 178, 179, 1,
2931
+ 0, 0, 0, 179, 181, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 181, 182, 5, 0, 0, 1, 182, 15, 1, 0,
2932
+ 0, 0, 183, 187, 3, 18, 9, 0, 184, 187, 3, 52, 26, 0, 185, 187, 3, 54, 27, 0, 186, 183,
2933
+ 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 185, 1, 0, 0, 0, 187, 17, 1, 0, 0, 0, 188, 204, 3,
2934
+ 22, 11, 0, 189, 204, 3, 24, 12, 0, 190, 204, 3, 26, 13, 0, 191, 204, 3, 28, 14, 0, 192,
2935
+ 204, 3, 30, 15, 0, 193, 204, 3, 32, 16, 0, 194, 204, 3, 34, 17, 0, 195, 204, 3, 36, 18,
2936
+ 0, 196, 204, 3, 38, 19, 0, 197, 204, 3, 40, 20, 0, 198, 204, 3, 42, 21, 0, 199, 204,
2937
+ 3, 44, 22, 0, 200, 204, 3, 46, 23, 0, 201, 204, 3, 48, 24, 0, 202, 204, 3, 50, 25, 0,
2938
+ 203, 188, 1, 0, 0, 0, 203, 189, 1, 0, 0, 0, 203, 190, 1, 0, 0, 0, 203, 191, 1, 0, 0, 0,
2939
+ 203, 192, 1, 0, 0, 0, 203, 193, 1, 0, 0, 0, 203, 194, 1, 0, 0, 0, 203, 195, 1, 0, 0, 0,
2940
+ 203, 196, 1, 0, 0, 0, 203, 197, 1, 0, 0, 0, 203, 198, 1, 0, 0, 0, 203, 199, 1, 0, 0, 0,
2941
+ 203, 200, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 202, 1, 0, 0, 0, 204, 19, 1, 0, 0, 0, 205,
2942
+ 219, 3, 22, 11, 0, 206, 219, 3, 24, 12, 0, 207, 219, 3, 26, 13, 0, 208, 219, 3, 28, 14,
2943
+ 0, 209, 219, 3, 30, 15, 0, 210, 219, 3, 32, 16, 0, 211, 219, 3, 34, 17, 0, 212, 219,
2944
+ 3, 38, 19, 0, 213, 219, 3, 40, 20, 0, 214, 219, 3, 42, 21, 0, 215, 219, 3, 44, 22, 0,
2945
+ 216, 219, 3, 46, 23, 0, 217, 219, 3, 48, 24, 0, 218, 205, 1, 0, 0, 0, 218, 206, 1, 0,
2946
+ 0, 0, 218, 207, 1, 0, 0, 0, 218, 208, 1, 0, 0, 0, 218, 209, 1, 0, 0, 0, 218, 210, 1, 0,
2947
+ 0, 0, 218, 211, 1, 0, 0, 0, 218, 212, 1, 0, 0, 0, 218, 213, 1, 0, 0, 0, 218, 214, 1, 0,
2948
+ 0, 0, 218, 215, 1, 0, 0, 0, 218, 216, 1, 0, 0, 0, 218, 217, 1, 0, 0, 0, 219, 21, 1, 0, 0,
2949
+ 0, 220, 222, 5, 22, 0, 0, 221, 223, 3, 66, 33, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0,
2950
+ 0, 0, 223, 225, 1, 0, 0, 0, 224, 226, 3, 56, 28, 0, 225, 224, 1, 0, 0, 0, 225, 226, 1,
2951
+ 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 228, 3, 58, 29, 0, 228, 23, 1, 0, 0, 0, 229, 231, 5,
2952
+ 23, 0, 0, 230, 232, 3, 66, 33, 0, 231, 230, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 234,
2953
+ 1, 0, 0, 0, 233, 235, 3, 56, 28, 0, 234, 233, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 236,
2954
+ 1, 0, 0, 0, 236, 237, 3, 58, 29, 0, 237, 25, 1, 0, 0, 0, 238, 240, 5, 24, 0, 0, 239, 241,
2955
+ 3, 66, 33, 0, 240, 239, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 243, 1, 0, 0, 0, 242, 244,
2956
+ 3, 56, 28, 0, 243, 242, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 246,
2957
+ 3, 58, 29, 0, 246, 27, 1, 0, 0, 0, 247, 248, 5, 25, 0, 0, 248, 250, 3, 60, 30, 0, 249,
2958
+ 251, 3, 56, 28, 0, 250, 249, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252,
2959
+ 253, 3, 64, 32, 0, 253, 29, 1, 0, 0, 0, 254, 255, 5, 26, 0, 0, 255, 257, 3, 60, 30, 0,
2960
+ 256, 258, 3, 56, 28, 0, 257, 256, 1, 0, 0, 0, 257, 258, 1, 0, 0, 0, 258, 259, 1, 0, 0,
2961
+ 0, 259, 260, 3, 64, 32, 0, 260, 31, 1, 0, 0, 0, 261, 263, 5, 27, 0, 0, 262, 264, 3, 66,
2962
+ 33, 0, 263, 262, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 266, 1, 0, 0, 0, 265, 267, 3, 56,
2963
+ 28, 0, 266, 265, 1, 0, 0, 0, 266, 267, 1, 0, 0, 0, 267, 268, 1, 0, 0, 0, 268, 269, 3, 58,
2964
+ 29, 0, 269, 33, 1, 0, 0, 0, 270, 272, 5, 28, 0, 0, 271, 273, 3, 66, 33, 0, 272, 271, 1,
2965
+ 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275, 1, 0, 0, 0, 274, 276, 3, 56, 28, 0, 275, 274,
2966
+ 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277, 1, 0, 0, 0, 277, 278, 3, 58, 29, 0, 278, 35,
2967
+ 1, 0, 0, 0, 279, 280, 5, 29, 0, 0, 280, 282, 3, 72, 36, 0, 281, 283, 3, 56, 28, 0, 282,
2968
+ 281, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 285, 3, 58, 29, 0, 285,
2969
+ 37, 1, 0, 0, 0, 286, 288, 5, 29, 0, 0, 287, 289, 3, 74, 37, 0, 288, 287, 1, 0, 0, 0, 288,
2970
+ 289, 1, 0, 0, 0, 289, 291, 1, 0, 0, 0, 290, 292, 3, 56, 28, 0, 291, 290, 1, 0, 0, 0, 291,
2971
+ 292, 1, 0, 0, 0, 292, 293, 1, 0, 0, 0, 293, 294, 3, 58, 29, 0, 294, 39, 1, 0, 0, 0, 295,
2972
+ 297, 5, 30, 0, 0, 296, 298, 3, 76, 38, 0, 297, 296, 1, 0, 0, 0, 297, 298, 1, 0, 0, 0, 298,
2973
+ 300, 1, 0, 0, 0, 299, 301, 3, 56, 28, 0, 300, 299, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301,
2974
+ 302, 1, 0, 0, 0, 302, 303, 3, 58, 29, 0, 303, 41, 1, 0, 0, 0, 304, 306, 5, 31, 0, 0, 305,
2975
+ 307, 3, 80, 40, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 309, 1, 0, 0, 0, 308,
2976
+ 310, 3, 56, 28, 0, 309, 308, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311,
2977
+ 312, 3, 58, 29, 0, 312, 43, 1, 0, 0, 0, 313, 315, 5, 32, 0, 0, 314, 316, 3, 70, 35, 0,
2978
+ 315, 314, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 318, 1, 0, 0, 0, 317, 319, 3, 56, 28,
2979
+ 0, 318, 317, 1, 0, 0, 0, 318, 319, 1, 0, 0, 0, 319, 320, 1, 0, 0, 0, 320, 321, 3, 58, 29,
2980
+ 0, 321, 45, 1, 0, 0, 0, 322, 324, 5, 33, 0, 0, 323, 325, 3, 70, 35, 0, 324, 323, 1, 0,
2981
+ 0, 0, 324, 325, 1, 0, 0, 0, 325, 327, 1, 0, 0, 0, 326, 328, 3, 56, 28, 0, 327, 326, 1,
2982
+ 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 330, 3, 58, 29, 0, 330, 47, 1,
2983
+ 0, 0, 0, 331, 333, 5, 34, 0, 0, 332, 334, 3, 68, 34, 0, 333, 332, 1, 0, 0, 0, 333, 334,
2984
+ 1, 0, 0, 0, 334, 336, 1, 0, 0, 0, 335, 337, 3, 56, 28, 0, 336, 335, 1, 0, 0, 0, 336, 337,
2985
+ 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 3, 58, 29, 0, 339, 49, 1, 0, 0, 0, 340, 342,
2986
+ 5, 21, 0, 0, 341, 343, 3, 66, 33, 0, 342, 341, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 345,
2987
+ 1, 0, 0, 0, 344, 346, 3, 56, 28, 0, 345, 344, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 347,
2988
+ 1, 0, 0, 0, 347, 348, 3, 58, 29, 0, 348, 51, 1, 0, 0, 0, 349, 351, 5, 35, 0, 0, 350, 352,
2989
+ 3, 66, 33, 0, 351, 350, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 352, 354, 1, 0, 0, 0, 353, 355,
2990
+ 3, 56, 28, 0, 354, 353, 1, 0, 0, 0, 354, 355, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357,
2991
+ 3, 58, 29, 0, 357, 53, 1, 0, 0, 0, 358, 360, 5, 36, 0, 0, 359, 361, 3, 66, 33, 0, 360,
2992
+ 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 363, 1, 0, 0, 0, 362, 364, 3, 56, 28, 0, 363,
2993
+ 362, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 366, 3, 58, 29, 0, 366,
2994
+ 55, 1, 0, 0, 0, 367, 368, 5, 20, 0, 0, 368, 57, 1, 0, 0, 0, 369, 383, 5, 10, 0, 0, 370,
2995
+ 372, 5, 9, 0, 0, 371, 373, 3, 100, 50, 0, 372, 371, 1, 0, 0, 0, 372, 373, 1, 0, 0, 0, 373,
2996
+ 375, 1, 0, 0, 0, 374, 376, 5, 10, 0, 0, 375, 374, 1, 0, 0, 0, 375, 376, 1, 0, 0, 0, 376,
2997
+ 383, 1, 0, 0, 0, 377, 379, 3, 100, 50, 0, 378, 380, 5, 10, 0, 0, 379, 378, 1, 0, 0, 0,
2998
+ 379, 380, 1, 0, 0, 0, 380, 383, 1, 0, 0, 0, 381, 383, 1, 0, 0, 0, 382, 369, 1, 0, 0, 0,
2999
+ 382, 370, 1, 0, 0, 0, 382, 377, 1, 0, 0, 0, 382, 381, 1, 0, 0, 0, 383, 59, 1, 0, 0, 0, 384,
3000
+ 385, 3, 80, 40, 0, 385, 386, 3, 62, 31, 0, 386, 387, 3, 62, 31, 0, 387, 398, 1, 0, 0,
3001
+ 0, 388, 389, 3, 62, 31, 0, 389, 390, 3, 80, 40, 0, 390, 391, 3, 62, 31, 0, 391, 398,
3002
+ 1, 0, 0, 0, 392, 393, 3, 62, 31, 0, 393, 395, 3, 62, 31, 0, 394, 396, 3, 80, 40, 0, 395,
3003
+ 394, 1, 0, 0, 0, 395, 396, 1, 0, 0, 0, 396, 398, 1, 0, 0, 0, 397, 384, 1, 0, 0, 0, 397,
3004
+ 388, 1, 0, 0, 0, 397, 392, 1, 0, 0, 0, 398, 61, 1, 0, 0, 0, 399, 401, 3, 94, 47, 0, 400,
3005
+ 402, 3, 98, 49, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 63, 1, 0, 0, 0, 403,
3006
+ 410, 5, 10, 0, 0, 404, 406, 5, 9, 0, 0, 405, 407, 5, 10, 0, 0, 406, 405, 1, 0, 0, 0, 406,
3007
+ 407, 1, 0, 0, 0, 407, 410, 1, 0, 0, 0, 408, 410, 1, 0, 0, 0, 409, 403, 1, 0, 0, 0, 409,
3008
+ 404, 1, 0, 0, 0, 409, 408, 1, 0, 0, 0, 410, 65, 1, 0, 0, 0, 411, 420, 3, 80, 40, 0, 412,
3009
+ 414, 3, 94, 47, 0, 413, 415, 3, 98, 49, 0, 414, 413, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0,
3010
+ 415, 421, 1, 0, 0, 0, 416, 418, 3, 98, 49, 0, 417, 419, 3, 94, 47, 0, 418, 417, 1, 0,
3011
+ 0, 0, 418, 419, 1, 0, 0, 0, 419, 421, 1, 0, 0, 0, 420, 412, 1, 0, 0, 0, 420, 416, 1, 0,
3012
+ 0, 0, 420, 421, 1, 0, 0, 0, 421, 445, 1, 0, 0, 0, 422, 431, 3, 94, 47, 0, 423, 425, 3,
3013
+ 80, 40, 0, 424, 426, 3, 98, 49, 0, 425, 424, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 432,
3014
+ 1, 0, 0, 0, 427, 429, 3, 98, 49, 0, 428, 430, 3, 80, 40, 0, 429, 428, 1, 0, 0, 0, 429,
3015
+ 430, 1, 0, 0, 0, 430, 432, 1, 0, 0, 0, 431, 423, 1, 0, 0, 0, 431, 427, 1, 0, 0, 0, 431,
3016
+ 432, 1, 0, 0, 0, 432, 445, 1, 0, 0, 0, 433, 442, 3, 98, 49, 0, 434, 436, 3, 80, 40, 0,
3017
+ 435, 437, 3, 94, 47, 0, 436, 435, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 443, 1, 0, 0,
3018
+ 0, 438, 440, 3, 94, 47, 0, 439, 441, 3, 80, 40, 0, 440, 439, 1, 0, 0, 0, 440, 441, 1,
3019
+ 0, 0, 0, 441, 443, 1, 0, 0, 0, 442, 434, 1, 0, 0, 0, 442, 438, 1, 0, 0, 0, 442, 443, 1,
3020
+ 0, 0, 0, 443, 445, 1, 0, 0, 0, 444, 411, 1, 0, 0, 0, 444, 422, 1, 0, 0, 0, 444, 433, 1,
3021
+ 0, 0, 0, 445, 67, 1, 0, 0, 0, 446, 448, 3, 84, 42, 0, 447, 449, 3, 94, 47, 0, 448, 447,
3022
+ 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 455, 1, 0, 0, 0, 450, 452, 3, 94, 47, 0, 451, 453,
3023
+ 3, 84, 42, 0, 452, 451, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 455, 1, 0, 0, 0, 454, 446,
3024
+ 1, 0, 0, 0, 454, 450, 1, 0, 0, 0, 455, 69, 1, 0, 0, 0, 456, 458, 3, 82, 41, 0, 457, 459,
3025
+ 3, 94, 47, 0, 458, 457, 1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 465, 1, 0, 0, 0, 460, 462,
3026
+ 3, 94, 47, 0, 461, 463, 3, 82, 41, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463,
3027
+ 465, 1, 0, 0, 0, 464, 456, 1, 0, 0, 0, 464, 460, 1, 0, 0, 0, 465, 71, 1, 0, 0, 0, 466, 468,
3028
+ 3, 88, 44, 0, 467, 469, 3, 94, 47, 0, 468, 467, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469,
3029
+ 471, 1, 0, 0, 0, 470, 472, 3, 98, 49, 0, 471, 470, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472,
3030
+ 479, 1, 0, 0, 0, 473, 474, 3, 94, 47, 0, 474, 476, 3, 88, 44, 0, 475, 477, 3, 98, 49,
3031
+ 0, 476, 475, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 479, 1, 0, 0, 0, 478, 466, 1, 0, 0,
3032
+ 0, 478, 473, 1, 0, 0, 0, 479, 73, 1, 0, 0, 0, 480, 482, 3, 86, 43, 0, 481, 483, 3, 94,
3033
+ 47, 0, 482, 481, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 489, 1, 0, 0, 0, 484, 486, 3, 94,
3034
+ 47, 0, 485, 487, 3, 86, 43, 0, 486, 485, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 489, 1,
3035
+ 0, 0, 0, 488, 480, 1, 0, 0, 0, 488, 484, 1, 0, 0, 0, 489, 75, 1, 0, 0, 0, 490, 492, 3, 78,
3036
+ 39, 0, 491, 490, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 491, 1, 0, 0, 0, 493, 494, 1, 0,
3037
+ 0, 0, 494, 77, 1, 0, 0, 0, 495, 500, 3, 90, 45, 0, 496, 500, 3, 80, 40, 0, 497, 500, 3,
3038
+ 94, 47, 0, 498, 500, 3, 98, 49, 0, 499, 495, 1, 0, 0, 0, 499, 496, 1, 0, 0, 0, 499, 497,
3039
+ 1, 0, 0, 0, 499, 498, 1, 0, 0, 0, 500, 79, 1, 0, 0, 0, 501, 505, 5, 1, 0, 0, 502, 504, 7,
3040
+ 0, 0, 0, 503, 502, 1, 0, 0, 0, 504, 507, 1, 0, 0, 0, 505, 503, 1, 0, 0, 0, 505, 506, 1,
3041
+ 0, 0, 0, 506, 508, 1, 0, 0, 0, 507, 505, 1, 0, 0, 0, 508, 509, 5, 2, 0, 0, 509, 81, 1, 0,
3042
+ 0, 0, 510, 511, 5, 1, 0, 0, 511, 512, 5, 15, 0, 0, 512, 513, 5, 2, 0, 0, 513, 83, 1, 0,
3043
+ 0, 0, 514, 516, 5, 1, 0, 0, 515, 517, 7, 1, 0, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0,
3044
+ 0, 0, 517, 518, 1, 0, 0, 0, 518, 519, 5, 2, 0, 0, 519, 85, 1, 0, 0, 0, 520, 522, 5, 1, 0,
3045
+ 0, 521, 523, 5, 12, 0, 0, 522, 521, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 524, 1, 0, 0,
3046
+ 0, 524, 525, 5, 2, 0, 0, 525, 87, 1, 0, 0, 0, 526, 527, 5, 1, 0, 0, 527, 528, 5, 13, 0,
3047
+ 0, 528, 529, 5, 2, 0, 0, 529, 89, 1, 0, 0, 0, 530, 532, 5, 1, 0, 0, 531, 533, 5, 14, 0,
3048
+ 0, 532, 531, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 535, 5, 2, 0,
3049
+ 0, 535, 91, 1, 0, 0, 0, 536, 540, 5, 3, 0, 0, 537, 539, 5, 16, 0, 0, 538, 537, 1, 0, 0,
3050
+ 0, 539, 542, 1, 0, 0, 0, 540, 538, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 543, 1, 0, 0,
3051
+ 0, 542, 540, 1, 0, 0, 0, 543, 544, 5, 4, 0, 0, 544, 93, 1, 0, 0, 0, 545, 549, 3, 92, 46,
3052
+ 0, 546, 548, 3, 96, 48, 0, 547, 546, 1, 0, 0, 0, 548, 551, 1, 0, 0, 0, 549, 547, 1, 0,
3053
+ 0, 0, 549, 550, 1, 0, 0, 0, 550, 95, 1, 0, 0, 0, 551, 549, 1, 0, 0, 0, 552, 556, 5, 5, 0,
3054
+ 0, 553, 555, 5, 17, 0, 0, 554, 553, 1, 0, 0, 0, 555, 558, 1, 0, 0, 0, 556, 554, 1, 0, 0,
3055
+ 0, 556, 557, 1, 0, 0, 0, 557, 559, 1, 0, 0, 0, 558, 556, 1, 0, 0, 0, 559, 560, 5, 6, 0,
3056
+ 0, 560, 97, 1, 0, 0, 0, 561, 562, 5, 7, 0, 0, 562, 99, 1, 0, 0, 0, 563, 565, 5, 18, 0, 0,
3057
+ 564, 563, 1, 0, 0, 0, 565, 566, 1, 0, 0, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0,
3058
+ 567, 101, 1, 0, 0, 0, 89, 108, 112, 117, 124, 132, 141, 150, 154, 159, 162, 165, 170,
3059
+ 178, 186, 203, 218, 222, 225, 231, 234, 240, 243, 250, 257, 263, 266, 272, 275,
3060
+ 282, 288, 291, 297, 300, 306, 309, 315, 318, 324, 327, 333, 336, 342, 345, 351,
3061
+ 354, 360, 363, 372, 375, 379, 382, 395, 397, 401, 406, 409, 414, 418, 420, 425,
3062
+ 429, 431, 436, 440, 442, 444, 448, 452, 454, 458, 462, 464, 468, 471, 476, 478,
3063
+ 482, 486, 488, 493, 499, 505, 516, 522, 532, 540, 549, 556, 566
2629
3064
  ];
2630
3065
  static __ATN;
2631
3066
  static get _ATN() {
@@ -2644,8 +3079,8 @@ export class DocumentContext extends antlr.ParserRuleContext {
2644
3079
  constructor(parent, invokingState) {
2645
3080
  super(parent, invokingState);
2646
3081
  }
2647
- turnContent() {
2648
- return this.getRuleContext(0, TurnContentContext);
3082
+ modelTurnContent() {
3083
+ return this.getRuleContext(0, ModelTurnContentContext);
2649
3084
  }
2650
3085
  EOF() {
2651
3086
  return this.getToken(plurnkParser.EOF, 0);
@@ -2653,8 +3088,8 @@ export class DocumentContext extends antlr.ParserRuleContext {
2653
3088
  FENCE_OPEN() {
2654
3089
  return this.getToken(plurnkParser.FENCE_OPEN, 0);
2655
3090
  }
2656
- turn() {
2657
- return this.getRuleContext(0, TurnContext);
3091
+ modelTurn() {
3092
+ return this.getRuleContext(0, ModelTurnContext);
2658
3093
  }
2659
3094
  FENCE_CLOSE() {
2660
3095
  return this.getToken(plurnkParser.FENCE_CLOSE, 0);
@@ -2723,6 +3158,33 @@ export class TurnContentContext extends antlr.ParserRuleContext {
2723
3158
  }
2724
3159
  }
2725
3160
  }
3161
+ export class ModelTurnContentContext extends antlr.ParserRuleContext {
3162
+ constructor(parent, invokingState) {
3163
+ super(parent, invokingState);
3164
+ }
3165
+ modelTurn() {
3166
+ return this.getRuleContext(0, ModelTurnContext);
3167
+ }
3168
+ TEXT(i) {
3169
+ if (i === undefined) {
3170
+ return this.getTokens(plurnkParser.TEXT);
3171
+ }
3172
+ else {
3173
+ return this.getToken(plurnkParser.TEXT, i);
3174
+ }
3175
+ }
3176
+ get ruleIndex() {
3177
+ return plurnkParser.RULE_modelTurnContent;
3178
+ }
3179
+ accept(visitor) {
3180
+ if (visitor.visitModelTurnContent) {
3181
+ return visitor.visitModelTurnContent(this);
3182
+ }
3183
+ else {
3184
+ return visitor.visitChildren(this);
3185
+ }
3186
+ }
3187
+ }
2726
3188
  export class TurnContext extends antlr.ParserRuleContext {
2727
3189
  constructor(parent, invokingState) {
2728
3190
  super(parent, invokingState);
@@ -2751,6 +3213,34 @@ export class TurnContext extends antlr.ParserRuleContext {
2751
3213
  }
2752
3214
  }
2753
3215
  }
3216
+ export class ModelTurnContext extends antlr.ParserRuleContext {
3217
+ constructor(parent, invokingState) {
3218
+ super(parent, invokingState);
3219
+ }
3220
+ planStatement() {
3221
+ return this.getRuleContext(0, PlanStatementContext);
3222
+ }
3223
+ midStatement(i) {
3224
+ if (i === undefined) {
3225
+ return this.getRuleContexts(MidStatementContext);
3226
+ }
3227
+ return this.getRuleContext(i, MidStatementContext);
3228
+ }
3229
+ sendStatement() {
3230
+ return this.getRuleContext(0, SendStatementContext);
3231
+ }
3232
+ get ruleIndex() {
3233
+ return plurnkParser.RULE_modelTurn;
3234
+ }
3235
+ accept(visitor) {
3236
+ if (visitor.visitModelTurn) {
3237
+ return visitor.visitModelTurn(this);
3238
+ }
3239
+ else {
3240
+ return visitor.visitChildren(this);
3241
+ }
3242
+ }
3243
+ }
2754
3244
  export class StatementSeqContext extends antlr.ParserRuleContext {
2755
3245
  constructor(parent, invokingState) {
2756
3246
  super(parent, invokingState);
@@ -3033,11 +3523,11 @@ export class CopyStatementContext extends antlr.ParserRuleContext {
3033
3523
  OPEN_COPY() {
3034
3524
  return this.getToken(plurnkParser.OPEN_COPY, 0);
3035
3525
  }
3036
- statementEnd() {
3037
- return this.getRuleContext(0, StatementEndContext);
3526
+ transferModifiers() {
3527
+ return this.getRuleContext(0, TransferModifiersContext);
3038
3528
  }
3039
- tagOpModifiers() {
3040
- return this.getRuleContext(0, TagOpModifiersContext);
3529
+ emptyStatementEnd() {
3530
+ return this.getRuleContext(0, EmptyStatementEndContext);
3041
3531
  }
3042
3532
  opAnnotation() {
3043
3533
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3061,11 +3551,11 @@ export class MoveStatementContext extends antlr.ParserRuleContext {
3061
3551
  OPEN_MOVE() {
3062
3552
  return this.getToken(plurnkParser.OPEN_MOVE, 0);
3063
3553
  }
3064
- statementEnd() {
3065
- return this.getRuleContext(0, StatementEndContext);
3554
+ transferModifiers() {
3555
+ return this.getRuleContext(0, TransferModifiersContext);
3066
3556
  }
3067
- tagOpModifiers() {
3068
- return this.getRuleContext(0, TagOpModifiersContext);
3557
+ emptyStatementEnd() {
3558
+ return this.getRuleContext(0, EmptyStatementEndContext);
3069
3559
  }
3070
3560
  opAnnotation() {
3071
3561
  return this.getRuleContext(0, OpAnnotationContext);
@@ -3462,6 +3952,75 @@ export class StatementEndContext extends antlr.ParserRuleContext {
3462
3952
  }
3463
3953
  }
3464
3954
  }
3955
+ export class TransferModifiersContext extends antlr.ParserRuleContext {
3956
+ constructor(parent, invokingState) {
3957
+ super(parent, invokingState);
3958
+ }
3959
+ tagSignal() {
3960
+ return this.getRuleContext(0, TagSignalContext);
3961
+ }
3962
+ resourceSelection(i) {
3963
+ if (i === undefined) {
3964
+ return this.getRuleContexts(ResourceSelectionContext);
3965
+ }
3966
+ return this.getRuleContext(i, ResourceSelectionContext);
3967
+ }
3968
+ get ruleIndex() {
3969
+ return plurnkParser.RULE_transferModifiers;
3970
+ }
3971
+ accept(visitor) {
3972
+ if (visitor.visitTransferModifiers) {
3973
+ return visitor.visitTransferModifiers(this);
3974
+ }
3975
+ else {
3976
+ return visitor.visitChildren(this);
3977
+ }
3978
+ }
3979
+ }
3980
+ export class ResourceSelectionContext extends antlr.ParserRuleContext {
3981
+ constructor(parent, invokingState) {
3982
+ super(parent, invokingState);
3983
+ }
3984
+ targetWithMetadata() {
3985
+ return this.getRuleContext(0, TargetWithMetadataContext);
3986
+ }
3987
+ lineMarker() {
3988
+ return this.getRuleContext(0, LineMarkerContext);
3989
+ }
3990
+ get ruleIndex() {
3991
+ return plurnkParser.RULE_resourceSelection;
3992
+ }
3993
+ accept(visitor) {
3994
+ if (visitor.visitResourceSelection) {
3995
+ return visitor.visitResourceSelection(this);
3996
+ }
3997
+ else {
3998
+ return visitor.visitChildren(this);
3999
+ }
4000
+ }
4001
+ }
4002
+ export class EmptyStatementEndContext extends antlr.ParserRuleContext {
4003
+ constructor(parent, invokingState) {
4004
+ super(parent, invokingState);
4005
+ }
4006
+ SECTION_END() {
4007
+ return this.getToken(plurnkParser.SECTION_END, 0);
4008
+ }
4009
+ BODY_OPEN() {
4010
+ return this.getToken(plurnkParser.BODY_OPEN, 0);
4011
+ }
4012
+ get ruleIndex() {
4013
+ return plurnkParser.RULE_emptyStatementEnd;
4014
+ }
4015
+ accept(visitor) {
4016
+ if (visitor.visitEmptyStatementEnd) {
4017
+ return visitor.visitEmptyStatementEnd(this);
4018
+ }
4019
+ else {
4020
+ return visitor.visitChildren(this);
4021
+ }
4022
+ }
4023
+ }
3465
4024
  export class TagOpModifiersContext extends antlr.ParserRuleContext {
3466
4025
  constructor(parent, invokingState) {
3467
4026
  super(parent, invokingState);
@@ -3469,8 +4028,8 @@ export class TagOpModifiersContext extends antlr.ParserRuleContext {
3469
4028
  tagSignal() {
3470
4029
  return this.getRuleContext(0, TagSignalContext);
3471
4030
  }
3472
- target() {
3473
- return this.getRuleContext(0, TargetContext);
4031
+ targetWithMetadata() {
4032
+ return this.getRuleContext(0, TargetWithMetadataContext);
3474
4033
  }
3475
4034
  lineMarker() {
3476
4035
  return this.getRuleContext(0, LineMarkerContext);
@@ -3494,8 +4053,8 @@ export class IntOpModifiersContext extends antlr.ParserRuleContext {
3494
4053
  intSignal() {
3495
4054
  return this.getRuleContext(0, IntSignalContext);
3496
4055
  }
3497
- target() {
3498
- return this.getRuleContext(0, TargetContext);
4056
+ targetWithMetadata() {
4057
+ return this.getRuleContext(0, TargetWithMetadataContext);
3499
4058
  }
3500
4059
  get ruleIndex() {
3501
4060
  return plurnkParser.RULE_intOpModifiers;
@@ -3516,8 +4075,8 @@ export class BranchModifiersContext extends antlr.ParserRuleContext {
3516
4075
  branchSignal() {
3517
4076
  return this.getRuleContext(0, BranchSignalContext);
3518
4077
  }
3519
- target() {
3520
- return this.getRuleContext(0, TargetContext);
4078
+ targetWithMetadata() {
4079
+ return this.getRuleContext(0, TargetWithMetadataContext);
3521
4080
  }
3522
4081
  get ruleIndex() {
3523
4082
  return plurnkParser.RULE_branchModifiers;
@@ -3538,8 +4097,8 @@ export class TermModifiersContext extends antlr.ParserRuleContext {
3538
4097
  dispSignal() {
3539
4098
  return this.getRuleContext(0, DispSignalContext);
3540
4099
  }
3541
- target() {
3542
- return this.getRuleContext(0, TargetContext);
4100
+ targetWithMetadata() {
4101
+ return this.getRuleContext(0, TargetWithMetadataContext);
3543
4102
  }
3544
4103
  lineMarker() {
3545
4104
  return this.getRuleContext(0, LineMarkerContext);
@@ -3563,8 +4122,8 @@ export class MidModifiersContext extends antlr.ParserRuleContext {
3563
4122
  midSignal() {
3564
4123
  return this.getRuleContext(0, MidSignalContext);
3565
4124
  }
3566
- target() {
3567
- return this.getRuleContext(0, TargetContext);
4125
+ targetWithMetadata() {
4126
+ return this.getRuleContext(0, TargetWithMetadataContext);
3568
4127
  }
3569
4128
  get ruleIndex() {
3570
4129
  return plurnkParser.RULE_midModifiers;
@@ -3610,8 +4169,8 @@ export class ExecSlotContext extends antlr.ParserRuleContext {
3610
4169
  tagSignal() {
3611
4170
  return this.getRuleContext(0, TagSignalContext);
3612
4171
  }
3613
- target() {
3614
- return this.getRuleContext(0, TargetContext);
4172
+ targetWithMetadata() {
4173
+ return this.getRuleContext(0, TargetWithMetadataContext);
3615
4174
  }
3616
4175
  lineMarker() {
3617
4176
  return this.getRuleContext(0, LineMarkerContext);
@@ -3824,6 +4383,61 @@ export class TargetContext extends antlr.ParserRuleContext {
3824
4383
  }
3825
4384
  }
3826
4385
  }
4386
+ export class TargetWithMetadataContext extends antlr.ParserRuleContext {
4387
+ constructor(parent, invokingState) {
4388
+ super(parent, invokingState);
4389
+ }
4390
+ target() {
4391
+ return this.getRuleContext(0, TargetContext);
4392
+ }
4393
+ metadata(i) {
4394
+ if (i === undefined) {
4395
+ return this.getRuleContexts(MetadataContext);
4396
+ }
4397
+ return this.getRuleContext(i, MetadataContext);
4398
+ }
4399
+ get ruleIndex() {
4400
+ return plurnkParser.RULE_targetWithMetadata;
4401
+ }
4402
+ accept(visitor) {
4403
+ if (visitor.visitTargetWithMetadata) {
4404
+ return visitor.visitTargetWithMetadata(this);
4405
+ }
4406
+ else {
4407
+ return visitor.visitChildren(this);
4408
+ }
4409
+ }
4410
+ }
4411
+ export class MetadataContext extends antlr.ParserRuleContext {
4412
+ constructor(parent, invokingState) {
4413
+ super(parent, invokingState);
4414
+ }
4415
+ LBRACE() {
4416
+ return this.getToken(plurnkParser.LBRACE, 0);
4417
+ }
4418
+ RBRACE() {
4419
+ return this.getToken(plurnkParser.RBRACE, 0);
4420
+ }
4421
+ METADATA_TEXT(i) {
4422
+ if (i === undefined) {
4423
+ return this.getTokens(plurnkParser.METADATA_TEXT);
4424
+ }
4425
+ else {
4426
+ return this.getToken(plurnkParser.METADATA_TEXT, i);
4427
+ }
4428
+ }
4429
+ get ruleIndex() {
4430
+ return plurnkParser.RULE_metadata;
4431
+ }
4432
+ accept(visitor) {
4433
+ if (visitor.visitMetadata) {
4434
+ return visitor.visitMetadata(this);
4435
+ }
4436
+ else {
4437
+ return visitor.visitChildren(this);
4438
+ }
4439
+ }
4440
+ }
3827
4441
  export class LineMarkerContext extends antlr.ParserRuleContext {
3828
4442
  constructor(parent, invokingState) {
3829
4443
  super(parent, invokingState);