@plurnk/plurnk-grammar 0.74.29 → 0.74.34

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 (40) hide show
  1. package/dist/schema/ClientStatement.json +68 -0
  2. package/dist/src/AstBuilder.d.ts +3 -2
  3. package/dist/src/AstBuilder.d.ts.map +1 -1
  4. package/dist/src/AstBuilder.js +43 -0
  5. package/dist/src/AstBuilder.js.map +1 -1
  6. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  7. package/dist/src/PlurnkErrorStrategy.js +14 -11
  8. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  9. package/dist/src/PlurnkParseError.d.ts +4 -1
  10. package/dist/src/PlurnkParseError.d.ts.map +1 -1
  11. package/dist/src/PlurnkParseError.js +6 -3
  12. package/dist/src/PlurnkParseError.js.map +1 -1
  13. package/dist/src/PlurnkParser.d.ts +2 -1
  14. package/dist/src/PlurnkParser.d.ts.map +1 -1
  15. package/dist/src/PlurnkParser.js +117 -14
  16. package/dist/src/PlurnkParser.js.map +1 -1
  17. package/dist/src/Validator.d.ts +1 -0
  18. package/dist/src/Validator.d.ts.map +1 -1
  19. package/dist/src/Validator.js +3 -0
  20. package/dist/src/Validator.js.map +1 -1
  21. package/dist/src/generated/plurnkLexer.d.ts +11 -7
  22. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  23. package/dist/src/generated/plurnkLexer.js +277 -239
  24. package/dist/src/generated/plurnkLexer.js.map +1 -1
  25. package/dist/src/generated/plurnkParser.d.ts +75 -29
  26. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  27. package/dist/src/generated/plurnkParser.js +761 -421
  28. package/dist/src/generated/plurnkParser.js.map +1 -1
  29. package/dist/src/generated/plurnkParserVisitor.d.ts +28 -0
  30. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  31. package/dist/src/generated/plurnkParserVisitor.js +24 -0
  32. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  33. package/dist/src/index.d.ts +1 -1
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/types.d.ts +5 -4
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.generated.d.ts +114 -86
  38. package/dist/src/types.generated.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/plurnk.md +3 -2
@@ -27,61 +27,69 @@ export class plurnkParser extends antlr.Parser {
27
27
  static OPEN_EXEC = 25;
28
28
  static OPEN_KILL = 26;
29
29
  static OPEN_PLAN = 27;
30
- static WS = 28;
31
- static SLOTS_WS = 29;
32
- static ST_WS = 30;
33
- static SI_WS = 31;
34
- static SD_WS = 32;
35
- static ST_COMMA = 33;
36
- static B_COLON = 34;
30
+ static OPEN_LOOK = 28;
31
+ static OPEN_BUFF = 29;
32
+ static WS = 30;
33
+ static SLOTS_WS = 31;
34
+ static ST_WS = 32;
35
+ static SI_WS = 33;
36
+ static SD_WS = 34;
37
+ static ST_COMMA = 35;
38
+ static B_COLON = 36;
37
39
  static RULE_document = 0;
38
40
  static RULE_log = 1;
39
41
  static RULE_turnStatement = 2;
40
42
  static RULE_turnContent = 3;
41
43
  static RULE_statementSeq = 4;
42
- static RULE_statement = 5;
43
- static RULE_midStatement = 6;
44
- static RULE_findStatement = 7;
45
- static RULE_readStatement = 8;
46
- static RULE_editStatement = 9;
47
- static RULE_copyStatement = 10;
48
- static RULE_moveStatement = 11;
49
- static RULE_openStatement = 12;
50
- static RULE_foldStatement = 13;
51
- static RULE_sendStatement = 14;
52
- static RULE_execStatement = 15;
53
- static RULE_killStatement = 16;
54
- static RULE_planStatement = 17;
55
- static RULE_tagOpModifiers = 18;
56
- static RULE_intOpModifiers = 19;
57
- static RULE_execModifiers = 20;
58
- static RULE_tagSignal = 21;
59
- static RULE_intSignal = 22;
60
- static RULE_identSignal = 23;
61
- static RULE_target = 24;
62
- static RULE_lineMarker = 25;
63
- static RULE_body = 26;
44
+ static RULE_clientStatementSeq = 5;
45
+ static RULE_clientStatement = 6;
46
+ static RULE_statement = 7;
47
+ static RULE_midStatement = 8;
48
+ static RULE_findStatement = 9;
49
+ static RULE_readStatement = 10;
50
+ static RULE_editStatement = 11;
51
+ static RULE_copyStatement = 12;
52
+ static RULE_moveStatement = 13;
53
+ static RULE_openStatement = 14;
54
+ static RULE_foldStatement = 15;
55
+ static RULE_sendStatement = 16;
56
+ static RULE_execStatement = 17;
57
+ static RULE_killStatement = 18;
58
+ static RULE_planStatement = 19;
59
+ static RULE_lookStatement = 20;
60
+ static RULE_buffStatement = 21;
61
+ static RULE_tagOpModifiers = 22;
62
+ static RULE_intOpModifiers = 23;
63
+ static RULE_execModifiers = 24;
64
+ static RULE_tagSignal = 25;
65
+ static RULE_intSignal = 26;
66
+ static RULE_identSignal = 27;
67
+ static RULE_target = 28;
68
+ static RULE_lineMarker = 29;
69
+ static RULE_body = 30;
64
70
  static literalNames = [
65
71
  null, null, null, null, null, null, null, null, null, null, null,
66
72
  null, null, null, null, null, null, null, null, null, null, null,
67
73
  null, null, null, null, null, null, null, null, null, null, null,
68
- "','", "':'"
74
+ null, null, "','", "':'"
69
75
  ];
70
76
  static symbolicNames = [
71
77
  null, "LBRACKET", "RBRACKET", "LPAREN", "RPAREN", "L_MARKER", "COLON",
72
78
  "COMMA", "INT", "IDENT", "TAG", "TARGET_TEXT", "BODY_TEXT", "CLOSE_TAG",
73
79
  "TEXT", "OPEN_TURN", "CLOSE_TURN", "OPEN_FIND", "OPEN_READ", "OPEN_EDIT",
74
80
  "OPEN_COPY", "OPEN_MOVE", "OPEN_OPEN", "OPEN_FOLD", "OPEN_SEND",
75
- "OPEN_EXEC", "OPEN_KILL", "OPEN_PLAN", "WS", "SLOTS_WS", "ST_WS",
76
- "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
81
+ "OPEN_EXEC", "OPEN_KILL", "OPEN_PLAN", "OPEN_LOOK", "OPEN_BUFF",
82
+ "WS", "SLOTS_WS", "ST_WS", "SI_WS", "SD_WS", "ST_COMMA", "B_COLON"
77
83
  ];
78
84
  static ruleNames = [
79
85
  "document", "log", "turnStatement", "turnContent", "statementSeq",
80
- "statement", "midStatement", "findStatement", "readStatement", "editStatement",
81
- "copyStatement", "moveStatement", "openStatement", "foldStatement",
82
- "sendStatement", "execStatement", "killStatement", "planStatement",
83
- "tagOpModifiers", "intOpModifiers", "execModifiers", "tagSignal",
84
- "intSignal", "identSignal", "target", "lineMarker", "body",
86
+ "clientStatementSeq", "clientStatement", "statement", "midStatement",
87
+ "findStatement", "readStatement", "editStatement", "copyStatement",
88
+ "moveStatement", "openStatement", "foldStatement", "sendStatement",
89
+ "execStatement", "killStatement", "planStatement", "lookStatement",
90
+ "buffStatement", "tagOpModifiers", "intOpModifiers", "execModifiers",
91
+ "tagSignal", "intSignal", "identSignal", "target", "lineMarker",
92
+ "body",
85
93
  ];
86
94
  get grammarFileName() { return "plurnkParser.g4"; }
87
95
  get literalNames() { return plurnkParser.literalNames; }
@@ -101,9 +109,9 @@ export class plurnkParser extends antlr.Parser {
101
109
  try {
102
110
  this.enterOuterAlt(localContext, 1);
103
111
  {
104
- this.state = 54;
112
+ this.state = 62;
105
113
  this.turnContent();
106
- this.state = 55;
114
+ this.state = 63;
107
115
  this.match(plurnkParser.EOF);
108
116
  }
109
117
  }
@@ -128,21 +136,21 @@ export class plurnkParser extends antlr.Parser {
128
136
  try {
129
137
  this.enterOuterAlt(localContext, 1);
130
138
  {
131
- this.state = 58;
139
+ this.state = 66;
132
140
  this.errorHandler.sync(this);
133
141
  _la = this.tokenStream.LA(1);
134
142
  do {
135
143
  {
136
144
  {
137
- this.state = 57;
145
+ this.state = 65;
138
146
  this.turnStatement();
139
147
  }
140
148
  }
141
- this.state = 60;
149
+ this.state = 68;
142
150
  this.errorHandler.sync(this);
143
151
  _la = this.tokenStream.LA(1);
144
152
  } while (_la === 15);
145
- this.state = 62;
153
+ this.state = 70;
146
154
  this.match(plurnkParser.EOF);
147
155
  }
148
156
  }
@@ -167,22 +175,22 @@ export class plurnkParser extends antlr.Parser {
167
175
  try {
168
176
  this.enterOuterAlt(localContext, 1);
169
177
  {
170
- this.state = 64;
178
+ this.state = 72;
171
179
  this.match(plurnkParser.OPEN_TURN);
172
- this.state = 66;
180
+ this.state = 74;
173
181
  this.errorHandler.sync(this);
174
182
  _la = this.tokenStream.LA(1);
175
183
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
176
184
  {
177
- this.state = 65;
185
+ this.state = 73;
178
186
  this.tagOpModifiers();
179
187
  }
180
188
  }
181
- this.state = 68;
189
+ this.state = 76;
182
190
  this.match(plurnkParser.COLON);
183
- this.state = 69;
191
+ this.state = 77;
184
192
  this.turnContent();
185
- this.state = 70;
193
+ this.state = 78;
186
194
  this.match(plurnkParser.CLOSE_TURN);
187
195
  }
188
196
  }
@@ -208,29 +216,29 @@ export class plurnkParser extends antlr.Parser {
208
216
  let alternative;
209
217
  this.enterOuterAlt(localContext, 1);
210
218
  {
211
- this.state = 75;
219
+ this.state = 83;
212
220
  this.errorHandler.sync(this);
213
221
  _la = this.tokenStream.LA(1);
214
222
  while (_la === 14) {
215
223
  {
216
224
  {
217
- this.state = 72;
225
+ this.state = 80;
218
226
  this.match(plurnkParser.TEXT);
219
227
  }
220
228
  }
221
- this.state = 77;
229
+ this.state = 85;
222
230
  this.errorHandler.sync(this);
223
231
  _la = this.tokenStream.LA(1);
224
232
  }
225
- this.state = 78;
233
+ this.state = 86;
226
234
  this.planStatement();
227
- this.state = 83;
235
+ this.state = 91;
228
236
  this.errorHandler.sync(this);
229
237
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
230
238
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
231
239
  if (alternative === 1) {
232
240
  {
233
- this.state = 81;
241
+ this.state = 89;
234
242
  this.errorHandler.sync(this);
235
243
  switch (this.tokenStream.LA(1)) {
236
244
  case plurnkParser.OPEN_FIND:
@@ -244,13 +252,13 @@ export class plurnkParser extends antlr.Parser {
244
252
  case plurnkParser.OPEN_EXEC:
245
253
  case plurnkParser.OPEN_KILL:
246
254
  {
247
- this.state = 79;
255
+ this.state = 87;
248
256
  this.midStatement();
249
257
  }
250
258
  break;
251
259
  case plurnkParser.TEXT:
252
260
  {
253
- this.state = 80;
261
+ this.state = 88;
254
262
  this.match(plurnkParser.TEXT);
255
263
  }
256
264
  break;
@@ -259,23 +267,23 @@ export class plurnkParser extends antlr.Parser {
259
267
  }
260
268
  }
261
269
  }
262
- this.state = 85;
270
+ this.state = 93;
263
271
  this.errorHandler.sync(this);
264
272
  alternative = this.interpreter.adaptivePredict(this.tokenStream, 4, this.context);
265
273
  }
266
- this.state = 86;
274
+ this.state = 94;
267
275
  this.sendStatement();
268
- this.state = 90;
276
+ this.state = 98;
269
277
  this.errorHandler.sync(this);
270
278
  _la = this.tokenStream.LA(1);
271
279
  while (_la === 14) {
272
280
  {
273
281
  {
274
- this.state = 87;
282
+ this.state = 95;
275
283
  this.match(plurnkParser.TEXT);
276
284
  }
277
285
  }
278
- this.state = 92;
286
+ this.state = 100;
279
287
  this.errorHandler.sync(this);
280
288
  _la = this.tokenStream.LA(1);
281
289
  }
@@ -302,21 +310,21 @@ export class plurnkParser extends antlr.Parser {
302
310
  try {
303
311
  this.enterOuterAlt(localContext, 1);
304
312
  {
305
- this.state = 96;
313
+ this.state = 104;
306
314
  this.errorHandler.sync(this);
307
315
  _la = this.tokenStream.LA(1);
308
316
  while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 268304384) !== 0)) {
309
317
  {
310
318
  {
311
- this.state = 93;
319
+ this.state = 101;
312
320
  this.statement();
313
321
  }
314
322
  }
315
- this.state = 98;
323
+ this.state = 106;
316
324
  this.errorHandler.sync(this);
317
325
  _la = this.tokenStream.LA(1);
318
326
  }
319
- this.state = 99;
327
+ this.state = 107;
320
328
  this.match(plurnkParser.EOF);
321
329
  }
322
330
  }
@@ -334,87 +342,182 @@ export class plurnkParser extends antlr.Parser {
334
342
  }
335
343
  return localContext;
336
344
  }
345
+ clientStatementSeq() {
346
+ let localContext = new ClientStatementSeqContext(this.context, this.state);
347
+ this.enterRule(localContext, 10, plurnkParser.RULE_clientStatementSeq);
348
+ let _la;
349
+ try {
350
+ this.enterOuterAlt(localContext, 1);
351
+ {
352
+ this.state = 112;
353
+ this.errorHandler.sync(this);
354
+ _la = this.tokenStream.LA(1);
355
+ while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1073610752) !== 0)) {
356
+ {
357
+ {
358
+ this.state = 109;
359
+ this.clientStatement();
360
+ }
361
+ }
362
+ this.state = 114;
363
+ this.errorHandler.sync(this);
364
+ _la = this.tokenStream.LA(1);
365
+ }
366
+ this.state = 115;
367
+ this.match(plurnkParser.EOF);
368
+ }
369
+ }
370
+ catch (re) {
371
+ if (re instanceof antlr.RecognitionException) {
372
+ this.errorHandler.reportError(this, re);
373
+ this.errorHandler.recover(this, re);
374
+ }
375
+ else {
376
+ throw re;
377
+ }
378
+ }
379
+ finally {
380
+ this.exitRule();
381
+ }
382
+ return localContext;
383
+ }
384
+ clientStatement() {
385
+ let localContext = new ClientStatementContext(this.context, this.state);
386
+ this.enterRule(localContext, 12, plurnkParser.RULE_clientStatement);
387
+ try {
388
+ this.state = 120;
389
+ this.errorHandler.sync(this);
390
+ switch (this.tokenStream.LA(1)) {
391
+ case plurnkParser.OPEN_FIND:
392
+ case plurnkParser.OPEN_READ:
393
+ case plurnkParser.OPEN_EDIT:
394
+ case plurnkParser.OPEN_COPY:
395
+ case plurnkParser.OPEN_MOVE:
396
+ case plurnkParser.OPEN_OPEN:
397
+ case plurnkParser.OPEN_FOLD:
398
+ case plurnkParser.OPEN_SEND:
399
+ case plurnkParser.OPEN_EXEC:
400
+ case plurnkParser.OPEN_KILL:
401
+ case plurnkParser.OPEN_PLAN:
402
+ this.enterOuterAlt(localContext, 1);
403
+ {
404
+ this.state = 117;
405
+ this.statement();
406
+ }
407
+ break;
408
+ case plurnkParser.OPEN_LOOK:
409
+ this.enterOuterAlt(localContext, 2);
410
+ {
411
+ this.state = 118;
412
+ this.lookStatement();
413
+ }
414
+ break;
415
+ case plurnkParser.OPEN_BUFF:
416
+ this.enterOuterAlt(localContext, 3);
417
+ {
418
+ this.state = 119;
419
+ this.buffStatement();
420
+ }
421
+ break;
422
+ default:
423
+ throw new antlr.NoViableAltException(this);
424
+ }
425
+ }
426
+ catch (re) {
427
+ if (re instanceof antlr.RecognitionException) {
428
+ this.errorHandler.reportError(this, re);
429
+ this.errorHandler.recover(this, re);
430
+ }
431
+ else {
432
+ throw re;
433
+ }
434
+ }
435
+ finally {
436
+ this.exitRule();
437
+ }
438
+ return localContext;
439
+ }
337
440
  statement() {
338
441
  let localContext = new StatementContext(this.context, this.state);
339
- this.enterRule(localContext, 10, plurnkParser.RULE_statement);
442
+ this.enterRule(localContext, 14, plurnkParser.RULE_statement);
340
443
  try {
341
- this.state = 112;
444
+ this.state = 133;
342
445
  this.errorHandler.sync(this);
343
446
  switch (this.tokenStream.LA(1)) {
344
447
  case plurnkParser.OPEN_FIND:
345
448
  this.enterOuterAlt(localContext, 1);
346
449
  {
347
- this.state = 101;
450
+ this.state = 122;
348
451
  this.findStatement();
349
452
  }
350
453
  break;
351
454
  case plurnkParser.OPEN_READ:
352
455
  this.enterOuterAlt(localContext, 2);
353
456
  {
354
- this.state = 102;
457
+ this.state = 123;
355
458
  this.readStatement();
356
459
  }
357
460
  break;
358
461
  case plurnkParser.OPEN_EDIT:
359
462
  this.enterOuterAlt(localContext, 3);
360
463
  {
361
- this.state = 103;
464
+ this.state = 124;
362
465
  this.editStatement();
363
466
  }
364
467
  break;
365
468
  case plurnkParser.OPEN_COPY:
366
469
  this.enterOuterAlt(localContext, 4);
367
470
  {
368
- this.state = 104;
471
+ this.state = 125;
369
472
  this.copyStatement();
370
473
  }
371
474
  break;
372
475
  case plurnkParser.OPEN_MOVE:
373
476
  this.enterOuterAlt(localContext, 5);
374
477
  {
375
- this.state = 105;
478
+ this.state = 126;
376
479
  this.moveStatement();
377
480
  }
378
481
  break;
379
482
  case plurnkParser.OPEN_OPEN:
380
483
  this.enterOuterAlt(localContext, 6);
381
484
  {
382
- this.state = 106;
485
+ this.state = 127;
383
486
  this.openStatement();
384
487
  }
385
488
  break;
386
489
  case plurnkParser.OPEN_FOLD:
387
490
  this.enterOuterAlt(localContext, 7);
388
491
  {
389
- this.state = 107;
492
+ this.state = 128;
390
493
  this.foldStatement();
391
494
  }
392
495
  break;
393
496
  case plurnkParser.OPEN_SEND:
394
497
  this.enterOuterAlt(localContext, 8);
395
498
  {
396
- this.state = 108;
499
+ this.state = 129;
397
500
  this.sendStatement();
398
501
  }
399
502
  break;
400
503
  case plurnkParser.OPEN_EXEC:
401
504
  this.enterOuterAlt(localContext, 9);
402
505
  {
403
- this.state = 109;
506
+ this.state = 130;
404
507
  this.execStatement();
405
508
  }
406
509
  break;
407
510
  case plurnkParser.OPEN_KILL:
408
511
  this.enterOuterAlt(localContext, 10);
409
512
  {
410
- this.state = 110;
513
+ this.state = 131;
411
514
  this.killStatement();
412
515
  }
413
516
  break;
414
517
  case plurnkParser.OPEN_PLAN:
415
518
  this.enterOuterAlt(localContext, 11);
416
519
  {
417
- this.state = 111;
520
+ this.state = 132;
418
521
  this.planStatement();
419
522
  }
420
523
  break;
@@ -438,78 +541,78 @@ export class plurnkParser extends antlr.Parser {
438
541
  }
439
542
  midStatement() {
440
543
  let localContext = new MidStatementContext(this.context, this.state);
441
- this.enterRule(localContext, 12, plurnkParser.RULE_midStatement);
544
+ this.enterRule(localContext, 16, plurnkParser.RULE_midStatement);
442
545
  try {
443
- this.state = 124;
546
+ this.state = 145;
444
547
  this.errorHandler.sync(this);
445
548
  switch (this.tokenStream.LA(1)) {
446
549
  case plurnkParser.OPEN_FIND:
447
550
  this.enterOuterAlt(localContext, 1);
448
551
  {
449
- this.state = 114;
552
+ this.state = 135;
450
553
  this.findStatement();
451
554
  }
452
555
  break;
453
556
  case plurnkParser.OPEN_READ:
454
557
  this.enterOuterAlt(localContext, 2);
455
558
  {
456
- this.state = 115;
559
+ this.state = 136;
457
560
  this.readStatement();
458
561
  }
459
562
  break;
460
563
  case plurnkParser.OPEN_EDIT:
461
564
  this.enterOuterAlt(localContext, 3);
462
565
  {
463
- this.state = 116;
566
+ this.state = 137;
464
567
  this.editStatement();
465
568
  }
466
569
  break;
467
570
  case plurnkParser.OPEN_COPY:
468
571
  this.enterOuterAlt(localContext, 4);
469
572
  {
470
- this.state = 117;
573
+ this.state = 138;
471
574
  this.copyStatement();
472
575
  }
473
576
  break;
474
577
  case plurnkParser.OPEN_MOVE:
475
578
  this.enterOuterAlt(localContext, 5);
476
579
  {
477
- this.state = 118;
580
+ this.state = 139;
478
581
  this.moveStatement();
479
582
  }
480
583
  break;
481
584
  case plurnkParser.OPEN_OPEN:
482
585
  this.enterOuterAlt(localContext, 6);
483
586
  {
484
- this.state = 119;
587
+ this.state = 140;
485
588
  this.openStatement();
486
589
  }
487
590
  break;
488
591
  case plurnkParser.OPEN_FOLD:
489
592
  this.enterOuterAlt(localContext, 7);
490
593
  {
491
- this.state = 120;
594
+ this.state = 141;
492
595
  this.foldStatement();
493
596
  }
494
597
  break;
495
598
  case plurnkParser.OPEN_SEND:
496
599
  this.enterOuterAlt(localContext, 8);
497
600
  {
498
- this.state = 121;
601
+ this.state = 142;
499
602
  this.sendStatement();
500
603
  }
501
604
  break;
502
605
  case plurnkParser.OPEN_EXEC:
503
606
  this.enterOuterAlt(localContext, 9);
504
607
  {
505
- this.state = 122;
608
+ this.state = 143;
506
609
  this.execStatement();
507
610
  }
508
611
  break;
509
612
  case plurnkParser.OPEN_KILL:
510
613
  this.enterOuterAlt(localContext, 10);
511
614
  {
512
- this.state = 123;
615
+ this.state = 144;
513
616
  this.killStatement();
514
617
  }
515
618
  break;
@@ -533,41 +636,41 @@ export class plurnkParser extends antlr.Parser {
533
636
  }
534
637
  findStatement() {
535
638
  let localContext = new FindStatementContext(this.context, this.state);
536
- this.enterRule(localContext, 14, plurnkParser.RULE_findStatement);
639
+ this.enterRule(localContext, 18, plurnkParser.RULE_findStatement);
537
640
  let _la;
538
641
  try {
539
642
  this.enterOuterAlt(localContext, 1);
540
643
  {
541
- this.state = 126;
644
+ this.state = 147;
542
645
  this.match(plurnkParser.OPEN_FIND);
543
- this.state = 128;
646
+ this.state = 149;
544
647
  this.errorHandler.sync(this);
545
648
  _la = this.tokenStream.LA(1);
546
649
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
547
650
  {
548
- this.state = 127;
651
+ this.state = 148;
549
652
  this.tagOpModifiers();
550
653
  }
551
654
  }
552
- this.state = 131;
655
+ this.state = 152;
553
656
  this.errorHandler.sync(this);
554
657
  _la = this.tokenStream.LA(1);
555
658
  if (_la === 6) {
556
659
  {
557
- this.state = 130;
660
+ this.state = 151;
558
661
  this.match(plurnkParser.COLON);
559
662
  }
560
663
  }
561
- this.state = 134;
664
+ this.state = 155;
562
665
  this.errorHandler.sync(this);
563
666
  _la = this.tokenStream.LA(1);
564
667
  if (_la === 12) {
565
668
  {
566
- this.state = 133;
669
+ this.state = 154;
567
670
  this.body();
568
671
  }
569
672
  }
570
- this.state = 136;
673
+ this.state = 157;
571
674
  this.match(plurnkParser.CLOSE_TAG);
572
675
  }
573
676
  }
@@ -587,41 +690,41 @@ export class plurnkParser extends antlr.Parser {
587
690
  }
588
691
  readStatement() {
589
692
  let localContext = new ReadStatementContext(this.context, this.state);
590
- this.enterRule(localContext, 16, plurnkParser.RULE_readStatement);
693
+ this.enterRule(localContext, 20, plurnkParser.RULE_readStatement);
591
694
  let _la;
592
695
  try {
593
696
  this.enterOuterAlt(localContext, 1);
594
697
  {
595
- this.state = 138;
698
+ this.state = 159;
596
699
  this.match(plurnkParser.OPEN_READ);
597
- this.state = 140;
700
+ this.state = 161;
598
701
  this.errorHandler.sync(this);
599
702
  _la = this.tokenStream.LA(1);
600
703
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
601
704
  {
602
- this.state = 139;
705
+ this.state = 160;
603
706
  this.tagOpModifiers();
604
707
  }
605
708
  }
606
- this.state = 143;
709
+ this.state = 164;
607
710
  this.errorHandler.sync(this);
608
711
  _la = this.tokenStream.LA(1);
609
712
  if (_la === 6) {
610
713
  {
611
- this.state = 142;
714
+ this.state = 163;
612
715
  this.match(plurnkParser.COLON);
613
716
  }
614
717
  }
615
- this.state = 146;
718
+ this.state = 167;
616
719
  this.errorHandler.sync(this);
617
720
  _la = this.tokenStream.LA(1);
618
721
  if (_la === 12) {
619
722
  {
620
- this.state = 145;
723
+ this.state = 166;
621
724
  this.body();
622
725
  }
623
726
  }
624
- this.state = 148;
727
+ this.state = 169;
625
728
  this.match(plurnkParser.CLOSE_TAG);
626
729
  }
627
730
  }
@@ -641,41 +744,41 @@ export class plurnkParser extends antlr.Parser {
641
744
  }
642
745
  editStatement() {
643
746
  let localContext = new EditStatementContext(this.context, this.state);
644
- this.enterRule(localContext, 18, plurnkParser.RULE_editStatement);
747
+ this.enterRule(localContext, 22, plurnkParser.RULE_editStatement);
645
748
  let _la;
646
749
  try {
647
750
  this.enterOuterAlt(localContext, 1);
648
751
  {
649
- this.state = 150;
752
+ this.state = 171;
650
753
  this.match(plurnkParser.OPEN_EDIT);
651
- this.state = 152;
754
+ this.state = 173;
652
755
  this.errorHandler.sync(this);
653
756
  _la = this.tokenStream.LA(1);
654
757
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
655
758
  {
656
- this.state = 151;
759
+ this.state = 172;
657
760
  this.tagOpModifiers();
658
761
  }
659
762
  }
660
- this.state = 155;
763
+ this.state = 176;
661
764
  this.errorHandler.sync(this);
662
765
  _la = this.tokenStream.LA(1);
663
766
  if (_la === 6) {
664
767
  {
665
- this.state = 154;
768
+ this.state = 175;
666
769
  this.match(plurnkParser.COLON);
667
770
  }
668
771
  }
669
- this.state = 158;
772
+ this.state = 179;
670
773
  this.errorHandler.sync(this);
671
774
  _la = this.tokenStream.LA(1);
672
775
  if (_la === 12) {
673
776
  {
674
- this.state = 157;
777
+ this.state = 178;
675
778
  this.body();
676
779
  }
677
780
  }
678
- this.state = 160;
781
+ this.state = 181;
679
782
  this.match(plurnkParser.CLOSE_TAG);
680
783
  }
681
784
  }
@@ -695,41 +798,41 @@ export class plurnkParser extends antlr.Parser {
695
798
  }
696
799
  copyStatement() {
697
800
  let localContext = new CopyStatementContext(this.context, this.state);
698
- this.enterRule(localContext, 20, plurnkParser.RULE_copyStatement);
801
+ this.enterRule(localContext, 24, plurnkParser.RULE_copyStatement);
699
802
  let _la;
700
803
  try {
701
804
  this.enterOuterAlt(localContext, 1);
702
805
  {
703
- this.state = 162;
806
+ this.state = 183;
704
807
  this.match(plurnkParser.OPEN_COPY);
705
- this.state = 164;
808
+ this.state = 185;
706
809
  this.errorHandler.sync(this);
707
810
  _la = this.tokenStream.LA(1);
708
811
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
709
812
  {
710
- this.state = 163;
813
+ this.state = 184;
711
814
  this.tagOpModifiers();
712
815
  }
713
816
  }
714
- this.state = 167;
817
+ this.state = 188;
715
818
  this.errorHandler.sync(this);
716
819
  _la = this.tokenStream.LA(1);
717
820
  if (_la === 6) {
718
821
  {
719
- this.state = 166;
822
+ this.state = 187;
720
823
  this.match(plurnkParser.COLON);
721
824
  }
722
825
  }
723
- this.state = 170;
826
+ this.state = 191;
724
827
  this.errorHandler.sync(this);
725
828
  _la = this.tokenStream.LA(1);
726
829
  if (_la === 12) {
727
830
  {
728
- this.state = 169;
831
+ this.state = 190;
729
832
  this.body();
730
833
  }
731
834
  }
732
- this.state = 172;
835
+ this.state = 193;
733
836
  this.match(plurnkParser.CLOSE_TAG);
734
837
  }
735
838
  }
@@ -749,41 +852,41 @@ export class plurnkParser extends antlr.Parser {
749
852
  }
750
853
  moveStatement() {
751
854
  let localContext = new MoveStatementContext(this.context, this.state);
752
- this.enterRule(localContext, 22, plurnkParser.RULE_moveStatement);
855
+ this.enterRule(localContext, 26, plurnkParser.RULE_moveStatement);
753
856
  let _la;
754
857
  try {
755
858
  this.enterOuterAlt(localContext, 1);
756
859
  {
757
- this.state = 174;
860
+ this.state = 195;
758
861
  this.match(plurnkParser.OPEN_MOVE);
759
- this.state = 176;
862
+ this.state = 197;
760
863
  this.errorHandler.sync(this);
761
864
  _la = this.tokenStream.LA(1);
762
865
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
763
866
  {
764
- this.state = 175;
867
+ this.state = 196;
765
868
  this.tagOpModifiers();
766
869
  }
767
870
  }
768
- this.state = 179;
871
+ this.state = 200;
769
872
  this.errorHandler.sync(this);
770
873
  _la = this.tokenStream.LA(1);
771
874
  if (_la === 6) {
772
875
  {
773
- this.state = 178;
876
+ this.state = 199;
774
877
  this.match(plurnkParser.COLON);
775
878
  }
776
879
  }
777
- this.state = 182;
880
+ this.state = 203;
778
881
  this.errorHandler.sync(this);
779
882
  _la = this.tokenStream.LA(1);
780
883
  if (_la === 12) {
781
884
  {
782
- this.state = 181;
885
+ this.state = 202;
783
886
  this.body();
784
887
  }
785
888
  }
786
- this.state = 184;
889
+ this.state = 205;
787
890
  this.match(plurnkParser.CLOSE_TAG);
788
891
  }
789
892
  }
@@ -803,41 +906,41 @@ export class plurnkParser extends antlr.Parser {
803
906
  }
804
907
  openStatement() {
805
908
  let localContext = new OpenStatementContext(this.context, this.state);
806
- this.enterRule(localContext, 24, plurnkParser.RULE_openStatement);
909
+ this.enterRule(localContext, 28, plurnkParser.RULE_openStatement);
807
910
  let _la;
808
911
  try {
809
912
  this.enterOuterAlt(localContext, 1);
810
913
  {
811
- this.state = 186;
914
+ this.state = 207;
812
915
  this.match(plurnkParser.OPEN_OPEN);
813
- this.state = 188;
916
+ this.state = 209;
814
917
  this.errorHandler.sync(this);
815
918
  _la = this.tokenStream.LA(1);
816
919
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
817
920
  {
818
- this.state = 187;
921
+ this.state = 208;
819
922
  this.tagOpModifiers();
820
923
  }
821
924
  }
822
- this.state = 191;
925
+ this.state = 212;
823
926
  this.errorHandler.sync(this);
824
927
  _la = this.tokenStream.LA(1);
825
928
  if (_la === 6) {
826
929
  {
827
- this.state = 190;
930
+ this.state = 211;
828
931
  this.match(plurnkParser.COLON);
829
932
  }
830
933
  }
831
- this.state = 194;
934
+ this.state = 215;
832
935
  this.errorHandler.sync(this);
833
936
  _la = this.tokenStream.LA(1);
834
937
  if (_la === 12) {
835
938
  {
836
- this.state = 193;
939
+ this.state = 214;
837
940
  this.body();
838
941
  }
839
942
  }
840
- this.state = 196;
943
+ this.state = 217;
841
944
  this.match(plurnkParser.CLOSE_TAG);
842
945
  }
843
946
  }
@@ -857,41 +960,41 @@ export class plurnkParser extends antlr.Parser {
857
960
  }
858
961
  foldStatement() {
859
962
  let localContext = new FoldStatementContext(this.context, this.state);
860
- this.enterRule(localContext, 26, plurnkParser.RULE_foldStatement);
963
+ this.enterRule(localContext, 30, plurnkParser.RULE_foldStatement);
861
964
  let _la;
862
965
  try {
863
966
  this.enterOuterAlt(localContext, 1);
864
967
  {
865
- this.state = 198;
968
+ this.state = 219;
866
969
  this.match(plurnkParser.OPEN_FOLD);
867
- this.state = 200;
970
+ this.state = 221;
868
971
  this.errorHandler.sync(this);
869
972
  _la = this.tokenStream.LA(1);
870
973
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
871
974
  {
872
- this.state = 199;
975
+ this.state = 220;
873
976
  this.tagOpModifiers();
874
977
  }
875
978
  }
876
- this.state = 203;
979
+ this.state = 224;
877
980
  this.errorHandler.sync(this);
878
981
  _la = this.tokenStream.LA(1);
879
982
  if (_la === 6) {
880
983
  {
881
- this.state = 202;
984
+ this.state = 223;
882
985
  this.match(plurnkParser.COLON);
883
986
  }
884
987
  }
885
- this.state = 206;
988
+ this.state = 227;
886
989
  this.errorHandler.sync(this);
887
990
  _la = this.tokenStream.LA(1);
888
991
  if (_la === 12) {
889
992
  {
890
- this.state = 205;
993
+ this.state = 226;
891
994
  this.body();
892
995
  }
893
996
  }
894
- this.state = 208;
997
+ this.state = 229;
895
998
  this.match(plurnkParser.CLOSE_TAG);
896
999
  }
897
1000
  }
@@ -911,41 +1014,41 @@ export class plurnkParser extends antlr.Parser {
911
1014
  }
912
1015
  sendStatement() {
913
1016
  let localContext = new SendStatementContext(this.context, this.state);
914
- this.enterRule(localContext, 28, plurnkParser.RULE_sendStatement);
1017
+ this.enterRule(localContext, 32, plurnkParser.RULE_sendStatement);
915
1018
  let _la;
916
1019
  try {
917
1020
  this.enterOuterAlt(localContext, 1);
918
1021
  {
919
- this.state = 210;
1022
+ this.state = 231;
920
1023
  this.match(plurnkParser.OPEN_SEND);
921
- this.state = 212;
1024
+ this.state = 233;
922
1025
  this.errorHandler.sync(this);
923
1026
  _la = this.tokenStream.LA(1);
924
1027
  if (_la === 1 || _la === 3) {
925
1028
  {
926
- this.state = 211;
1029
+ this.state = 232;
927
1030
  this.intOpModifiers();
928
1031
  }
929
1032
  }
930
- this.state = 215;
1033
+ this.state = 236;
931
1034
  this.errorHandler.sync(this);
932
1035
  _la = this.tokenStream.LA(1);
933
1036
  if (_la === 6) {
934
1037
  {
935
- this.state = 214;
1038
+ this.state = 235;
936
1039
  this.match(plurnkParser.COLON);
937
1040
  }
938
1041
  }
939
- this.state = 218;
1042
+ this.state = 239;
940
1043
  this.errorHandler.sync(this);
941
1044
  _la = this.tokenStream.LA(1);
942
1045
  if (_la === 12) {
943
1046
  {
944
- this.state = 217;
1047
+ this.state = 238;
945
1048
  this.body();
946
1049
  }
947
1050
  }
948
- this.state = 220;
1051
+ this.state = 241;
949
1052
  this.match(plurnkParser.CLOSE_TAG);
950
1053
  }
951
1054
  }
@@ -965,41 +1068,41 @@ export class plurnkParser extends antlr.Parser {
965
1068
  }
966
1069
  execStatement() {
967
1070
  let localContext = new ExecStatementContext(this.context, this.state);
968
- this.enterRule(localContext, 30, plurnkParser.RULE_execStatement);
1071
+ this.enterRule(localContext, 34, plurnkParser.RULE_execStatement);
969
1072
  let _la;
970
1073
  try {
971
1074
  this.enterOuterAlt(localContext, 1);
972
1075
  {
973
- this.state = 222;
1076
+ this.state = 243;
974
1077
  this.match(plurnkParser.OPEN_EXEC);
975
- this.state = 224;
1078
+ this.state = 245;
976
1079
  this.errorHandler.sync(this);
977
1080
  _la = this.tokenStream.LA(1);
978
1081
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
979
1082
  {
980
- this.state = 223;
1083
+ this.state = 244;
981
1084
  this.execModifiers();
982
1085
  }
983
1086
  }
984
- this.state = 227;
1087
+ this.state = 248;
985
1088
  this.errorHandler.sync(this);
986
1089
  _la = this.tokenStream.LA(1);
987
1090
  if (_la === 6) {
988
1091
  {
989
- this.state = 226;
1092
+ this.state = 247;
990
1093
  this.match(plurnkParser.COLON);
991
1094
  }
992
1095
  }
993
- this.state = 230;
1096
+ this.state = 251;
994
1097
  this.errorHandler.sync(this);
995
1098
  _la = this.tokenStream.LA(1);
996
1099
  if (_la === 12) {
997
1100
  {
998
- this.state = 229;
1101
+ this.state = 250;
999
1102
  this.body();
1000
1103
  }
1001
1104
  }
1002
- this.state = 232;
1105
+ this.state = 253;
1003
1106
  this.match(plurnkParser.CLOSE_TAG);
1004
1107
  }
1005
1108
  }
@@ -1019,41 +1122,41 @@ export class plurnkParser extends antlr.Parser {
1019
1122
  }
1020
1123
  killStatement() {
1021
1124
  let localContext = new KillStatementContext(this.context, this.state);
1022
- this.enterRule(localContext, 32, plurnkParser.RULE_killStatement);
1125
+ this.enterRule(localContext, 36, plurnkParser.RULE_killStatement);
1023
1126
  let _la;
1024
1127
  try {
1025
1128
  this.enterOuterAlt(localContext, 1);
1026
1129
  {
1027
- this.state = 234;
1130
+ this.state = 255;
1028
1131
  this.match(plurnkParser.OPEN_KILL);
1029
- this.state = 236;
1132
+ this.state = 257;
1030
1133
  this.errorHandler.sync(this);
1031
1134
  _la = this.tokenStream.LA(1);
1032
1135
  if (_la === 1 || _la === 3) {
1033
1136
  {
1034
- this.state = 235;
1137
+ this.state = 256;
1035
1138
  this.intOpModifiers();
1036
1139
  }
1037
1140
  }
1038
- this.state = 239;
1141
+ this.state = 260;
1039
1142
  this.errorHandler.sync(this);
1040
1143
  _la = this.tokenStream.LA(1);
1041
1144
  if (_la === 6) {
1042
1145
  {
1043
- this.state = 238;
1146
+ this.state = 259;
1044
1147
  this.match(plurnkParser.COLON);
1045
1148
  }
1046
1149
  }
1047
- this.state = 242;
1150
+ this.state = 263;
1048
1151
  this.errorHandler.sync(this);
1049
1152
  _la = this.tokenStream.LA(1);
1050
1153
  if (_la === 12) {
1051
1154
  {
1052
- this.state = 241;
1155
+ this.state = 262;
1053
1156
  this.body();
1054
1157
  }
1055
1158
  }
1056
- this.state = 244;
1159
+ this.state = 265;
1057
1160
  this.match(plurnkParser.CLOSE_TAG);
1058
1161
  }
1059
1162
  }
@@ -1073,41 +1176,149 @@ export class plurnkParser extends antlr.Parser {
1073
1176
  }
1074
1177
  planStatement() {
1075
1178
  let localContext = new PlanStatementContext(this.context, this.state);
1076
- this.enterRule(localContext, 34, plurnkParser.RULE_planStatement);
1179
+ this.enterRule(localContext, 38, plurnkParser.RULE_planStatement);
1077
1180
  let _la;
1078
1181
  try {
1079
1182
  this.enterOuterAlt(localContext, 1);
1080
1183
  {
1081
- this.state = 246;
1184
+ this.state = 267;
1082
1185
  this.match(plurnkParser.OPEN_PLAN);
1083
- this.state = 248;
1186
+ this.state = 269;
1084
1187
  this.errorHandler.sync(this);
1085
1188
  _la = this.tokenStream.LA(1);
1086
1189
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1087
1190
  {
1088
- this.state = 247;
1191
+ this.state = 268;
1089
1192
  this.tagOpModifiers();
1090
1193
  }
1091
1194
  }
1092
- this.state = 251;
1195
+ this.state = 272;
1093
1196
  this.errorHandler.sync(this);
1094
1197
  _la = this.tokenStream.LA(1);
1095
1198
  if (_la === 6) {
1096
1199
  {
1097
- this.state = 250;
1200
+ this.state = 271;
1201
+ this.match(plurnkParser.COLON);
1202
+ }
1203
+ }
1204
+ this.state = 275;
1205
+ this.errorHandler.sync(this);
1206
+ _la = this.tokenStream.LA(1);
1207
+ if (_la === 12) {
1208
+ {
1209
+ this.state = 274;
1210
+ this.body();
1211
+ }
1212
+ }
1213
+ this.state = 277;
1214
+ this.match(plurnkParser.CLOSE_TAG);
1215
+ }
1216
+ }
1217
+ catch (re) {
1218
+ if (re instanceof antlr.RecognitionException) {
1219
+ this.errorHandler.reportError(this, re);
1220
+ this.errorHandler.recover(this, re);
1221
+ }
1222
+ else {
1223
+ throw re;
1224
+ }
1225
+ }
1226
+ finally {
1227
+ this.exitRule();
1228
+ }
1229
+ return localContext;
1230
+ }
1231
+ lookStatement() {
1232
+ let localContext = new LookStatementContext(this.context, this.state);
1233
+ this.enterRule(localContext, 40, plurnkParser.RULE_lookStatement);
1234
+ let _la;
1235
+ try {
1236
+ this.enterOuterAlt(localContext, 1);
1237
+ {
1238
+ this.state = 279;
1239
+ this.match(plurnkParser.OPEN_LOOK);
1240
+ this.state = 281;
1241
+ this.errorHandler.sync(this);
1242
+ _la = this.tokenStream.LA(1);
1243
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1244
+ {
1245
+ this.state = 280;
1246
+ this.tagOpModifiers();
1247
+ }
1248
+ }
1249
+ this.state = 284;
1250
+ this.errorHandler.sync(this);
1251
+ _la = this.tokenStream.LA(1);
1252
+ if (_la === 6) {
1253
+ {
1254
+ this.state = 283;
1098
1255
  this.match(plurnkParser.COLON);
1099
1256
  }
1100
1257
  }
1101
- this.state = 254;
1258
+ this.state = 287;
1102
1259
  this.errorHandler.sync(this);
1103
1260
  _la = this.tokenStream.LA(1);
1104
1261
  if (_la === 12) {
1105
1262
  {
1106
- this.state = 253;
1263
+ this.state = 286;
1107
1264
  this.body();
1108
1265
  }
1109
1266
  }
1110
- this.state = 256;
1267
+ this.state = 289;
1268
+ this.match(plurnkParser.CLOSE_TAG);
1269
+ }
1270
+ }
1271
+ catch (re) {
1272
+ if (re instanceof antlr.RecognitionException) {
1273
+ this.errorHandler.reportError(this, re);
1274
+ this.errorHandler.recover(this, re);
1275
+ }
1276
+ else {
1277
+ throw re;
1278
+ }
1279
+ }
1280
+ finally {
1281
+ this.exitRule();
1282
+ }
1283
+ return localContext;
1284
+ }
1285
+ buffStatement() {
1286
+ let localContext = new BuffStatementContext(this.context, this.state);
1287
+ this.enterRule(localContext, 42, plurnkParser.RULE_buffStatement);
1288
+ let _la;
1289
+ try {
1290
+ this.enterOuterAlt(localContext, 1);
1291
+ {
1292
+ this.state = 291;
1293
+ this.match(plurnkParser.OPEN_BUFF);
1294
+ this.state = 293;
1295
+ this.errorHandler.sync(this);
1296
+ _la = this.tokenStream.LA(1);
1297
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 42) !== 0)) {
1298
+ {
1299
+ this.state = 292;
1300
+ this.tagOpModifiers();
1301
+ }
1302
+ }
1303
+ this.state = 296;
1304
+ this.errorHandler.sync(this);
1305
+ _la = this.tokenStream.LA(1);
1306
+ if (_la === 6) {
1307
+ {
1308
+ this.state = 295;
1309
+ this.match(plurnkParser.COLON);
1310
+ }
1311
+ }
1312
+ this.state = 299;
1313
+ this.errorHandler.sync(this);
1314
+ _la = this.tokenStream.LA(1);
1315
+ if (_la === 12) {
1316
+ {
1317
+ this.state = 298;
1318
+ this.body();
1319
+ }
1320
+ }
1321
+ this.state = 301;
1111
1322
  this.match(plurnkParser.CLOSE_TAG);
1112
1323
  }
1113
1324
  }
@@ -1127,30 +1338,30 @@ export class plurnkParser extends antlr.Parser {
1127
1338
  }
1128
1339
  tagOpModifiers() {
1129
1340
  let localContext = new TagOpModifiersContext(this.context, this.state);
1130
- this.enterRule(localContext, 36, plurnkParser.RULE_tagOpModifiers);
1341
+ this.enterRule(localContext, 44, plurnkParser.RULE_tagOpModifiers);
1131
1342
  let _la;
1132
1343
  try {
1133
- this.state = 291;
1344
+ this.state = 336;
1134
1345
  this.errorHandler.sync(this);
1135
1346
  switch (this.tokenStream.LA(1)) {
1136
1347
  case plurnkParser.LBRACKET:
1137
1348
  this.enterOuterAlt(localContext, 1);
1138
1349
  {
1139
- this.state = 258;
1350
+ this.state = 303;
1140
1351
  this.tagSignal();
1141
- this.state = 267;
1352
+ this.state = 312;
1142
1353
  this.errorHandler.sync(this);
1143
1354
  switch (this.tokenStream.LA(1)) {
1144
1355
  case plurnkParser.LPAREN:
1145
1356
  {
1146
- this.state = 259;
1357
+ this.state = 304;
1147
1358
  this.target();
1148
- this.state = 261;
1359
+ this.state = 306;
1149
1360
  this.errorHandler.sync(this);
1150
1361
  _la = this.tokenStream.LA(1);
1151
1362
  if (_la === 5) {
1152
1363
  {
1153
- this.state = 260;
1364
+ this.state = 305;
1154
1365
  this.lineMarker();
1155
1366
  }
1156
1367
  }
@@ -1158,14 +1369,14 @@ export class plurnkParser extends antlr.Parser {
1158
1369
  break;
1159
1370
  case plurnkParser.L_MARKER:
1160
1371
  {
1161
- this.state = 263;
1372
+ this.state = 308;
1162
1373
  this.lineMarker();
1163
- this.state = 265;
1374
+ this.state = 310;
1164
1375
  this.errorHandler.sync(this);
1165
1376
  _la = this.tokenStream.LA(1);
1166
1377
  if (_la === 3) {
1167
1378
  {
1168
- this.state = 264;
1379
+ this.state = 309;
1169
1380
  this.target();
1170
1381
  }
1171
1382
  }
@@ -1183,21 +1394,21 @@ export class plurnkParser extends antlr.Parser {
1183
1394
  case plurnkParser.LPAREN:
1184
1395
  this.enterOuterAlt(localContext, 2);
1185
1396
  {
1186
- this.state = 269;
1397
+ this.state = 314;
1187
1398
  this.target();
1188
- this.state = 278;
1399
+ this.state = 323;
1189
1400
  this.errorHandler.sync(this);
1190
1401
  switch (this.tokenStream.LA(1)) {
1191
1402
  case plurnkParser.LBRACKET:
1192
1403
  {
1193
- this.state = 270;
1404
+ this.state = 315;
1194
1405
  this.tagSignal();
1195
- this.state = 272;
1406
+ this.state = 317;
1196
1407
  this.errorHandler.sync(this);
1197
1408
  _la = this.tokenStream.LA(1);
1198
1409
  if (_la === 5) {
1199
1410
  {
1200
- this.state = 271;
1411
+ this.state = 316;
1201
1412
  this.lineMarker();
1202
1413
  }
1203
1414
  }
@@ -1205,14 +1416,14 @@ export class plurnkParser extends antlr.Parser {
1205
1416
  break;
1206
1417
  case plurnkParser.L_MARKER:
1207
1418
  {
1208
- this.state = 274;
1419
+ this.state = 319;
1209
1420
  this.lineMarker();
1210
- this.state = 276;
1421
+ this.state = 321;
1211
1422
  this.errorHandler.sync(this);
1212
1423
  _la = this.tokenStream.LA(1);
1213
1424
  if (_la === 1) {
1214
1425
  {
1215
- this.state = 275;
1426
+ this.state = 320;
1216
1427
  this.tagSignal();
1217
1428
  }
1218
1429
  }
@@ -1230,21 +1441,21 @@ export class plurnkParser extends antlr.Parser {
1230
1441
  case plurnkParser.L_MARKER:
1231
1442
  this.enterOuterAlt(localContext, 3);
1232
1443
  {
1233
- this.state = 280;
1444
+ this.state = 325;
1234
1445
  this.lineMarker();
1235
- this.state = 289;
1446
+ this.state = 334;
1236
1447
  this.errorHandler.sync(this);
1237
1448
  switch (this.tokenStream.LA(1)) {
1238
1449
  case plurnkParser.LBRACKET:
1239
1450
  {
1240
- this.state = 281;
1451
+ this.state = 326;
1241
1452
  this.tagSignal();
1242
- this.state = 283;
1453
+ this.state = 328;
1243
1454
  this.errorHandler.sync(this);
1244
1455
  _la = this.tokenStream.LA(1);
1245
1456
  if (_la === 3) {
1246
1457
  {
1247
- this.state = 282;
1458
+ this.state = 327;
1248
1459
  this.target();
1249
1460
  }
1250
1461
  }
@@ -1252,14 +1463,14 @@ export class plurnkParser extends antlr.Parser {
1252
1463
  break;
1253
1464
  case plurnkParser.LPAREN:
1254
1465
  {
1255
- this.state = 285;
1466
+ this.state = 330;
1256
1467
  this.target();
1257
- this.state = 287;
1468
+ this.state = 332;
1258
1469
  this.errorHandler.sync(this);
1259
1470
  _la = this.tokenStream.LA(1);
1260
1471
  if (_la === 1) {
1261
1472
  {
1262
- this.state = 286;
1473
+ this.state = 331;
1263
1474
  this.tagSignal();
1264
1475
  }
1265
1476
  }
@@ -1294,23 +1505,23 @@ export class plurnkParser extends antlr.Parser {
1294
1505
  }
1295
1506
  intOpModifiers() {
1296
1507
  let localContext = new IntOpModifiersContext(this.context, this.state);
1297
- this.enterRule(localContext, 38, plurnkParser.RULE_intOpModifiers);
1508
+ this.enterRule(localContext, 46, plurnkParser.RULE_intOpModifiers);
1298
1509
  let _la;
1299
1510
  try {
1300
- this.state = 301;
1511
+ this.state = 346;
1301
1512
  this.errorHandler.sync(this);
1302
1513
  switch (this.tokenStream.LA(1)) {
1303
1514
  case plurnkParser.LBRACKET:
1304
1515
  this.enterOuterAlt(localContext, 1);
1305
1516
  {
1306
- this.state = 293;
1517
+ this.state = 338;
1307
1518
  this.intSignal();
1308
- this.state = 295;
1519
+ this.state = 340;
1309
1520
  this.errorHandler.sync(this);
1310
1521
  _la = this.tokenStream.LA(1);
1311
1522
  if (_la === 3) {
1312
1523
  {
1313
- this.state = 294;
1524
+ this.state = 339;
1314
1525
  this.target();
1315
1526
  }
1316
1527
  }
@@ -1319,14 +1530,14 @@ export class plurnkParser extends antlr.Parser {
1319
1530
  case plurnkParser.LPAREN:
1320
1531
  this.enterOuterAlt(localContext, 2);
1321
1532
  {
1322
- this.state = 297;
1533
+ this.state = 342;
1323
1534
  this.target();
1324
- this.state = 299;
1535
+ this.state = 344;
1325
1536
  this.errorHandler.sync(this);
1326
1537
  _la = this.tokenStream.LA(1);
1327
1538
  if (_la === 1) {
1328
1539
  {
1329
- this.state = 298;
1540
+ this.state = 343;
1330
1541
  this.intSignal();
1331
1542
  }
1332
1543
  }
@@ -1352,30 +1563,30 @@ export class plurnkParser extends antlr.Parser {
1352
1563
  }
1353
1564
  execModifiers() {
1354
1565
  let localContext = new ExecModifiersContext(this.context, this.state);
1355
- this.enterRule(localContext, 40, plurnkParser.RULE_execModifiers);
1566
+ this.enterRule(localContext, 48, plurnkParser.RULE_execModifiers);
1356
1567
  let _la;
1357
1568
  try {
1358
- this.state = 336;
1569
+ this.state = 381;
1359
1570
  this.errorHandler.sync(this);
1360
1571
  switch (this.tokenStream.LA(1)) {
1361
1572
  case plurnkParser.LBRACKET:
1362
1573
  this.enterOuterAlt(localContext, 1);
1363
1574
  {
1364
- this.state = 303;
1575
+ this.state = 348;
1365
1576
  this.identSignal();
1366
- this.state = 312;
1577
+ this.state = 357;
1367
1578
  this.errorHandler.sync(this);
1368
1579
  switch (this.tokenStream.LA(1)) {
1369
1580
  case plurnkParser.LPAREN:
1370
1581
  {
1371
- this.state = 304;
1582
+ this.state = 349;
1372
1583
  this.target();
1373
- this.state = 306;
1584
+ this.state = 351;
1374
1585
  this.errorHandler.sync(this);
1375
1586
  _la = this.tokenStream.LA(1);
1376
1587
  if (_la === 5) {
1377
1588
  {
1378
- this.state = 305;
1589
+ this.state = 350;
1379
1590
  this.lineMarker();
1380
1591
  }
1381
1592
  }
@@ -1383,14 +1594,14 @@ export class plurnkParser extends antlr.Parser {
1383
1594
  break;
1384
1595
  case plurnkParser.L_MARKER:
1385
1596
  {
1386
- this.state = 308;
1597
+ this.state = 353;
1387
1598
  this.lineMarker();
1388
- this.state = 310;
1599
+ this.state = 355;
1389
1600
  this.errorHandler.sync(this);
1390
1601
  _la = this.tokenStream.LA(1);
1391
1602
  if (_la === 3) {
1392
1603
  {
1393
- this.state = 309;
1604
+ this.state = 354;
1394
1605
  this.target();
1395
1606
  }
1396
1607
  }
@@ -1408,21 +1619,21 @@ export class plurnkParser extends antlr.Parser {
1408
1619
  case plurnkParser.LPAREN:
1409
1620
  this.enterOuterAlt(localContext, 2);
1410
1621
  {
1411
- this.state = 314;
1622
+ this.state = 359;
1412
1623
  this.target();
1413
- this.state = 323;
1624
+ this.state = 368;
1414
1625
  this.errorHandler.sync(this);
1415
1626
  switch (this.tokenStream.LA(1)) {
1416
1627
  case plurnkParser.LBRACKET:
1417
1628
  {
1418
- this.state = 315;
1629
+ this.state = 360;
1419
1630
  this.identSignal();
1420
- this.state = 317;
1631
+ this.state = 362;
1421
1632
  this.errorHandler.sync(this);
1422
1633
  _la = this.tokenStream.LA(1);
1423
1634
  if (_la === 5) {
1424
1635
  {
1425
- this.state = 316;
1636
+ this.state = 361;
1426
1637
  this.lineMarker();
1427
1638
  }
1428
1639
  }
@@ -1430,14 +1641,14 @@ export class plurnkParser extends antlr.Parser {
1430
1641
  break;
1431
1642
  case plurnkParser.L_MARKER:
1432
1643
  {
1433
- this.state = 319;
1644
+ this.state = 364;
1434
1645
  this.lineMarker();
1435
- this.state = 321;
1646
+ this.state = 366;
1436
1647
  this.errorHandler.sync(this);
1437
1648
  _la = this.tokenStream.LA(1);
1438
1649
  if (_la === 1) {
1439
1650
  {
1440
- this.state = 320;
1651
+ this.state = 365;
1441
1652
  this.identSignal();
1442
1653
  }
1443
1654
  }
@@ -1455,21 +1666,21 @@ export class plurnkParser extends antlr.Parser {
1455
1666
  case plurnkParser.L_MARKER:
1456
1667
  this.enterOuterAlt(localContext, 3);
1457
1668
  {
1458
- this.state = 325;
1669
+ this.state = 370;
1459
1670
  this.lineMarker();
1460
- this.state = 334;
1671
+ this.state = 379;
1461
1672
  this.errorHandler.sync(this);
1462
1673
  switch (this.tokenStream.LA(1)) {
1463
1674
  case plurnkParser.LBRACKET:
1464
1675
  {
1465
- this.state = 326;
1676
+ this.state = 371;
1466
1677
  this.identSignal();
1467
- this.state = 328;
1678
+ this.state = 373;
1468
1679
  this.errorHandler.sync(this);
1469
1680
  _la = this.tokenStream.LA(1);
1470
1681
  if (_la === 3) {
1471
1682
  {
1472
- this.state = 327;
1683
+ this.state = 372;
1473
1684
  this.target();
1474
1685
  }
1475
1686
  }
@@ -1477,14 +1688,14 @@ export class plurnkParser extends antlr.Parser {
1477
1688
  break;
1478
1689
  case plurnkParser.LPAREN:
1479
1690
  {
1480
- this.state = 330;
1691
+ this.state = 375;
1481
1692
  this.target();
1482
- this.state = 332;
1693
+ this.state = 377;
1483
1694
  this.errorHandler.sync(this);
1484
1695
  _la = this.tokenStream.LA(1);
1485
1696
  if (_la === 1) {
1486
1697
  {
1487
- this.state = 331;
1698
+ this.state = 376;
1488
1699
  this.identSignal();
1489
1700
  }
1490
1701
  }
@@ -1519,20 +1730,20 @@ export class plurnkParser extends antlr.Parser {
1519
1730
  }
1520
1731
  tagSignal() {
1521
1732
  let localContext = new TagSignalContext(this.context, this.state);
1522
- this.enterRule(localContext, 42, plurnkParser.RULE_tagSignal);
1733
+ this.enterRule(localContext, 50, plurnkParser.RULE_tagSignal);
1523
1734
  let _la;
1524
1735
  try {
1525
1736
  this.enterOuterAlt(localContext, 1);
1526
1737
  {
1527
- this.state = 338;
1738
+ this.state = 383;
1528
1739
  this.match(plurnkParser.LBRACKET);
1529
- this.state = 342;
1740
+ this.state = 387;
1530
1741
  this.errorHandler.sync(this);
1531
1742
  _la = this.tokenStream.LA(1);
1532
1743
  while (_la === 7 || _la === 10) {
1533
1744
  {
1534
1745
  {
1535
- this.state = 339;
1746
+ this.state = 384;
1536
1747
  _la = this.tokenStream.LA(1);
1537
1748
  if (!(_la === 7 || _la === 10)) {
1538
1749
  this.errorHandler.recoverInline(this);
@@ -1543,11 +1754,11 @@ export class plurnkParser extends antlr.Parser {
1543
1754
  }
1544
1755
  }
1545
1756
  }
1546
- this.state = 344;
1757
+ this.state = 389;
1547
1758
  this.errorHandler.sync(this);
1548
1759
  _la = this.tokenStream.LA(1);
1549
1760
  }
1550
- this.state = 345;
1761
+ this.state = 390;
1551
1762
  this.match(plurnkParser.RBRACKET);
1552
1763
  }
1553
1764
  }
@@ -1567,23 +1778,23 @@ export class plurnkParser extends antlr.Parser {
1567
1778
  }
1568
1779
  intSignal() {
1569
1780
  let localContext = new IntSignalContext(this.context, this.state);
1570
- this.enterRule(localContext, 44, plurnkParser.RULE_intSignal);
1781
+ this.enterRule(localContext, 52, plurnkParser.RULE_intSignal);
1571
1782
  let _la;
1572
1783
  try {
1573
1784
  this.enterOuterAlt(localContext, 1);
1574
1785
  {
1575
- this.state = 347;
1786
+ this.state = 392;
1576
1787
  this.match(plurnkParser.LBRACKET);
1577
- this.state = 349;
1788
+ this.state = 394;
1578
1789
  this.errorHandler.sync(this);
1579
1790
  _la = this.tokenStream.LA(1);
1580
1791
  if (_la === 8) {
1581
1792
  {
1582
- this.state = 348;
1793
+ this.state = 393;
1583
1794
  this.match(plurnkParser.INT);
1584
1795
  }
1585
1796
  }
1586
- this.state = 351;
1797
+ this.state = 396;
1587
1798
  this.match(plurnkParser.RBRACKET);
1588
1799
  }
1589
1800
  }
@@ -1603,23 +1814,23 @@ export class plurnkParser extends antlr.Parser {
1603
1814
  }
1604
1815
  identSignal() {
1605
1816
  let localContext = new IdentSignalContext(this.context, this.state);
1606
- this.enterRule(localContext, 46, plurnkParser.RULE_identSignal);
1817
+ this.enterRule(localContext, 54, plurnkParser.RULE_identSignal);
1607
1818
  let _la;
1608
1819
  try {
1609
1820
  this.enterOuterAlt(localContext, 1);
1610
1821
  {
1611
- this.state = 353;
1822
+ this.state = 398;
1612
1823
  this.match(plurnkParser.LBRACKET);
1613
- this.state = 355;
1824
+ this.state = 400;
1614
1825
  this.errorHandler.sync(this);
1615
1826
  _la = this.tokenStream.LA(1);
1616
1827
  if (_la === 9) {
1617
1828
  {
1618
- this.state = 354;
1829
+ this.state = 399;
1619
1830
  this.match(plurnkParser.IDENT);
1620
1831
  }
1621
1832
  }
1622
- this.state = 357;
1833
+ this.state = 402;
1623
1834
  this.match(plurnkParser.RBRACKET);
1624
1835
  }
1625
1836
  }
@@ -1639,23 +1850,23 @@ export class plurnkParser extends antlr.Parser {
1639
1850
  }
1640
1851
  target() {
1641
1852
  let localContext = new TargetContext(this.context, this.state);
1642
- this.enterRule(localContext, 48, plurnkParser.RULE_target);
1853
+ this.enterRule(localContext, 56, plurnkParser.RULE_target);
1643
1854
  let _la;
1644
1855
  try {
1645
1856
  this.enterOuterAlt(localContext, 1);
1646
1857
  {
1647
- this.state = 359;
1858
+ this.state = 404;
1648
1859
  this.match(plurnkParser.LPAREN);
1649
- this.state = 361;
1860
+ this.state = 406;
1650
1861
  this.errorHandler.sync(this);
1651
1862
  _la = this.tokenStream.LA(1);
1652
1863
  if (_la === 11) {
1653
1864
  {
1654
- this.state = 360;
1865
+ this.state = 405;
1655
1866
  this.match(plurnkParser.TARGET_TEXT);
1656
1867
  }
1657
1868
  }
1658
- this.state = 363;
1869
+ this.state = 408;
1659
1870
  this.match(plurnkParser.RPAREN);
1660
1871
  }
1661
1872
  }
@@ -1675,11 +1886,11 @@ export class plurnkParser extends antlr.Parser {
1675
1886
  }
1676
1887
  lineMarker() {
1677
1888
  let localContext = new LineMarkerContext(this.context, this.state);
1678
- this.enterRule(localContext, 50, plurnkParser.RULE_lineMarker);
1889
+ this.enterRule(localContext, 58, plurnkParser.RULE_lineMarker);
1679
1890
  try {
1680
1891
  this.enterOuterAlt(localContext, 1);
1681
1892
  {
1682
- this.state = 365;
1893
+ this.state = 410;
1683
1894
  this.match(plurnkParser.L_MARKER);
1684
1895
  }
1685
1896
  }
@@ -1699,22 +1910,22 @@ export class plurnkParser extends antlr.Parser {
1699
1910
  }
1700
1911
  body() {
1701
1912
  let localContext = new BodyContext(this.context, this.state);
1702
- this.enterRule(localContext, 52, plurnkParser.RULE_body);
1913
+ this.enterRule(localContext, 60, plurnkParser.RULE_body);
1703
1914
  let _la;
1704
1915
  try {
1705
1916
  this.enterOuterAlt(localContext, 1);
1706
1917
  {
1707
- this.state = 368;
1918
+ this.state = 413;
1708
1919
  this.errorHandler.sync(this);
1709
1920
  _la = this.tokenStream.LA(1);
1710
1921
  do {
1711
1922
  {
1712
1923
  {
1713
- this.state = 367;
1924
+ this.state = 412;
1714
1925
  this.match(plurnkParser.BODY_TEXT);
1715
1926
  }
1716
1927
  }
1717
- this.state = 370;
1928
+ this.state = 415;
1718
1929
  this.errorHandler.sync(this);
1719
1930
  _la = this.tokenStream.LA(1);
1720
1931
  } while (_la === 12);
@@ -1735,153 +1946,170 @@ export class plurnkParser extends antlr.Parser {
1735
1946
  return localContext;
1736
1947
  }
1737
1948
  static _serializedATN = [
1738
- 4, 1, 34, 373, 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,
1949
+ 4, 1, 36, 418, 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,
1739
1950
  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,
1740
1951
  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,
1741
1952
  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,
1742
- 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 59, 8, 1, 11, 1, 12, 1, 60, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 67, 8,
1743
- 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 5, 3, 74, 8, 3, 10, 3, 12, 3, 77, 9, 3, 1, 3, 1, 3, 1, 3, 5,
1744
- 3, 82, 8, 3, 10, 3, 12, 3, 85, 9, 3, 1, 3, 1, 3, 5, 3, 89, 8, 3, 10, 3, 12, 3, 92, 9, 3, 1,
1745
- 4, 5, 4, 95, 8, 4, 10, 4, 12, 4, 98, 9, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1,
1746
- 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 113, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1,
1747
- 6, 1, 6, 3, 6, 125, 8, 6, 1, 7, 1, 7, 3, 7, 129, 8, 7, 1, 7, 3, 7, 132, 8, 7, 1, 7, 3, 7, 135,
1748
- 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 3, 8, 141, 8, 8, 1, 8, 3, 8, 144, 8, 8, 1, 8, 3, 8, 147, 8, 8,
1749
- 1, 8, 1, 8, 1, 9, 1, 9, 3, 9, 153, 8, 9, 1, 9, 3, 9, 156, 8, 9, 1, 9, 3, 9, 159, 8, 9, 1, 9,
1750
- 1, 9, 1, 10, 1, 10, 3, 10, 165, 8, 10, 1, 10, 3, 10, 168, 8, 10, 1, 10, 3, 10, 171, 8, 10,
1751
- 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 177, 8, 11, 1, 11, 3, 11, 180, 8, 11, 1, 11, 3, 11, 183,
1752
- 8, 11, 1, 11, 1, 11, 1, 12, 1, 12, 3, 12, 189, 8, 12, 1, 12, 3, 12, 192, 8, 12, 1, 12, 3,
1753
- 12, 195, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 201, 8, 13, 1, 13, 3, 13, 204, 8, 13,
1754
- 1, 13, 3, 13, 207, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 213, 8, 14, 1, 14, 3, 14, 216,
1755
- 8, 14, 1, 14, 3, 14, 219, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 225, 8, 15, 1, 15, 3,
1756
- 15, 228, 8, 15, 1, 15, 3, 15, 231, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 237, 8, 16,
1757
- 1, 16, 3, 16, 240, 8, 16, 1, 16, 3, 16, 243, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 249,
1758
- 8, 17, 1, 17, 3, 17, 252, 8, 17, 1, 17, 3, 17, 255, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1,
1759
- 18, 3, 18, 262, 8, 18, 1, 18, 1, 18, 3, 18, 266, 8, 18, 3, 18, 268, 8, 18, 1, 18, 1, 18,
1760
- 1, 18, 3, 18, 273, 8, 18, 1, 18, 1, 18, 3, 18, 277, 8, 18, 3, 18, 279, 8, 18, 1, 18, 1,
1761
- 18, 1, 18, 3, 18, 284, 8, 18, 1, 18, 1, 18, 3, 18, 288, 8, 18, 3, 18, 290, 8, 18, 3, 18,
1762
- 292, 8, 18, 1, 19, 1, 19, 3, 19, 296, 8, 19, 1, 19, 1, 19, 3, 19, 300, 8, 19, 3, 19, 302,
1763
- 8, 19, 1, 20, 1, 20, 1, 20, 3, 20, 307, 8, 20, 1, 20, 1, 20, 3, 20, 311, 8, 20, 3, 20, 313,
1764
- 8, 20, 1, 20, 1, 20, 1, 20, 3, 20, 318, 8, 20, 1, 20, 1, 20, 3, 20, 322, 8, 20, 3, 20, 324,
1765
- 8, 20, 1, 20, 1, 20, 1, 20, 3, 20, 329, 8, 20, 1, 20, 1, 20, 3, 20, 333, 8, 20, 3, 20, 335,
1766
- 8, 20, 3, 20, 337, 8, 20, 1, 21, 1, 21, 5, 21, 341, 8, 21, 10, 21, 12, 21, 344, 9, 21,
1767
- 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 350, 8, 22, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 356, 8,
1768
- 23, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 362, 8, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 4,
1769
- 26, 369, 8, 26, 11, 26, 12, 26, 370, 1, 26, 0, 0, 27, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
1770
- 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 0, 1, 2, 0, 7, 7, 10,
1771
- 10, 440, 0, 54, 1, 0, 0, 0, 2, 58, 1, 0, 0, 0, 4, 64, 1, 0, 0, 0, 6, 75, 1, 0, 0, 0, 8, 96,
1772
- 1, 0, 0, 0, 10, 112, 1, 0, 0, 0, 12, 124, 1, 0, 0, 0, 14, 126, 1, 0, 0, 0, 16, 138, 1, 0,
1773
- 0, 0, 18, 150, 1, 0, 0, 0, 20, 162, 1, 0, 0, 0, 22, 174, 1, 0, 0, 0, 24, 186, 1, 0, 0, 0,
1774
- 26, 198, 1, 0, 0, 0, 28, 210, 1, 0, 0, 0, 30, 222, 1, 0, 0, 0, 32, 234, 1, 0, 0, 0, 34, 246,
1775
- 1, 0, 0, 0, 36, 291, 1, 0, 0, 0, 38, 301, 1, 0, 0, 0, 40, 336, 1, 0, 0, 0, 42, 338, 1, 0,
1776
- 0, 0, 44, 347, 1, 0, 0, 0, 46, 353, 1, 0, 0, 0, 48, 359, 1, 0, 0, 0, 50, 365, 1, 0, 0, 0,
1777
- 52, 368, 1, 0, 0, 0, 54, 55, 3, 6, 3, 0, 55, 56, 5, 0, 0, 1, 56, 1, 1, 0, 0, 0, 57, 59, 3,
1778
- 4, 2, 0, 58, 57, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 58, 1, 0, 0, 0, 60, 61, 1, 0, 0, 0, 61,
1779
- 62, 1, 0, 0, 0, 62, 63, 5, 0, 0, 1, 63, 3, 1, 0, 0, 0, 64, 66, 5, 15, 0, 0, 65, 67, 3, 36,
1780
- 18, 0, 66, 65, 1, 0, 0, 0, 66, 67, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 69, 5, 6, 0, 0, 69,
1781
- 70, 3, 6, 3, 0, 70, 71, 5, 16, 0, 0, 71, 5, 1, 0, 0, 0, 72, 74, 5, 14, 0, 0, 73, 72, 1, 0,
1782
- 0, 0, 74, 77, 1, 0, 0, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 78, 1, 0, 0, 0, 77, 75,
1783
- 1, 0, 0, 0, 78, 83, 3, 34, 17, 0, 79, 82, 3, 12, 6, 0, 80, 82, 5, 14, 0, 0, 81, 79, 1, 0,
1784
- 0, 0, 81, 80, 1, 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 86,
1785
- 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, 86, 90, 3, 28, 14, 0, 87, 89, 5, 14, 0, 0, 88, 87, 1, 0, 0,
1786
- 0, 89, 92, 1, 0, 0, 0, 90, 88, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 7, 1, 0, 0, 0, 92, 90, 1,
1787
- 0, 0, 0, 93, 95, 3, 10, 5, 0, 94, 93, 1, 0, 0, 0, 95, 98, 1, 0, 0, 0, 96, 94, 1, 0, 0, 0, 96,
1788
- 97, 1, 0, 0, 0, 97, 99, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 99, 100, 5, 0, 0, 1, 100, 9, 1, 0,
1789
- 0, 0, 101, 113, 3, 14, 7, 0, 102, 113, 3, 16, 8, 0, 103, 113, 3, 18, 9, 0, 104, 113, 3,
1790
- 20, 10, 0, 105, 113, 3, 22, 11, 0, 106, 113, 3, 24, 12, 0, 107, 113, 3, 26, 13, 0, 108,
1791
- 113, 3, 28, 14, 0, 109, 113, 3, 30, 15, 0, 110, 113, 3, 32, 16, 0, 111, 113, 3, 34, 17,
1792
- 0, 112, 101, 1, 0, 0, 0, 112, 102, 1, 0, 0, 0, 112, 103, 1, 0, 0, 0, 112, 104, 1, 0, 0,
1793
- 0, 112, 105, 1, 0, 0, 0, 112, 106, 1, 0, 0, 0, 112, 107, 1, 0, 0, 0, 112, 108, 1, 0, 0,
1794
- 0, 112, 109, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 111, 1, 0, 0, 0, 113, 11, 1, 0, 0, 0,
1795
- 114, 125, 3, 14, 7, 0, 115, 125, 3, 16, 8, 0, 116, 125, 3, 18, 9, 0, 117, 125, 3, 20,
1796
- 10, 0, 118, 125, 3, 22, 11, 0, 119, 125, 3, 24, 12, 0, 120, 125, 3, 26, 13, 0, 121, 125,
1797
- 3, 28, 14, 0, 122, 125, 3, 30, 15, 0, 123, 125, 3, 32, 16, 0, 124, 114, 1, 0, 0, 0, 124,
1798
- 115, 1, 0, 0, 0, 124, 116, 1, 0, 0, 0, 124, 117, 1, 0, 0, 0, 124, 118, 1, 0, 0, 0, 124,
1799
- 119, 1, 0, 0, 0, 124, 120, 1, 0, 0, 0, 124, 121, 1, 0, 0, 0, 124, 122, 1, 0, 0, 0, 124,
1800
- 123, 1, 0, 0, 0, 125, 13, 1, 0, 0, 0, 126, 128, 5, 17, 0, 0, 127, 129, 3, 36, 18, 0, 128,
1801
- 127, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 131, 1, 0, 0, 0, 130, 132, 5, 6, 0, 0, 131,
1802
- 130, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 134, 1, 0, 0, 0, 133, 135, 3, 52, 26, 0, 134,
1803
- 133, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 136, 1, 0, 0, 0, 136, 137, 5, 13, 0, 0, 137,
1804
- 15, 1, 0, 0, 0, 138, 140, 5, 18, 0, 0, 139, 141, 3, 36, 18, 0, 140, 139, 1, 0, 0, 0, 140,
1805
- 141, 1, 0, 0, 0, 141, 143, 1, 0, 0, 0, 142, 144, 5, 6, 0, 0, 143, 142, 1, 0, 0, 0, 143,
1806
- 144, 1, 0, 0, 0, 144, 146, 1, 0, 0, 0, 145, 147, 3, 52, 26, 0, 146, 145, 1, 0, 0, 0, 146,
1807
- 147, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 149, 5, 13, 0, 0, 149, 17, 1, 0, 0, 0, 150,
1808
- 152, 5, 19, 0, 0, 151, 153, 3, 36, 18, 0, 152, 151, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153,
1809
- 155, 1, 0, 0, 0, 154, 156, 5, 6, 0, 0, 155, 154, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156,
1810
- 158, 1, 0, 0, 0, 157, 159, 3, 52, 26, 0, 158, 157, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159,
1811
- 160, 1, 0, 0, 0, 160, 161, 5, 13, 0, 0, 161, 19, 1, 0, 0, 0, 162, 164, 5, 20, 0, 0, 163,
1812
- 165, 3, 36, 18, 0, 164, 163, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 167, 1, 0, 0, 0, 166,
1813
- 168, 5, 6, 0, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 170, 1, 0, 0, 0, 169,
1814
- 171, 3, 52, 26, 0, 170, 169, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172,
1815
- 173, 5, 13, 0, 0, 173, 21, 1, 0, 0, 0, 174, 176, 5, 21, 0, 0, 175, 177, 3, 36, 18, 0, 176,
1816
- 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 179, 1, 0, 0, 0, 178, 180, 5, 6, 0, 0, 179,
1817
- 178, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 182, 1, 0, 0, 0, 181, 183, 3, 52, 26, 0, 182,
1818
- 181, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 5, 13, 0, 0, 185,
1819
- 23, 1, 0, 0, 0, 186, 188, 5, 22, 0, 0, 187, 189, 3, 36, 18, 0, 188, 187, 1, 0, 0, 0, 188,
1820
- 189, 1, 0, 0, 0, 189, 191, 1, 0, 0, 0, 190, 192, 5, 6, 0, 0, 191, 190, 1, 0, 0, 0, 191,
1821
- 192, 1, 0, 0, 0, 192, 194, 1, 0, 0, 0, 193, 195, 3, 52, 26, 0, 194, 193, 1, 0, 0, 0, 194,
1822
- 195, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 5, 13, 0, 0, 197, 25, 1, 0, 0, 0, 198,
1823
- 200, 5, 23, 0, 0, 199, 201, 3, 36, 18, 0, 200, 199, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201,
1824
- 203, 1, 0, 0, 0, 202, 204, 5, 6, 0, 0, 203, 202, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204,
1825
- 206, 1, 0, 0, 0, 205, 207, 3, 52, 26, 0, 206, 205, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207,
1826
- 208, 1, 0, 0, 0, 208, 209, 5, 13, 0, 0, 209, 27, 1, 0, 0, 0, 210, 212, 5, 24, 0, 0, 211,
1827
- 213, 3, 38, 19, 0, 212, 211, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 215, 1, 0, 0, 0, 214,
1828
- 216, 5, 6, 0, 0, 215, 214, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 218, 1, 0, 0, 0, 217,
1829
- 219, 3, 52, 26, 0, 218, 217, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 220, 1, 0, 0, 0, 220,
1830
- 221, 5, 13, 0, 0, 221, 29, 1, 0, 0, 0, 222, 224, 5, 25, 0, 0, 223, 225, 3, 40, 20, 0, 224,
1831
- 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227, 1, 0, 0, 0, 226, 228, 5, 6, 0, 0, 227,
1832
- 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 230, 1, 0, 0, 0, 229, 231, 3, 52, 26, 0, 230,
1833
- 229, 1, 0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 5, 13, 0, 0, 233,
1834
- 31, 1, 0, 0, 0, 234, 236, 5, 26, 0, 0, 235, 237, 3, 38, 19, 0, 236, 235, 1, 0, 0, 0, 236,
1835
- 237, 1, 0, 0, 0, 237, 239, 1, 0, 0, 0, 238, 240, 5, 6, 0, 0, 239, 238, 1, 0, 0, 0, 239,
1836
- 240, 1, 0, 0, 0, 240, 242, 1, 0, 0, 0, 241, 243, 3, 52, 26, 0, 242, 241, 1, 0, 0, 0, 242,
1837
- 243, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 245, 5, 13, 0, 0, 245, 33, 1, 0, 0, 0, 246,
1838
- 248, 5, 27, 0, 0, 247, 249, 3, 36, 18, 0, 248, 247, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249,
1839
- 251, 1, 0, 0, 0, 250, 252, 5, 6, 0, 0, 251, 250, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252,
1840
- 254, 1, 0, 0, 0, 253, 255, 3, 52, 26, 0, 254, 253, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255,
1841
- 256, 1, 0, 0, 0, 256, 257, 5, 13, 0, 0, 257, 35, 1, 0, 0, 0, 258, 267, 3, 42, 21, 0, 259,
1842
- 261, 3, 48, 24, 0, 260, 262, 3, 50, 25, 0, 261, 260, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0,
1843
- 262, 268, 1, 0, 0, 0, 263, 265, 3, 50, 25, 0, 264, 266, 3, 48, 24, 0, 265, 264, 1, 0,
1844
- 0, 0, 265, 266, 1, 0, 0, 0, 266, 268, 1, 0, 0, 0, 267, 259, 1, 0, 0, 0, 267, 263, 1, 0,
1845
- 0, 0, 267, 268, 1, 0, 0, 0, 268, 292, 1, 0, 0, 0, 269, 278, 3, 48, 24, 0, 270, 272, 3,
1846
- 42, 21, 0, 271, 273, 3, 50, 25, 0, 272, 271, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 279,
1847
- 1, 0, 0, 0, 274, 276, 3, 50, 25, 0, 275, 277, 3, 42, 21, 0, 276, 275, 1, 0, 0, 0, 276,
1848
- 277, 1, 0, 0, 0, 277, 279, 1, 0, 0, 0, 278, 270, 1, 0, 0, 0, 278, 274, 1, 0, 0, 0, 278,
1849
- 279, 1, 0, 0, 0, 279, 292, 1, 0, 0, 0, 280, 289, 3, 50, 25, 0, 281, 283, 3, 42, 21, 0,
1850
- 282, 284, 3, 48, 24, 0, 283, 282, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 290, 1, 0, 0,
1851
- 0, 285, 287, 3, 48, 24, 0, 286, 288, 3, 42, 21, 0, 287, 286, 1, 0, 0, 0, 287, 288, 1,
1852
- 0, 0, 0, 288, 290, 1, 0, 0, 0, 289, 281, 1, 0, 0, 0, 289, 285, 1, 0, 0, 0, 289, 290, 1,
1853
- 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 258, 1, 0, 0, 0, 291, 269, 1, 0, 0, 0, 291, 280, 1,
1854
- 0, 0, 0, 292, 37, 1, 0, 0, 0, 293, 295, 3, 44, 22, 0, 294, 296, 3, 48, 24, 0, 295, 294,
1855
- 1, 0, 0, 0, 295, 296, 1, 0, 0, 0, 296, 302, 1, 0, 0, 0, 297, 299, 3, 48, 24, 0, 298, 300,
1856
- 3, 44, 22, 0, 299, 298, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 302, 1, 0, 0, 0, 301, 293,
1857
- 1, 0, 0, 0, 301, 297, 1, 0, 0, 0, 302, 39, 1, 0, 0, 0, 303, 312, 3, 46, 23, 0, 304, 306,
1858
- 3, 48, 24, 0, 305, 307, 3, 50, 25, 0, 306, 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307,
1859
- 313, 1, 0, 0, 0, 308, 310, 3, 50, 25, 0, 309, 311, 3, 48, 24, 0, 310, 309, 1, 0, 0, 0,
1860
- 310, 311, 1, 0, 0, 0, 311, 313, 1, 0, 0, 0, 312, 304, 1, 0, 0, 0, 312, 308, 1, 0, 0, 0,
1861
- 312, 313, 1, 0, 0, 0, 313, 337, 1, 0, 0, 0, 314, 323, 3, 48, 24, 0, 315, 317, 3, 46, 23,
1862
- 0, 316, 318, 3, 50, 25, 0, 317, 316, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 324, 1, 0,
1863
- 0, 0, 319, 321, 3, 50, 25, 0, 320, 322, 3, 46, 23, 0, 321, 320, 1, 0, 0, 0, 321, 322,
1864
- 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323, 315, 1, 0, 0, 0, 323, 319, 1, 0, 0, 0, 323, 324,
1865
- 1, 0, 0, 0, 324, 337, 1, 0, 0, 0, 325, 334, 3, 50, 25, 0, 326, 328, 3, 46, 23, 0, 327,
1866
- 329, 3, 48, 24, 0, 328, 327, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 335, 1, 0, 0, 0, 330,
1867
- 332, 3, 48, 24, 0, 331, 333, 3, 46, 23, 0, 332, 331, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0,
1868
- 333, 335, 1, 0, 0, 0, 334, 326, 1, 0, 0, 0, 334, 330, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0,
1869
- 335, 337, 1, 0, 0, 0, 336, 303, 1, 0, 0, 0, 336, 314, 1, 0, 0, 0, 336, 325, 1, 0, 0, 0,
1870
- 337, 41, 1, 0, 0, 0, 338, 342, 5, 1, 0, 0, 339, 341, 7, 0, 0, 0, 340, 339, 1, 0, 0, 0, 341,
1871
- 344, 1, 0, 0, 0, 342, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 345, 1, 0, 0, 0, 344,
1872
- 342, 1, 0, 0, 0, 345, 346, 5, 2, 0, 0, 346, 43, 1, 0, 0, 0, 347, 349, 5, 1, 0, 0, 348, 350,
1873
- 5, 8, 0, 0, 349, 348, 1, 0, 0, 0, 349, 350, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 352,
1874
- 5, 2, 0, 0, 352, 45, 1, 0, 0, 0, 353, 355, 5, 1, 0, 0, 354, 356, 5, 9, 0, 0, 355, 354, 1,
1875
- 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 5, 2, 0, 0, 358, 47, 1, 0,
1876
- 0, 0, 359, 361, 5, 3, 0, 0, 360, 362, 5, 11, 0, 0, 361, 360, 1, 0, 0, 0, 361, 362, 1, 0,
1877
- 0, 0, 362, 363, 1, 0, 0, 0, 363, 364, 5, 4, 0, 0, 364, 49, 1, 0, 0, 0, 365, 366, 5, 5, 0,
1878
- 0, 366, 51, 1, 0, 0, 0, 367, 369, 5, 12, 0, 0, 368, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0,
1879
- 0, 370, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 53, 1, 0, 0, 0, 70, 60, 66, 75, 81,
1880
- 83, 90, 96, 112, 124, 128, 131, 134, 140, 143, 146, 152, 155, 158, 164, 167, 170,
1881
- 176, 179, 182, 188, 191, 194, 200, 203, 206, 212, 215, 218, 224, 227, 230, 236,
1882
- 239, 242, 248, 251, 254, 261, 265, 267, 272, 276, 278, 283, 287, 289, 291, 295,
1883
- 299, 301, 306, 310, 312, 317, 321, 323, 328, 332, 334, 336, 342, 349, 355, 361,
1884
- 370
1953
+ 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 67, 8,
1954
+ 1, 11, 1, 12, 1, 68, 1, 1, 1, 1, 1, 2, 1, 2, 3, 2, 75, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 5,
1955
+ 3, 82, 8, 3, 10, 3, 12, 3, 85, 9, 3, 1, 3, 1, 3, 1, 3, 5, 3, 90, 8, 3, 10, 3, 12, 3, 93, 9,
1956
+ 3, 1, 3, 1, 3, 5, 3, 97, 8, 3, 10, 3, 12, 3, 100, 9, 3, 1, 4, 5, 4, 103, 8, 4, 10, 4, 12, 4,
1957
+ 106, 9, 4, 1, 4, 1, 4, 1, 5, 5, 5, 111, 8, 5, 10, 5, 12, 5, 114, 9, 5, 1, 5, 1, 5, 1, 6, 1,
1958
+ 6, 1, 6, 3, 6, 121, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3,
1959
+ 7, 134, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 146, 8, 8, 1,
1960
+ 9, 1, 9, 3, 9, 150, 8, 9, 1, 9, 3, 9, 153, 8, 9, 1, 9, 3, 9, 156, 8, 9, 1, 9, 1, 9, 1, 10, 1,
1961
+ 10, 3, 10, 162, 8, 10, 1, 10, 3, 10, 165, 8, 10, 1, 10, 3, 10, 168, 8, 10, 1, 10, 1, 10,
1962
+ 1, 11, 1, 11, 3, 11, 174, 8, 11, 1, 11, 3, 11, 177, 8, 11, 1, 11, 3, 11, 180, 8, 11, 1,
1963
+ 11, 1, 11, 1, 12, 1, 12, 3, 12, 186, 8, 12, 1, 12, 3, 12, 189, 8, 12, 1, 12, 3, 12, 192,
1964
+ 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 198, 8, 13, 1, 13, 3, 13, 201, 8, 13, 1, 13, 3,
1965
+ 13, 204, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 3, 14, 210, 8, 14, 1, 14, 3, 14, 213, 8, 14,
1966
+ 1, 14, 3, 14, 216, 8, 14, 1, 14, 1, 14, 1, 15, 1, 15, 3, 15, 222, 8, 15, 1, 15, 3, 15, 225,
1967
+ 8, 15, 1, 15, 3, 15, 228, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 3, 16, 234, 8, 16, 1, 16, 3,
1968
+ 16, 237, 8, 16, 1, 16, 3, 16, 240, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 246, 8, 17,
1969
+ 1, 17, 3, 17, 249, 8, 17, 1, 17, 3, 17, 252, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 258,
1970
+ 8, 18, 1, 18, 3, 18, 261, 8, 18, 1, 18, 3, 18, 264, 8, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3,
1971
+ 19, 270, 8, 19, 1, 19, 3, 19, 273, 8, 19, 1, 19, 3, 19, 276, 8, 19, 1, 19, 1, 19, 1, 20,
1972
+ 1, 20, 3, 20, 282, 8, 20, 1, 20, 3, 20, 285, 8, 20, 1, 20, 3, 20, 288, 8, 20, 1, 20, 1,
1973
+ 20, 1, 21, 1, 21, 3, 21, 294, 8, 21, 1, 21, 3, 21, 297, 8, 21, 1, 21, 3, 21, 300, 8, 21,
1974
+ 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 3, 22, 307, 8, 22, 1, 22, 1, 22, 3, 22, 311, 8, 22, 3,
1975
+ 22, 313, 8, 22, 1, 22, 1, 22, 1, 22, 3, 22, 318, 8, 22, 1, 22, 1, 22, 3, 22, 322, 8, 22,
1976
+ 3, 22, 324, 8, 22, 1, 22, 1, 22, 1, 22, 3, 22, 329, 8, 22, 1, 22, 1, 22, 3, 22, 333, 8,
1977
+ 22, 3, 22, 335, 8, 22, 3, 22, 337, 8, 22, 1, 23, 1, 23, 3, 23, 341, 8, 23, 1, 23, 1, 23,
1978
+ 3, 23, 345, 8, 23, 3, 23, 347, 8, 23, 1, 24, 1, 24, 1, 24, 3, 24, 352, 8, 24, 1, 24, 1,
1979
+ 24, 3, 24, 356, 8, 24, 3, 24, 358, 8, 24, 1, 24, 1, 24, 1, 24, 3, 24, 363, 8, 24, 1, 24,
1980
+ 1, 24, 3, 24, 367, 8, 24, 3, 24, 369, 8, 24, 1, 24, 1, 24, 1, 24, 3, 24, 374, 8, 24, 1,
1981
+ 24, 1, 24, 3, 24, 378, 8, 24, 3, 24, 380, 8, 24, 3, 24, 382, 8, 24, 1, 25, 1, 25, 5, 25,
1982
+ 386, 8, 25, 10, 25, 12, 25, 389, 9, 25, 1, 25, 1, 25, 1, 26, 1, 26, 3, 26, 395, 8, 26,
1983
+ 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 401, 8, 27, 1, 27, 1, 27, 1, 28, 1, 28, 3, 28, 407, 8,
1984
+ 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 4, 30, 414, 8, 30, 11, 30, 12, 30, 415, 1, 30, 0,
1985
+ 0, 31, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,
1986
+ 44, 46, 48, 50, 52, 54, 56, 58, 60, 0, 1, 2, 0, 7, 7, 10, 10, 490, 0, 62, 1, 0, 0, 0, 2,
1987
+ 66, 1, 0, 0, 0, 4, 72, 1, 0, 0, 0, 6, 83, 1, 0, 0, 0, 8, 104, 1, 0, 0, 0, 10, 112, 1, 0, 0,
1988
+ 0, 12, 120, 1, 0, 0, 0, 14, 133, 1, 0, 0, 0, 16, 145, 1, 0, 0, 0, 18, 147, 1, 0, 0, 0, 20,
1989
+ 159, 1, 0, 0, 0, 22, 171, 1, 0, 0, 0, 24, 183, 1, 0, 0, 0, 26, 195, 1, 0, 0, 0, 28, 207,
1990
+ 1, 0, 0, 0, 30, 219, 1, 0, 0, 0, 32, 231, 1, 0, 0, 0, 34, 243, 1, 0, 0, 0, 36, 255, 1, 0,
1991
+ 0, 0, 38, 267, 1, 0, 0, 0, 40, 279, 1, 0, 0, 0, 42, 291, 1, 0, 0, 0, 44, 336, 1, 0, 0, 0,
1992
+ 46, 346, 1, 0, 0, 0, 48, 381, 1, 0, 0, 0, 50, 383, 1, 0, 0, 0, 52, 392, 1, 0, 0, 0, 54, 398,
1993
+ 1, 0, 0, 0, 56, 404, 1, 0, 0, 0, 58, 410, 1, 0, 0, 0, 60, 413, 1, 0, 0, 0, 62, 63, 3, 6, 3,
1994
+ 0, 63, 64, 5, 0, 0, 1, 64, 1, 1, 0, 0, 0, 65, 67, 3, 4, 2, 0, 66, 65, 1, 0, 0, 0, 67, 68, 1,
1995
+ 0, 0, 0, 68, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 70, 1, 0, 0, 0, 70, 71, 5, 0, 0, 1, 71,
1996
+ 3, 1, 0, 0, 0, 72, 74, 5, 15, 0, 0, 73, 75, 3, 44, 22, 0, 74, 73, 1, 0, 0, 0, 74, 75, 1, 0,
1997
+ 0, 0, 75, 76, 1, 0, 0, 0, 76, 77, 5, 6, 0, 0, 77, 78, 3, 6, 3, 0, 78, 79, 5, 16, 0, 0, 79,
1998
+ 5, 1, 0, 0, 0, 80, 82, 5, 14, 0, 0, 81, 80, 1, 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0,
1999
+ 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, 86, 91, 3, 38, 19, 0, 87, 90,
2000
+ 3, 16, 8, 0, 88, 90, 5, 14, 0, 0, 89, 87, 1, 0, 0, 0, 89, 88, 1, 0, 0, 0, 90, 93, 1, 0, 0,
2001
+ 0, 91, 89, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 94, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 94, 98,
2002
+ 3, 32, 16, 0, 95, 97, 5, 14, 0, 0, 96, 95, 1, 0, 0, 0, 97, 100, 1, 0, 0, 0, 98, 96, 1, 0,
2003
+ 0, 0, 98, 99, 1, 0, 0, 0, 99, 7, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 101, 103, 3, 14, 7, 0, 102,
2004
+ 101, 1, 0, 0, 0, 103, 106, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105,
2005
+ 107, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 107, 108, 5, 0, 0, 1, 108, 9, 1, 0, 0, 0, 109, 111,
2006
+ 3, 12, 6, 0, 110, 109, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113,
2007
+ 1, 0, 0, 0, 113, 115, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 116, 5, 0, 0, 1, 116, 11, 1,
2008
+ 0, 0, 0, 117, 121, 3, 14, 7, 0, 118, 121, 3, 40, 20, 0, 119, 121, 3, 42, 21, 0, 120, 117,
2009
+ 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 119, 1, 0, 0, 0, 121, 13, 1, 0, 0, 0, 122, 134, 3,
2010
+ 18, 9, 0, 123, 134, 3, 20, 10, 0, 124, 134, 3, 22, 11, 0, 125, 134, 3, 24, 12, 0, 126,
2011
+ 134, 3, 26, 13, 0, 127, 134, 3, 28, 14, 0, 128, 134, 3, 30, 15, 0, 129, 134, 3, 32, 16,
2012
+ 0, 130, 134, 3, 34, 17, 0, 131, 134, 3, 36, 18, 0, 132, 134, 3, 38, 19, 0, 133, 122,
2013
+ 1, 0, 0, 0, 133, 123, 1, 0, 0, 0, 133, 124, 1, 0, 0, 0, 133, 125, 1, 0, 0, 0, 133, 126,
2014
+ 1, 0, 0, 0, 133, 127, 1, 0, 0, 0, 133, 128, 1, 0, 0, 0, 133, 129, 1, 0, 0, 0, 133, 130,
2015
+ 1, 0, 0, 0, 133, 131, 1, 0, 0, 0, 133, 132, 1, 0, 0, 0, 134, 15, 1, 0, 0, 0, 135, 146, 3,
2016
+ 18, 9, 0, 136, 146, 3, 20, 10, 0, 137, 146, 3, 22, 11, 0, 138, 146, 3, 24, 12, 0, 139,
2017
+ 146, 3, 26, 13, 0, 140, 146, 3, 28, 14, 0, 141, 146, 3, 30, 15, 0, 142, 146, 3, 32, 16,
2018
+ 0, 143, 146, 3, 34, 17, 0, 144, 146, 3, 36, 18, 0, 145, 135, 1, 0, 0, 0, 145, 136, 1,
2019
+ 0, 0, 0, 145, 137, 1, 0, 0, 0, 145, 138, 1, 0, 0, 0, 145, 139, 1, 0, 0, 0, 145, 140, 1,
2020
+ 0, 0, 0, 145, 141, 1, 0, 0, 0, 145, 142, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 144, 1,
2021
+ 0, 0, 0, 146, 17, 1, 0, 0, 0, 147, 149, 5, 17, 0, 0, 148, 150, 3, 44, 22, 0, 149, 148,
2022
+ 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 152, 1, 0, 0, 0, 151, 153, 5, 6, 0, 0, 152, 151,
2023
+ 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 155, 1, 0, 0, 0, 154, 156, 3, 60, 30, 0, 155, 154,
2024
+ 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 158, 5, 13, 0, 0, 158, 19,
2025
+ 1, 0, 0, 0, 159, 161, 5, 18, 0, 0, 160, 162, 3, 44, 22, 0, 161, 160, 1, 0, 0, 0, 161, 162,
2026
+ 1, 0, 0, 0, 162, 164, 1, 0, 0, 0, 163, 165, 5, 6, 0, 0, 164, 163, 1, 0, 0, 0, 164, 165,
2027
+ 1, 0, 0, 0, 165, 167, 1, 0, 0, 0, 166, 168, 3, 60, 30, 0, 167, 166, 1, 0, 0, 0, 167, 168,
2028
+ 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 5, 13, 0, 0, 170, 21, 1, 0, 0, 0, 171, 173,
2029
+ 5, 19, 0, 0, 172, 174, 3, 44, 22, 0, 173, 172, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 176,
2030
+ 1, 0, 0, 0, 175, 177, 5, 6, 0, 0, 176, 175, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 179,
2031
+ 1, 0, 0, 0, 178, 180, 3, 60, 30, 0, 179, 178, 1, 0, 0, 0, 179, 180, 1, 0, 0, 0, 180, 181,
2032
+ 1, 0, 0, 0, 181, 182, 5, 13, 0, 0, 182, 23, 1, 0, 0, 0, 183, 185, 5, 20, 0, 0, 184, 186,
2033
+ 3, 44, 22, 0, 185, 184, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 188, 1, 0, 0, 0, 187, 189,
2034
+ 5, 6, 0, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 191, 1, 0, 0, 0, 190, 192,
2035
+ 3, 60, 30, 0, 191, 190, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 194,
2036
+ 5, 13, 0, 0, 194, 25, 1, 0, 0, 0, 195, 197, 5, 21, 0, 0, 196, 198, 3, 44, 22, 0, 197, 196,
2037
+ 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 200, 1, 0, 0, 0, 199, 201, 5, 6, 0, 0, 200, 199,
2038
+ 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 203, 1, 0, 0, 0, 202, 204, 3, 60, 30, 0, 203, 202,
2039
+ 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 206, 5, 13, 0, 0, 206, 27,
2040
+ 1, 0, 0, 0, 207, 209, 5, 22, 0, 0, 208, 210, 3, 44, 22, 0, 209, 208, 1, 0, 0, 0, 209, 210,
2041
+ 1, 0, 0, 0, 210, 212, 1, 0, 0, 0, 211, 213, 5, 6, 0, 0, 212, 211, 1, 0, 0, 0, 212, 213,
2042
+ 1, 0, 0, 0, 213, 215, 1, 0, 0, 0, 214, 216, 3, 60, 30, 0, 215, 214, 1, 0, 0, 0, 215, 216,
2043
+ 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 218, 5, 13, 0, 0, 218, 29, 1, 0, 0, 0, 219, 221,
2044
+ 5, 23, 0, 0, 220, 222, 3, 44, 22, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 224,
2045
+ 1, 0, 0, 0, 223, 225, 5, 6, 0, 0, 224, 223, 1, 0, 0, 0, 224, 225, 1, 0, 0, 0, 225, 227,
2046
+ 1, 0, 0, 0, 226, 228, 3, 60, 30, 0, 227, 226, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 229,
2047
+ 1, 0, 0, 0, 229, 230, 5, 13, 0, 0, 230, 31, 1, 0, 0, 0, 231, 233, 5, 24, 0, 0, 232, 234,
2048
+ 3, 46, 23, 0, 233, 232, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234, 236, 1, 0, 0, 0, 235, 237,
2049
+ 5, 6, 0, 0, 236, 235, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 239, 1, 0, 0, 0, 238, 240,
2050
+ 3, 60, 30, 0, 239, 238, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 242,
2051
+ 5, 13, 0, 0, 242, 33, 1, 0, 0, 0, 243, 245, 5, 25, 0, 0, 244, 246, 3, 48, 24, 0, 245, 244,
2052
+ 1, 0, 0, 0, 245, 246, 1, 0, 0, 0, 246, 248, 1, 0, 0, 0, 247, 249, 5, 6, 0, 0, 248, 247,
2053
+ 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 251, 1, 0, 0, 0, 250, 252, 3, 60, 30, 0, 251, 250,
2054
+ 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 254, 5, 13, 0, 0, 254, 35,
2055
+ 1, 0, 0, 0, 255, 257, 5, 26, 0, 0, 256, 258, 3, 46, 23, 0, 257, 256, 1, 0, 0, 0, 257, 258,
2056
+ 1, 0, 0, 0, 258, 260, 1, 0, 0, 0, 259, 261, 5, 6, 0, 0, 260, 259, 1, 0, 0, 0, 260, 261,
2057
+ 1, 0, 0, 0, 261, 263, 1, 0, 0, 0, 262, 264, 3, 60, 30, 0, 263, 262, 1, 0, 0, 0, 263, 264,
2058
+ 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 266, 5, 13, 0, 0, 266, 37, 1, 0, 0, 0, 267, 269,
2059
+ 5, 27, 0, 0, 268, 270, 3, 44, 22, 0, 269, 268, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 272,
2060
+ 1, 0, 0, 0, 271, 273, 5, 6, 0, 0, 272, 271, 1, 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 275,
2061
+ 1, 0, 0, 0, 274, 276, 3, 60, 30, 0, 275, 274, 1, 0, 0, 0, 275, 276, 1, 0, 0, 0, 276, 277,
2062
+ 1, 0, 0, 0, 277, 278, 5, 13, 0, 0, 278, 39, 1, 0, 0, 0, 279, 281, 5, 28, 0, 0, 280, 282,
2063
+ 3, 44, 22, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 284, 1, 0, 0, 0, 283, 285,
2064
+ 5, 6, 0, 0, 284, 283, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 287, 1, 0, 0, 0, 286, 288,
2065
+ 3, 60, 30, 0, 287, 286, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 290,
2066
+ 5, 13, 0, 0, 290, 41, 1, 0, 0, 0, 291, 293, 5, 29, 0, 0, 292, 294, 3, 44, 22, 0, 293, 292,
2067
+ 1, 0, 0, 0, 293, 294, 1, 0, 0, 0, 294, 296, 1, 0, 0, 0, 295, 297, 5, 6, 0, 0, 296, 295,
2068
+ 1, 0, 0, 0, 296, 297, 1, 0, 0, 0, 297, 299, 1, 0, 0, 0, 298, 300, 3, 60, 30, 0, 299, 298,
2069
+ 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 301, 1, 0, 0, 0, 301, 302, 5, 13, 0, 0, 302, 43,
2070
+ 1, 0, 0, 0, 303, 312, 3, 50, 25, 0, 304, 306, 3, 56, 28, 0, 305, 307, 3, 58, 29, 0, 306,
2071
+ 305, 1, 0, 0, 0, 306, 307, 1, 0, 0, 0, 307, 313, 1, 0, 0, 0, 308, 310, 3, 58, 29, 0, 309,
2072
+ 311, 3, 56, 28, 0, 310, 309, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 313, 1, 0, 0, 0, 312,
2073
+ 304, 1, 0, 0, 0, 312, 308, 1, 0, 0, 0, 312, 313, 1, 0, 0, 0, 313, 337, 1, 0, 0, 0, 314,
2074
+ 323, 3, 56, 28, 0, 315, 317, 3, 50, 25, 0, 316, 318, 3, 58, 29, 0, 317, 316, 1, 0, 0,
2075
+ 0, 317, 318, 1, 0, 0, 0, 318, 324, 1, 0, 0, 0, 319, 321, 3, 58, 29, 0, 320, 322, 3, 50,
2076
+ 25, 0, 321, 320, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 324, 1, 0, 0, 0, 323, 315, 1, 0,
2077
+ 0, 0, 323, 319, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 337, 1, 0, 0, 0, 325, 334, 3, 58,
2078
+ 29, 0, 326, 328, 3, 50, 25, 0, 327, 329, 3, 56, 28, 0, 328, 327, 1, 0, 0, 0, 328, 329,
2079
+ 1, 0, 0, 0, 329, 335, 1, 0, 0, 0, 330, 332, 3, 56, 28, 0, 331, 333, 3, 50, 25, 0, 332,
2080
+ 331, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 335, 1, 0, 0, 0, 334, 326, 1, 0, 0, 0, 334,
2081
+ 330, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 337, 1, 0, 0, 0, 336, 303, 1, 0, 0, 0, 336,
2082
+ 314, 1, 0, 0, 0, 336, 325, 1, 0, 0, 0, 337, 45, 1, 0, 0, 0, 338, 340, 3, 52, 26, 0, 339,
2083
+ 341, 3, 56, 28, 0, 340, 339, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 347, 1, 0, 0, 0, 342,
2084
+ 344, 3, 56, 28, 0, 343, 345, 3, 52, 26, 0, 344, 343, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0,
2085
+ 345, 347, 1, 0, 0, 0, 346, 338, 1, 0, 0, 0, 346, 342, 1, 0, 0, 0, 347, 47, 1, 0, 0, 0, 348,
2086
+ 357, 3, 54, 27, 0, 349, 351, 3, 56, 28, 0, 350, 352, 3, 58, 29, 0, 351, 350, 1, 0, 0,
2087
+ 0, 351, 352, 1, 0, 0, 0, 352, 358, 1, 0, 0, 0, 353, 355, 3, 58, 29, 0, 354, 356, 3, 56,
2088
+ 28, 0, 355, 354, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 358, 1, 0, 0, 0, 357, 349, 1, 0,
2089
+ 0, 0, 357, 353, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 358, 382, 1, 0, 0, 0, 359, 368, 3, 56,
2090
+ 28, 0, 360, 362, 3, 54, 27, 0, 361, 363, 3, 58, 29, 0, 362, 361, 1, 0, 0, 0, 362, 363,
2091
+ 1, 0, 0, 0, 363, 369, 1, 0, 0, 0, 364, 366, 3, 58, 29, 0, 365, 367, 3, 54, 27, 0, 366,
2092
+ 365, 1, 0, 0, 0, 366, 367, 1, 0, 0, 0, 367, 369, 1, 0, 0, 0, 368, 360, 1, 0, 0, 0, 368,
2093
+ 364, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 382, 1, 0, 0, 0, 370, 379, 3, 58, 29, 0, 371,
2094
+ 373, 3, 54, 27, 0, 372, 374, 3, 56, 28, 0, 373, 372, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0,
2095
+ 374, 380, 1, 0, 0, 0, 375, 377, 3, 56, 28, 0, 376, 378, 3, 54, 27, 0, 377, 376, 1, 0,
2096
+ 0, 0, 377, 378, 1, 0, 0, 0, 378, 380, 1, 0, 0, 0, 379, 371, 1, 0, 0, 0, 379, 375, 1, 0,
2097
+ 0, 0, 379, 380, 1, 0, 0, 0, 380, 382, 1, 0, 0, 0, 381, 348, 1, 0, 0, 0, 381, 359, 1, 0,
2098
+ 0, 0, 381, 370, 1, 0, 0, 0, 382, 49, 1, 0, 0, 0, 383, 387, 5, 1, 0, 0, 384, 386, 7, 0, 0,
2099
+ 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0,
2100
+ 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 5, 2, 0, 0, 391, 51, 1, 0, 0, 0,
2101
+ 392, 394, 5, 1, 0, 0, 393, 395, 5, 8, 0, 0, 394, 393, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0,
2102
+ 395, 396, 1, 0, 0, 0, 396, 397, 5, 2, 0, 0, 397, 53, 1, 0, 0, 0, 398, 400, 5, 1, 0, 0, 399,
2103
+ 401, 5, 9, 0, 0, 400, 399, 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402,
2104
+ 403, 5, 2, 0, 0, 403, 55, 1, 0, 0, 0, 404, 406, 5, 3, 0, 0, 405, 407, 5, 11, 0, 0, 406,
2105
+ 405, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 408, 1, 0, 0, 0, 408, 409, 5, 4, 0, 0, 409,
2106
+ 57, 1, 0, 0, 0, 410, 411, 5, 5, 0, 0, 411, 59, 1, 0, 0, 0, 412, 414, 5, 12, 0, 0, 413, 412,
2107
+ 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 61, 1,
2108
+ 0, 0, 0, 78, 68, 74, 83, 89, 91, 98, 104, 112, 120, 133, 145, 149, 152, 155, 161, 164,
2109
+ 167, 173, 176, 179, 185, 188, 191, 197, 200, 203, 209, 212, 215, 221, 224, 227,
2110
+ 233, 236, 239, 245, 248, 251, 257, 260, 263, 269, 272, 275, 281, 284, 287, 293,
2111
+ 296, 299, 306, 310, 312, 317, 321, 323, 328, 332, 334, 336, 340, 344, 346, 351,
2112
+ 355, 357, 362, 366, 368, 373, 377, 379, 381, 387, 394, 400, 406, 415
1885
2113
  ];
1886
2114
  static __ATN;
1887
2115
  static get _ATN() {
@@ -2035,6 +2263,56 @@ export class StatementSeqContext extends antlr.ParserRuleContext {
2035
2263
  }
2036
2264
  }
2037
2265
  }
2266
+ export class ClientStatementSeqContext extends antlr.ParserRuleContext {
2267
+ constructor(parent, invokingState) {
2268
+ super(parent, invokingState);
2269
+ }
2270
+ EOF() {
2271
+ return this.getToken(plurnkParser.EOF, 0);
2272
+ }
2273
+ clientStatement(i) {
2274
+ if (i === undefined) {
2275
+ return this.getRuleContexts(ClientStatementContext);
2276
+ }
2277
+ return this.getRuleContext(i, ClientStatementContext);
2278
+ }
2279
+ get ruleIndex() {
2280
+ return plurnkParser.RULE_clientStatementSeq;
2281
+ }
2282
+ accept(visitor) {
2283
+ if (visitor.visitClientStatementSeq) {
2284
+ return visitor.visitClientStatementSeq(this);
2285
+ }
2286
+ else {
2287
+ return visitor.visitChildren(this);
2288
+ }
2289
+ }
2290
+ }
2291
+ export class ClientStatementContext extends antlr.ParserRuleContext {
2292
+ constructor(parent, invokingState) {
2293
+ super(parent, invokingState);
2294
+ }
2295
+ statement() {
2296
+ return this.getRuleContext(0, StatementContext);
2297
+ }
2298
+ lookStatement() {
2299
+ return this.getRuleContext(0, LookStatementContext);
2300
+ }
2301
+ buffStatement() {
2302
+ return this.getRuleContext(0, BuffStatementContext);
2303
+ }
2304
+ get ruleIndex() {
2305
+ return plurnkParser.RULE_clientStatement;
2306
+ }
2307
+ accept(visitor) {
2308
+ if (visitor.visitClientStatement) {
2309
+ return visitor.visitClientStatement(this);
2310
+ }
2311
+ else {
2312
+ return visitor.visitChildren(this);
2313
+ }
2314
+ }
2315
+ }
2038
2316
  export class StatementContext extends antlr.ParserRuleContext {
2039
2317
  constructor(parent, invokingState) {
2040
2318
  super(parent, invokingState);
@@ -2471,6 +2749,68 @@ export class PlanStatementContext extends antlr.ParserRuleContext {
2471
2749
  }
2472
2750
  }
2473
2751
  }
2752
+ export class LookStatementContext extends antlr.ParserRuleContext {
2753
+ constructor(parent, invokingState) {
2754
+ super(parent, invokingState);
2755
+ }
2756
+ OPEN_LOOK() {
2757
+ return this.getToken(plurnkParser.OPEN_LOOK, 0);
2758
+ }
2759
+ CLOSE_TAG() {
2760
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
2761
+ }
2762
+ tagOpModifiers() {
2763
+ return this.getRuleContext(0, TagOpModifiersContext);
2764
+ }
2765
+ COLON() {
2766
+ return this.getToken(plurnkParser.COLON, 0);
2767
+ }
2768
+ body() {
2769
+ return this.getRuleContext(0, BodyContext);
2770
+ }
2771
+ get ruleIndex() {
2772
+ return plurnkParser.RULE_lookStatement;
2773
+ }
2774
+ accept(visitor) {
2775
+ if (visitor.visitLookStatement) {
2776
+ return visitor.visitLookStatement(this);
2777
+ }
2778
+ else {
2779
+ return visitor.visitChildren(this);
2780
+ }
2781
+ }
2782
+ }
2783
+ export class BuffStatementContext extends antlr.ParserRuleContext {
2784
+ constructor(parent, invokingState) {
2785
+ super(parent, invokingState);
2786
+ }
2787
+ OPEN_BUFF() {
2788
+ return this.getToken(plurnkParser.OPEN_BUFF, 0);
2789
+ }
2790
+ CLOSE_TAG() {
2791
+ return this.getToken(plurnkParser.CLOSE_TAG, 0);
2792
+ }
2793
+ tagOpModifiers() {
2794
+ return this.getRuleContext(0, TagOpModifiersContext);
2795
+ }
2796
+ COLON() {
2797
+ return this.getToken(plurnkParser.COLON, 0);
2798
+ }
2799
+ body() {
2800
+ return this.getRuleContext(0, BodyContext);
2801
+ }
2802
+ get ruleIndex() {
2803
+ return plurnkParser.RULE_buffStatement;
2804
+ }
2805
+ accept(visitor) {
2806
+ if (visitor.visitBuffStatement) {
2807
+ return visitor.visitBuffStatement(this);
2808
+ }
2809
+ else {
2810
+ return visitor.visitChildren(this);
2811
+ }
2812
+ }
2813
+ }
2474
2814
  export class TagOpModifiersContext extends antlr.ParserRuleContext {
2475
2815
  constructor(parent, invokingState) {
2476
2816
  super(parent, invokingState);