circuitscript 0.1.4 → 0.1.7

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 (102) hide show
  1. package/dist/cjs/BaseVisitor.js +149 -80
  2. package/dist/cjs/SemanticTokenVisitor.js +19 -13
  3. package/dist/cjs/antlr/CircuitScriptParser.js +711 -671
  4. package/dist/cjs/builtinMethods.js +48 -22
  5. package/dist/cjs/draw_symbols.js +4 -1
  6. package/dist/cjs/environment.js +118 -0
  7. package/dist/cjs/execute.js +98 -46
  8. package/dist/cjs/geometry.js +1 -0
  9. package/dist/cjs/globals.js +14 -7
  10. package/dist/cjs/helpers.js +142 -150
  11. package/dist/cjs/index.js +5 -0
  12. package/dist/cjs/layout.js +39 -14
  13. package/dist/cjs/main.js +34 -21
  14. package/dist/cjs/objects/ClassComponent.js +4 -1
  15. package/dist/cjs/objects/ExecutionScope.js +40 -2
  16. package/dist/cjs/objects/ParamDefinition.js +15 -15
  17. package/dist/cjs/parser.js +27 -21
  18. package/dist/cjs/regenerate-tests.js +9 -6
  19. package/dist/cjs/render.js +3 -1
  20. package/dist/cjs/sizing.js +10 -60
  21. package/dist/cjs/utils.js +148 -17
  22. package/dist/cjs/validate/SymbolTable.js +96 -0
  23. package/dist/cjs/validate/SymbolValidatorResolveVisitor.js +14 -0
  24. package/dist/cjs/validate/SymbolValidatorVisitor.js +170 -0
  25. package/dist/cjs/validate.js +52 -44
  26. package/dist/cjs/visitor.js +149 -31
  27. package/dist/esm/{BaseVisitor.mjs → BaseVisitor.js} +124 -56
  28. package/dist/esm/{SemanticTokenVisitor.mjs → SemanticTokenVisitor.js} +17 -11
  29. package/dist/esm/antlr/{CircuitScriptParser.mjs → CircuitScriptParser.js} +711 -671
  30. package/dist/esm/{builtinMethods.mjs → builtinMethods.js} +40 -14
  31. package/dist/esm/{draw_symbols.mjs → draw_symbols.js} +11 -8
  32. package/dist/esm/environment.js +110 -0
  33. package/dist/esm/{execute.mjs → execute.js} +111 -58
  34. package/dist/esm/{export.mjs → export.js} +2 -2
  35. package/dist/esm/{geometry.mjs → geometry.js} +6 -5
  36. package/dist/esm/{globals.mjs → globals.js} +9 -2
  37. package/dist/esm/helpers.js +377 -0
  38. package/dist/esm/index.js +20 -0
  39. package/dist/esm/{layout.mjs → layout.js} +44 -22
  40. package/dist/esm/{lexer.mjs → lexer.js} +2 -2
  41. package/dist/esm/{main.mjs → main.js} +36 -23
  42. package/dist/esm/objects/{ClassComponent.mjs → ClassComponent.js} +9 -5
  43. package/dist/esm/objects/{ExecutionScope.mjs → ExecutionScope.js} +40 -2
  44. package/dist/esm/objects/{Frame.mjs → Frame.js} +1 -1
  45. package/dist/esm/objects/{ParamDefinition.mjs → ParamDefinition.js} +1 -1
  46. package/dist/esm/objects/{PinDefinition.mjs → PinDefinition.js} +1 -1
  47. package/dist/esm/parser.js +71 -0
  48. package/dist/esm/{regenerate-tests.mjs → regenerate-tests.js} +10 -7
  49. package/dist/esm/{render.mjs → render.js} +11 -9
  50. package/dist/esm/{sizing.mjs → sizing.js} +11 -36
  51. package/dist/esm/utils.js +286 -0
  52. package/dist/esm/validate/SymbolTable.js +90 -0
  53. package/dist/esm/validate/SymbolValidatorResolveVisitor.js +10 -0
  54. package/dist/esm/validate/SymbolValidatorVisitor.js +163 -0
  55. package/dist/esm/validate.js +86 -0
  56. package/dist/esm/{visitor.mjs → visitor.js} +160 -42
  57. package/dist/fonts/Arial.ttf +0 -0
  58. package/dist/fonts/Inter-Bold.ttf +0 -0
  59. package/dist/fonts/Inter-Regular.ttf +0 -0
  60. package/dist/fonts/OpenSans-Regular.ttf +0 -0
  61. package/dist/fonts/Roboto-Regular.ttf +0 -0
  62. package/dist/libs/lib.cst +423 -0
  63. package/dist/types/BaseVisitor.d.ts +36 -22
  64. package/dist/types/SemanticTokenVisitor.d.ts +6 -5
  65. package/dist/types/antlr/CircuitScriptParser.d.ts +4 -2
  66. package/dist/types/builtinMethods.d.ts +3 -2
  67. package/dist/types/draw_symbols.d.ts +2 -6
  68. package/dist/types/environment.d.ts +31 -0
  69. package/dist/types/execute.d.ts +2 -3
  70. package/dist/types/globals.d.ts +7 -2
  71. package/dist/types/helpers.d.ts +12 -14
  72. package/dist/types/index.d.ts +5 -0
  73. package/dist/types/objects/ClassComponent.d.ts +2 -3
  74. package/dist/types/objects/ExecutionScope.d.ts +20 -6
  75. package/dist/types/objects/types.d.ts +6 -1
  76. package/dist/types/parser.d.ts +7 -11
  77. package/dist/types/sizing.d.ts +0 -3
  78. package/dist/types/utils.d.ts +33 -4
  79. package/dist/types/validate/SymbolTable.d.ts +40 -0
  80. package/dist/types/validate/SymbolValidatorResolveVisitor.d.ts +7 -0
  81. package/dist/types/validate/SymbolValidatorVisitor.d.ts +32 -0
  82. package/dist/types/validate.d.ts +1 -1
  83. package/libs/lib.cst +12 -22
  84. package/package.json +14 -13
  85. package/dist/cjs/SymbolValidatorVisitor.js +0 -233
  86. package/dist/esm/SymbolValidatorVisitor.mjs +0 -222
  87. package/dist/esm/helpers.mjs +0 -380
  88. package/dist/esm/index.mjs +0 -15
  89. package/dist/esm/parser.mjs +0 -64
  90. package/dist/esm/utils.mjs +0 -169
  91. package/dist/esm/validate.mjs +0 -74
  92. package/dist/types/SymbolValidatorVisitor.d.ts +0 -61
  93. package/dist/types/layout.d.ts +0 -148
  94. /package/dist/esm/antlr/{CircuitScriptLexer.mjs → CircuitScriptLexer.js} +0 -0
  95. /package/dist/esm/antlr/{CircuitScriptVisitor.mjs → CircuitScriptVisitor.js} +0 -0
  96. /package/dist/esm/{fonts.mjs → fonts.js} +0 -0
  97. /package/dist/esm/{logger.mjs → logger.js} +0 -0
  98. /package/dist/esm/objects/{Net.mjs → Net.js} +0 -0
  99. /package/dist/esm/objects/{PinTypes.mjs → PinTypes.js} +0 -0
  100. /package/dist/esm/objects/{Wire.mjs → Wire.js} +0 -0
  101. /package/dist/esm/objects/{types.mjs → types.js} +0 -0
  102. /package/dist/esm/{server.mjs → server.js} +0 -0
@@ -191,14 +191,45 @@ export class CircuitScriptParser extends antlr.Parser {
191
191
  this.enterRule(localContext, 0, CircuitScriptParser.RULE_script);
192
192
  let _la;
193
193
  try {
194
+ let alternative;
194
195
  this.enterOuterAlt(localContext, 1);
195
196
  {
196
- this.state = 130;
197
+ this.state = 132;
198
+ this.errorHandler.sync(this);
199
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 1, this.context);
200
+ while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
201
+ if (alternative === 1) {
202
+ {
203
+ this.state = 130;
204
+ this.errorHandler.sync(this);
205
+ switch (this.tokenStream.LA(1)) {
206
+ case CircuitScriptParser.Import:
207
+ {
208
+ this.state = 128;
209
+ this.import_expr();
210
+ }
211
+ break;
212
+ case CircuitScriptParser.NEWLINE:
213
+ {
214
+ this.state = 129;
215
+ this.match(CircuitScriptParser.NEWLINE);
216
+ }
217
+ break;
218
+ default:
219
+ throw new antlr.NoViableAltException(this);
220
+ }
221
+ }
222
+ }
223
+ this.state = 134;
224
+ this.errorHandler.sync(this);
225
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 1, this.context);
226
+ }
227
+ this.state = 137;
197
228
  this.errorHandler.sync(this);
198
229
  _la = this.tokenStream.LA(1);
199
230
  do {
200
231
  {
201
- this.state = 130;
232
+ this.state = 137;
202
233
  this.errorHandler.sync(this);
203
234
  switch (this.tokenStream.LA(1)) {
204
235
  case CircuitScriptParser.T__3:
@@ -223,13 +254,13 @@ export class CircuitScriptParser extends antlr.Parser {
223
254
  case CircuitScriptParser.Divide:
224
255
  case CircuitScriptParser.ID:
225
256
  {
226
- this.state = 128;
257
+ this.state = 135;
227
258
  this.expression();
228
259
  }
229
260
  break;
230
261
  case CircuitScriptParser.NEWLINE:
231
262
  {
232
- this.state = 129;
263
+ this.state = 136;
233
264
  this.match(CircuitScriptParser.NEWLINE);
234
265
  }
235
266
  break;
@@ -237,11 +268,11 @@ export class CircuitScriptParser extends antlr.Parser {
237
268
  throw new antlr.NoViableAltException(this);
238
269
  }
239
270
  }
240
- this.state = 132;
271
+ this.state = 139;
241
272
  this.errorHandler.sync(this);
242
273
  _la = this.tokenStream.LA(1);
243
274
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
244
- this.state = 134;
275
+ this.state = 141;
245
276
  this.match(CircuitScriptParser.EOF);
246
277
  }
247
278
  }
@@ -263,160 +294,160 @@ export class CircuitScriptParser extends antlr.Parser {
263
294
  let localContext = new ExpressionContext(this.context, this.state);
264
295
  this.enterRule(localContext, 2, CircuitScriptParser.RULE_expression);
265
296
  try {
266
- this.state = 158;
297
+ this.state = 165;
267
298
  this.errorHandler.sync(this);
268
- switch (this.interpreter.adaptivePredict(this.tokenStream, 2, this.context)) {
299
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 4, this.context)) {
269
300
  case 1:
270
301
  this.enterOuterAlt(localContext, 1);
271
302
  {
272
- this.state = 136;
303
+ this.state = 143;
273
304
  this.add_component_expr();
274
305
  }
275
306
  break;
276
307
  case 2:
277
308
  this.enterOuterAlt(localContext, 2);
278
309
  {
279
- this.state = 137;
310
+ this.state = 144;
280
311
  this.to_component_expr();
281
312
  }
282
313
  break;
283
314
  case 3:
284
315
  this.enterOuterAlt(localContext, 3);
285
316
  {
286
- this.state = 138;
317
+ this.state = 145;
287
318
  this.at_component_expr();
288
319
  }
289
320
  break;
290
321
  case 4:
291
322
  this.enterOuterAlt(localContext, 4);
292
323
  {
293
- this.state = 139;
324
+ this.state = 146;
294
325
  this.assignment_expr();
295
326
  }
296
327
  break;
297
328
  case 5:
298
329
  this.enterOuterAlt(localContext, 5);
299
330
  {
300
- this.state = 140;
331
+ this.state = 147;
301
332
  this.operator_assignment_expr();
302
333
  }
303
334
  break;
304
335
  case 6:
305
336
  this.enterOuterAlt(localContext, 6);
306
337
  {
307
- this.state = 141;
338
+ this.state = 148;
308
339
  this.property_set_expr();
309
340
  }
310
341
  break;
311
342
  case 7:
312
343
  this.enterOuterAlt(localContext, 7);
313
344
  {
314
- this.state = 142;
345
+ this.state = 149;
315
346
  this.property_set_expr2();
316
347
  }
317
348
  break;
318
349
  case 8:
319
350
  this.enterOuterAlt(localContext, 8);
320
351
  {
321
- this.state = 143;
352
+ this.state = 150;
322
353
  this.double_dot_property_set_expr();
323
354
  }
324
355
  break;
325
356
  case 9:
326
357
  this.enterOuterAlt(localContext, 9);
327
358
  {
328
- this.state = 144;
359
+ this.state = 151;
329
360
  this.break_keyword();
330
361
  }
331
362
  break;
332
363
  case 10:
333
364
  this.enterOuterAlt(localContext, 10);
334
365
  {
335
- this.state = 145;
366
+ this.state = 152;
336
367
  this.continue_keyword();
337
368
  }
338
369
  break;
339
370
  case 11:
340
371
  this.enterOuterAlt(localContext, 11);
341
372
  {
342
- this.state = 146;
373
+ this.state = 153;
343
374
  this.function_def_expr();
344
375
  }
345
376
  break;
346
377
  case 12:
347
378
  this.enterOuterAlt(localContext, 12);
348
379
  {
349
- this.state = 147;
380
+ this.state = 154;
350
381
  this.function_call_expr();
351
382
  }
352
383
  break;
353
384
  case 13:
354
385
  this.enterOuterAlt(localContext, 13);
355
386
  {
356
- this.state = 148;
387
+ this.state = 155;
357
388
  this.wire_expr();
358
389
  }
359
390
  break;
360
391
  case 14:
361
392
  this.enterOuterAlt(localContext, 14);
362
393
  {
363
- this.state = 149;
394
+ this.state = 156;
364
395
  this.import_expr();
365
396
  }
366
397
  break;
367
398
  case 15:
368
399
  this.enterOuterAlt(localContext, 15);
369
400
  {
370
- this.state = 150;
401
+ this.state = 157;
371
402
  this.frame_expr();
372
403
  }
373
404
  break;
374
405
  case 16:
375
406
  this.enterOuterAlt(localContext, 16);
376
407
  {
377
- this.state = 151;
408
+ this.state = 158;
378
409
  this.atom_expr();
379
410
  }
380
411
  break;
381
412
  case 17:
382
413
  this.enterOuterAlt(localContext, 17);
383
414
  {
384
- this.state = 152;
415
+ this.state = 159;
385
416
  this.at_block();
386
417
  }
387
418
  break;
388
419
  case 18:
389
420
  this.enterOuterAlt(localContext, 18);
390
421
  {
391
- this.state = 153;
422
+ this.state = 160;
392
423
  this.path_blocks();
393
424
  }
394
425
  break;
395
426
  case 19:
396
427
  this.enterOuterAlt(localContext, 19);
397
428
  {
398
- this.state = 154;
429
+ this.state = 161;
399
430
  this.point_expr();
400
431
  }
401
432
  break;
402
433
  case 20:
403
434
  this.enterOuterAlt(localContext, 20);
404
435
  {
405
- this.state = 155;
436
+ this.state = 162;
406
437
  this.if_expr();
407
438
  }
408
439
  break;
409
440
  case 21:
410
441
  this.enterOuterAlt(localContext, 21);
411
442
  {
412
- this.state = 156;
443
+ this.state = 163;
413
444
  this.while_expr();
414
445
  }
415
446
  break;
416
447
  case 22:
417
448
  this.enterOuterAlt(localContext, 22);
418
449
  {
419
- this.state = 157;
450
+ this.state = 164;
420
451
  this.for_expr();
421
452
  }
422
453
  break;
@@ -443,21 +474,21 @@ export class CircuitScriptParser extends antlr.Parser {
443
474
  try {
444
475
  this.enterOuterAlt(localContext, 1);
445
476
  {
446
- this.state = 160;
477
+ this.state = 167;
447
478
  this.match(CircuitScriptParser.NEWLINE);
448
- this.state = 161;
479
+ this.state = 168;
449
480
  this.match(CircuitScriptParser.INDENT);
450
- this.state = 164;
481
+ this.state = 171;
451
482
  this.errorHandler.sync(this);
452
483
  _la = this.tokenStream.LA(1);
453
484
  do {
454
485
  {
455
- this.state = 164;
486
+ this.state = 171;
456
487
  this.errorHandler.sync(this);
457
488
  switch (this.tokenStream.LA(1)) {
458
489
  case CircuitScriptParser.NEWLINE:
459
490
  {
460
- this.state = 162;
491
+ this.state = 169;
461
492
  this.match(CircuitScriptParser.NEWLINE);
462
493
  }
463
494
  break;
@@ -483,7 +514,7 @@ export class CircuitScriptParser extends antlr.Parser {
483
514
  case CircuitScriptParser.Divide:
484
515
  case CircuitScriptParser.ID:
485
516
  {
486
- this.state = 163;
517
+ this.state = 170;
487
518
  this.expression();
488
519
  }
489
520
  break;
@@ -491,11 +522,11 @@ export class CircuitScriptParser extends antlr.Parser {
491
522
  throw new antlr.NoViableAltException(this);
492
523
  }
493
524
  }
494
- this.state = 166;
525
+ this.state = 173;
495
526
  this.errorHandler.sync(this);
496
527
  _la = this.tokenStream.LA(1);
497
528
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
498
- this.state = 168;
529
+ this.state = 175;
499
530
  this.match(CircuitScriptParser.DEDENT);
500
531
  }
501
532
  }
@@ -520,7 +551,7 @@ export class CircuitScriptParser extends antlr.Parser {
520
551
  let alternative;
521
552
  this.enterOuterAlt(localContext, 1);
522
553
  {
523
- this.state = 171;
554
+ this.state = 178;
524
555
  this.errorHandler.sync(this);
525
556
  alternative = 1;
526
557
  do {
@@ -528,7 +559,7 @@ export class CircuitScriptParser extends antlr.Parser {
528
559
  case 1:
529
560
  {
530
561
  {
531
- this.state = 170;
562
+ this.state = 177;
532
563
  this.path_block_inner();
533
564
  }
534
565
  }
@@ -536,9 +567,9 @@ export class CircuitScriptParser extends antlr.Parser {
536
567
  default:
537
568
  throw new antlr.NoViableAltException(this);
538
569
  }
539
- this.state = 173;
570
+ this.state = 180;
540
571
  this.errorHandler.sync(this);
541
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 5, this.context);
572
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 7, this.context);
542
573
  } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
543
574
  }
544
575
  }
@@ -563,7 +594,7 @@ export class CircuitScriptParser extends antlr.Parser {
563
594
  try {
564
595
  this.enterOuterAlt(localContext, 1);
565
596
  {
566
- this.state = 175;
597
+ this.state = 182;
567
598
  _la = this.tokenStream.LA(1);
568
599
  if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3670528) !== 0))) {
569
600
  this.errorHandler.recoverInline(this);
@@ -572,9 +603,9 @@ export class CircuitScriptParser extends antlr.Parser {
572
603
  this.errorHandler.reportMatch(this);
573
604
  this.consume();
574
605
  }
575
- this.state = 176;
606
+ this.state = 183;
576
607
  this.match(CircuitScriptParser.T__0);
577
- this.state = 177;
608
+ this.state = 184;
578
609
  this.expressions_block();
579
610
  }
580
611
  }
@@ -599,32 +630,32 @@ export class CircuitScriptParser extends antlr.Parser {
599
630
  try {
600
631
  this.enterOuterAlt(localContext, 1);
601
632
  {
602
- this.state = 179;
633
+ this.state = 186;
603
634
  this.atom_expr();
604
- this.state = 180;
635
+ this.state = 187;
605
636
  this.match(CircuitScriptParser.T__0);
606
- this.state = 181;
637
+ this.state = 188;
607
638
  this.match(CircuitScriptParser.NEWLINE);
608
- this.state = 182;
639
+ this.state = 189;
609
640
  this.match(CircuitScriptParser.INDENT);
610
- this.state = 185;
641
+ this.state = 192;
611
642
  this.errorHandler.sync(this);
612
643
  _la = this.tokenStream.LA(1);
613
644
  do {
614
645
  {
615
- this.state = 185;
646
+ this.state = 192;
616
647
  this.errorHandler.sync(this);
617
648
  switch (this.tokenStream.LA(1)) {
618
649
  case CircuitScriptParser.NEWLINE:
619
650
  {
620
- this.state = 183;
651
+ this.state = 190;
621
652
  this.match(CircuitScriptParser.NEWLINE);
622
653
  }
623
654
  break;
624
655
  case CircuitScriptParser.ID:
625
656
  case CircuitScriptParser.INTEGER_VALUE:
626
657
  {
627
- this.state = 184;
658
+ this.state = 191;
628
659
  this.assignment_expr2();
629
660
  }
630
661
  break;
@@ -632,11 +663,11 @@ export class CircuitScriptParser extends antlr.Parser {
632
663
  throw new antlr.NoViableAltException(this);
633
664
  }
634
665
  }
635
- this.state = 187;
666
+ this.state = 194;
636
667
  this.errorHandler.sync(this);
637
668
  _la = this.tokenStream.LA(1);
638
669
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 259) !== 0));
639
- this.state = 189;
670
+ this.state = 196;
640
671
  this.match(CircuitScriptParser.DEDENT);
641
672
  }
642
673
  }
@@ -661,7 +692,7 @@ export class CircuitScriptParser extends antlr.Parser {
661
692
  try {
662
693
  this.enterOuterAlt(localContext, 1);
663
694
  {
664
- this.state = 191;
695
+ this.state = 198;
665
696
  _la = this.tokenStream.LA(1);
666
697
  if (!(_la === 56 || _la === 57)) {
667
698
  this.errorHandler.recoverInline(this);
@@ -670,9 +701,9 @@ export class CircuitScriptParser extends antlr.Parser {
670
701
  this.errorHandler.reportMatch(this);
671
702
  this.consume();
672
703
  }
673
- this.state = 192;
704
+ this.state = 199;
674
705
  this.match(CircuitScriptParser.T__0);
675
- this.state = 193;
706
+ this.state = 200;
676
707
  this.value_expr();
677
708
  }
678
709
  }
@@ -697,9 +728,9 @@ export class CircuitScriptParser extends antlr.Parser {
697
728
  try {
698
729
  this.enterOuterAlt(localContext, 1);
699
730
  {
700
- this.state = 195;
731
+ this.state = 202;
701
732
  this.match(CircuitScriptParser.Pin);
702
- this.state = 196;
733
+ this.state = 203;
703
734
  _la = this.tokenStream.LA(1);
704
735
  if (!(_la === 57 || _la === 60)) {
705
736
  this.errorHandler.recoverInline(this);
@@ -730,11 +761,11 @@ export class CircuitScriptParser extends antlr.Parser {
730
761
  try {
731
762
  this.enterOuterAlt(localContext, 1);
732
763
  {
733
- this.state = 198;
764
+ this.state = 205;
734
765
  this.match(CircuitScriptParser.ID);
735
- this.state = 199;
766
+ this.state = 206;
736
767
  this.match(CircuitScriptParser.T__0);
737
- this.state = 202;
768
+ this.state = 209;
738
769
  this.errorHandler.sync(this);
739
770
  switch (this.tokenStream.LA(1)) {
740
771
  case CircuitScriptParser.Minus:
@@ -745,13 +776,13 @@ export class CircuitScriptParser extends antlr.Parser {
745
776
  case CircuitScriptParser.STRING_VALUE:
746
777
  case CircuitScriptParser.PERCENTAGE_VALUE:
747
778
  {
748
- this.state = 200;
779
+ this.state = 207;
749
780
  this.value_expr();
750
781
  }
751
782
  break;
752
783
  case CircuitScriptParser.ID:
753
784
  {
754
- this.state = 201;
785
+ this.state = 208;
755
786
  this.match(CircuitScriptParser.ID);
756
787
  }
757
788
  break;
@@ -782,44 +813,44 @@ export class CircuitScriptParser extends antlr.Parser {
782
813
  let alternative;
783
814
  this.enterOuterAlt(localContext, 1);
784
815
  {
785
- this.state = 206;
816
+ this.state = 213;
786
817
  this.errorHandler.sync(this);
787
- switch (this.interpreter.adaptivePredict(this.tokenStream, 9, this.context)) {
818
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 11, this.context)) {
788
819
  case 1:
789
820
  {
790
- this.state = 204;
821
+ this.state = 211;
791
822
  this.data_expr(0);
792
823
  }
793
824
  break;
794
825
  case 2:
795
826
  {
796
- this.state = 205;
827
+ this.state = 212;
797
828
  this.assignment_expr();
798
829
  }
799
830
  break;
800
831
  }
801
- this.state = 211;
832
+ this.state = 218;
802
833
  this.errorHandler.sync(this);
803
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 10, this.context);
834
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 12, this.context);
804
835
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
805
836
  if (alternative === 1) {
806
837
  {
807
838
  {
808
- this.state = 208;
839
+ this.state = 215;
809
840
  this.component_modifier_expr();
810
841
  }
811
842
  }
812
843
  }
813
- this.state = 213;
844
+ this.state = 220;
814
845
  this.errorHandler.sync(this);
815
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 10, this.context);
846
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 12, this.context);
816
847
  }
817
- this.state = 215;
848
+ this.state = 222;
818
849
  this.errorHandler.sync(this);
819
850
  _la = this.tokenStream.LA(1);
820
851
  if (_la === 15) {
821
852
  {
822
- this.state = 214;
853
+ this.state = 221;
823
854
  this.pin_select_expr();
824
855
  }
825
856
  }
@@ -845,9 +876,9 @@ export class CircuitScriptParser extends antlr.Parser {
845
876
  try {
846
877
  this.enterOuterAlt(localContext, 1);
847
878
  {
848
- this.state = 217;
879
+ this.state = 224;
849
880
  this.match(CircuitScriptParser.Add);
850
- this.state = 218;
881
+ this.state = 225;
851
882
  this.data_expr_with_assignment();
852
883
  }
853
884
  }
@@ -869,7 +900,7 @@ export class CircuitScriptParser extends antlr.Parser {
869
900
  let localContext = new Component_select_exprContext(this.context, this.state);
870
901
  this.enterRule(localContext, 22, CircuitScriptParser.RULE_component_select_expr);
871
902
  try {
872
- this.state = 223;
903
+ this.state = 230;
873
904
  this.errorHandler.sync(this);
874
905
  switch (this.tokenStream.LA(1)) {
875
906
  case CircuitScriptParser.T__5:
@@ -888,21 +919,21 @@ export class CircuitScriptParser extends antlr.Parser {
888
919
  case CircuitScriptParser.PERCENTAGE_VALUE:
889
920
  this.enterOuterAlt(localContext, 1);
890
921
  {
891
- this.state = 220;
922
+ this.state = 227;
892
923
  this.data_expr_with_assignment();
893
924
  }
894
925
  break;
895
926
  case CircuitScriptParser.Pin:
896
927
  this.enterOuterAlt(localContext, 2);
897
928
  {
898
- this.state = 221;
929
+ this.state = 228;
899
930
  this.pin_select_expr();
900
931
  }
901
932
  break;
902
933
  case CircuitScriptParser.Point:
903
934
  this.enterOuterAlt(localContext, 3);
904
935
  {
905
- this.state = 222;
936
+ this.state = 229;
906
937
  this.match(CircuitScriptParser.Point);
907
938
  }
908
939
  break;
@@ -931,7 +962,7 @@ export class CircuitScriptParser extends antlr.Parser {
931
962
  try {
932
963
  this.enterOuterAlt(localContext, 1);
933
964
  {
934
- this.state = 225;
965
+ this.state = 232;
935
966
  _la = this.tokenStream.LA(1);
936
967
  if (!(_la === 57 || _la === 60)) {
937
968
  this.errorHandler.recoverInline(this);
@@ -962,9 +993,9 @@ export class CircuitScriptParser extends antlr.Parser {
962
993
  try {
963
994
  this.enterOuterAlt(localContext, 1);
964
995
  {
965
- this.state = 227;
996
+ this.state = 234;
966
997
  this.match(CircuitScriptParser.At);
967
- this.state = 228;
998
+ this.state = 235;
968
999
  this.component_select_expr();
969
1000
  }
970
1001
  }
@@ -989,24 +1020,24 @@ export class CircuitScriptParser extends antlr.Parser {
989
1020
  try {
990
1021
  this.enterOuterAlt(localContext, 1);
991
1022
  {
992
- this.state = 230;
1023
+ this.state = 237;
993
1024
  this.match(CircuitScriptParser.To);
994
1025
  {
995
- this.state = 231;
1026
+ this.state = 238;
996
1027
  this.component_select_expr();
997
- this.state = 236;
1028
+ this.state = 243;
998
1029
  this.errorHandler.sync(this);
999
1030
  _la = this.tokenStream.LA(1);
1000
1031
  while (_la === 2) {
1001
1032
  {
1002
1033
  {
1003
- this.state = 232;
1034
+ this.state = 239;
1004
1035
  this.match(CircuitScriptParser.T__1);
1005
- this.state = 233;
1036
+ this.state = 240;
1006
1037
  this.component_select_expr();
1007
1038
  }
1008
1039
  }
1009
- this.state = 238;
1040
+ this.state = 245;
1010
1041
  this.errorHandler.sync(this);
1011
1042
  _la = this.tokenStream.LA(1);
1012
1043
  }
@@ -1034,54 +1065,54 @@ export class CircuitScriptParser extends antlr.Parser {
1034
1065
  try {
1035
1066
  this.enterOuterAlt(localContext, 1);
1036
1067
  {
1037
- this.state = 239;
1068
+ this.state = 246;
1038
1069
  this.match(CircuitScriptParser.At);
1039
- this.state = 240;
1070
+ this.state = 247;
1040
1071
  this.component_select_expr();
1041
- this.state = 241;
1072
+ this.state = 248;
1042
1073
  this.match(CircuitScriptParser.To);
1043
- this.state = 242;
1074
+ this.state = 249;
1044
1075
  this.component_select_expr();
1045
- this.state = 247;
1076
+ this.state = 254;
1046
1077
  this.errorHandler.sync(this);
1047
1078
  _la = this.tokenStream.LA(1);
1048
1079
  while (_la === 2) {
1049
1080
  {
1050
1081
  {
1051
- this.state = 243;
1082
+ this.state = 250;
1052
1083
  this.match(CircuitScriptParser.T__1);
1053
- this.state = 244;
1084
+ this.state = 251;
1054
1085
  this.component_select_expr();
1055
1086
  }
1056
1087
  }
1057
- this.state = 249;
1088
+ this.state = 256;
1058
1089
  this.errorHandler.sync(this);
1059
1090
  _la = this.tokenStream.LA(1);
1060
1091
  }
1061
- this.state = 250;
1092
+ this.state = 257;
1062
1093
  this.match(CircuitScriptParser.T__0);
1063
- this.state = 251;
1094
+ this.state = 258;
1064
1095
  this.match(CircuitScriptParser.NEWLINE);
1065
- this.state = 252;
1096
+ this.state = 259;
1066
1097
  this.match(CircuitScriptParser.INDENT);
1067
- this.state = 255;
1098
+ this.state = 262;
1068
1099
  this.errorHandler.sync(this);
1069
1100
  _la = this.tokenStream.LA(1);
1070
1101
  do {
1071
1102
  {
1072
- this.state = 255;
1103
+ this.state = 262;
1073
1104
  this.errorHandler.sync(this);
1074
1105
  switch (this.tokenStream.LA(1)) {
1075
1106
  case CircuitScriptParser.NEWLINE:
1076
1107
  {
1077
- this.state = 253;
1108
+ this.state = 260;
1078
1109
  this.match(CircuitScriptParser.NEWLINE);
1079
1110
  }
1080
1111
  break;
1081
1112
  case CircuitScriptParser.INTEGER_VALUE:
1082
1113
  case CircuitScriptParser.STRING_VALUE:
1083
1114
  {
1084
- this.state = 254;
1115
+ this.state = 261;
1085
1116
  this.at_to_multiple_line_expr();
1086
1117
  }
1087
1118
  break;
@@ -1089,11 +1120,11 @@ export class CircuitScriptParser extends antlr.Parser {
1089
1120
  throw new antlr.NoViableAltException(this);
1090
1121
  }
1091
1122
  }
1092
- this.state = 257;
1123
+ this.state = 264;
1093
1124
  this.errorHandler.sync(this);
1094
1125
  _la = this.tokenStream.LA(1);
1095
1126
  } while (((((_la - 57)) & ~0x1F) === 0 && ((1 << (_la - 57)) & 137) !== 0));
1096
- this.state = 259;
1127
+ this.state = 266;
1097
1128
  this.match(CircuitScriptParser.DEDENT);
1098
1129
  }
1099
1130
  }
@@ -1118,25 +1149,25 @@ export class CircuitScriptParser extends antlr.Parser {
1118
1149
  try {
1119
1150
  this.enterOuterAlt(localContext, 1);
1120
1151
  {
1121
- this.state = 261;
1152
+ this.state = 268;
1122
1153
  this.pin_select_expr2();
1123
- this.state = 262;
1154
+ this.state = 269;
1124
1155
  this.match(CircuitScriptParser.T__0);
1125
- this.state = 263;
1156
+ this.state = 270;
1126
1157
  this.at_to_multiple_line_expr_to_pin();
1127
- this.state = 268;
1158
+ this.state = 275;
1128
1159
  this.errorHandler.sync(this);
1129
1160
  _la = this.tokenStream.LA(1);
1130
1161
  while (_la === 2) {
1131
1162
  {
1132
1163
  {
1133
- this.state = 264;
1164
+ this.state = 271;
1134
1165
  this.match(CircuitScriptParser.T__1);
1135
- this.state = 265;
1166
+ this.state = 272;
1136
1167
  this.at_to_multiple_line_expr_to_pin();
1137
1168
  }
1138
1169
  }
1139
- this.state = 270;
1170
+ this.state = 277;
1140
1171
  this.errorHandler.sync(this);
1141
1172
  _la = this.tokenStream.LA(1);
1142
1173
  }
@@ -1163,7 +1194,7 @@ export class CircuitScriptParser extends antlr.Parser {
1163
1194
  try {
1164
1195
  this.enterOuterAlt(localContext, 1);
1165
1196
  {
1166
- this.state = 271;
1197
+ this.state = 278;
1167
1198
  _la = this.tokenStream.LA(1);
1168
1199
  if (!(_la === 54 || _la === 57)) {
1169
1200
  this.errorHandler.recoverInline(this);
@@ -1195,25 +1226,25 @@ export class CircuitScriptParser extends antlr.Parser {
1195
1226
  try {
1196
1227
  this.enterOuterAlt(localContext, 1);
1197
1228
  {
1198
- this.state = 273;
1229
+ this.state = 280;
1199
1230
  this.at_component_expr();
1200
- this.state = 274;
1231
+ this.state = 281;
1201
1232
  this.match(CircuitScriptParser.T__0);
1202
- this.state = 275;
1233
+ this.state = 282;
1203
1234
  this.match(CircuitScriptParser.NEWLINE);
1204
- this.state = 276;
1235
+ this.state = 283;
1205
1236
  this.match(CircuitScriptParser.INDENT);
1206
- this.state = 279;
1237
+ this.state = 286;
1207
1238
  this.errorHandler.sync(this);
1208
1239
  _la = this.tokenStream.LA(1);
1209
1240
  do {
1210
1241
  {
1211
- this.state = 279;
1242
+ this.state = 286;
1212
1243
  this.errorHandler.sync(this);
1213
1244
  switch (this.tokenStream.LA(1)) {
1214
1245
  case CircuitScriptParser.NEWLINE:
1215
1246
  {
1216
- this.state = 277;
1247
+ this.state = 284;
1217
1248
  this.match(CircuitScriptParser.NEWLINE);
1218
1249
  }
1219
1250
  break;
@@ -1241,7 +1272,7 @@ export class CircuitScriptParser extends antlr.Parser {
1241
1272
  case CircuitScriptParser.INTEGER_VALUE:
1242
1273
  case CircuitScriptParser.STRING_VALUE:
1243
1274
  {
1244
- this.state = 278;
1275
+ this.state = 285;
1245
1276
  this.at_block_expressions();
1246
1277
  }
1247
1278
  break;
@@ -1249,11 +1280,11 @@ export class CircuitScriptParser extends antlr.Parser {
1249
1280
  throw new antlr.NoViableAltException(this);
1250
1281
  }
1251
1282
  }
1252
- this.state = 281;
1283
+ this.state = 288;
1253
1284
  this.errorHandler.sync(this);
1254
1285
  _la = this.tokenStream.LA(1);
1255
1286
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4505605) !== 0));
1256
- this.state = 283;
1287
+ this.state = 290;
1257
1288
  this.match(CircuitScriptParser.DEDENT);
1258
1289
  }
1259
1290
  }
@@ -1275,7 +1306,7 @@ export class CircuitScriptParser extends antlr.Parser {
1275
1306
  let localContext = new At_block_expressionsContext(this.context, this.state);
1276
1307
  this.enterRule(localContext, 38, CircuitScriptParser.RULE_at_block_expressions);
1277
1308
  try {
1278
- this.state = 287;
1309
+ this.state = 294;
1279
1310
  this.errorHandler.sync(this);
1280
1311
  switch (this.tokenStream.LA(1)) {
1281
1312
  case CircuitScriptParser.T__3:
@@ -1301,7 +1332,7 @@ export class CircuitScriptParser extends antlr.Parser {
1301
1332
  case CircuitScriptParser.ID:
1302
1333
  this.enterOuterAlt(localContext, 1);
1303
1334
  {
1304
- this.state = 285;
1335
+ this.state = 292;
1305
1336
  this.expression();
1306
1337
  }
1307
1338
  break;
@@ -1309,7 +1340,7 @@ export class CircuitScriptParser extends antlr.Parser {
1309
1340
  case CircuitScriptParser.STRING_VALUE:
1310
1341
  this.enterOuterAlt(localContext, 2);
1311
1342
  {
1312
- this.state = 286;
1343
+ this.state = 293;
1313
1344
  this.at_block_pin_expr();
1314
1345
  }
1315
1346
  break;
@@ -1337,11 +1368,11 @@ export class CircuitScriptParser extends antlr.Parser {
1337
1368
  try {
1338
1369
  this.enterOuterAlt(localContext, 1);
1339
1370
  {
1340
- this.state = 289;
1371
+ this.state = 296;
1341
1372
  this.pin_select_expr2();
1342
- this.state = 290;
1373
+ this.state = 297;
1343
1374
  this.match(CircuitScriptParser.T__0);
1344
- this.state = 293;
1375
+ this.state = 300;
1345
1376
  this.errorHandler.sync(this);
1346
1377
  switch (this.tokenStream.LA(1)) {
1347
1378
  case CircuitScriptParser.T__3:
@@ -1367,13 +1398,13 @@ export class CircuitScriptParser extends antlr.Parser {
1367
1398
  case CircuitScriptParser.NOT_CONNECTED:
1368
1399
  case CircuitScriptParser.ID:
1369
1400
  {
1370
- this.state = 291;
1401
+ this.state = 298;
1371
1402
  this.at_block_pin_expression_simple();
1372
1403
  }
1373
1404
  break;
1374
1405
  case CircuitScriptParser.NEWLINE:
1375
1406
  {
1376
- this.state = 292;
1407
+ this.state = 299;
1377
1408
  this.at_block_pin_expression_complex();
1378
1409
  }
1379
1410
  break;
@@ -1402,7 +1433,7 @@ export class CircuitScriptParser extends antlr.Parser {
1402
1433
  try {
1403
1434
  this.enterOuterAlt(localContext, 1);
1404
1435
  {
1405
- this.state = 297;
1436
+ this.state = 304;
1406
1437
  this.errorHandler.sync(this);
1407
1438
  switch (this.tokenStream.LA(1)) {
1408
1439
  case CircuitScriptParser.T__3:
@@ -1427,13 +1458,13 @@ export class CircuitScriptParser extends antlr.Parser {
1427
1458
  case CircuitScriptParser.Divide:
1428
1459
  case CircuitScriptParser.ID:
1429
1460
  {
1430
- this.state = 295;
1461
+ this.state = 302;
1431
1462
  this.expression();
1432
1463
  }
1433
1464
  break;
1434
1465
  case CircuitScriptParser.NOT_CONNECTED:
1435
1466
  {
1436
- this.state = 296;
1467
+ this.state = 303;
1437
1468
  this.match(CircuitScriptParser.NOT_CONNECTED);
1438
1469
  }
1439
1470
  break;
@@ -1462,7 +1493,7 @@ export class CircuitScriptParser extends antlr.Parser {
1462
1493
  try {
1463
1494
  this.enterOuterAlt(localContext, 1);
1464
1495
  {
1465
- this.state = 299;
1496
+ this.state = 306;
1466
1497
  this.expressions_block();
1467
1498
  }
1468
1499
  }
@@ -1486,7 +1517,7 @@ export class CircuitScriptParser extends antlr.Parser {
1486
1517
  try {
1487
1518
  this.enterOuterAlt(localContext, 1);
1488
1519
  {
1489
- this.state = 301;
1520
+ this.state = 308;
1490
1521
  this.match(CircuitScriptParser.Break);
1491
1522
  }
1492
1523
  }
@@ -1510,7 +1541,7 @@ export class CircuitScriptParser extends antlr.Parser {
1510
1541
  try {
1511
1542
  this.enterOuterAlt(localContext, 1);
1512
1543
  {
1513
- this.state = 303;
1544
+ this.state = 310;
1514
1545
  this.match(CircuitScriptParser.Continue);
1515
1546
  }
1516
1547
  }
@@ -1534,11 +1565,11 @@ export class CircuitScriptParser extends antlr.Parser {
1534
1565
  try {
1535
1566
  this.enterOuterAlt(localContext, 1);
1536
1567
  {
1537
- this.state = 305;
1568
+ this.state = 312;
1538
1569
  this.atom_expr();
1539
- this.state = 306;
1570
+ this.state = 313;
1540
1571
  this.match(CircuitScriptParser.T__2);
1541
- this.state = 307;
1572
+ this.state = 314;
1542
1573
  this.data_expr(0);
1543
1574
  }
1544
1575
  }
@@ -1563,9 +1594,9 @@ export class CircuitScriptParser extends antlr.Parser {
1563
1594
  try {
1564
1595
  this.enterOuterAlt(localContext, 1);
1565
1596
  {
1566
- this.state = 309;
1597
+ this.state = 316;
1567
1598
  this.atom_expr();
1568
- this.state = 310;
1599
+ this.state = 317;
1569
1600
  _la = this.tokenStream.LA(1);
1570
1601
  if (!(((((_la - 47)) & ~0x1F) === 0 && ((1 << (_la - 47)) & 31) !== 0))) {
1571
1602
  this.errorHandler.recoverInline(this);
@@ -1574,7 +1605,7 @@ export class CircuitScriptParser extends antlr.Parser {
1574
1605
  this.errorHandler.reportMatch(this);
1575
1606
  this.consume();
1576
1607
  }
1577
- this.state = 311;
1608
+ this.state = 318;
1578
1609
  this.data_expr(0);
1579
1610
  }
1580
1611
  }
@@ -1598,11 +1629,11 @@ export class CircuitScriptParser extends antlr.Parser {
1598
1629
  try {
1599
1630
  this.enterOuterAlt(localContext, 1);
1600
1631
  {
1601
- this.state = 313;
1632
+ this.state = 320;
1602
1633
  this.match(CircuitScriptParser.ID);
1603
- this.state = 314;
1634
+ this.state = 321;
1604
1635
  this.match(CircuitScriptParser.T__2);
1605
- this.state = 315;
1636
+ this.state = 322;
1606
1637
  this.data_expr(0);
1607
1638
  }
1608
1639
  }
@@ -1626,46 +1657,46 @@ export class CircuitScriptParser extends antlr.Parser {
1626
1657
  let _la;
1627
1658
  try {
1628
1659
  let alternative;
1629
- this.state = 340;
1660
+ this.state = 347;
1630
1661
  this.errorHandler.sync(this);
1631
- switch (this.interpreter.adaptivePredict(this.tokenStream, 26, this.context)) {
1662
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
1632
1663
  case 1:
1633
1664
  this.enterOuterAlt(localContext, 1);
1634
1665
  {
1635
1666
  {
1636
- this.state = 317;
1667
+ this.state = 324;
1637
1668
  this.data_expr(0);
1638
- this.state = 322;
1669
+ this.state = 329;
1639
1670
  this.errorHandler.sync(this);
1640
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
1671
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 25, this.context);
1641
1672
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1642
1673
  if (alternative === 1) {
1643
1674
  {
1644
1675
  {
1645
- this.state = 318;
1676
+ this.state = 325;
1646
1677
  this.match(CircuitScriptParser.T__1);
1647
- this.state = 319;
1678
+ this.state = 326;
1648
1679
  this.data_expr(0);
1649
1680
  }
1650
1681
  }
1651
1682
  }
1652
- this.state = 324;
1683
+ this.state = 331;
1653
1684
  this.errorHandler.sync(this);
1654
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
1685
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 25, this.context);
1655
1686
  }
1656
- this.state = 329;
1687
+ this.state = 336;
1657
1688
  this.errorHandler.sync(this);
1658
1689
  _la = this.tokenStream.LA(1);
1659
1690
  while (_la === 2) {
1660
1691
  {
1661
1692
  {
1662
- this.state = 325;
1693
+ this.state = 332;
1663
1694
  this.match(CircuitScriptParser.T__1);
1664
- this.state = 326;
1695
+ this.state = 333;
1665
1696
  this.keyword_assignment_expr();
1666
1697
  }
1667
1698
  }
1668
- this.state = 331;
1699
+ this.state = 338;
1669
1700
  this.errorHandler.sync(this);
1670
1701
  _la = this.tokenStream.LA(1);
1671
1702
  }
@@ -1676,21 +1707,21 @@ export class CircuitScriptParser extends antlr.Parser {
1676
1707
  this.enterOuterAlt(localContext, 2);
1677
1708
  {
1678
1709
  {
1679
- this.state = 332;
1710
+ this.state = 339;
1680
1711
  this.keyword_assignment_expr();
1681
- this.state = 337;
1712
+ this.state = 344;
1682
1713
  this.errorHandler.sync(this);
1683
1714
  _la = this.tokenStream.LA(1);
1684
1715
  while (_la === 2) {
1685
1716
  {
1686
1717
  {
1687
- this.state = 333;
1718
+ this.state = 340;
1688
1719
  this.match(CircuitScriptParser.T__1);
1689
- this.state = 334;
1720
+ this.state = 341;
1690
1721
  this.keyword_assignment_expr();
1691
1722
  }
1692
1723
  }
1693
- this.state = 339;
1724
+ this.state = 346;
1694
1725
  this.errorHandler.sync(this);
1695
1726
  _la = this.tokenStream.LA(1);
1696
1727
  }
@@ -1719,11 +1750,11 @@ export class CircuitScriptParser extends antlr.Parser {
1719
1750
  try {
1720
1751
  this.enterOuterAlt(localContext, 1);
1721
1752
  {
1722
- this.state = 342;
1753
+ this.state = 349;
1723
1754
  this.atom_expr();
1724
- this.state = 343;
1755
+ this.state = 350;
1725
1756
  this.match(CircuitScriptParser.T__2);
1726
- this.state = 344;
1757
+ this.state = 351;
1727
1758
  this.data_expr(0);
1728
1759
  }
1729
1760
  }
@@ -1747,13 +1778,13 @@ export class CircuitScriptParser extends antlr.Parser {
1747
1778
  try {
1748
1779
  this.enterOuterAlt(localContext, 1);
1749
1780
  {
1750
- this.state = 346;
1781
+ this.state = 353;
1751
1782
  this.match(CircuitScriptParser.T__3);
1752
- this.state = 347;
1783
+ this.state = 354;
1753
1784
  this.match(CircuitScriptParser.ID);
1754
- this.state = 348;
1785
+ this.state = 355;
1755
1786
  this.match(CircuitScriptParser.T__2);
1756
- this.state = 349;
1787
+ this.state = 356;
1757
1788
  this.data_expr(0);
1758
1789
  }
1759
1790
  }
@@ -1786,19 +1817,19 @@ export class CircuitScriptParser extends antlr.Parser {
1786
1817
  let alternative;
1787
1818
  this.enterOuterAlt(localContext, 1);
1788
1819
  {
1789
- this.state = 368;
1820
+ this.state = 375;
1790
1821
  this.errorHandler.sync(this);
1791
- switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
1822
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
1792
1823
  case 1:
1793
1824
  {
1794
1825
  localContext = new RoundedBracketsExprContext(localContext);
1795
1826
  this.context = localContext;
1796
1827
  previousContext = localContext;
1797
- this.state = 352;
1828
+ this.state = 359;
1798
1829
  this.match(CircuitScriptParser.OPEN_PAREN);
1799
- this.state = 353;
1830
+ this.state = 360;
1800
1831
  this.data_expr(0);
1801
- this.state = 354;
1832
+ this.state = 361;
1802
1833
  this.match(CircuitScriptParser.CLOSE_PAREN);
1803
1834
  }
1804
1835
  break;
@@ -1807,7 +1838,7 @@ export class CircuitScriptParser extends antlr.Parser {
1807
1838
  localContext = new ValueAtomExprContext(localContext);
1808
1839
  this.context = localContext;
1809
1840
  previousContext = localContext;
1810
- this.state = 358;
1841
+ this.state = 365;
1811
1842
  this.errorHandler.sync(this);
1812
1843
  switch (this.tokenStream.LA(1)) {
1813
1844
  case CircuitScriptParser.Minus:
@@ -1818,13 +1849,13 @@ export class CircuitScriptParser extends antlr.Parser {
1818
1849
  case CircuitScriptParser.STRING_VALUE:
1819
1850
  case CircuitScriptParser.PERCENTAGE_VALUE:
1820
1851
  {
1821
- this.state = 356;
1852
+ this.state = 363;
1822
1853
  this.value_expr();
1823
1854
  }
1824
1855
  break;
1825
1856
  case CircuitScriptParser.ID:
1826
1857
  {
1827
- this.state = 357;
1858
+ this.state = 364;
1828
1859
  this.atom_expr();
1829
1860
  }
1830
1861
  break;
@@ -1838,9 +1869,9 @@ export class CircuitScriptParser extends antlr.Parser {
1838
1869
  localContext = new UnaryOperatorExprContext(localContext);
1839
1870
  this.context = localContext;
1840
1871
  previousContext = localContext;
1841
- this.state = 360;
1872
+ this.state = 367;
1842
1873
  this.unary_operator();
1843
- this.state = 361;
1874
+ this.state = 368;
1844
1875
  this.data_expr(10);
1845
1876
  }
1846
1877
  break;
@@ -1849,7 +1880,7 @@ export class CircuitScriptParser extends antlr.Parser {
1849
1880
  localContext = new DataExprContext(localContext);
1850
1881
  this.context = localContext;
1851
1882
  previousContext = localContext;
1852
- this.state = 363;
1883
+ this.state = 370;
1853
1884
  this.create_component_expr();
1854
1885
  }
1855
1886
  break;
@@ -1858,7 +1889,7 @@ export class CircuitScriptParser extends antlr.Parser {
1858
1889
  localContext = new DataExprContext(localContext);
1859
1890
  this.context = localContext;
1860
1891
  previousContext = localContext;
1861
- this.state = 364;
1892
+ this.state = 371;
1862
1893
  this.create_graphic_expr();
1863
1894
  }
1864
1895
  break;
@@ -1867,7 +1898,7 @@ export class CircuitScriptParser extends antlr.Parser {
1867
1898
  localContext = new DataExprContext(localContext);
1868
1899
  this.context = localContext;
1869
1900
  previousContext = localContext;
1870
- this.state = 365;
1901
+ this.state = 372;
1871
1902
  this.create_module_expr();
1872
1903
  }
1873
1904
  break;
@@ -1876,7 +1907,7 @@ export class CircuitScriptParser extends antlr.Parser {
1876
1907
  localContext = new FunctionCallExprContext(localContext);
1877
1908
  this.context = localContext;
1878
1909
  previousContext = localContext;
1879
- this.state = 366;
1910
+ this.state = 373;
1880
1911
  this.function_call_expr();
1881
1912
  }
1882
1913
  break;
@@ -1885,15 +1916,15 @@ export class CircuitScriptParser extends antlr.Parser {
1885
1916
  localContext = new ArrayExprContext(localContext);
1886
1917
  this.context = localContext;
1887
1918
  previousContext = localContext;
1888
- this.state = 367;
1919
+ this.state = 374;
1889
1920
  this.array_expr();
1890
1921
  }
1891
1922
  break;
1892
1923
  }
1893
1924
  this.context.stop = this.tokenStream.LT(-1);
1894
- this.state = 385;
1925
+ this.state = 392;
1895
1926
  this.errorHandler.sync(this);
1896
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 30, this.context);
1927
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 32, this.context);
1897
1928
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1898
1929
  if (alternative === 1) {
1899
1930
  if (this.parseListeners != null) {
@@ -1901,18 +1932,18 @@ export class CircuitScriptParser extends antlr.Parser {
1901
1932
  }
1902
1933
  previousContext = localContext;
1903
1934
  {
1904
- this.state = 383;
1935
+ this.state = 390;
1905
1936
  this.errorHandler.sync(this);
1906
- switch (this.interpreter.adaptivePredict(this.tokenStream, 29, this.context)) {
1937
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 31, this.context)) {
1907
1938
  case 1:
1908
1939
  {
1909
1940
  localContext = new MultiplyExprContext(new Data_exprContext(parentContext, parentState));
1910
1941
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1911
- this.state = 370;
1942
+ this.state = 377;
1912
1943
  if (!(this.precpred(this.context, 9))) {
1913
1944
  throw this.createFailedPredicateException("this.precpred(this.context, 9)");
1914
1945
  }
1915
- this.state = 371;
1946
+ this.state = 378;
1916
1947
  _la = this.tokenStream.LA(1);
1917
1948
  if (!(((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 7) !== 0))) {
1918
1949
  this.errorHandler.recoverInline(this);
@@ -1921,7 +1952,7 @@ export class CircuitScriptParser extends antlr.Parser {
1921
1952
  this.errorHandler.reportMatch(this);
1922
1953
  this.consume();
1923
1954
  }
1924
- this.state = 372;
1955
+ this.state = 379;
1925
1956
  this.data_expr(10);
1926
1957
  }
1927
1958
  break;
@@ -1929,11 +1960,11 @@ export class CircuitScriptParser extends antlr.Parser {
1929
1960
  {
1930
1961
  localContext = new AdditionExprContext(new Data_exprContext(parentContext, parentState));
1931
1962
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1932
- this.state = 373;
1963
+ this.state = 380;
1933
1964
  if (!(this.precpred(this.context, 8))) {
1934
1965
  throw this.createFailedPredicateException("this.precpred(this.context, 8)");
1935
1966
  }
1936
- this.state = 374;
1967
+ this.state = 381;
1937
1968
  _la = this.tokenStream.LA(1);
1938
1969
  if (!(_la === 42 || _la === 43)) {
1939
1970
  this.errorHandler.recoverInline(this);
@@ -1942,7 +1973,7 @@ export class CircuitScriptParser extends antlr.Parser {
1942
1973
  this.errorHandler.reportMatch(this);
1943
1974
  this.consume();
1944
1975
  }
1945
- this.state = 375;
1976
+ this.state = 382;
1946
1977
  this.data_expr(9);
1947
1978
  }
1948
1979
  break;
@@ -1950,13 +1981,13 @@ export class CircuitScriptParser extends antlr.Parser {
1950
1981
  {
1951
1982
  localContext = new BinaryOperatorExprContext(new Data_exprContext(parentContext, parentState));
1952
1983
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1953
- this.state = 376;
1984
+ this.state = 383;
1954
1985
  if (!(this.precpred(this.context, 7))) {
1955
1986
  throw this.createFailedPredicateException("this.precpred(this.context, 7)");
1956
1987
  }
1957
- this.state = 377;
1988
+ this.state = 384;
1958
1989
  this.binary_operator();
1959
- this.state = 378;
1990
+ this.state = 385;
1960
1991
  this.data_expr(8);
1961
1992
  }
1962
1993
  break;
@@ -1964,11 +1995,11 @@ export class CircuitScriptParser extends antlr.Parser {
1964
1995
  {
1965
1996
  localContext = new LogicalOperatorExprContext(new Data_exprContext(parentContext, parentState));
1966
1997
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1967
- this.state = 380;
1998
+ this.state = 387;
1968
1999
  if (!(this.precpred(this.context, 6))) {
1969
2000
  throw this.createFailedPredicateException("this.precpred(this.context, 6)");
1970
2001
  }
1971
- this.state = 381;
2002
+ this.state = 388;
1972
2003
  _la = this.tokenStream.LA(1);
1973
2004
  if (!(_la === 40 || _la === 41)) {
1974
2005
  this.errorHandler.recoverInline(this);
@@ -1977,16 +2008,16 @@ export class CircuitScriptParser extends antlr.Parser {
1977
2008
  this.errorHandler.reportMatch(this);
1978
2009
  this.consume();
1979
2010
  }
1980
- this.state = 382;
2011
+ this.state = 389;
1981
2012
  this.data_expr(7);
1982
2013
  }
1983
2014
  break;
1984
2015
  }
1985
2016
  }
1986
2017
  }
1987
- this.state = 387;
2018
+ this.state = 394;
1988
2019
  this.errorHandler.sync(this);
1989
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 30, this.context);
2020
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 32, this.context);
1990
2021
  }
1991
2022
  }
1992
2023
  }
@@ -2011,7 +2042,7 @@ export class CircuitScriptParser extends antlr.Parser {
2011
2042
  try {
2012
2043
  this.enterOuterAlt(localContext, 1);
2013
2044
  {
2014
- this.state = 388;
2045
+ this.state = 395;
2015
2046
  _la = this.tokenStream.LA(1);
2016
2047
  if (!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 63) !== 0))) {
2017
2048
  this.errorHandler.recoverInline(this);
@@ -2043,7 +2074,7 @@ export class CircuitScriptParser extends antlr.Parser {
2043
2074
  try {
2044
2075
  this.enterOuterAlt(localContext, 1);
2045
2076
  {
2046
- this.state = 390;
2077
+ this.state = 397;
2047
2078
  _la = this.tokenStream.LA(1);
2048
2079
  if (!(_la === 31 || _la === 43)) {
2049
2080
  this.errorHandler.recoverInline(this);
@@ -2076,16 +2107,16 @@ export class CircuitScriptParser extends antlr.Parser {
2076
2107
  this.enterOuterAlt(localContext, 1);
2077
2108
  {
2078
2109
  {
2079
- this.state = 393;
2110
+ this.state = 400;
2080
2111
  this.errorHandler.sync(this);
2081
2112
  _la = this.tokenStream.LA(1);
2082
2113
  if (_la === 43) {
2083
2114
  {
2084
- this.state = 392;
2115
+ this.state = 399;
2085
2116
  this.match(CircuitScriptParser.Minus);
2086
2117
  }
2087
2118
  }
2088
- this.state = 395;
2119
+ this.state = 402;
2089
2120
  _la = this.tokenStream.LA(1);
2090
2121
  if (!(((((_la - 55)) & ~0x1F) === 0 && ((1 << (_la - 55)) & 125) !== 0))) {
2091
2122
  this.errorHandler.recoverInline(this);
@@ -2118,40 +2149,40 @@ export class CircuitScriptParser extends antlr.Parser {
2118
2149
  try {
2119
2150
  this.enterOuterAlt(localContext, 1);
2120
2151
  {
2121
- this.state = 397;
2152
+ this.state = 404;
2122
2153
  this.match(CircuitScriptParser.Define);
2123
- this.state = 398;
2154
+ this.state = 405;
2124
2155
  this.match(CircuitScriptParser.ID);
2125
- this.state = 399;
2156
+ this.state = 406;
2126
2157
  this.match(CircuitScriptParser.OPEN_PAREN);
2127
- this.state = 401;
2158
+ this.state = 408;
2128
2159
  this.errorHandler.sync(this);
2129
2160
  _la = this.tokenStream.LA(1);
2130
2161
  if (_la === 56) {
2131
2162
  {
2132
- this.state = 400;
2163
+ this.state = 407;
2133
2164
  this.function_args_expr();
2134
2165
  }
2135
2166
  }
2136
- this.state = 403;
2167
+ this.state = 410;
2137
2168
  this.match(CircuitScriptParser.CLOSE_PAREN);
2138
- this.state = 404;
2169
+ this.state = 411;
2139
2170
  this.match(CircuitScriptParser.T__0);
2140
- this.state = 405;
2171
+ this.state = 412;
2141
2172
  this.match(CircuitScriptParser.NEWLINE);
2142
- this.state = 406;
2173
+ this.state = 413;
2143
2174
  this.match(CircuitScriptParser.INDENT);
2144
- this.state = 409;
2175
+ this.state = 416;
2145
2176
  this.errorHandler.sync(this);
2146
2177
  _la = this.tokenStream.LA(1);
2147
2178
  do {
2148
2179
  {
2149
- this.state = 409;
2180
+ this.state = 416;
2150
2181
  this.errorHandler.sync(this);
2151
2182
  switch (this.tokenStream.LA(1)) {
2152
2183
  case CircuitScriptParser.NEWLINE:
2153
2184
  {
2154
- this.state = 407;
2185
+ this.state = 414;
2155
2186
  this.match(CircuitScriptParser.NEWLINE);
2156
2187
  }
2157
2188
  break;
@@ -2178,7 +2209,7 @@ export class CircuitScriptParser extends antlr.Parser {
2178
2209
  case CircuitScriptParser.Divide:
2179
2210
  case CircuitScriptParser.ID:
2180
2211
  {
2181
- this.state = 408;
2212
+ this.state = 415;
2182
2213
  this.function_expr();
2183
2214
  }
2184
2215
  break;
@@ -2186,11 +2217,11 @@ export class CircuitScriptParser extends antlr.Parser {
2186
2217
  throw new antlr.NoViableAltException(this);
2187
2218
  }
2188
2219
  }
2189
- this.state = 411;
2220
+ this.state = 418;
2190
2221
  this.errorHandler.sync(this);
2191
2222
  _la = this.tokenStream.LA(1);
2192
2223
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 868217905) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
2193
- this.state = 413;
2224
+ this.state = 420;
2194
2225
  this.match(CircuitScriptParser.DEDENT);
2195
2226
  }
2196
2227
  }
@@ -2212,7 +2243,7 @@ export class CircuitScriptParser extends antlr.Parser {
2212
2243
  let localContext = new Function_exprContext(this.context, this.state);
2213
2244
  this.enterRule(localContext, 72, CircuitScriptParser.RULE_function_expr);
2214
2245
  try {
2215
- this.state = 417;
2246
+ this.state = 424;
2216
2247
  this.errorHandler.sync(this);
2217
2248
  switch (this.tokenStream.LA(1)) {
2218
2249
  case CircuitScriptParser.T__3:
@@ -2238,14 +2269,14 @@ export class CircuitScriptParser extends antlr.Parser {
2238
2269
  case CircuitScriptParser.ID:
2239
2270
  this.enterOuterAlt(localContext, 1);
2240
2271
  {
2241
- this.state = 415;
2272
+ this.state = 422;
2242
2273
  this.expression();
2243
2274
  }
2244
2275
  break;
2245
2276
  case CircuitScriptParser.Return:
2246
2277
  this.enterOuterAlt(localContext, 2);
2247
2278
  {
2248
- this.state = 416;
2279
+ this.state = 423;
2249
2280
  this.function_return_expr();
2250
2281
  }
2251
2282
  break;
@@ -2273,49 +2304,49 @@ export class CircuitScriptParser extends antlr.Parser {
2273
2304
  let _la;
2274
2305
  try {
2275
2306
  let alternative;
2276
- this.state = 448;
2307
+ this.state = 455;
2277
2308
  this.errorHandler.sync(this);
2278
- switch (this.interpreter.adaptivePredict(this.tokenStream, 39, this.context)) {
2309
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 41, this.context)) {
2279
2310
  case 1:
2280
2311
  this.enterOuterAlt(localContext, 1);
2281
2312
  {
2282
- this.state = 419;
2313
+ this.state = 426;
2283
2314
  this.match(CircuitScriptParser.ID);
2284
- this.state = 424;
2315
+ this.state = 431;
2285
2316
  this.errorHandler.sync(this);
2286
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 36, this.context);
2317
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 38, this.context);
2287
2318
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2288
2319
  if (alternative === 1) {
2289
2320
  {
2290
2321
  {
2291
- this.state = 420;
2322
+ this.state = 427;
2292
2323
  this.match(CircuitScriptParser.T__1);
2293
- this.state = 421;
2324
+ this.state = 428;
2294
2325
  this.match(CircuitScriptParser.ID);
2295
2326
  }
2296
2327
  }
2297
2328
  }
2298
- this.state = 426;
2329
+ this.state = 433;
2299
2330
  this.errorHandler.sync(this);
2300
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 36, this.context);
2331
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 38, this.context);
2301
2332
  }
2302
- this.state = 433;
2333
+ this.state = 440;
2303
2334
  this.errorHandler.sync(this);
2304
2335
  _la = this.tokenStream.LA(1);
2305
2336
  while (_la === 2) {
2306
2337
  {
2307
2338
  {
2308
- this.state = 427;
2339
+ this.state = 434;
2309
2340
  this.match(CircuitScriptParser.T__1);
2310
- this.state = 428;
2341
+ this.state = 435;
2311
2342
  this.match(CircuitScriptParser.ID);
2312
- this.state = 429;
2343
+ this.state = 436;
2313
2344
  this.match(CircuitScriptParser.T__2);
2314
- this.state = 430;
2345
+ this.state = 437;
2315
2346
  this.value_expr();
2316
2347
  }
2317
2348
  }
2318
- this.state = 435;
2349
+ this.state = 442;
2319
2350
  this.errorHandler.sync(this);
2320
2351
  _la = this.tokenStream.LA(1);
2321
2352
  }
@@ -2324,29 +2355,29 @@ export class CircuitScriptParser extends antlr.Parser {
2324
2355
  case 2:
2325
2356
  this.enterOuterAlt(localContext, 2);
2326
2357
  {
2327
- this.state = 436;
2358
+ this.state = 443;
2328
2359
  this.match(CircuitScriptParser.ID);
2329
- this.state = 437;
2360
+ this.state = 444;
2330
2361
  this.match(CircuitScriptParser.T__2);
2331
- this.state = 438;
2332
- this.value_expr();
2333
2362
  this.state = 445;
2363
+ this.value_expr();
2364
+ this.state = 452;
2334
2365
  this.errorHandler.sync(this);
2335
2366
  _la = this.tokenStream.LA(1);
2336
2367
  while (_la === 2) {
2337
2368
  {
2338
2369
  {
2339
- this.state = 439;
2370
+ this.state = 446;
2340
2371
  this.match(CircuitScriptParser.T__1);
2341
- this.state = 440;
2372
+ this.state = 447;
2342
2373
  this.match(CircuitScriptParser.ID);
2343
- this.state = 441;
2374
+ this.state = 448;
2344
2375
  this.match(CircuitScriptParser.T__2);
2345
- this.state = 442;
2376
+ this.state = 449;
2346
2377
  this.value_expr();
2347
2378
  }
2348
2379
  }
2349
- this.state = 447;
2380
+ this.state = 454;
2350
2381
  this.errorHandler.sync(this);
2351
2382
  _la = this.tokenStream.LA(1);
2352
2383
  }
@@ -2375,25 +2406,25 @@ export class CircuitScriptParser extends antlr.Parser {
2375
2406
  let alternative;
2376
2407
  this.enterOuterAlt(localContext, 1);
2377
2408
  {
2378
- this.state = 450;
2409
+ this.state = 457;
2379
2410
  this.match(CircuitScriptParser.ID);
2380
- this.state = 455;
2411
+ this.state = 462;
2381
2412
  this.errorHandler.sync(this);
2382
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 40, this.context);
2413
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 42, this.context);
2383
2414
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2384
2415
  if (alternative === 1) {
2385
2416
  {
2386
2417
  {
2387
- this.state = 451;
2418
+ this.state = 458;
2388
2419
  this.match(CircuitScriptParser.T__4);
2389
- this.state = 452;
2420
+ this.state = 459;
2390
2421
  this.match(CircuitScriptParser.ID);
2391
2422
  }
2392
2423
  }
2393
2424
  }
2394
- this.state = 457;
2425
+ this.state = 464;
2395
2426
  this.errorHandler.sync(this);
2396
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 40, this.context);
2427
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 42, this.context);
2397
2428
  }
2398
2429
  }
2399
2430
  }
@@ -2416,33 +2447,33 @@ export class CircuitScriptParser extends antlr.Parser {
2416
2447
  this.enterRule(localContext, 78, CircuitScriptParser.RULE_trailer_expr);
2417
2448
  let _la;
2418
2449
  try {
2419
- this.state = 465;
2450
+ this.state = 472;
2420
2451
  this.errorHandler.sync(this);
2421
2452
  switch (this.tokenStream.LA(1)) {
2422
2453
  case CircuitScriptParser.OPEN_PAREN:
2423
2454
  this.enterOuterAlt(localContext, 1);
2424
2455
  {
2425
- this.state = 458;
2456
+ this.state = 465;
2426
2457
  this.match(CircuitScriptParser.OPEN_PAREN);
2427
- this.state = 460;
2458
+ this.state = 467;
2428
2459
  this.errorHandler.sync(this);
2429
2460
  _la = this.tokenStream.LA(1);
2430
2461
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
2431
2462
  {
2432
- this.state = 459;
2463
+ this.state = 466;
2433
2464
  this.parameters();
2434
2465
  }
2435
2466
  }
2436
- this.state = 462;
2467
+ this.state = 469;
2437
2468
  this.match(CircuitScriptParser.CLOSE_PAREN);
2438
2469
  }
2439
2470
  break;
2440
2471
  case CircuitScriptParser.T__4:
2441
2472
  this.enterOuterAlt(localContext, 2);
2442
2473
  {
2443
- this.state = 463;
2474
+ this.state = 470;
2444
2475
  this.match(CircuitScriptParser.T__4);
2445
- this.state = 464;
2476
+ this.state = 471;
2446
2477
  this.match(CircuitScriptParser.ID);
2447
2478
  }
2448
2479
  break;
@@ -2472,18 +2503,18 @@ export class CircuitScriptParser extends antlr.Parser {
2472
2503
  let alternative;
2473
2504
  this.enterOuterAlt(localContext, 1);
2474
2505
  {
2475
- this.state = 468;
2506
+ this.state = 475;
2476
2507
  this.errorHandler.sync(this);
2477
2508
  _la = this.tokenStream.LA(1);
2478
2509
  if (_la === 42 || _la === 44) {
2479
2510
  {
2480
- this.state = 467;
2511
+ this.state = 474;
2481
2512
  this.net_namespace_expr();
2482
2513
  }
2483
2514
  }
2484
- this.state = 470;
2515
+ this.state = 477;
2485
2516
  this.match(CircuitScriptParser.ID);
2486
- this.state = 472;
2517
+ this.state = 479;
2487
2518
  this.errorHandler.sync(this);
2488
2519
  alternative = 1;
2489
2520
  do {
@@ -2491,7 +2522,7 @@ export class CircuitScriptParser extends antlr.Parser {
2491
2522
  case 1:
2492
2523
  {
2493
2524
  {
2494
- this.state = 471;
2525
+ this.state = 478;
2495
2526
  this.trailer_expr();
2496
2527
  }
2497
2528
  }
@@ -2499,9 +2530,9 @@ export class CircuitScriptParser extends antlr.Parser {
2499
2530
  default:
2500
2531
  throw new antlr.NoViableAltException(this);
2501
2532
  }
2502
- this.state = 474;
2533
+ this.state = 481;
2503
2534
  this.errorHandler.sync(this);
2504
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 44, this.context);
2535
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 46, this.context);
2505
2536
  } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
2506
2537
  }
2507
2538
  }
@@ -2526,23 +2557,23 @@ export class CircuitScriptParser extends antlr.Parser {
2526
2557
  try {
2527
2558
  this.enterOuterAlt(localContext, 1);
2528
2559
  {
2529
- this.state = 477;
2560
+ this.state = 484;
2530
2561
  this.errorHandler.sync(this);
2531
2562
  _la = this.tokenStream.LA(1);
2532
2563
  if (_la === 42) {
2533
2564
  {
2534
- this.state = 476;
2565
+ this.state = 483;
2535
2566
  this.match(CircuitScriptParser.Addition);
2536
2567
  }
2537
2568
  }
2538
- this.state = 479;
2569
+ this.state = 486;
2539
2570
  this.match(CircuitScriptParser.Divide);
2540
- this.state = 481;
2571
+ this.state = 488;
2541
2572
  this.errorHandler.sync(this);
2542
- switch (this.interpreter.adaptivePredict(this.tokenStream, 46, this.context)) {
2573
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 48, this.context)) {
2543
2574
  case 1:
2544
2575
  {
2545
- this.state = 480;
2576
+ this.state = 487;
2546
2577
  this.data_expr(0);
2547
2578
  }
2548
2579
  break;
@@ -2569,9 +2600,9 @@ export class CircuitScriptParser extends antlr.Parser {
2569
2600
  try {
2570
2601
  this.enterOuterAlt(localContext, 1);
2571
2602
  {
2572
- this.state = 483;
2603
+ this.state = 490;
2573
2604
  this.match(CircuitScriptParser.Return);
2574
- this.state = 484;
2605
+ this.state = 491;
2575
2606
  this.data_expr(0);
2576
2607
  }
2577
2608
  }
@@ -2595,11 +2626,11 @@ export class CircuitScriptParser extends antlr.Parser {
2595
2626
  try {
2596
2627
  this.enterOuterAlt(localContext, 1);
2597
2628
  {
2598
- this.state = 486;
2629
+ this.state = 493;
2599
2630
  this.property_key_expr();
2600
- this.state = 487;
2631
+ this.state = 494;
2601
2632
  this.match(CircuitScriptParser.T__0);
2602
- this.state = 488;
2633
+ this.state = 495;
2603
2634
  this.expressions_block();
2604
2635
  }
2605
2636
  }
@@ -2624,27 +2655,27 @@ export class CircuitScriptParser extends antlr.Parser {
2624
2655
  try {
2625
2656
  this.enterOuterAlt(localContext, 1);
2626
2657
  {
2627
- this.state = 490;
2658
+ this.state = 497;
2628
2659
  this.match(CircuitScriptParser.Create);
2629
- this.state = 491;
2660
+ this.state = 498;
2630
2661
  this.match(CircuitScriptParser.Component);
2631
- this.state = 492;
2662
+ this.state = 499;
2632
2663
  this.match(CircuitScriptParser.T__0);
2633
- this.state = 493;
2664
+ this.state = 500;
2634
2665
  this.match(CircuitScriptParser.NEWLINE);
2635
- this.state = 494;
2666
+ this.state = 501;
2636
2667
  this.match(CircuitScriptParser.INDENT);
2637
- this.state = 497;
2668
+ this.state = 504;
2638
2669
  this.errorHandler.sync(this);
2639
2670
  _la = this.tokenStream.LA(1);
2640
2671
  do {
2641
2672
  {
2642
- this.state = 497;
2673
+ this.state = 504;
2643
2674
  this.errorHandler.sync(this);
2644
2675
  switch (this.tokenStream.LA(1)) {
2645
2676
  case CircuitScriptParser.NEWLINE:
2646
2677
  {
2647
- this.state = 495;
2678
+ this.state = 502;
2648
2679
  this.match(CircuitScriptParser.NEWLINE);
2649
2680
  }
2650
2681
  break;
@@ -2652,7 +2683,7 @@ export class CircuitScriptParser extends antlr.Parser {
2652
2683
  case CircuitScriptParser.INTEGER_VALUE:
2653
2684
  case CircuitScriptParser.STRING_VALUE:
2654
2685
  {
2655
- this.state = 496;
2686
+ this.state = 503;
2656
2687
  this.property_expr();
2657
2688
  }
2658
2689
  break;
@@ -2660,11 +2691,11 @@ export class CircuitScriptParser extends antlr.Parser {
2660
2691
  throw new antlr.NoViableAltException(this);
2661
2692
  }
2662
2693
  }
2663
- this.state = 499;
2694
+ this.state = 506;
2664
2695
  this.errorHandler.sync(this);
2665
2696
  _la = this.tokenStream.LA(1);
2666
2697
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2667
- this.state = 501;
2698
+ this.state = 508;
2668
2699
  this.match(CircuitScriptParser.DEDENT);
2669
2700
  }
2670
2701
  }
@@ -2689,21 +2720,21 @@ export class CircuitScriptParser extends antlr.Parser {
2689
2720
  try {
2690
2721
  this.enterOuterAlt(localContext, 1);
2691
2722
  {
2692
- this.state = 503;
2723
+ this.state = 510;
2693
2724
  this.match(CircuitScriptParser.NEWLINE);
2694
- this.state = 504;
2725
+ this.state = 511;
2695
2726
  this.match(CircuitScriptParser.INDENT);
2696
- this.state = 507;
2727
+ this.state = 514;
2697
2728
  this.errorHandler.sync(this);
2698
2729
  _la = this.tokenStream.LA(1);
2699
2730
  do {
2700
2731
  {
2701
- this.state = 507;
2732
+ this.state = 514;
2702
2733
  this.errorHandler.sync(this);
2703
2734
  switch (this.tokenStream.LA(1)) {
2704
2735
  case CircuitScriptParser.NEWLINE:
2705
2736
  {
2706
- this.state = 505;
2737
+ this.state = 512;
2707
2738
  this.match(CircuitScriptParser.NEWLINE);
2708
2739
  }
2709
2740
  break;
@@ -2711,7 +2742,7 @@ export class CircuitScriptParser extends antlr.Parser {
2711
2742
  case CircuitScriptParser.For:
2712
2743
  case CircuitScriptParser.ID:
2713
2744
  {
2714
- this.state = 506;
2745
+ this.state = 513;
2715
2746
  this.graphic_expr();
2716
2747
  }
2717
2748
  break;
@@ -2719,11 +2750,11 @@ export class CircuitScriptParser extends antlr.Parser {
2719
2750
  throw new antlr.NoViableAltException(this);
2720
2751
  }
2721
2752
  }
2722
- this.state = 509;
2753
+ this.state = 516;
2723
2754
  this.errorHandler.sync(this);
2724
2755
  _la = this.tokenStream.LA(1);
2725
2756
  } while (_la === 15 || _la === 25 || _la === 56 || _la === 64);
2726
- this.state = 511;
2757
+ this.state = 518;
2727
2758
  this.match(CircuitScriptParser.DEDENT);
2728
2759
  }
2729
2760
  }
@@ -2748,26 +2779,26 @@ export class CircuitScriptParser extends antlr.Parser {
2748
2779
  try {
2749
2780
  this.enterOuterAlt(localContext, 1);
2750
2781
  {
2751
- this.state = 513;
2782
+ this.state = 520;
2752
2783
  this.match(CircuitScriptParser.Create);
2753
- this.state = 514;
2784
+ this.state = 521;
2754
2785
  this.match(CircuitScriptParser.Graphic);
2755
- this.state = 518;
2786
+ this.state = 525;
2756
2787
  this.errorHandler.sync(this);
2757
2788
  _la = this.tokenStream.LA(1);
2758
2789
  if (_la === 52) {
2759
2790
  {
2760
- this.state = 515;
2791
+ this.state = 522;
2761
2792
  this.match(CircuitScriptParser.OPEN_PAREN);
2762
- this.state = 516;
2793
+ this.state = 523;
2763
2794
  this.match(CircuitScriptParser.ID);
2764
- this.state = 517;
2795
+ this.state = 524;
2765
2796
  this.match(CircuitScriptParser.CLOSE_PAREN);
2766
2797
  }
2767
2798
  }
2768
- this.state = 520;
2799
+ this.state = 527;
2769
2800
  this.match(CircuitScriptParser.T__0);
2770
- this.state = 521;
2801
+ this.state = 528;
2771
2802
  this.graphic_expressions_block();
2772
2803
  }
2773
2804
  }
@@ -2792,49 +2823,49 @@ export class CircuitScriptParser extends antlr.Parser {
2792
2823
  try {
2793
2824
  this.enterOuterAlt(localContext, 1);
2794
2825
  {
2795
- this.state = 523;
2826
+ this.state = 530;
2796
2827
  this.match(CircuitScriptParser.Create);
2797
- this.state = 524;
2828
+ this.state = 531;
2798
2829
  this.match(CircuitScriptParser.Module);
2799
- this.state = 525;
2830
+ this.state = 532;
2800
2831
  this.match(CircuitScriptParser.T__0);
2801
- this.state = 526;
2832
+ this.state = 533;
2802
2833
  this.match(CircuitScriptParser.NEWLINE);
2803
- this.state = 527;
2834
+ this.state = 534;
2804
2835
  this.match(CircuitScriptParser.INDENT);
2805
- this.state = 531;
2836
+ this.state = 538;
2806
2837
  this.errorHandler.sync(this);
2807
2838
  _la = this.tokenStream.LA(1);
2808
2839
  do {
2809
2840
  {
2810
- this.state = 531;
2841
+ this.state = 538;
2811
2842
  this.errorHandler.sync(this);
2812
- switch (this.interpreter.adaptivePredict(this.tokenStream, 52, this.context)) {
2843
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 54, this.context)) {
2813
2844
  case 1:
2814
2845
  {
2815
- this.state = 528;
2846
+ this.state = 535;
2816
2847
  this.match(CircuitScriptParser.NEWLINE);
2817
2848
  }
2818
2849
  break;
2819
2850
  case 2:
2820
2851
  {
2821
- this.state = 529;
2852
+ this.state = 536;
2822
2853
  this.property_expr();
2823
2854
  }
2824
2855
  break;
2825
2856
  case 3:
2826
2857
  {
2827
- this.state = 530;
2858
+ this.state = 537;
2828
2859
  this.property_block_expr();
2829
2860
  }
2830
2861
  break;
2831
2862
  }
2832
2863
  }
2833
- this.state = 533;
2864
+ this.state = 540;
2834
2865
  this.errorHandler.sync(this);
2835
2866
  _la = this.tokenStream.LA(1);
2836
2867
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2837
- this.state = 535;
2868
+ this.state = 542;
2838
2869
  this.match(CircuitScriptParser.DEDENT);
2839
2870
  }
2840
2871
  }
@@ -2860,21 +2891,21 @@ export class CircuitScriptParser extends antlr.Parser {
2860
2891
  this.enterOuterAlt(localContext, 1);
2861
2892
  {
2862
2893
  {
2863
- this.state = 537;
2894
+ this.state = 544;
2864
2895
  this.match(CircuitScriptParser.NEWLINE);
2865
- this.state = 538;
2896
+ this.state = 545;
2866
2897
  this.match(CircuitScriptParser.INDENT);
2867
- this.state = 541;
2898
+ this.state = 548;
2868
2899
  this.errorHandler.sync(this);
2869
2900
  _la = this.tokenStream.LA(1);
2870
2901
  do {
2871
2902
  {
2872
- this.state = 541;
2903
+ this.state = 548;
2873
2904
  this.errorHandler.sync(this);
2874
2905
  switch (this.tokenStream.LA(1)) {
2875
2906
  case CircuitScriptParser.NEWLINE:
2876
2907
  {
2877
- this.state = 539;
2908
+ this.state = 546;
2878
2909
  this.match(CircuitScriptParser.NEWLINE);
2879
2910
  }
2880
2911
  break;
@@ -2882,7 +2913,7 @@ export class CircuitScriptParser extends antlr.Parser {
2882
2913
  case CircuitScriptParser.INTEGER_VALUE:
2883
2914
  case CircuitScriptParser.STRING_VALUE:
2884
2915
  {
2885
- this.state = 540;
2916
+ this.state = 547;
2886
2917
  this.property_expr();
2887
2918
  }
2888
2919
  break;
@@ -2890,11 +2921,11 @@ export class CircuitScriptParser extends antlr.Parser {
2890
2921
  throw new antlr.NoViableAltException(this);
2891
2922
  }
2892
2923
  }
2893
- this.state = 543;
2924
+ this.state = 550;
2894
2925
  this.errorHandler.sync(this);
2895
2926
  _la = this.tokenStream.LA(1);
2896
2927
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2897
- this.state = 545;
2928
+ this.state = 552;
2898
2929
  this.match(CircuitScriptParser.DEDENT);
2899
2930
  }
2900
2931
  }
@@ -2918,7 +2949,7 @@ export class CircuitScriptParser extends antlr.Parser {
2918
2949
  this.enterRule(localContext, 98, CircuitScriptParser.RULE_graphic_expr);
2919
2950
  let _la;
2920
2951
  try {
2921
- this.state = 573;
2952
+ this.state = 580;
2922
2953
  this.errorHandler.sync(this);
2923
2954
  switch (this.tokenStream.LA(1)) {
2924
2955
  case CircuitScriptParser.Pin:
@@ -2926,7 +2957,7 @@ export class CircuitScriptParser extends antlr.Parser {
2926
2957
  localContext = new GraphicCommandExprContext(localContext);
2927
2958
  this.enterOuterAlt(localContext, 1);
2928
2959
  {
2929
- this.state = 547;
2960
+ this.state = 554;
2930
2961
  localContext._command = this.tokenStream.LT(1);
2931
2962
  _la = this.tokenStream.LA(1);
2932
2963
  if (!(_la === 15 || _la === 56)) {
@@ -2936,37 +2967,37 @@ export class CircuitScriptParser extends antlr.Parser {
2936
2967
  this.errorHandler.reportMatch(this);
2937
2968
  this.consume();
2938
2969
  }
2939
- this.state = 549;
2970
+ this.state = 556;
2940
2971
  this.errorHandler.sync(this);
2941
2972
  _la = this.tokenStream.LA(1);
2942
2973
  if (_la === 1) {
2943
2974
  {
2944
- this.state = 548;
2975
+ this.state = 555;
2945
2976
  this.match(CircuitScriptParser.T__0);
2946
2977
  }
2947
2978
  }
2948
- this.state = 557;
2979
+ this.state = 564;
2949
2980
  this.errorHandler.sync(this);
2950
- switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
2981
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 59, this.context)) {
2951
2982
  case 1:
2952
2983
  {
2953
- this.state = 551;
2984
+ this.state = 558;
2954
2985
  this.parameters();
2955
2986
  }
2956
2987
  break;
2957
2988
  case 2:
2958
2989
  {
2959
- this.state = 552;
2990
+ this.state = 559;
2960
2991
  this.match(CircuitScriptParser.OPEN_PAREN);
2961
- this.state = 553;
2992
+ this.state = 560;
2962
2993
  this.parameters();
2963
- this.state = 554;
2994
+ this.state = 561;
2964
2995
  this.match(CircuitScriptParser.CLOSE_PAREN);
2965
2996
  }
2966
2997
  break;
2967
2998
  case 3:
2968
2999
  {
2969
- this.state = 556;
3000
+ this.state = 563;
2970
3001
  this.nested_properties_inner();
2971
3002
  }
2972
3003
  break;
@@ -2977,33 +3008,33 @@ export class CircuitScriptParser extends antlr.Parser {
2977
3008
  localContext = new GraphicForExprContext(localContext);
2978
3009
  this.enterOuterAlt(localContext, 2);
2979
3010
  {
2980
- this.state = 559;
3011
+ this.state = 566;
2981
3012
  this.match(CircuitScriptParser.For);
2982
- this.state = 560;
3013
+ this.state = 567;
2983
3014
  this.match(CircuitScriptParser.ID);
2984
- this.state = 565;
3015
+ this.state = 572;
2985
3016
  this.errorHandler.sync(this);
2986
3017
  _la = this.tokenStream.LA(1);
2987
3018
  while (_la === 2) {
2988
3019
  {
2989
3020
  {
2990
- this.state = 561;
3021
+ this.state = 568;
2991
3022
  this.match(CircuitScriptParser.T__1);
2992
- this.state = 562;
3023
+ this.state = 569;
2993
3024
  this.match(CircuitScriptParser.ID);
2994
3025
  }
2995
3026
  }
2996
- this.state = 567;
3027
+ this.state = 574;
2997
3028
  this.errorHandler.sync(this);
2998
3029
  _la = this.tokenStream.LA(1);
2999
3030
  }
3000
- this.state = 568;
3031
+ this.state = 575;
3001
3032
  this.match(CircuitScriptParser.In);
3002
- this.state = 569;
3033
+ this.state = 576;
3003
3034
  this.data_expr(0);
3004
- this.state = 570;
3035
+ this.state = 577;
3005
3036
  this.match(CircuitScriptParser.T__0);
3006
- this.state = 571;
3037
+ this.state = 578;
3007
3038
  this.graphic_expressions_block();
3008
3039
  }
3009
3040
  break;
@@ -3031,11 +3062,11 @@ export class CircuitScriptParser extends antlr.Parser {
3031
3062
  try {
3032
3063
  this.enterOuterAlt(localContext, 1);
3033
3064
  {
3034
- this.state = 575;
3065
+ this.state = 582;
3035
3066
  this.property_key_expr();
3036
- this.state = 576;
3067
+ this.state = 583;
3037
3068
  this.match(CircuitScriptParser.T__0);
3038
- this.state = 577;
3069
+ this.state = 584;
3039
3070
  this.property_value_expr();
3040
3071
  }
3041
3072
  }
@@ -3060,7 +3091,7 @@ export class CircuitScriptParser extends antlr.Parser {
3060
3091
  try {
3061
3092
  this.enterOuterAlt(localContext, 1);
3062
3093
  {
3063
- this.state = 579;
3094
+ this.state = 586;
3064
3095
  _la = this.tokenStream.LA(1);
3065
3096
  if (!(((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 19) !== 0))) {
3066
3097
  this.errorHandler.recoverInline(this);
@@ -3090,14 +3121,14 @@ export class CircuitScriptParser extends antlr.Parser {
3090
3121
  this.enterRule(localContext, 104, CircuitScriptParser.RULE_property_value_expr);
3091
3122
  let _la;
3092
3123
  try {
3093
- this.state = 590;
3124
+ this.state = 597;
3094
3125
  this.errorHandler.sync(this);
3095
3126
  switch (this.tokenStream.LA(1)) {
3096
3127
  case CircuitScriptParser.NEWLINE:
3097
3128
  localContext = new Nested_propertiesContext(localContext);
3098
3129
  this.enterOuterAlt(localContext, 1);
3099
3130
  {
3100
- this.state = 581;
3131
+ this.state = 588;
3101
3132
  this.nested_properties_inner();
3102
3133
  }
3103
3134
  break;
@@ -3118,21 +3149,21 @@ export class CircuitScriptParser extends antlr.Parser {
3118
3149
  localContext = new Single_line_propertyContext(localContext);
3119
3150
  this.enterOuterAlt(localContext, 2);
3120
3151
  {
3121
- this.state = 582;
3152
+ this.state = 589;
3122
3153
  this.data_expr(0);
3123
- this.state = 587;
3154
+ this.state = 594;
3124
3155
  this.errorHandler.sync(this);
3125
3156
  _la = this.tokenStream.LA(1);
3126
3157
  while (_la === 2) {
3127
3158
  {
3128
3159
  {
3129
- this.state = 583;
3160
+ this.state = 590;
3130
3161
  this.match(CircuitScriptParser.T__1);
3131
- this.state = 584;
3162
+ this.state = 591;
3132
3163
  this.data_expr(0);
3133
3164
  }
3134
3165
  }
3135
- this.state = 589;
3166
+ this.state = 596;
3136
3167
  this.errorHandler.sync(this);
3137
3168
  _la = this.tokenStream.LA(1);
3138
3169
  }
@@ -3160,27 +3191,27 @@ export class CircuitScriptParser extends antlr.Parser {
3160
3191
  let localContext = new Wire_atom_exprContext(this.context, this.state);
3161
3192
  this.enterRule(localContext, 106, CircuitScriptParser.RULE_wire_atom_expr);
3162
3193
  try {
3163
- this.state = 598;
3194
+ this.state = 605;
3164
3195
  this.errorHandler.sync(this);
3165
- switch (this.interpreter.adaptivePredict(this.tokenStream, 63, this.context)) {
3196
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 65, this.context)) {
3166
3197
  case 1:
3167
3198
  localContext = new Wire_expr_direction_valueContext(localContext);
3168
3199
  this.enterOuterAlt(localContext, 1);
3169
3200
  {
3170
- this.state = 592;
3201
+ this.state = 599;
3171
3202
  this.match(CircuitScriptParser.ID);
3172
- this.state = 595;
3203
+ this.state = 602;
3173
3204
  this.errorHandler.sync(this);
3174
- switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
3205
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 64, this.context)) {
3175
3206
  case 1:
3176
3207
  {
3177
- this.state = 593;
3208
+ this.state = 600;
3178
3209
  this.match(CircuitScriptParser.INTEGER_VALUE);
3179
3210
  }
3180
3211
  break;
3181
3212
  case 2:
3182
3213
  {
3183
- this.state = 594;
3214
+ this.state = 601;
3184
3215
  this.data_expr(0);
3185
3216
  }
3186
3217
  break;
@@ -3191,7 +3222,7 @@ export class CircuitScriptParser extends antlr.Parser {
3191
3222
  localContext = new Wire_expr_direction_onlyContext(localContext);
3192
3223
  this.enterOuterAlt(localContext, 2);
3193
3224
  {
3194
- this.state = 597;
3225
+ this.state = 604;
3195
3226
  this.match(CircuitScriptParser.ID);
3196
3227
  }
3197
3228
  break;
@@ -3218,23 +3249,23 @@ export class CircuitScriptParser extends antlr.Parser {
3218
3249
  let alternative;
3219
3250
  this.enterOuterAlt(localContext, 1);
3220
3251
  {
3221
- this.state = 600;
3252
+ this.state = 607;
3222
3253
  this.match(CircuitScriptParser.Wire);
3223
- this.state = 604;
3254
+ this.state = 611;
3224
3255
  this.errorHandler.sync(this);
3225
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
3256
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 66, this.context);
3226
3257
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3227
3258
  if (alternative === 1) {
3228
3259
  {
3229
3260
  {
3230
- this.state = 601;
3261
+ this.state = 608;
3231
3262
  this.wire_atom_expr();
3232
3263
  }
3233
3264
  }
3234
3265
  }
3235
- this.state = 606;
3266
+ this.state = 613;
3236
3267
  this.errorHandler.sync(this);
3237
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
3268
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 66, this.context);
3238
3269
  }
3239
3270
  }
3240
3271
  }
@@ -3259,39 +3290,39 @@ export class CircuitScriptParser extends antlr.Parser {
3259
3290
  try {
3260
3291
  this.enterOuterAlt(localContext, 1);
3261
3292
  {
3262
- this.state = 607;
3293
+ this.state = 614;
3263
3294
  this.match(CircuitScriptParser.T__5);
3264
- this.state = 618;
3295
+ this.state = 625;
3265
3296
  this.errorHandler.sync(this);
3266
3297
  _la = this.tokenStream.LA(1);
3267
3298
  while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
3268
3299
  {
3269
3300
  {
3270
- this.state = 608;
3301
+ this.state = 615;
3271
3302
  this.data_expr(0);
3272
- this.state = 613;
3303
+ this.state = 620;
3273
3304
  this.errorHandler.sync(this);
3274
3305
  _la = this.tokenStream.LA(1);
3275
3306
  while (_la === 2) {
3276
3307
  {
3277
3308
  {
3278
- this.state = 609;
3309
+ this.state = 616;
3279
3310
  this.match(CircuitScriptParser.T__1);
3280
- this.state = 610;
3311
+ this.state = 617;
3281
3312
  this.data_expr(0);
3282
3313
  }
3283
3314
  }
3284
- this.state = 615;
3315
+ this.state = 622;
3285
3316
  this.errorHandler.sync(this);
3286
3317
  _la = this.tokenStream.LA(1);
3287
3318
  }
3288
3319
  }
3289
3320
  }
3290
- this.state = 620;
3321
+ this.state = 627;
3291
3322
  this.errorHandler.sync(this);
3292
3323
  _la = this.tokenStream.LA(1);
3293
3324
  }
3294
- this.state = 621;
3325
+ this.state = 628;
3295
3326
  this.match(CircuitScriptParser.T__6);
3296
3327
  }
3297
3328
  }
@@ -3315,9 +3346,9 @@ export class CircuitScriptParser extends antlr.Parser {
3315
3346
  try {
3316
3347
  this.enterOuterAlt(localContext, 1);
3317
3348
  {
3318
- this.state = 623;
3349
+ this.state = 630;
3319
3350
  this.match(CircuitScriptParser.Point);
3320
- this.state = 624;
3351
+ this.state = 631;
3321
3352
  this.match(CircuitScriptParser.ID);
3322
3353
  }
3323
3354
  }
@@ -3341,9 +3372,9 @@ export class CircuitScriptParser extends antlr.Parser {
3341
3372
  try {
3342
3373
  this.enterOuterAlt(localContext, 1);
3343
3374
  {
3344
- this.state = 626;
3375
+ this.state = 633;
3345
3376
  this.match(CircuitScriptParser.Import);
3346
- this.state = 627;
3377
+ this.state = 634;
3347
3378
  this.match(CircuitScriptParser.ID);
3348
3379
  }
3349
3380
  }
@@ -3368,7 +3399,7 @@ export class CircuitScriptParser extends antlr.Parser {
3368
3399
  try {
3369
3400
  this.enterOuterAlt(localContext, 1);
3370
3401
  {
3371
- this.state = 629;
3402
+ this.state = 636;
3372
3403
  _la = this.tokenStream.LA(1);
3373
3404
  if (!(_la === 32 || _la === 33)) {
3374
3405
  this.errorHandler.recoverInline(this);
@@ -3377,9 +3408,9 @@ export class CircuitScriptParser extends antlr.Parser {
3377
3408
  this.errorHandler.reportMatch(this);
3378
3409
  this.consume();
3379
3410
  }
3380
- this.state = 630;
3411
+ this.state = 637;
3381
3412
  this.match(CircuitScriptParser.T__0);
3382
- this.state = 631;
3413
+ this.state = 638;
3383
3414
  this.expressions_block();
3384
3415
  }
3385
3416
  }
@@ -3405,36 +3436,36 @@ export class CircuitScriptParser extends antlr.Parser {
3405
3436
  let alternative;
3406
3437
  this.enterOuterAlt(localContext, 1);
3407
3438
  {
3408
- this.state = 633;
3439
+ this.state = 640;
3409
3440
  this.match(CircuitScriptParser.If);
3410
- this.state = 634;
3441
+ this.state = 641;
3411
3442
  this.data_expr(0);
3412
- this.state = 635;
3443
+ this.state = 642;
3413
3444
  this.match(CircuitScriptParser.T__0);
3414
- this.state = 636;
3445
+ this.state = 643;
3415
3446
  this.expressions_block();
3416
- this.state = 640;
3447
+ this.state = 647;
3417
3448
  this.errorHandler.sync(this);
3418
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 67, this.context);
3449
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
3419
3450
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3420
3451
  if (alternative === 1) {
3421
3452
  {
3422
3453
  {
3423
- this.state = 637;
3454
+ this.state = 644;
3424
3455
  this.if_inner_expr();
3425
3456
  }
3426
3457
  }
3427
3458
  }
3428
- this.state = 642;
3459
+ this.state = 649;
3429
3460
  this.errorHandler.sync(this);
3430
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 67, this.context);
3461
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 69, this.context);
3431
3462
  }
3432
- this.state = 644;
3463
+ this.state = 651;
3433
3464
  this.errorHandler.sync(this);
3434
3465
  _la = this.tokenStream.LA(1);
3435
3466
  if (_la === 30) {
3436
3467
  {
3437
- this.state = 643;
3468
+ this.state = 650;
3438
3469
  this.else_expr();
3439
3470
  }
3440
3471
  }
@@ -3460,15 +3491,15 @@ export class CircuitScriptParser extends antlr.Parser {
3460
3491
  try {
3461
3492
  this.enterOuterAlt(localContext, 1);
3462
3493
  {
3463
- this.state = 646;
3494
+ this.state = 653;
3464
3495
  this.match(CircuitScriptParser.Else);
3465
- this.state = 647;
3496
+ this.state = 654;
3466
3497
  this.match(CircuitScriptParser.If);
3467
- this.state = 648;
3498
+ this.state = 655;
3468
3499
  this.data_expr(0);
3469
- this.state = 649;
3500
+ this.state = 656;
3470
3501
  this.match(CircuitScriptParser.T__0);
3471
- this.state = 650;
3502
+ this.state = 657;
3472
3503
  this.expressions_block();
3473
3504
  }
3474
3505
  }
@@ -3492,11 +3523,11 @@ export class CircuitScriptParser extends antlr.Parser {
3492
3523
  try {
3493
3524
  this.enterOuterAlt(localContext, 1);
3494
3525
  {
3495
- this.state = 652;
3526
+ this.state = 659;
3496
3527
  this.match(CircuitScriptParser.Else);
3497
- this.state = 653;
3528
+ this.state = 660;
3498
3529
  this.match(CircuitScriptParser.T__0);
3499
- this.state = 654;
3530
+ this.state = 661;
3500
3531
  this.expressions_block();
3501
3532
  }
3502
3533
  }
@@ -3520,13 +3551,13 @@ export class CircuitScriptParser extends antlr.Parser {
3520
3551
  try {
3521
3552
  this.enterOuterAlt(localContext, 1);
3522
3553
  {
3523
- this.state = 656;
3554
+ this.state = 663;
3524
3555
  this.match(CircuitScriptParser.While);
3525
- this.state = 657;
3556
+ this.state = 664;
3526
3557
  this.data_expr(0);
3527
- this.state = 658;
3558
+ this.state = 665;
3528
3559
  this.match(CircuitScriptParser.T__0);
3529
- this.state = 659;
3560
+ this.state = 666;
3530
3561
  this.expressions_block();
3531
3562
  }
3532
3563
  }
@@ -3551,33 +3582,33 @@ export class CircuitScriptParser extends antlr.Parser {
3551
3582
  try {
3552
3583
  this.enterOuterAlt(localContext, 1);
3553
3584
  {
3554
- this.state = 661;
3585
+ this.state = 668;
3555
3586
  this.match(CircuitScriptParser.For);
3556
- this.state = 662;
3587
+ this.state = 669;
3557
3588
  this.match(CircuitScriptParser.ID);
3558
- this.state = 667;
3589
+ this.state = 674;
3559
3590
  this.errorHandler.sync(this);
3560
3591
  _la = this.tokenStream.LA(1);
3561
3592
  while (_la === 2) {
3562
3593
  {
3563
3594
  {
3564
- this.state = 663;
3595
+ this.state = 670;
3565
3596
  this.match(CircuitScriptParser.T__1);
3566
- this.state = 664;
3597
+ this.state = 671;
3567
3598
  this.match(CircuitScriptParser.ID);
3568
3599
  }
3569
3600
  }
3570
- this.state = 669;
3601
+ this.state = 676;
3571
3602
  this.errorHandler.sync(this);
3572
3603
  _la = this.tokenStream.LA(1);
3573
3604
  }
3574
- this.state = 670;
3605
+ this.state = 677;
3575
3606
  this.match(CircuitScriptParser.In);
3576
- this.state = 671;
3607
+ this.state = 678;
3577
3608
  this.data_expr(0);
3578
- this.state = 672;
3609
+ this.state = 679;
3579
3610
  this.match(CircuitScriptParser.T__0);
3580
- this.state = 673;
3611
+ this.state = 680;
3581
3612
  this.expressions_block();
3582
3613
  }
3583
3614
  }
@@ -3616,7 +3647,7 @@ export class CircuitScriptParser extends antlr.Parser {
3616
3647
  return true;
3617
3648
  }
3618
3649
  static _serializedATN = [
3619
- 4, 1, 67, 676, 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,
3650
+ 4, 1, 67, 683, 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,
3620
3651
  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,
3621
3652
  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,
3622
3653
  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,
@@ -3625,244 +3656,247 @@ export class CircuitScriptParser extends antlr.Parser {
3625
3656
  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,
3626
3657
  7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52,
3627
3658
  2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59,
3628
- 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 1, 0, 1, 0, 4, 0, 131, 8, 0,
3629
- 11, 0, 12, 0, 132, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3630
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 159, 8, 1, 1, 2, 1,
3631
- 2, 1, 2, 1, 2, 4, 2, 165, 8, 2, 11, 2, 12, 2, 166, 1, 2, 1, 2, 1, 3, 4, 3, 172, 8, 3, 11, 3,
3632
- 12, 3, 173, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 4, 5, 186, 8, 5, 11,
3633
- 5, 12, 5, 187, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3,
3634
- 8, 203, 8, 8, 1, 9, 1, 9, 3, 9, 207, 8, 9, 1, 9, 5, 9, 210, 8, 9, 10, 9, 12, 9, 213, 9, 9,
3635
- 1, 9, 3, 9, 216, 8, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 224, 8, 11, 1, 12,
3636
- 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 235, 8, 14, 10, 14, 12, 14,
3637
- 238, 9, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 246, 8, 15, 10, 15, 12, 15,
3638
- 249, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 4, 15, 256, 8, 15, 11, 15, 12, 15, 257,
3639
- 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 267, 8, 16, 10, 16, 12, 16, 270,
3640
- 9, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 4, 18, 280, 8, 18, 11, 18,
3641
- 12, 18, 281, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 288, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20,
3642
- 3, 20, 294, 8, 20, 1, 21, 1, 21, 3, 21, 298, 8, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1,
3643
- 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1,
3644
- 28, 1, 28, 1, 28, 5, 28, 321, 8, 28, 10, 28, 12, 28, 324, 9, 28, 1, 28, 1, 28, 5, 28, 328,
3645
- 8, 28, 10, 28, 12, 28, 331, 9, 28, 1, 28, 1, 28, 1, 28, 5, 28, 336, 8, 28, 10, 28, 12,
3646
- 28, 339, 9, 28, 3, 28, 341, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30,
3647
- 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 359, 8, 31, 1, 31, 1, 31,
3648
- 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 369, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3649
- 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 384, 8, 31, 10, 31,
3650
- 12, 31, 387, 9, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 3, 34, 394, 8, 34, 1, 34, 1, 34,
3651
- 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 402, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35,
3652
- 4, 35, 410, 8, 35, 11, 35, 12, 35, 411, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 418, 8, 36,
3653
- 1, 37, 1, 37, 1, 37, 5, 37, 423, 8, 37, 10, 37, 12, 37, 426, 9, 37, 1, 37, 1, 37, 1, 37,
3654
- 1, 37, 5, 37, 432, 8, 37, 10, 37, 12, 37, 435, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37,
3655
- 1, 37, 1, 37, 5, 37, 444, 8, 37, 10, 37, 12, 37, 447, 9, 37, 3, 37, 449, 8, 37, 1, 38,
3656
- 1, 38, 1, 38, 5, 38, 454, 8, 38, 10, 38, 12, 38, 457, 9, 38, 1, 39, 1, 39, 3, 39, 461,
3657
- 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 466, 8, 39, 1, 40, 3, 40, 469, 8, 40, 1, 40, 1, 40, 4,
3658
- 40, 473, 8, 40, 11, 40, 12, 40, 474, 1, 41, 3, 41, 478, 8, 41, 1, 41, 1, 41, 3, 41, 482,
3659
- 8, 41, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
3660
- 1, 44, 1, 44, 4, 44, 498, 8, 44, 11, 44, 12, 44, 499, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45,
3661
- 1, 45, 4, 45, 508, 8, 45, 11, 45, 12, 45, 509, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46,
3662
- 1, 46, 3, 46, 519, 8, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47,
3663
- 1, 47, 1, 47, 4, 47, 532, 8, 47, 11, 47, 12, 47, 533, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48,
3664
- 1, 48, 4, 48, 542, 8, 48, 11, 48, 12, 48, 543, 1, 48, 1, 48, 1, 49, 1, 49, 3, 49, 550,
3665
- 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 558, 8, 49, 1, 49, 1, 49, 1, 49,
3666
- 1, 49, 5, 49, 564, 8, 49, 10, 49, 12, 49, 567, 9, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49,
3667
- 3, 49, 574, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52,
3668
- 5, 52, 586, 8, 52, 10, 52, 12, 52, 589, 9, 52, 3, 52, 591, 8, 52, 1, 53, 1, 53, 1, 53,
3669
- 3, 53, 596, 8, 53, 1, 53, 3, 53, 599, 8, 53, 1, 54, 1, 54, 5, 54, 603, 8, 54, 10, 54, 12,
3670
- 54, 606, 9, 54, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 612, 8, 55, 10, 55, 12, 55, 615, 9,
3671
- 55, 5, 55, 617, 8, 55, 10, 55, 12, 55, 620, 9, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1,
3672
- 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 639,
3673
- 8, 59, 10, 59, 12, 59, 642, 9, 59, 1, 59, 3, 59, 645, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60,
3674
- 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63,
3675
- 1, 63, 1, 63, 5, 63, 666, 8, 63, 10, 63, 12, 63, 669, 9, 63, 1, 63, 1, 63, 1, 63, 1, 63,
3676
- 1, 63, 1, 63, 0, 1, 62, 64, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
3677
- 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,
3678
- 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
3679
- 116, 118, 120, 122, 124, 126, 0, 14, 2, 0, 9, 9, 19, 21, 1, 0, 56, 57, 2, 0, 57, 57, 60,
3680
- 60, 2, 0, 54, 54, 57, 57, 1, 0, 47, 51, 1, 0, 44, 46, 1, 0, 42, 43, 1, 0, 40, 41, 1, 0, 34,
3681
- 39, 2, 0, 31, 31, 43, 43, 2, 0, 55, 55, 57, 61, 2, 0, 15, 15, 56, 56, 2, 0, 56, 57, 60,
3682
- 60, 1, 0, 32, 33, 712, 0, 130, 1, 0, 0, 0, 2, 158, 1, 0, 0, 0, 4, 160, 1, 0, 0, 0, 6, 171,
3683
- 1, 0, 0, 0, 8, 175, 1, 0, 0, 0, 10, 179, 1, 0, 0, 0, 12, 191, 1, 0, 0, 0, 14, 195, 1, 0, 0,
3684
- 0, 16, 198, 1, 0, 0, 0, 18, 206, 1, 0, 0, 0, 20, 217, 1, 0, 0, 0, 22, 223, 1, 0, 0, 0, 24,
3685
- 225, 1, 0, 0, 0, 26, 227, 1, 0, 0, 0, 28, 230, 1, 0, 0, 0, 30, 239, 1, 0, 0, 0, 32, 261,
3686
- 1, 0, 0, 0, 34, 271, 1, 0, 0, 0, 36, 273, 1, 0, 0, 0, 38, 287, 1, 0, 0, 0, 40, 289, 1, 0,
3687
- 0, 0, 42, 297, 1, 0, 0, 0, 44, 299, 1, 0, 0, 0, 46, 301, 1, 0, 0, 0, 48, 303, 1, 0, 0, 0,
3688
- 50, 305, 1, 0, 0, 0, 52, 309, 1, 0, 0, 0, 54, 313, 1, 0, 0, 0, 56, 340, 1, 0, 0, 0, 58, 342,
3689
- 1, 0, 0, 0, 60, 346, 1, 0, 0, 0, 62, 368, 1, 0, 0, 0, 64, 388, 1, 0, 0, 0, 66, 390, 1, 0,
3690
- 0, 0, 68, 393, 1, 0, 0, 0, 70, 397, 1, 0, 0, 0, 72, 417, 1, 0, 0, 0, 74, 448, 1, 0, 0, 0,
3691
- 76, 450, 1, 0, 0, 0, 78, 465, 1, 0, 0, 0, 80, 468, 1, 0, 0, 0, 82, 477, 1, 0, 0, 0, 84, 483,
3692
- 1, 0, 0, 0, 86, 486, 1, 0, 0, 0, 88, 490, 1, 0, 0, 0, 90, 503, 1, 0, 0, 0, 92, 513, 1, 0,
3693
- 0, 0, 94, 523, 1, 0, 0, 0, 96, 537, 1, 0, 0, 0, 98, 573, 1, 0, 0, 0, 100, 575, 1, 0, 0, 0,
3694
- 102, 579, 1, 0, 0, 0, 104, 590, 1, 0, 0, 0, 106, 598, 1, 0, 0, 0, 108, 600, 1, 0, 0, 0,
3695
- 110, 607, 1, 0, 0, 0, 112, 623, 1, 0, 0, 0, 114, 626, 1, 0, 0, 0, 116, 629, 1, 0, 0, 0,
3696
- 118, 633, 1, 0, 0, 0, 120, 646, 1, 0, 0, 0, 122, 652, 1, 0, 0, 0, 124, 656, 1, 0, 0, 0,
3697
- 126, 661, 1, 0, 0, 0, 128, 131, 3, 2, 1, 0, 129, 131, 5, 64, 0, 0, 130, 128, 1, 0, 0, 0,
3698
- 130, 129, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0,
3699
- 133, 134, 1, 0, 0, 0, 134, 135, 5, 0, 0, 1, 135, 1, 1, 0, 0, 0, 136, 159, 3, 20, 10, 0,
3700
- 137, 159, 3, 28, 14, 0, 138, 159, 3, 26, 13, 0, 139, 159, 3, 50, 25, 0, 140, 159, 3,
3701
- 52, 26, 0, 141, 159, 3, 58, 29, 0, 142, 159, 3, 10, 5, 0, 143, 159, 3, 60, 30, 0, 144,
3702
- 159, 3, 46, 23, 0, 145, 159, 3, 48, 24, 0, 146, 159, 3, 70, 35, 0, 147, 159, 3, 80, 40,
3703
- 0, 148, 159, 3, 108, 54, 0, 149, 159, 3, 114, 57, 0, 150, 159, 3, 116, 58, 0, 151, 159,
3704
- 3, 76, 38, 0, 152, 159, 3, 36, 18, 0, 153, 159, 3, 6, 3, 0, 154, 159, 3, 112, 56, 0, 155,
3705
- 159, 3, 118, 59, 0, 156, 159, 3, 124, 62, 0, 157, 159, 3, 126, 63, 0, 158, 136, 1, 0,
3706
- 0, 0, 158, 137, 1, 0, 0, 0, 158, 138, 1, 0, 0, 0, 158, 139, 1, 0, 0, 0, 158, 140, 1, 0,
3707
- 0, 0, 158, 141, 1, 0, 0, 0, 158, 142, 1, 0, 0, 0, 158, 143, 1, 0, 0, 0, 158, 144, 1, 0,
3708
- 0, 0, 158, 145, 1, 0, 0, 0, 158, 146, 1, 0, 0, 0, 158, 147, 1, 0, 0, 0, 158, 148, 1, 0,
3709
- 0, 0, 158, 149, 1, 0, 0, 0, 158, 150, 1, 0, 0, 0, 158, 151, 1, 0, 0, 0, 158, 152, 1, 0,
3710
- 0, 0, 158, 153, 1, 0, 0, 0, 158, 154, 1, 0, 0, 0, 158, 155, 1, 0, 0, 0, 158, 156, 1, 0,
3711
- 0, 0, 158, 157, 1, 0, 0, 0, 159, 3, 1, 0, 0, 0, 160, 161, 5, 64, 0, 0, 161, 164, 5, 66,
3712
- 0, 0, 162, 165, 5, 64, 0, 0, 163, 165, 3, 2, 1, 0, 164, 162, 1, 0, 0, 0, 164, 163, 1, 0,
3713
- 0, 0, 165, 166, 1, 0, 0, 0, 166, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 1, 0,
3714
- 0, 0, 168, 169, 5, 67, 0, 0, 169, 5, 1, 0, 0, 0, 170, 172, 3, 8, 4, 0, 171, 170, 1, 0, 0,
3715
- 0, 172, 173, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 7, 1, 0, 0, 0,
3716
- 175, 176, 7, 0, 0, 0, 176, 177, 5, 1, 0, 0, 177, 178, 3, 4, 2, 0, 178, 9, 1, 0, 0, 0, 179,
3717
- 180, 3, 76, 38, 0, 180, 181, 5, 1, 0, 0, 181, 182, 5, 64, 0, 0, 182, 185, 5, 66, 0, 0,
3718
- 183, 186, 5, 64, 0, 0, 184, 186, 3, 12, 6, 0, 185, 183, 1, 0, 0, 0, 185, 184, 1, 0, 0,
3719
- 0, 186, 187, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 187, 188, 1, 0, 0, 0, 188, 189, 1, 0, 0,
3720
- 0, 189, 190, 5, 67, 0, 0, 190, 11, 1, 0, 0, 0, 191, 192, 7, 1, 0, 0, 192, 193, 5, 1, 0,
3721
- 0, 193, 194, 3, 68, 34, 0, 194, 13, 1, 0, 0, 0, 195, 196, 5, 15, 0, 0, 196, 197, 7, 2,
3722
- 0, 0, 197, 15, 1, 0, 0, 0, 198, 199, 5, 56, 0, 0, 199, 202, 5, 1, 0, 0, 200, 203, 3, 68,
3723
- 34, 0, 201, 203, 5, 56, 0, 0, 202, 200, 1, 0, 0, 0, 202, 201, 1, 0, 0, 0, 203, 17, 1, 0,
3724
- 0, 0, 204, 207, 3, 62, 31, 0, 205, 207, 3, 50, 25, 0, 206, 204, 1, 0, 0, 0, 206, 205,
3725
- 1, 0, 0, 0, 207, 211, 1, 0, 0, 0, 208, 210, 3, 16, 8, 0, 209, 208, 1, 0, 0, 0, 210, 213,
3726
- 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 215, 1, 0, 0, 0, 213, 211,
3727
- 1, 0, 0, 0, 214, 216, 3, 14, 7, 0, 215, 214, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 19,
3728
- 1, 0, 0, 0, 217, 218, 5, 16, 0, 0, 218, 219, 3, 18, 9, 0, 219, 21, 1, 0, 0, 0, 220, 224,
3729
- 3, 18, 9, 0, 221, 224, 3, 14, 7, 0, 222, 224, 5, 19, 0, 0, 223, 220, 1, 0, 0, 0, 223, 221,
3730
- 1, 0, 0, 0, 223, 222, 1, 0, 0, 0, 224, 23, 1, 0, 0, 0, 225, 226, 7, 2, 0, 0, 226, 25, 1,
3731
- 0, 0, 0, 227, 228, 5, 17, 0, 0, 228, 229, 3, 22, 11, 0, 229, 27, 1, 0, 0, 0, 230, 231,
3732
- 5, 18, 0, 0, 231, 236, 3, 22, 11, 0, 232, 233, 5, 2, 0, 0, 233, 235, 3, 22, 11, 0, 234,
3733
- 232, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237,
3734
- 29, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 240, 5, 17, 0, 0, 240, 241, 3, 22, 11, 0, 241,
3735
- 242, 5, 18, 0, 0, 242, 247, 3, 22, 11, 0, 243, 244, 5, 2, 0, 0, 244, 246, 3, 22, 11, 0,
3736
- 245, 243, 1, 0, 0, 0, 246, 249, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0,
3737
- 248, 250, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 250, 251, 5, 1, 0, 0, 251, 252, 5, 64, 0, 0,
3738
- 252, 255, 5, 66, 0, 0, 253, 256, 5, 64, 0, 0, 254, 256, 3, 32, 16, 0, 255, 253, 1, 0,
3739
- 0, 0, 255, 254, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 255, 1, 0, 0, 0, 257, 258, 1, 0,
3740
- 0, 0, 258, 259, 1, 0, 0, 0, 259, 260, 5, 67, 0, 0, 260, 31, 1, 0, 0, 0, 261, 262, 3, 24,
3741
- 12, 0, 262, 263, 5, 1, 0, 0, 263, 268, 3, 34, 17, 0, 264, 265, 5, 2, 0, 0, 265, 267, 3,
3742
- 34, 17, 0, 266, 264, 1, 0, 0, 0, 267, 270, 1, 0, 0, 0, 268, 266, 1, 0, 0, 0, 268, 269,
3743
- 1, 0, 0, 0, 269, 33, 1, 0, 0, 0, 270, 268, 1, 0, 0, 0, 271, 272, 7, 3, 0, 0, 272, 35, 1,
3744
- 0, 0, 0, 273, 274, 3, 26, 13, 0, 274, 275, 5, 1, 0, 0, 275, 276, 5, 64, 0, 0, 276, 279,
3745
- 5, 66, 0, 0, 277, 280, 5, 64, 0, 0, 278, 280, 3, 38, 19, 0, 279, 277, 1, 0, 0, 0, 279,
3746
- 278, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282,
3747
- 283, 1, 0, 0, 0, 283, 284, 5, 67, 0, 0, 284, 37, 1, 0, 0, 0, 285, 288, 3, 2, 1, 0, 286,
3748
- 288, 3, 40, 20, 0, 287, 285, 1, 0, 0, 0, 287, 286, 1, 0, 0, 0, 288, 39, 1, 0, 0, 0, 289,
3749
- 290, 3, 24, 12, 0, 290, 293, 5, 1, 0, 0, 291, 294, 3, 42, 21, 0, 292, 294, 3, 44, 22,
3750
- 0, 293, 291, 1, 0, 0, 0, 293, 292, 1, 0, 0, 0, 294, 41, 1, 0, 0, 0, 295, 298, 3, 2, 1, 0,
3751
- 296, 298, 5, 54, 0, 0, 297, 295, 1, 0, 0, 0, 297, 296, 1, 0, 0, 0, 298, 43, 1, 0, 0, 0,
3752
- 299, 300, 3, 4, 2, 0, 300, 45, 1, 0, 0, 0, 301, 302, 5, 8, 0, 0, 302, 47, 1, 0, 0, 0, 303,
3753
- 304, 5, 28, 0, 0, 304, 49, 1, 0, 0, 0, 305, 306, 3, 76, 38, 0, 306, 307, 5, 3, 0, 0, 307,
3754
- 308, 3, 62, 31, 0, 308, 51, 1, 0, 0, 0, 309, 310, 3, 76, 38, 0, 310, 311, 7, 4, 0, 0, 311,
3755
- 312, 3, 62, 31, 0, 312, 53, 1, 0, 0, 0, 313, 314, 5, 56, 0, 0, 314, 315, 5, 3, 0, 0, 315,
3756
- 316, 3, 62, 31, 0, 316, 55, 1, 0, 0, 0, 317, 322, 3, 62, 31, 0, 318, 319, 5, 2, 0, 0, 319,
3757
- 321, 3, 62, 31, 0, 320, 318, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 322,
3758
- 323, 1, 0, 0, 0, 323, 329, 1, 0, 0, 0, 324, 322, 1, 0, 0, 0, 325, 326, 5, 2, 0, 0, 326,
3759
- 328, 3, 54, 27, 0, 327, 325, 1, 0, 0, 0, 328, 331, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329,
3760
- 330, 1, 0, 0, 0, 330, 341, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 337, 3, 54, 27, 0, 333,
3761
- 334, 5, 2, 0, 0, 334, 336, 3, 54, 27, 0, 335, 333, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0, 337,
3762
- 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 341, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340,
3763
- 317, 1, 0, 0, 0, 340, 332, 1, 0, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 3, 76, 38, 0, 343,
3764
- 344, 5, 3, 0, 0, 344, 345, 3, 62, 31, 0, 345, 59, 1, 0, 0, 0, 346, 347, 5, 4, 0, 0, 347,
3765
- 348, 5, 56, 0, 0, 348, 349, 5, 3, 0, 0, 349, 350, 3, 62, 31, 0, 350, 61, 1, 0, 0, 0, 351,
3766
- 352, 6, 31, -1, 0, 352, 353, 5, 52, 0, 0, 353, 354, 3, 62, 31, 0, 354, 355, 5, 53, 0,
3767
- 0, 355, 369, 1, 0, 0, 0, 356, 359, 3, 68, 34, 0, 357, 359, 3, 76, 38, 0, 358, 356, 1,
3768
- 0, 0, 0, 358, 357, 1, 0, 0, 0, 359, 369, 1, 0, 0, 0, 360, 361, 3, 66, 33, 0, 361, 362,
3769
- 3, 62, 31, 10, 362, 369, 1, 0, 0, 0, 363, 369, 3, 88, 44, 0, 364, 369, 3, 92, 46, 0, 365,
3770
- 369, 3, 94, 47, 0, 366, 369, 3, 80, 40, 0, 367, 369, 3, 110, 55, 0, 368, 351, 1, 0, 0,
3771
- 0, 368, 358, 1, 0, 0, 0, 368, 360, 1, 0, 0, 0, 368, 363, 1, 0, 0, 0, 368, 364, 1, 0, 0,
3772
- 0, 368, 365, 1, 0, 0, 0, 368, 366, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 385, 1, 0, 0,
3773
- 0, 370, 371, 10, 9, 0, 0, 371, 372, 7, 5, 0, 0, 372, 384, 3, 62, 31, 10, 373, 374, 10,
3774
- 8, 0, 0, 374, 375, 7, 6, 0, 0, 375, 384, 3, 62, 31, 9, 376, 377, 10, 7, 0, 0, 377, 378,
3775
- 3, 64, 32, 0, 378, 379, 3, 62, 31, 8, 379, 384, 1, 0, 0, 0, 380, 381, 10, 6, 0, 0, 381,
3776
- 382, 7, 7, 0, 0, 382, 384, 3, 62, 31, 7, 383, 370, 1, 0, 0, 0, 383, 373, 1, 0, 0, 0, 383,
3777
- 376, 1, 0, 0, 0, 383, 380, 1, 0, 0, 0, 384, 387, 1, 0, 0, 0, 385, 383, 1, 0, 0, 0, 385,
3778
- 386, 1, 0, 0, 0, 386, 63, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 388, 389, 7, 8, 0, 0, 389, 65,
3779
- 1, 0, 0, 0, 390, 391, 7, 9, 0, 0, 391, 67, 1, 0, 0, 0, 392, 394, 5, 43, 0, 0, 393, 392,
3780
- 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 396, 7, 10, 0, 0, 396, 69,
3781
- 1, 0, 0, 0, 397, 398, 5, 23, 0, 0, 398, 399, 5, 56, 0, 0, 399, 401, 5, 52, 0, 0, 400, 402,
3782
- 3, 74, 37, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404,
3783
- 5, 53, 0, 0, 404, 405, 5, 1, 0, 0, 405, 406, 5, 64, 0, 0, 406, 409, 5, 66, 0, 0, 407, 410,
3784
- 5, 64, 0, 0, 408, 410, 3, 72, 36, 0, 409, 407, 1, 0, 0, 0, 409, 408, 1, 0, 0, 0, 410, 411,
3785
- 1, 0, 0, 0, 411, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 414,
3786
- 5, 67, 0, 0, 414, 71, 1, 0, 0, 0, 415, 418, 3, 2, 1, 0, 416, 418, 3, 84, 42, 0, 417, 415,
3787
- 1, 0, 0, 0, 417, 416, 1, 0, 0, 0, 418, 73, 1, 0, 0, 0, 419, 424, 5, 56, 0, 0, 420, 421,
3788
- 5, 2, 0, 0, 421, 423, 5, 56, 0, 0, 422, 420, 1, 0, 0, 0, 423, 426, 1, 0, 0, 0, 424, 422,
3789
- 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 433, 1, 0, 0, 0, 426, 424, 1, 0, 0, 0, 427, 428,
3790
- 5, 2, 0, 0, 428, 429, 5, 56, 0, 0, 429, 430, 5, 3, 0, 0, 430, 432, 3, 68, 34, 0, 431, 427,
3791
- 1, 0, 0, 0, 432, 435, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 433, 434, 1, 0, 0, 0, 434, 449,
3792
- 1, 0, 0, 0, 435, 433, 1, 0, 0, 0, 436, 437, 5, 56, 0, 0, 437, 438, 5, 3, 0, 0, 438, 445,
3793
- 3, 68, 34, 0, 439, 440, 5, 2, 0, 0, 440, 441, 5, 56, 0, 0, 441, 442, 5, 3, 0, 0, 442, 444,
3794
- 3, 68, 34, 0, 443, 439, 1, 0, 0, 0, 444, 447, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 445, 446,
3795
- 1, 0, 0, 0, 446, 449, 1, 0, 0, 0, 447, 445, 1, 0, 0, 0, 448, 419, 1, 0, 0, 0, 448, 436,
3796
- 1, 0, 0, 0, 449, 75, 1, 0, 0, 0, 450, 455, 5, 56, 0, 0, 451, 452, 5, 5, 0, 0, 452, 454,
3797
- 5, 56, 0, 0, 453, 451, 1, 0, 0, 0, 454, 457, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456,
3798
- 1, 0, 0, 0, 456, 77, 1, 0, 0, 0, 457, 455, 1, 0, 0, 0, 458, 460, 5, 52, 0, 0, 459, 461,
3799
- 3, 56, 28, 0, 460, 459, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 462, 1, 0, 0, 0, 462, 466,
3800
- 5, 53, 0, 0, 463, 464, 5, 5, 0, 0, 464, 466, 5, 56, 0, 0, 465, 458, 1, 0, 0, 0, 465, 463,
3801
- 1, 0, 0, 0, 466, 79, 1, 0, 0, 0, 467, 469, 3, 82, 41, 0, 468, 467, 1, 0, 0, 0, 468, 469,
3802
- 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 472, 5, 56, 0, 0, 471, 473, 3, 78, 39, 0, 472, 471,
3803
- 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 474, 475, 1, 0, 0, 0, 475, 81, 1,
3804
- 0, 0, 0, 476, 478, 5, 42, 0, 0, 477, 476, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 479, 1,
3805
- 0, 0, 0, 479, 481, 5, 44, 0, 0, 480, 482, 3, 62, 31, 0, 481, 480, 1, 0, 0, 0, 481, 482,
3806
- 1, 0, 0, 0, 482, 83, 1, 0, 0, 0, 483, 484, 5, 22, 0, 0, 484, 485, 3, 62, 31, 0, 485, 85,
3807
- 1, 0, 0, 0, 486, 487, 3, 102, 51, 0, 487, 488, 5, 1, 0, 0, 488, 489, 3, 4, 2, 0, 489, 87,
3808
- 1, 0, 0, 0, 490, 491, 5, 10, 0, 0, 491, 492, 5, 11, 0, 0, 492, 493, 5, 1, 0, 0, 493, 494,
3809
- 5, 64, 0, 0, 494, 497, 5, 66, 0, 0, 495, 498, 5, 64, 0, 0, 496, 498, 3, 100, 50, 0, 497,
3810
- 495, 1, 0, 0, 0, 497, 496, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 497, 1, 0, 0, 0, 499,
3811
- 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 502, 5, 67, 0, 0, 502, 89, 1, 0, 0, 0, 503,
3812
- 504, 5, 64, 0, 0, 504, 507, 5, 66, 0, 0, 505, 508, 5, 64, 0, 0, 506, 508, 3, 98, 49, 0,
3813
- 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0,
3814
- 509, 510, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 512, 5, 67, 0, 0, 512, 91, 1, 0, 0, 0,
3815
- 513, 514, 5, 10, 0, 0, 514, 518, 5, 12, 0, 0, 515, 516, 5, 52, 0, 0, 516, 517, 5, 56,
3816
- 0, 0, 517, 519, 5, 53, 0, 0, 518, 515, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 520, 1, 0,
3817
- 0, 0, 520, 521, 5, 1, 0, 0, 521, 522, 3, 90, 45, 0, 522, 93, 1, 0, 0, 0, 523, 524, 5, 10,
3818
- 0, 0, 524, 525, 5, 13, 0, 0, 525, 526, 5, 1, 0, 0, 526, 527, 5, 64, 0, 0, 527, 531, 5,
3819
- 66, 0, 0, 528, 532, 5, 64, 0, 0, 529, 532, 3, 100, 50, 0, 530, 532, 3, 86, 43, 0, 531,
3820
- 528, 1, 0, 0, 0, 531, 529, 1, 0, 0, 0, 531, 530, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533,
3821
- 531, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 536, 5, 67, 0, 0, 536,
3822
- 95, 1, 0, 0, 0, 537, 538, 5, 64, 0, 0, 538, 541, 5, 66, 0, 0, 539, 542, 5, 64, 0, 0, 540,
3823
- 542, 3, 100, 50, 0, 541, 539, 1, 0, 0, 0, 541, 540, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 543,
3824
- 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 546, 5, 67, 0, 0, 546,
3825
- 97, 1, 0, 0, 0, 547, 549, 7, 11, 0, 0, 548, 550, 5, 1, 0, 0, 549, 548, 1, 0, 0, 0, 549,
3826
- 550, 1, 0, 0, 0, 550, 557, 1, 0, 0, 0, 551, 558, 3, 56, 28, 0, 552, 553, 5, 52, 0, 0, 553,
3827
- 554, 3, 56, 28, 0, 554, 555, 5, 53, 0, 0, 555, 558, 1, 0, 0, 0, 556, 558, 3, 96, 48, 0,
3828
- 557, 551, 1, 0, 0, 0, 557, 552, 1, 0, 0, 0, 557, 556, 1, 0, 0, 0, 558, 574, 1, 0, 0, 0,
3829
- 559, 560, 5, 25, 0, 0, 560, 565, 5, 56, 0, 0, 561, 562, 5, 2, 0, 0, 562, 564, 5, 56, 0,
3830
- 0, 563, 561, 1, 0, 0, 0, 564, 567, 1, 0, 0, 0, 565, 563, 1, 0, 0, 0, 565, 566, 1, 0, 0,
3831
- 0, 566, 568, 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 568, 569, 5, 26, 0, 0, 569, 570, 3, 62,
3832
- 31, 0, 570, 571, 5, 1, 0, 0, 571, 572, 3, 90, 45, 0, 572, 574, 1, 0, 0, 0, 573, 547, 1,
3833
- 0, 0, 0, 573, 559, 1, 0, 0, 0, 574, 99, 1, 0, 0, 0, 575, 576, 3, 102, 51, 0, 576, 577,
3834
- 5, 1, 0, 0, 577, 578, 3, 104, 52, 0, 578, 101, 1, 0, 0, 0, 579, 580, 7, 12, 0, 0, 580,
3835
- 103, 1, 0, 0, 0, 581, 591, 3, 96, 48, 0, 582, 587, 3, 62, 31, 0, 583, 584, 5, 2, 0, 0,
3836
- 584, 586, 3, 62, 31, 0, 585, 583, 1, 0, 0, 0, 586, 589, 1, 0, 0, 0, 587, 585, 1, 0, 0,
3837
- 0, 587, 588, 1, 0, 0, 0, 588, 591, 1, 0, 0, 0, 589, 587, 1, 0, 0, 0, 590, 581, 1, 0, 0,
3838
- 0, 590, 582, 1, 0, 0, 0, 591, 105, 1, 0, 0, 0, 592, 595, 5, 56, 0, 0, 593, 596, 5, 57,
3839
- 0, 0, 594, 596, 3, 62, 31, 0, 595, 593, 1, 0, 0, 0, 595, 594, 1, 0, 0, 0, 596, 599, 1,
3840
- 0, 0, 0, 597, 599, 5, 56, 0, 0, 598, 592, 1, 0, 0, 0, 598, 597, 1, 0, 0, 0, 599, 107, 1,
3841
- 0, 0, 0, 600, 604, 5, 14, 0, 0, 601, 603, 3, 106, 53, 0, 602, 601, 1, 0, 0, 0, 603, 606,
3842
- 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 109, 1, 0, 0, 0, 606, 604,
3843
- 1, 0, 0, 0, 607, 618, 5, 6, 0, 0, 608, 613, 3, 62, 31, 0, 609, 610, 5, 2, 0, 0, 610, 612,
3844
- 3, 62, 31, 0, 611, 609, 1, 0, 0, 0, 612, 615, 1, 0, 0, 0, 613, 611, 1, 0, 0, 0, 613, 614,
3845
- 1, 0, 0, 0, 614, 617, 1, 0, 0, 0, 615, 613, 1, 0, 0, 0, 616, 608, 1, 0, 0, 0, 617, 620,
3846
- 1, 0, 0, 0, 618, 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 621, 1, 0, 0, 0, 620, 618,
3847
- 1, 0, 0, 0, 621, 622, 5, 7, 0, 0, 622, 111, 1, 0, 0, 0, 623, 624, 5, 19, 0, 0, 624, 625,
3848
- 5, 56, 0, 0, 625, 113, 1, 0, 0, 0, 626, 627, 5, 24, 0, 0, 627, 628, 5, 56, 0, 0, 628, 115,
3849
- 1, 0, 0, 0, 629, 630, 7, 13, 0, 0, 630, 631, 5, 1, 0, 0, 631, 632, 3, 4, 2, 0, 632, 117,
3850
- 1, 0, 0, 0, 633, 634, 5, 29, 0, 0, 634, 635, 3, 62, 31, 0, 635, 636, 5, 1, 0, 0, 636, 640,
3851
- 3, 4, 2, 0, 637, 639, 3, 120, 60, 0, 638, 637, 1, 0, 0, 0, 639, 642, 1, 0, 0, 0, 640, 638,
3852
- 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 644, 1, 0, 0, 0, 642, 640, 1, 0, 0, 0, 643, 645,
3853
- 3, 122, 61, 0, 644, 643, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 119, 1, 0, 0, 0, 646, 647,
3854
- 5, 30, 0, 0, 647, 648, 5, 29, 0, 0, 648, 649, 3, 62, 31, 0, 649, 650, 5, 1, 0, 0, 650,
3855
- 651, 3, 4, 2, 0, 651, 121, 1, 0, 0, 0, 652, 653, 5, 30, 0, 0, 653, 654, 5, 1, 0, 0, 654,
3856
- 655, 3, 4, 2, 0, 655, 123, 1, 0, 0, 0, 656, 657, 5, 27, 0, 0, 657, 658, 3, 62, 31, 0, 658,
3857
- 659, 5, 1, 0, 0, 659, 660, 3, 4, 2, 0, 660, 125, 1, 0, 0, 0, 661, 662, 5, 25, 0, 0, 662,
3858
- 667, 5, 56, 0, 0, 663, 664, 5, 2, 0, 0, 664, 666, 5, 56, 0, 0, 665, 663, 1, 0, 0, 0, 666,
3859
- 669, 1, 0, 0, 0, 667, 665, 1, 0, 0, 0, 667, 668, 1, 0, 0, 0, 668, 670, 1, 0, 0, 0, 669,
3860
- 667, 1, 0, 0, 0, 670, 671, 5, 26, 0, 0, 671, 672, 3, 62, 31, 0, 672, 673, 5, 1, 0, 0, 673,
3861
- 674, 3, 4, 2, 0, 674, 127, 1, 0, 0, 0, 70, 130, 132, 158, 164, 166, 173, 185, 187, 202,
3862
- 206, 211, 215, 223, 236, 247, 255, 257, 268, 279, 281, 287, 293, 297, 322, 329,
3863
- 337, 340, 358, 368, 383, 385, 393, 401, 409, 411, 417, 424, 433, 445, 448, 455,
3864
- 460, 465, 468, 474, 477, 481, 497, 499, 507, 509, 518, 531, 533, 541, 543, 549,
3865
- 557, 565, 573, 587, 590, 595, 598, 604, 613, 618, 640, 644, 667
3659
+ 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 1, 0, 1, 0, 5, 0, 131, 8, 0,
3660
+ 10, 0, 12, 0, 134, 9, 0, 1, 0, 1, 0, 4, 0, 138, 8, 0, 11, 0, 12, 0, 139, 1, 0, 1, 0, 1, 1,
3661
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3662
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 166, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 4, 2, 172, 8, 2, 11, 2,
3663
+ 12, 2, 173, 1, 2, 1, 2, 1, 3, 4, 3, 179, 8, 3, 11, 3, 12, 3, 180, 1, 4, 1, 4, 1, 4, 1, 4, 1,
3664
+ 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 4, 5, 193, 8, 5, 11, 5, 12, 5, 194, 1, 5, 1, 5, 1, 6, 1, 6,
3665
+ 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 210, 8, 8, 1, 9, 1, 9, 3, 9, 214,
3666
+ 8, 9, 1, 9, 5, 9, 217, 8, 9, 10, 9, 12, 9, 220, 9, 9, 1, 9, 3, 9, 223, 8, 9, 1, 10, 1, 10,
3667
+ 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 231, 8, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14,
3668
+ 1, 14, 1, 14, 1, 14, 5, 14, 242, 8, 14, 10, 14, 12, 14, 245, 9, 14, 1, 15, 1, 15, 1, 15,
3669
+ 1, 15, 1, 15, 1, 15, 5, 15, 253, 8, 15, 10, 15, 12, 15, 256, 9, 15, 1, 15, 1, 15, 1, 15,
3670
+ 1, 15, 1, 15, 4, 15, 263, 8, 15, 11, 15, 12, 15, 264, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16,
3671
+ 1, 16, 1, 16, 5, 16, 274, 8, 16, 10, 16, 12, 16, 277, 9, 16, 1, 17, 1, 17, 1, 18, 1, 18,
3672
+ 1, 18, 1, 18, 1, 18, 1, 18, 4, 18, 287, 8, 18, 11, 18, 12, 18, 288, 1, 18, 1, 18, 1, 19,
3673
+ 1, 19, 3, 19, 295, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 301, 8, 20, 1, 21, 1, 21, 3,
3674
+ 21, 305, 8, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1,
3675
+ 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 328, 8,
3676
+ 28, 10, 28, 12, 28, 331, 9, 28, 1, 28, 1, 28, 5, 28, 335, 8, 28, 10, 28, 12, 28, 338,
3677
+ 9, 28, 1, 28, 1, 28, 1, 28, 5, 28, 343, 8, 28, 10, 28, 12, 28, 346, 9, 28, 3, 28, 348,
3678
+ 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31,
3679
+ 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 366, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3680
+ 1, 31, 1, 31, 3, 31, 376, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3681
+ 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 391, 8, 31, 10, 31, 12, 31, 394, 9, 31, 1, 32,
3682
+ 1, 32, 1, 33, 1, 33, 1, 34, 3, 34, 401, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35,
3683
+ 3, 35, 409, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 4, 35, 417, 8, 35, 11, 35,
3684
+ 12, 35, 418, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 425, 8, 36, 1, 37, 1, 37, 1, 37, 5, 37,
3685
+ 430, 8, 37, 10, 37, 12, 37, 433, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 439, 8, 37,
3686
+ 10, 37, 12, 37, 442, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 451,
3687
+ 8, 37, 10, 37, 12, 37, 454, 9, 37, 3, 37, 456, 8, 37, 1, 38, 1, 38, 1, 38, 5, 38, 461,
3688
+ 8, 38, 10, 38, 12, 38, 464, 9, 38, 1, 39, 1, 39, 3, 39, 468, 8, 39, 1, 39, 1, 39, 1, 39,
3689
+ 3, 39, 473, 8, 39, 1, 40, 3, 40, 476, 8, 40, 1, 40, 1, 40, 4, 40, 480, 8, 40, 11, 40, 12,
3690
+ 40, 481, 1, 41, 3, 41, 485, 8, 41, 1, 41, 1, 41, 3, 41, 489, 8, 41, 1, 42, 1, 42, 1, 42,
3691
+ 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 4, 44, 505,
3692
+ 8, 44, 11, 44, 12, 44, 506, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 515, 8, 45,
3693
+ 11, 45, 12, 45, 516, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 526, 8, 46,
3694
+ 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 4, 47, 539,
3695
+ 8, 47, 11, 47, 12, 47, 540, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 4, 48, 549, 8, 48,
3696
+ 11, 48, 12, 48, 550, 1, 48, 1, 48, 1, 49, 1, 49, 3, 49, 557, 8, 49, 1, 49, 1, 49, 1, 49,
3697
+ 1, 49, 1, 49, 1, 49, 3, 49, 565, 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 5, 49, 571, 8, 49, 10,
3698
+ 49, 12, 49, 574, 9, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 581, 8, 49, 1, 50, 1,
3699
+ 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 5, 52, 593, 8, 52, 10, 52, 12,
3700
+ 52, 596, 9, 52, 3, 52, 598, 8, 52, 1, 53, 1, 53, 1, 53, 3, 53, 603, 8, 53, 1, 53, 3, 53,
3701
+ 606, 8, 53, 1, 54, 1, 54, 5, 54, 610, 8, 54, 10, 54, 12, 54, 613, 9, 54, 1, 55, 1, 55,
3702
+ 1, 55, 1, 55, 5, 55, 619, 8, 55, 10, 55, 12, 55, 622, 9, 55, 5, 55, 624, 8, 55, 10, 55,
3703
+ 12, 55, 627, 9, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58,
3704
+ 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 646, 8, 59, 10, 59, 12, 59, 649,
3705
+ 9, 59, 1, 59, 3, 59, 652, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61,
3706
+ 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 5, 63, 673,
3707
+ 8, 63, 10, 63, 12, 63, 676, 9, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 0, 1, 62, 64,
3708
+ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44,
3709
+ 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88,
3710
+ 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124,
3711
+ 126, 0, 14, 2, 0, 9, 9, 19, 21, 1, 0, 56, 57, 2, 0, 57, 57, 60, 60, 2, 0, 54, 54, 57, 57,
3712
+ 1, 0, 47, 51, 1, 0, 44, 46, 1, 0, 42, 43, 1, 0, 40, 41, 1, 0, 34, 39, 2, 0, 31, 31, 43, 43,
3713
+ 2, 0, 55, 55, 57, 61, 2, 0, 15, 15, 56, 56, 2, 0, 56, 57, 60, 60, 1, 0, 32, 33, 721, 0,
3714
+ 132, 1, 0, 0, 0, 2, 165, 1, 0, 0, 0, 4, 167, 1, 0, 0, 0, 6, 178, 1, 0, 0, 0, 8, 182, 1, 0,
3715
+ 0, 0, 10, 186, 1, 0, 0, 0, 12, 198, 1, 0, 0, 0, 14, 202, 1, 0, 0, 0, 16, 205, 1, 0, 0, 0,
3716
+ 18, 213, 1, 0, 0, 0, 20, 224, 1, 0, 0, 0, 22, 230, 1, 0, 0, 0, 24, 232, 1, 0, 0, 0, 26, 234,
3717
+ 1, 0, 0, 0, 28, 237, 1, 0, 0, 0, 30, 246, 1, 0, 0, 0, 32, 268, 1, 0, 0, 0, 34, 278, 1, 0,
3718
+ 0, 0, 36, 280, 1, 0, 0, 0, 38, 294, 1, 0, 0, 0, 40, 296, 1, 0, 0, 0, 42, 304, 1, 0, 0, 0,
3719
+ 44, 306, 1, 0, 0, 0, 46, 308, 1, 0, 0, 0, 48, 310, 1, 0, 0, 0, 50, 312, 1, 0, 0, 0, 52, 316,
3720
+ 1, 0, 0, 0, 54, 320, 1, 0, 0, 0, 56, 347, 1, 0, 0, 0, 58, 349, 1, 0, 0, 0, 60, 353, 1, 0,
3721
+ 0, 0, 62, 375, 1, 0, 0, 0, 64, 395, 1, 0, 0, 0, 66, 397, 1, 0, 0, 0, 68, 400, 1, 0, 0, 0,
3722
+ 70, 404, 1, 0, 0, 0, 72, 424, 1, 0, 0, 0, 74, 455, 1, 0, 0, 0, 76, 457, 1, 0, 0, 0, 78, 472,
3723
+ 1, 0, 0, 0, 80, 475, 1, 0, 0, 0, 82, 484, 1, 0, 0, 0, 84, 490, 1, 0, 0, 0, 86, 493, 1, 0,
3724
+ 0, 0, 88, 497, 1, 0, 0, 0, 90, 510, 1, 0, 0, 0, 92, 520, 1, 0, 0, 0, 94, 530, 1, 0, 0, 0,
3725
+ 96, 544, 1, 0, 0, 0, 98, 580, 1, 0, 0, 0, 100, 582, 1, 0, 0, 0, 102, 586, 1, 0, 0, 0, 104,
3726
+ 597, 1, 0, 0, 0, 106, 605, 1, 0, 0, 0, 108, 607, 1, 0, 0, 0, 110, 614, 1, 0, 0, 0, 112,
3727
+ 630, 1, 0, 0, 0, 114, 633, 1, 0, 0, 0, 116, 636, 1, 0, 0, 0, 118, 640, 1, 0, 0, 0, 120,
3728
+ 653, 1, 0, 0, 0, 122, 659, 1, 0, 0, 0, 124, 663, 1, 0, 0, 0, 126, 668, 1, 0, 0, 0, 128,
3729
+ 131, 3, 114, 57, 0, 129, 131, 5, 64, 0, 0, 130, 128, 1, 0, 0, 0, 130, 129, 1, 0, 0, 0,
3730
+ 131, 134, 1, 0, 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 137, 1, 0, 0, 0,
3731
+ 134, 132, 1, 0, 0, 0, 135, 138, 3, 2, 1, 0, 136, 138, 5, 64, 0, 0, 137, 135, 1, 0, 0, 0,
3732
+ 137, 136, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0,
3733
+ 140, 141, 1, 0, 0, 0, 141, 142, 5, 0, 0, 1, 142, 1, 1, 0, 0, 0, 143, 166, 3, 20, 10, 0,
3734
+ 144, 166, 3, 28, 14, 0, 145, 166, 3, 26, 13, 0, 146, 166, 3, 50, 25, 0, 147, 166, 3,
3735
+ 52, 26, 0, 148, 166, 3, 58, 29, 0, 149, 166, 3, 10, 5, 0, 150, 166, 3, 60, 30, 0, 151,
3736
+ 166, 3, 46, 23, 0, 152, 166, 3, 48, 24, 0, 153, 166, 3, 70, 35, 0, 154, 166, 3, 80, 40,
3737
+ 0, 155, 166, 3, 108, 54, 0, 156, 166, 3, 114, 57, 0, 157, 166, 3, 116, 58, 0, 158, 166,
3738
+ 3, 76, 38, 0, 159, 166, 3, 36, 18, 0, 160, 166, 3, 6, 3, 0, 161, 166, 3, 112, 56, 0, 162,
3739
+ 166, 3, 118, 59, 0, 163, 166, 3, 124, 62, 0, 164, 166, 3, 126, 63, 0, 165, 143, 1, 0,
3740
+ 0, 0, 165, 144, 1, 0, 0, 0, 165, 145, 1, 0, 0, 0, 165, 146, 1, 0, 0, 0, 165, 147, 1, 0,
3741
+ 0, 0, 165, 148, 1, 0, 0, 0, 165, 149, 1, 0, 0, 0, 165, 150, 1, 0, 0, 0, 165, 151, 1, 0,
3742
+ 0, 0, 165, 152, 1, 0, 0, 0, 165, 153, 1, 0, 0, 0, 165, 154, 1, 0, 0, 0, 165, 155, 1, 0,
3743
+ 0, 0, 165, 156, 1, 0, 0, 0, 165, 157, 1, 0, 0, 0, 165, 158, 1, 0, 0, 0, 165, 159, 1, 0,
3744
+ 0, 0, 165, 160, 1, 0, 0, 0, 165, 161, 1, 0, 0, 0, 165, 162, 1, 0, 0, 0, 165, 163, 1, 0,
3745
+ 0, 0, 165, 164, 1, 0, 0, 0, 166, 3, 1, 0, 0, 0, 167, 168, 5, 64, 0, 0, 168, 171, 5, 66,
3746
+ 0, 0, 169, 172, 5, 64, 0, 0, 170, 172, 3, 2, 1, 0, 171, 169, 1, 0, 0, 0, 171, 170, 1, 0,
3747
+ 0, 0, 172, 173, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 175, 1, 0,
3748
+ 0, 0, 175, 176, 5, 67, 0, 0, 176, 5, 1, 0, 0, 0, 177, 179, 3, 8, 4, 0, 178, 177, 1, 0, 0,
3749
+ 0, 179, 180, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 7, 1, 0, 0, 0,
3750
+ 182, 183, 7, 0, 0, 0, 183, 184, 5, 1, 0, 0, 184, 185, 3, 4, 2, 0, 185, 9, 1, 0, 0, 0, 186,
3751
+ 187, 3, 76, 38, 0, 187, 188, 5, 1, 0, 0, 188, 189, 5, 64, 0, 0, 189, 192, 5, 66, 0, 0,
3752
+ 190, 193, 5, 64, 0, 0, 191, 193, 3, 12, 6, 0, 192, 190, 1, 0, 0, 0, 192, 191, 1, 0, 0,
3753
+ 0, 193, 194, 1, 0, 0, 0, 194, 192, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 1, 0, 0,
3754
+ 0, 196, 197, 5, 67, 0, 0, 197, 11, 1, 0, 0, 0, 198, 199, 7, 1, 0, 0, 199, 200, 5, 1, 0,
3755
+ 0, 200, 201, 3, 68, 34, 0, 201, 13, 1, 0, 0, 0, 202, 203, 5, 15, 0, 0, 203, 204, 7, 2,
3756
+ 0, 0, 204, 15, 1, 0, 0, 0, 205, 206, 5, 56, 0, 0, 206, 209, 5, 1, 0, 0, 207, 210, 3, 68,
3757
+ 34, 0, 208, 210, 5, 56, 0, 0, 209, 207, 1, 0, 0, 0, 209, 208, 1, 0, 0, 0, 210, 17, 1, 0,
3758
+ 0, 0, 211, 214, 3, 62, 31, 0, 212, 214, 3, 50, 25, 0, 213, 211, 1, 0, 0, 0, 213, 212,
3759
+ 1, 0, 0, 0, 214, 218, 1, 0, 0, 0, 215, 217, 3, 16, 8, 0, 216, 215, 1, 0, 0, 0, 217, 220,
3760
+ 1, 0, 0, 0, 218, 216, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 222, 1, 0, 0, 0, 220, 218,
3761
+ 1, 0, 0, 0, 221, 223, 3, 14, 7, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 19,
3762
+ 1, 0, 0, 0, 224, 225, 5, 16, 0, 0, 225, 226, 3, 18, 9, 0, 226, 21, 1, 0, 0, 0, 227, 231,
3763
+ 3, 18, 9, 0, 228, 231, 3, 14, 7, 0, 229, 231, 5, 19, 0, 0, 230, 227, 1, 0, 0, 0, 230, 228,
3764
+ 1, 0, 0, 0, 230, 229, 1, 0, 0, 0, 231, 23, 1, 0, 0, 0, 232, 233, 7, 2, 0, 0, 233, 25, 1,
3765
+ 0, 0, 0, 234, 235, 5, 17, 0, 0, 235, 236, 3, 22, 11, 0, 236, 27, 1, 0, 0, 0, 237, 238,
3766
+ 5, 18, 0, 0, 238, 243, 3, 22, 11, 0, 239, 240, 5, 2, 0, 0, 240, 242, 3, 22, 11, 0, 241,
3767
+ 239, 1, 0, 0, 0, 242, 245, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244,
3768
+ 29, 1, 0, 0, 0, 245, 243, 1, 0, 0, 0, 246, 247, 5, 17, 0, 0, 247, 248, 3, 22, 11, 0, 248,
3769
+ 249, 5, 18, 0, 0, 249, 254, 3, 22, 11, 0, 250, 251, 5, 2, 0, 0, 251, 253, 3, 22, 11, 0,
3770
+ 252, 250, 1, 0, 0, 0, 253, 256, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0,
3771
+ 255, 257, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 257, 258, 5, 1, 0, 0, 258, 259, 5, 64, 0, 0,
3772
+ 259, 262, 5, 66, 0, 0, 260, 263, 5, 64, 0, 0, 261, 263, 3, 32, 16, 0, 262, 260, 1, 0,
3773
+ 0, 0, 262, 261, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 262, 1, 0, 0, 0, 264, 265, 1, 0,
3774
+ 0, 0, 265, 266, 1, 0, 0, 0, 266, 267, 5, 67, 0, 0, 267, 31, 1, 0, 0, 0, 268, 269, 3, 24,
3775
+ 12, 0, 269, 270, 5, 1, 0, 0, 270, 275, 3, 34, 17, 0, 271, 272, 5, 2, 0, 0, 272, 274, 3,
3776
+ 34, 17, 0, 273, 271, 1, 0, 0, 0, 274, 277, 1, 0, 0, 0, 275, 273, 1, 0, 0, 0, 275, 276,
3777
+ 1, 0, 0, 0, 276, 33, 1, 0, 0, 0, 277, 275, 1, 0, 0, 0, 278, 279, 7, 3, 0, 0, 279, 35, 1,
3778
+ 0, 0, 0, 280, 281, 3, 26, 13, 0, 281, 282, 5, 1, 0, 0, 282, 283, 5, 64, 0, 0, 283, 286,
3779
+ 5, 66, 0, 0, 284, 287, 5, 64, 0, 0, 285, 287, 3, 38, 19, 0, 286, 284, 1, 0, 0, 0, 286,
3780
+ 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 286, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289,
3781
+ 290, 1, 0, 0, 0, 290, 291, 5, 67, 0, 0, 291, 37, 1, 0, 0, 0, 292, 295, 3, 2, 1, 0, 293,
3782
+ 295, 3, 40, 20, 0, 294, 292, 1, 0, 0, 0, 294, 293, 1, 0, 0, 0, 295, 39, 1, 0, 0, 0, 296,
3783
+ 297, 3, 24, 12, 0, 297, 300, 5, 1, 0, 0, 298, 301, 3, 42, 21, 0, 299, 301, 3, 44, 22,
3784
+ 0, 300, 298, 1, 0, 0, 0, 300, 299, 1, 0, 0, 0, 301, 41, 1, 0, 0, 0, 302, 305, 3, 2, 1, 0,
3785
+ 303, 305, 5, 54, 0, 0, 304, 302, 1, 0, 0, 0, 304, 303, 1, 0, 0, 0, 305, 43, 1, 0, 0, 0,
3786
+ 306, 307, 3, 4, 2, 0, 307, 45, 1, 0, 0, 0, 308, 309, 5, 8, 0, 0, 309, 47, 1, 0, 0, 0, 310,
3787
+ 311, 5, 28, 0, 0, 311, 49, 1, 0, 0, 0, 312, 313, 3, 76, 38, 0, 313, 314, 5, 3, 0, 0, 314,
3788
+ 315, 3, 62, 31, 0, 315, 51, 1, 0, 0, 0, 316, 317, 3, 76, 38, 0, 317, 318, 7, 4, 0, 0, 318,
3789
+ 319, 3, 62, 31, 0, 319, 53, 1, 0, 0, 0, 320, 321, 5, 56, 0, 0, 321, 322, 5, 3, 0, 0, 322,
3790
+ 323, 3, 62, 31, 0, 323, 55, 1, 0, 0, 0, 324, 329, 3, 62, 31, 0, 325, 326, 5, 2, 0, 0, 326,
3791
+ 328, 3, 62, 31, 0, 327, 325, 1, 0, 0, 0, 328, 331, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329,
3792
+ 330, 1, 0, 0, 0, 330, 336, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 333, 5, 2, 0, 0, 333,
3793
+ 335, 3, 54, 27, 0, 334, 332, 1, 0, 0, 0, 335, 338, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 336,
3794
+ 337, 1, 0, 0, 0, 337, 348, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 339, 344, 3, 54, 27, 0, 340,
3795
+ 341, 5, 2, 0, 0, 341, 343, 3, 54, 27, 0, 342, 340, 1, 0, 0, 0, 343, 346, 1, 0, 0, 0, 344,
3796
+ 342, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 348, 1, 0, 0, 0, 346, 344, 1, 0, 0, 0, 347,
3797
+ 324, 1, 0, 0, 0, 347, 339, 1, 0, 0, 0, 348, 57, 1, 0, 0, 0, 349, 350, 3, 76, 38, 0, 350,
3798
+ 351, 5, 3, 0, 0, 351, 352, 3, 62, 31, 0, 352, 59, 1, 0, 0, 0, 353, 354, 5, 4, 0, 0, 354,
3799
+ 355, 5, 56, 0, 0, 355, 356, 5, 3, 0, 0, 356, 357, 3, 62, 31, 0, 357, 61, 1, 0, 0, 0, 358,
3800
+ 359, 6, 31, -1, 0, 359, 360, 5, 52, 0, 0, 360, 361, 3, 62, 31, 0, 361, 362, 5, 53, 0,
3801
+ 0, 362, 376, 1, 0, 0, 0, 363, 366, 3, 68, 34, 0, 364, 366, 3, 76, 38, 0, 365, 363, 1,
3802
+ 0, 0, 0, 365, 364, 1, 0, 0, 0, 366, 376, 1, 0, 0, 0, 367, 368, 3, 66, 33, 0, 368, 369,
3803
+ 3, 62, 31, 10, 369, 376, 1, 0, 0, 0, 370, 376, 3, 88, 44, 0, 371, 376, 3, 92, 46, 0, 372,
3804
+ 376, 3, 94, 47, 0, 373, 376, 3, 80, 40, 0, 374, 376, 3, 110, 55, 0, 375, 358, 1, 0, 0,
3805
+ 0, 375, 365, 1, 0, 0, 0, 375, 367, 1, 0, 0, 0, 375, 370, 1, 0, 0, 0, 375, 371, 1, 0, 0,
3806
+ 0, 375, 372, 1, 0, 0, 0, 375, 373, 1, 0, 0, 0, 375, 374, 1, 0, 0, 0, 376, 392, 1, 0, 0,
3807
+ 0, 377, 378, 10, 9, 0, 0, 378, 379, 7, 5, 0, 0, 379, 391, 3, 62, 31, 10, 380, 381, 10,
3808
+ 8, 0, 0, 381, 382, 7, 6, 0, 0, 382, 391, 3, 62, 31, 9, 383, 384, 10, 7, 0, 0, 384, 385,
3809
+ 3, 64, 32, 0, 385, 386, 3, 62, 31, 8, 386, 391, 1, 0, 0, 0, 387, 388, 10, 6, 0, 0, 388,
3810
+ 389, 7, 7, 0, 0, 389, 391, 3, 62, 31, 7, 390, 377, 1, 0, 0, 0, 390, 380, 1, 0, 0, 0, 390,
3811
+ 383, 1, 0, 0, 0, 390, 387, 1, 0, 0, 0, 391, 394, 1, 0, 0, 0, 392, 390, 1, 0, 0, 0, 392,
3812
+ 393, 1, 0, 0, 0, 393, 63, 1, 0, 0, 0, 394, 392, 1, 0, 0, 0, 395, 396, 7, 8, 0, 0, 396, 65,
3813
+ 1, 0, 0, 0, 397, 398, 7, 9, 0, 0, 398, 67, 1, 0, 0, 0, 399, 401, 5, 43, 0, 0, 400, 399,
3814
+ 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 7, 10, 0, 0, 403, 69,
3815
+ 1, 0, 0, 0, 404, 405, 5, 23, 0, 0, 405, 406, 5, 56, 0, 0, 406, 408, 5, 52, 0, 0, 407, 409,
3816
+ 3, 74, 37, 0, 408, 407, 1, 0, 0, 0, 408, 409, 1, 0, 0, 0, 409, 410, 1, 0, 0, 0, 410, 411,
3817
+ 5, 53, 0, 0, 411, 412, 5, 1, 0, 0, 412, 413, 5, 64, 0, 0, 413, 416, 5, 66, 0, 0, 414, 417,
3818
+ 5, 64, 0, 0, 415, 417, 3, 72, 36, 0, 416, 414, 1, 0, 0, 0, 416, 415, 1, 0, 0, 0, 417, 418,
3819
+ 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 419, 420, 1, 0, 0, 0, 420, 421,
3820
+ 5, 67, 0, 0, 421, 71, 1, 0, 0, 0, 422, 425, 3, 2, 1, 0, 423, 425, 3, 84, 42, 0, 424, 422,
3821
+ 1, 0, 0, 0, 424, 423, 1, 0, 0, 0, 425, 73, 1, 0, 0, 0, 426, 431, 5, 56, 0, 0, 427, 428,
3822
+ 5, 2, 0, 0, 428, 430, 5, 56, 0, 0, 429, 427, 1, 0, 0, 0, 430, 433, 1, 0, 0, 0, 431, 429,
3823
+ 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 440, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 434, 435,
3824
+ 5, 2, 0, 0, 435, 436, 5, 56, 0, 0, 436, 437, 5, 3, 0, 0, 437, 439, 3, 68, 34, 0, 438, 434,
3825
+ 1, 0, 0, 0, 439, 442, 1, 0, 0, 0, 440, 438, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 456,
3826
+ 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 443, 444, 5, 56, 0, 0, 444, 445, 5, 3, 0, 0, 445, 452,
3827
+ 3, 68, 34, 0, 446, 447, 5, 2, 0, 0, 447, 448, 5, 56, 0, 0, 448, 449, 5, 3, 0, 0, 449, 451,
3828
+ 3, 68, 34, 0, 450, 446, 1, 0, 0, 0, 451, 454, 1, 0, 0, 0, 452, 450, 1, 0, 0, 0, 452, 453,
3829
+ 1, 0, 0, 0, 453, 456, 1, 0, 0, 0, 454, 452, 1, 0, 0, 0, 455, 426, 1, 0, 0, 0, 455, 443,
3830
+ 1, 0, 0, 0, 456, 75, 1, 0, 0, 0, 457, 462, 5, 56, 0, 0, 458, 459, 5, 5, 0, 0, 459, 461,
3831
+ 5, 56, 0, 0, 460, 458, 1, 0, 0, 0, 461, 464, 1, 0, 0, 0, 462, 460, 1, 0, 0, 0, 462, 463,
3832
+ 1, 0, 0, 0, 463, 77, 1, 0, 0, 0, 464, 462, 1, 0, 0, 0, 465, 467, 5, 52, 0, 0, 466, 468,
3833
+ 3, 56, 28, 0, 467, 466, 1, 0, 0, 0, 467, 468, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469, 473,
3834
+ 5, 53, 0, 0, 470, 471, 5, 5, 0, 0, 471, 473, 5, 56, 0, 0, 472, 465, 1, 0, 0, 0, 472, 470,
3835
+ 1, 0, 0, 0, 473, 79, 1, 0, 0, 0, 474, 476, 3, 82, 41, 0, 475, 474, 1, 0, 0, 0, 475, 476,
3836
+ 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 479, 5, 56, 0, 0, 478, 480, 3, 78, 39, 0, 479, 478,
3837
+ 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 479, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 81, 1,
3838
+ 0, 0, 0, 483, 485, 5, 42, 0, 0, 484, 483, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 486, 1,
3839
+ 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, 3, 62, 31, 0, 488, 487, 1, 0, 0, 0, 488, 489,
3840
+ 1, 0, 0, 0, 489, 83, 1, 0, 0, 0, 490, 491, 5, 22, 0, 0, 491, 492, 3, 62, 31, 0, 492, 85,
3841
+ 1, 0, 0, 0, 493, 494, 3, 102, 51, 0, 494, 495, 5, 1, 0, 0, 495, 496, 3, 4, 2, 0, 496, 87,
3842
+ 1, 0, 0, 0, 497, 498, 5, 10, 0, 0, 498, 499, 5, 11, 0, 0, 499, 500, 5, 1, 0, 0, 500, 501,
3843
+ 5, 64, 0, 0, 501, 504, 5, 66, 0, 0, 502, 505, 5, 64, 0, 0, 503, 505, 3, 100, 50, 0, 504,
3844
+ 502, 1, 0, 0, 0, 504, 503, 1, 0, 0, 0, 505, 506, 1, 0, 0, 0, 506, 504, 1, 0, 0, 0, 506,
3845
+ 507, 1, 0, 0, 0, 507, 508, 1, 0, 0, 0, 508, 509, 5, 67, 0, 0, 509, 89, 1, 0, 0, 0, 510,
3846
+ 511, 5, 64, 0, 0, 511, 514, 5, 66, 0, 0, 512, 515, 5, 64, 0, 0, 513, 515, 3, 98, 49, 0,
3847
+ 514, 512, 1, 0, 0, 0, 514, 513, 1, 0, 0, 0, 515, 516, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0,
3848
+ 516, 517, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 519, 5, 67, 0, 0, 519, 91, 1, 0, 0, 0,
3849
+ 520, 521, 5, 10, 0, 0, 521, 525, 5, 12, 0, 0, 522, 523, 5, 52, 0, 0, 523, 524, 5, 56,
3850
+ 0, 0, 524, 526, 5, 53, 0, 0, 525, 522, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 1, 0,
3851
+ 0, 0, 527, 528, 5, 1, 0, 0, 528, 529, 3, 90, 45, 0, 529, 93, 1, 0, 0, 0, 530, 531, 5, 10,
3852
+ 0, 0, 531, 532, 5, 13, 0, 0, 532, 533, 5, 1, 0, 0, 533, 534, 5, 64, 0, 0, 534, 538, 5,
3853
+ 66, 0, 0, 535, 539, 5, 64, 0, 0, 536, 539, 3, 100, 50, 0, 537, 539, 3, 86, 43, 0, 538,
3854
+ 535, 1, 0, 0, 0, 538, 536, 1, 0, 0, 0, 538, 537, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540,
3855
+ 538, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 543, 5, 67, 0, 0, 543,
3856
+ 95, 1, 0, 0, 0, 544, 545, 5, 64, 0, 0, 545, 548, 5, 66, 0, 0, 546, 549, 5, 64, 0, 0, 547,
3857
+ 549, 3, 100, 50, 0, 548, 546, 1, 0, 0, 0, 548, 547, 1, 0, 0, 0, 549, 550, 1, 0, 0, 0, 550,
3858
+ 548, 1, 0, 0, 0, 550, 551, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 553, 5, 67, 0, 0, 553,
3859
+ 97, 1, 0, 0, 0, 554, 556, 7, 11, 0, 0, 555, 557, 5, 1, 0, 0, 556, 555, 1, 0, 0, 0, 556,
3860
+ 557, 1, 0, 0, 0, 557, 564, 1, 0, 0, 0, 558, 565, 3, 56, 28, 0, 559, 560, 5, 52, 0, 0, 560,
3861
+ 561, 3, 56, 28, 0, 561, 562, 5, 53, 0, 0, 562, 565, 1, 0, 0, 0, 563, 565, 3, 96, 48, 0,
3862
+ 564, 558, 1, 0, 0, 0, 564, 559, 1, 0, 0, 0, 564, 563, 1, 0, 0, 0, 565, 581, 1, 0, 0, 0,
3863
+ 566, 567, 5, 25, 0, 0, 567, 572, 5, 56, 0, 0, 568, 569, 5, 2, 0, 0, 569, 571, 5, 56, 0,
3864
+ 0, 570, 568, 1, 0, 0, 0, 571, 574, 1, 0, 0, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0,
3865
+ 0, 573, 575, 1, 0, 0, 0, 574, 572, 1, 0, 0, 0, 575, 576, 5, 26, 0, 0, 576, 577, 3, 62,
3866
+ 31, 0, 577, 578, 5, 1, 0, 0, 578, 579, 3, 90, 45, 0, 579, 581, 1, 0, 0, 0, 580, 554, 1,
3867
+ 0, 0, 0, 580, 566, 1, 0, 0, 0, 581, 99, 1, 0, 0, 0, 582, 583, 3, 102, 51, 0, 583, 584,
3868
+ 5, 1, 0, 0, 584, 585, 3, 104, 52, 0, 585, 101, 1, 0, 0, 0, 586, 587, 7, 12, 0, 0, 587,
3869
+ 103, 1, 0, 0, 0, 588, 598, 3, 96, 48, 0, 589, 594, 3, 62, 31, 0, 590, 591, 5, 2, 0, 0,
3870
+ 591, 593, 3, 62, 31, 0, 592, 590, 1, 0, 0, 0, 593, 596, 1, 0, 0, 0, 594, 592, 1, 0, 0,
3871
+ 0, 594, 595, 1, 0, 0, 0, 595, 598, 1, 0, 0, 0, 596, 594, 1, 0, 0, 0, 597, 588, 1, 0, 0,
3872
+ 0, 597, 589, 1, 0, 0, 0, 598, 105, 1, 0, 0, 0, 599, 602, 5, 56, 0, 0, 600, 603, 5, 57,
3873
+ 0, 0, 601, 603, 3, 62, 31, 0, 602, 600, 1, 0, 0, 0, 602, 601, 1, 0, 0, 0, 603, 606, 1,
3874
+ 0, 0, 0, 604, 606, 5, 56, 0, 0, 605, 599, 1, 0, 0, 0, 605, 604, 1, 0, 0, 0, 606, 107, 1,
3875
+ 0, 0, 0, 607, 611, 5, 14, 0, 0, 608, 610, 3, 106, 53, 0, 609, 608, 1, 0, 0, 0, 610, 613,
3876
+ 1, 0, 0, 0, 611, 609, 1, 0, 0, 0, 611, 612, 1, 0, 0, 0, 612, 109, 1, 0, 0, 0, 613, 611,
3877
+ 1, 0, 0, 0, 614, 625, 5, 6, 0, 0, 615, 620, 3, 62, 31, 0, 616, 617, 5, 2, 0, 0, 617, 619,
3878
+ 3, 62, 31, 0, 618, 616, 1, 0, 0, 0, 619, 622, 1, 0, 0, 0, 620, 618, 1, 0, 0, 0, 620, 621,
3879
+ 1, 0, 0, 0, 621, 624, 1, 0, 0, 0, 622, 620, 1, 0, 0, 0, 623, 615, 1, 0, 0, 0, 624, 627,
3880
+ 1, 0, 0, 0, 625, 623, 1, 0, 0, 0, 625, 626, 1, 0, 0, 0, 626, 628, 1, 0, 0, 0, 627, 625,
3881
+ 1, 0, 0, 0, 628, 629, 5, 7, 0, 0, 629, 111, 1, 0, 0, 0, 630, 631, 5, 19, 0, 0, 631, 632,
3882
+ 5, 56, 0, 0, 632, 113, 1, 0, 0, 0, 633, 634, 5, 24, 0, 0, 634, 635, 5, 56, 0, 0, 635, 115,
3883
+ 1, 0, 0, 0, 636, 637, 7, 13, 0, 0, 637, 638, 5, 1, 0, 0, 638, 639, 3, 4, 2, 0, 639, 117,
3884
+ 1, 0, 0, 0, 640, 641, 5, 29, 0, 0, 641, 642, 3, 62, 31, 0, 642, 643, 5, 1, 0, 0, 643, 647,
3885
+ 3, 4, 2, 0, 644, 646, 3, 120, 60, 0, 645, 644, 1, 0, 0, 0, 646, 649, 1, 0, 0, 0, 647, 645,
3886
+ 1, 0, 0, 0, 647, 648, 1, 0, 0, 0, 648, 651, 1, 0, 0, 0, 649, 647, 1, 0, 0, 0, 650, 652,
3887
+ 3, 122, 61, 0, 651, 650, 1, 0, 0, 0, 651, 652, 1, 0, 0, 0, 652, 119, 1, 0, 0, 0, 653, 654,
3888
+ 5, 30, 0, 0, 654, 655, 5, 29, 0, 0, 655, 656, 3, 62, 31, 0, 656, 657, 5, 1, 0, 0, 657,
3889
+ 658, 3, 4, 2, 0, 658, 121, 1, 0, 0, 0, 659, 660, 5, 30, 0, 0, 660, 661, 5, 1, 0, 0, 661,
3890
+ 662, 3, 4, 2, 0, 662, 123, 1, 0, 0, 0, 663, 664, 5, 27, 0, 0, 664, 665, 3, 62, 31, 0, 665,
3891
+ 666, 5, 1, 0, 0, 666, 667, 3, 4, 2, 0, 667, 125, 1, 0, 0, 0, 668, 669, 5, 25, 0, 0, 669,
3892
+ 674, 5, 56, 0, 0, 670, 671, 5, 2, 0, 0, 671, 673, 5, 56, 0, 0, 672, 670, 1, 0, 0, 0, 673,
3893
+ 676, 1, 0, 0, 0, 674, 672, 1, 0, 0, 0, 674, 675, 1, 0, 0, 0, 675, 677, 1, 0, 0, 0, 676,
3894
+ 674, 1, 0, 0, 0, 677, 678, 5, 26, 0, 0, 678, 679, 3, 62, 31, 0, 679, 680, 5, 1, 0, 0, 680,
3895
+ 681, 3, 4, 2, 0, 681, 127, 1, 0, 0, 0, 72, 130, 132, 137, 139, 165, 171, 173, 180, 192,
3896
+ 194, 209, 213, 218, 222, 230, 243, 254, 262, 264, 275, 286, 288, 294, 300, 304,
3897
+ 329, 336, 344, 347, 365, 375, 390, 392, 400, 408, 416, 418, 424, 431, 440, 452,
3898
+ 455, 462, 467, 472, 475, 481, 484, 488, 504, 506, 514, 516, 525, 538, 540, 548,
3899
+ 550, 556, 564, 572, 580, 594, 597, 602, 605, 611, 620, 625, 647, 651, 674
3866
3900
  ];
3867
3901
  static __ATN;
3868
3902
  static get _ATN() {
@@ -3884,11 +3918,11 @@ export class ScriptContext extends antlr.ParserRuleContext {
3884
3918
  EOF() {
3885
3919
  return this.getToken(CircuitScriptParser.EOF, 0);
3886
3920
  }
3887
- expression(i) {
3921
+ import_expr(i) {
3888
3922
  if (i === undefined) {
3889
- return this.getRuleContexts(ExpressionContext);
3923
+ return this.getRuleContexts(Import_exprContext);
3890
3924
  }
3891
- return this.getRuleContext(i, ExpressionContext);
3925
+ return this.getRuleContext(i, Import_exprContext);
3892
3926
  }
3893
3927
  NEWLINE(i) {
3894
3928
  if (i === undefined) {
@@ -3898,6 +3932,12 @@ export class ScriptContext extends antlr.ParserRuleContext {
3898
3932
  return this.getToken(CircuitScriptParser.NEWLINE, i);
3899
3933
  }
3900
3934
  }
3935
+ expression(i) {
3936
+ if (i === undefined) {
3937
+ return this.getRuleContexts(ExpressionContext);
3938
+ }
3939
+ return this.getRuleContext(i, ExpressionContext);
3940
+ }
3901
3941
  get ruleIndex() {
3902
3942
  return CircuitScriptParser.RULE_script;
3903
3943
  }