circuitscript 0.0.18 → 0.0.19

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.
@@ -39,39 +39,40 @@ export default class CircuitScriptParser extends Parser {
39
39
  public static readonly At = 17;
40
40
  public static readonly To = 18;
41
41
  public static readonly Point = 19;
42
- public static readonly Return = 20;
43
- public static readonly Define = 21;
44
- public static readonly Import = 22;
45
- public static readonly Join = 23;
46
- public static readonly If = 24;
47
- public static readonly Not = 25;
48
- public static readonly Equals = 26;
49
- public static readonly NotEquals = 27;
50
- public static readonly Addition = 28;
51
- public static readonly Minus = 29;
52
- public static readonly Divide = 30;
53
- public static readonly Multiply = 31;
54
- public static readonly OPEN_PAREN = 32;
55
- public static readonly CLOSE_PAREN = 33;
56
- public static readonly NOT_CONNECTED = 34;
57
- public static readonly BOOLEAN_VALUE = 35;
58
- public static readonly ID = 36;
59
- public static readonly INTEGER_VALUE = 37;
60
- public static readonly DECIMAL_VALUE = 38;
61
- public static readonly NUMERIC_VALUE = 39;
62
- public static readonly STRING_VALUE = 40;
63
- public static readonly PERCENTAGE_VALUE = 41;
64
- public static readonly ALPHA_NUMERIC = 42;
65
- public static readonly WS = 43;
66
- public static readonly NEWLINE = 44;
67
- public static readonly SKIP_ = 45;
68
- public static readonly INDENT = 46;
69
- public static readonly DEDENT = 47;
42
+ public static readonly Join = 20;
43
+ public static readonly Parallel = 21;
44
+ public static readonly Return = 22;
45
+ public static readonly Define = 23;
46
+ public static readonly Import = 24;
47
+ public static readonly If = 25;
48
+ public static readonly Not = 26;
49
+ public static readonly Equals = 27;
50
+ public static readonly NotEquals = 28;
51
+ public static readonly Addition = 29;
52
+ public static readonly Minus = 30;
53
+ public static readonly Divide = 31;
54
+ public static readonly Multiply = 32;
55
+ public static readonly OPEN_PAREN = 33;
56
+ public static readonly CLOSE_PAREN = 34;
57
+ public static readonly NOT_CONNECTED = 35;
58
+ public static readonly BOOLEAN_VALUE = 36;
59
+ public static readonly ID = 37;
60
+ public static readonly INTEGER_VALUE = 38;
61
+ public static readonly DECIMAL_VALUE = 39;
62
+ public static readonly NUMERIC_VALUE = 40;
63
+ public static readonly STRING_VALUE = 41;
64
+ public static readonly PERCENTAGE_VALUE = 42;
65
+ public static readonly ALPHA_NUMERIC = 43;
66
+ public static readonly WS = 44;
67
+ public static readonly NEWLINE = 45;
68
+ public static readonly SKIP_ = 46;
69
+ public static readonly INDENT = 47;
70
+ public static readonly DEDENT = 48;
70
71
  public static readonly EOF = Token.EOF;
71
72
  public static readonly RULE_script = 0;
72
73
  public static readonly RULE_expression = 1;
73
- public static readonly RULE_branch_blocks = 2;
74
- public static readonly RULE_branch_block_inner = 3;
74
+ public static readonly RULE_path_blocks = 2;
75
+ public static readonly RULE_path_block_inner = 3;
75
76
  public static readonly RULE_property_set_expr2 = 4;
76
77
  public static readonly RULE_assignment_expr2 = 5;
77
78
  public static readonly RULE_data_expr_with_assignment = 6;
@@ -129,14 +130,14 @@ export default class CircuitScriptParser extends Parser {
129
130
  "'wire'", "'pin'",
130
131
  "'add'", "'at'",
131
132
  "'to'", "'point'",
133
+ "'join'", "'parallel'",
132
134
  "'return'",
133
135
  "'def'", "'import'",
134
- "'join'", "'if'",
135
- "'!'", "'=='",
136
- "'!='", "'+'",
137
- "'-'", "'/'",
138
- "'*'", "'('",
139
- "')'" ];
136
+ "'if'", "'!'",
137
+ "'=='", "'!='",
138
+ "'+'", "'-'",
139
+ "'/'", "'*'",
140
+ "'('", "')'" ];
140
141
  public static readonly symbolicNames: (string | null)[] = [ null, null,
141
142
  null, null,
142
143
  null, null,
@@ -148,10 +149,11 @@ export default class CircuitScriptParser extends Parser {
148
149
  "Wire", "Pin",
149
150
  "Add", "At",
150
151
  "To", "Point",
152
+ "Join", "Parallel",
151
153
  "Return", "Define",
152
- "Import", "Join",
153
- "If", "Not",
154
- "Equals", "NotEquals",
154
+ "Import", "If",
155
+ "Not", "Equals",
156
+ "NotEquals",
155
157
  "Addition",
156
158
  "Minus", "Divide",
157
159
  "Multiply",
@@ -170,7 +172,7 @@ export default class CircuitScriptParser extends Parser {
170
172
  "DEDENT" ];
171
173
  // tslint:disable:no-trailing-whitespace
172
174
  public static readonly ruleNames: string[] = [
173
- "script", "expression", "branch_blocks", "branch_block_inner", "property_set_expr2",
175
+ "script", "expression", "path_blocks", "path_block_inner", "property_set_expr2",
174
176
  "assignment_expr2", "data_expr_with_assignment", "add_component_expr",
175
177
  "component_select_expr", "pin_select_expr", "pin_select_expr2", "at_component_expr",
176
178
  "to_component_expr", "at_to_multiple_expr", "at_to_multiple_line_expr",
@@ -223,18 +225,19 @@ export default class CircuitScriptParser extends Parser {
223
225
  case 17:
224
226
  case 18:
225
227
  case 19:
228
+ case 20:
226
229
  case 21:
227
- case 22:
228
230
  case 23:
229
- case 28:
230
- case 30:
231
- case 36:
231
+ case 24:
232
+ case 29:
233
+ case 31:
234
+ case 37:
232
235
  {
233
236
  this.state = 98;
234
237
  this.expression();
235
238
  }
236
239
  break;
237
- case 44:
240
+ case 45:
238
241
  {
239
242
  this.state = 99;
240
243
  this.match(CircuitScriptParser.NEWLINE);
@@ -247,7 +250,7 @@ export default class CircuitScriptParser extends Parser {
247
250
  this.state = 102;
248
251
  this._errHandler.sync(this);
249
252
  _la = this._input.LA(1);
250
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
253
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
251
254
  this.state = 104;
252
255
  this.match(CircuitScriptParser.EOF);
253
256
  }
@@ -348,42 +351,42 @@ export default class CircuitScriptParser extends Parser {
348
351
  this.enterOuterAlt(localctx, 11);
349
352
  {
350
353
  this.state = 116;
351
- this.point_expr();
354
+ this.import_expr();
352
355
  }
353
356
  break;
354
357
  case 12:
355
358
  this.enterOuterAlt(localctx, 12);
356
359
  {
357
360
  this.state = 117;
358
- this.import_expr();
361
+ this.frame_expr();
359
362
  }
360
363
  break;
361
364
  case 13:
362
365
  this.enterOuterAlt(localctx, 13);
363
366
  {
364
367
  this.state = 118;
365
- this.frame_expr();
368
+ this.atom_expr();
366
369
  }
367
370
  break;
368
371
  case 14:
369
372
  this.enterOuterAlt(localctx, 14);
370
373
  {
371
374
  this.state = 119;
372
- this.atom_expr();
375
+ this.at_block();
373
376
  }
374
377
  break;
375
378
  case 15:
376
379
  this.enterOuterAlt(localctx, 15);
377
380
  {
378
381
  this.state = 120;
379
- this.at_block();
382
+ this.path_blocks();
380
383
  }
381
384
  break;
382
385
  case 16:
383
386
  this.enterOuterAlt(localctx, 16);
384
387
  {
385
388
  this.state = 121;
386
- this.branch_blocks();
389
+ this.point_expr();
387
390
  }
388
391
  break;
389
392
  }
@@ -403,9 +406,9 @@ export default class CircuitScriptParser extends Parser {
403
406
  return localctx;
404
407
  }
405
408
  // @RuleVersion(0)
406
- public branch_blocks(): Branch_blocksContext {
407
- let localctx: Branch_blocksContext = new Branch_blocksContext(this, this._ctx, this.state);
408
- this.enterRule(localctx, 4, CircuitScriptParser.RULE_branch_blocks);
409
+ public path_blocks(): Path_blocksContext {
410
+ let localctx: Path_blocksContext = new Path_blocksContext(this, this._ctx, this.state);
411
+ this.enterRule(localctx, 4, CircuitScriptParser.RULE_path_blocks);
409
412
  try {
410
413
  let _alt: number;
411
414
  this.enterOuterAlt(localctx, 1);
@@ -419,7 +422,7 @@ export default class CircuitScriptParser extends Parser {
419
422
  {
420
423
  {
421
424
  this.state = 124;
422
- this.branch_block_inner();
425
+ this.path_block_inner();
423
426
  }
424
427
  }
425
428
  break;
@@ -447,16 +450,16 @@ export default class CircuitScriptParser extends Parser {
447
450
  return localctx;
448
451
  }
449
452
  // @RuleVersion(0)
450
- public branch_block_inner(): Branch_block_innerContext {
451
- let localctx: Branch_block_innerContext = new Branch_block_innerContext(this, this._ctx, this.state);
452
- this.enterRule(localctx, 6, CircuitScriptParser.RULE_branch_block_inner);
453
+ public path_block_inner(): Path_block_innerContext {
454
+ let localctx: Path_block_innerContext = new Path_block_innerContext(this, this._ctx, this.state);
455
+ this.enterRule(localctx, 6, CircuitScriptParser.RULE_path_block_inner);
453
456
  let _la: number;
454
457
  try {
455
458
  this.enterOuterAlt(localctx, 1);
456
459
  {
457
460
  this.state = 129;
458
461
  _la = this._input.LA(1);
459
- if(!(_la===10 || _la===23)) {
462
+ if(!((((_la) & ~0x1F) === 0 && ((1 << _la) & 3671040) !== 0))) {
460
463
  this._errHandler.recoverInline(this);
461
464
  }
462
465
  else {
@@ -477,7 +480,7 @@ export default class CircuitScriptParser extends Parser {
477
480
  this.state = 135;
478
481
  this._errHandler.sync(this);
479
482
  switch (this._input.LA(1)) {
480
- case 44:
483
+ case 45:
481
484
  {
482
485
  this.state = 133;
483
486
  this.match(CircuitScriptParser.NEWLINE);
@@ -492,12 +495,13 @@ export default class CircuitScriptParser extends Parser {
492
495
  case 17:
493
496
  case 18:
494
497
  case 19:
498
+ case 20:
495
499
  case 21:
496
- case 22:
497
500
  case 23:
498
- case 28:
499
- case 30:
500
- case 36:
501
+ case 24:
502
+ case 29:
503
+ case 31:
504
+ case 37:
501
505
  {
502
506
  this.state = 134;
503
507
  this.expression();
@@ -510,7 +514,7 @@ export default class CircuitScriptParser extends Parser {
510
514
  this.state = 137;
511
515
  this._errHandler.sync(this);
512
516
  _la = this._input.LA(1);
513
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
517
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
514
518
  this.state = 139;
515
519
  this.match(CircuitScriptParser.DEDENT);
516
520
  }
@@ -553,14 +557,14 @@ export default class CircuitScriptParser extends Parser {
553
557
  this.state = 147;
554
558
  this._errHandler.sync(this);
555
559
  switch (this._input.LA(1)) {
556
- case 44:
560
+ case 45:
557
561
  {
558
562
  this.state = 145;
559
563
  this.match(CircuitScriptParser.NEWLINE);
560
564
  }
561
565
  break;
562
- case 36:
563
566
  case 37:
567
+ case 38:
564
568
  {
565
569
  this.state = 146;
566
570
  this.assignment_expr2();
@@ -573,7 +577,7 @@ export default class CircuitScriptParser extends Parser {
573
577
  this.state = 149;
574
578
  this._errHandler.sync(this);
575
579
  _la = this._input.LA(1);
576
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 259) !== 0));
580
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 259) !== 0));
577
581
  this.state = 151;
578
582
  this.match(CircuitScriptParser.DEDENT);
579
583
  }
@@ -602,7 +606,7 @@ export default class CircuitScriptParser extends Parser {
602
606
  {
603
607
  this.state = 153;
604
608
  _la = this._input.LA(1);
605
- if(!(_la===36 || _la===37)) {
609
+ if(!(_la===37 || _la===38)) {
606
610
  this._errHandler.recoverInline(this);
607
611
  }
608
612
  else {
@@ -726,18 +730,18 @@ export default class CircuitScriptParser extends Parser {
726
730
  switch (this._input.LA(1)) {
727
731
  case 6:
728
732
  case 11:
729
- case 25:
730
- case 28:
733
+ case 26:
731
734
  case 29:
732
735
  case 30:
733
- case 32:
734
- case 35:
736
+ case 31:
737
+ case 33:
735
738
  case 36:
736
739
  case 37:
737
740
  case 38:
738
741
  case 39:
739
742
  case 40:
740
743
  case 41:
744
+ case 42:
741
745
  this.enterOuterAlt(localctx, 1);
742
746
  {
743
747
  this.state = 169;
@@ -781,7 +785,7 @@ export default class CircuitScriptParser extends Parser {
781
785
  this.match(CircuitScriptParser.Pin);
782
786
  this.state = 174;
783
787
  _la = this._input.LA(1);
784
- if(!(_la===37 || _la===40)) {
788
+ if(!(_la===38 || _la===41)) {
785
789
  this._errHandler.recoverInline(this);
786
790
  }
787
791
  else {
@@ -814,7 +818,7 @@ export default class CircuitScriptParser extends Parser {
814
818
  {
815
819
  this.state = 176;
816
820
  _la = this._input.LA(1);
817
- if(!(_la===37 || _la===40)) {
821
+ if(!(_la===38 || _la===41)) {
818
822
  this._errHandler.recoverInline(this);
819
823
  }
820
824
  else {
@@ -846,17 +850,49 @@ export default class CircuitScriptParser extends Parser {
846
850
  {
847
851
  this.state = 178;
848
852
  this.match(CircuitScriptParser.At);
849
- this.state = 179;
850
- this.component_select_expr();
851
- this.state = 181;
853
+ this.state = 184;
852
854
  this._errHandler.sync(this);
853
- switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) {
854
- case 1:
855
+ switch (this._input.LA(1)) {
856
+ case 6:
857
+ case 11:
858
+ case 15:
859
+ case 26:
860
+ case 29:
861
+ case 30:
862
+ case 31:
863
+ case 33:
864
+ case 36:
865
+ case 37:
866
+ case 38:
867
+ case 39:
868
+ case 40:
869
+ case 41:
870
+ case 42:
855
871
  {
856
- this.state = 180;
857
- this.match(CircuitScriptParser.ID);
872
+ {
873
+ this.state = 179;
874
+ this.component_select_expr();
875
+ this.state = 181;
876
+ this._errHandler.sync(this);
877
+ switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) {
878
+ case 1:
879
+ {
880
+ this.state = 180;
881
+ this.match(CircuitScriptParser.ID);
882
+ }
883
+ break;
884
+ }
885
+ }
858
886
  }
859
887
  break;
888
+ case 19:
889
+ {
890
+ this.state = 183;
891
+ this.match(CircuitScriptParser.Point);
892
+ }
893
+ break;
894
+ default:
895
+ throw new NoViableAltException(this);
860
896
  }
861
897
  }
862
898
  }
@@ -882,35 +918,67 @@ export default class CircuitScriptParser extends Parser {
882
918
  try {
883
919
  this.enterOuterAlt(localctx, 1);
884
920
  {
885
- this.state = 183;
921
+ this.state = 186;
886
922
  this.match(CircuitScriptParser.To);
887
- this.state = 184;
888
- this.component_select_expr();
889
- this.state = 189;
923
+ this.state = 199;
890
924
  this._errHandler.sync(this);
891
- _la = this._input.LA(1);
892
- while (_la===2) {
925
+ switch (this._input.LA(1)) {
926
+ case 6:
927
+ case 11:
928
+ case 15:
929
+ case 26:
930
+ case 29:
931
+ case 30:
932
+ case 31:
933
+ case 33:
934
+ case 36:
935
+ case 37:
936
+ case 38:
937
+ case 39:
938
+ case 40:
939
+ case 41:
940
+ case 42:
893
941
  {
894
942
  {
895
- this.state = 185;
896
- this.match(CircuitScriptParser.T__1);
897
- this.state = 186;
943
+ this.state = 187;
898
944
  this.component_select_expr();
899
- }
900
- }
901
- this.state = 191;
945
+ this.state = 192;
902
946
  this._errHandler.sync(this);
903
947
  _la = this._input.LA(1);
904
- }
905
- this.state = 193;
906
- this._errHandler.sync(this);
907
- switch ( this._interp.adaptivePredict(this._input, 14, this._ctx) ) {
908
- case 1:
948
+ while (_la===2) {
949
+ {
950
+ {
951
+ this.state = 188;
952
+ this.match(CircuitScriptParser.T__1);
953
+ this.state = 189;
954
+ this.component_select_expr();
955
+ }
956
+ }
957
+ this.state = 194;
958
+ this._errHandler.sync(this);
959
+ _la = this._input.LA(1);
960
+ }
961
+ this.state = 196;
962
+ this._errHandler.sync(this);
963
+ switch ( this._interp.adaptivePredict(this._input, 15, this._ctx) ) {
964
+ case 1:
965
+ {
966
+ this.state = 195;
967
+ this.match(CircuitScriptParser.ID);
968
+ }
969
+ break;
970
+ }
971
+ }
972
+ }
973
+ break;
974
+ case 19:
909
975
  {
910
- this.state = 192;
911
- this.match(CircuitScriptParser.ID);
976
+ this.state = 198;
977
+ this.match(CircuitScriptParser.Point);
912
978
  }
913
979
  break;
980
+ default:
981
+ throw new NoViableAltException(this);
914
982
  }
915
983
  }
916
984
  }
@@ -936,54 +1004,54 @@ export default class CircuitScriptParser extends Parser {
936
1004
  try {
937
1005
  this.enterOuterAlt(localctx, 1);
938
1006
  {
939
- this.state = 195;
1007
+ this.state = 201;
940
1008
  this.match(CircuitScriptParser.At);
941
- this.state = 196;
1009
+ this.state = 202;
942
1010
  this.component_select_expr();
943
- this.state = 197;
1011
+ this.state = 203;
944
1012
  this.match(CircuitScriptParser.To);
945
- this.state = 198;
1013
+ this.state = 204;
946
1014
  this.component_select_expr();
947
- this.state = 203;
1015
+ this.state = 209;
948
1016
  this._errHandler.sync(this);
949
1017
  _la = this._input.LA(1);
950
1018
  while (_la===2) {
951
1019
  {
952
1020
  {
953
- this.state = 199;
1021
+ this.state = 205;
954
1022
  this.match(CircuitScriptParser.T__1);
955
- this.state = 200;
1023
+ this.state = 206;
956
1024
  this.component_select_expr();
957
1025
  }
958
1026
  }
959
- this.state = 205;
1027
+ this.state = 211;
960
1028
  this._errHandler.sync(this);
961
1029
  _la = this._input.LA(1);
962
1030
  }
963
- this.state = 206;
1031
+ this.state = 212;
964
1032
  this.match(CircuitScriptParser.T__0);
965
- this.state = 207;
1033
+ this.state = 213;
966
1034
  this.match(CircuitScriptParser.NEWLINE);
967
- this.state = 208;
1035
+ this.state = 214;
968
1036
  this.match(CircuitScriptParser.INDENT);
969
- this.state = 211;
1037
+ this.state = 217;
970
1038
  this._errHandler.sync(this);
971
1039
  _la = this._input.LA(1);
972
1040
  do {
973
1041
  {
974
- this.state = 211;
1042
+ this.state = 217;
975
1043
  this._errHandler.sync(this);
976
1044
  switch (this._input.LA(1)) {
977
- case 44:
1045
+ case 45:
978
1046
  {
979
- this.state = 209;
1047
+ this.state = 215;
980
1048
  this.match(CircuitScriptParser.NEWLINE);
981
1049
  }
982
1050
  break;
983
- case 37:
984
- case 40:
1051
+ case 38:
1052
+ case 41:
985
1053
  {
986
- this.state = 210;
1054
+ this.state = 216;
987
1055
  this.at_to_multiple_line_expr();
988
1056
  }
989
1057
  break;
@@ -991,11 +1059,11 @@ export default class CircuitScriptParser extends Parser {
991
1059
  throw new NoViableAltException(this);
992
1060
  }
993
1061
  }
994
- this.state = 213;
1062
+ this.state = 219;
995
1063
  this._errHandler.sync(this);
996
1064
  _la = this._input.LA(1);
997
- } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 137) !== 0));
998
- this.state = 215;
1065
+ } while (((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & 137) !== 0));
1066
+ this.state = 221;
999
1067
  this.match(CircuitScriptParser.DEDENT);
1000
1068
  }
1001
1069
  }
@@ -1021,25 +1089,25 @@ export default class CircuitScriptParser extends Parser {
1021
1089
  try {
1022
1090
  this.enterOuterAlt(localctx, 1);
1023
1091
  {
1024
- this.state = 217;
1092
+ this.state = 223;
1025
1093
  this.pin_select_expr2();
1026
- this.state = 218;
1094
+ this.state = 224;
1027
1095
  this.match(CircuitScriptParser.T__0);
1028
- this.state = 219;
1096
+ this.state = 225;
1029
1097
  this.at_to_multiple_line_expr_to_pin();
1030
- this.state = 224;
1098
+ this.state = 230;
1031
1099
  this._errHandler.sync(this);
1032
1100
  _la = this._input.LA(1);
1033
1101
  while (_la===2) {
1034
1102
  {
1035
1103
  {
1036
- this.state = 220;
1104
+ this.state = 226;
1037
1105
  this.match(CircuitScriptParser.T__1);
1038
- this.state = 221;
1106
+ this.state = 227;
1039
1107
  this.at_to_multiple_line_expr_to_pin();
1040
1108
  }
1041
1109
  }
1042
- this.state = 226;
1110
+ this.state = 232;
1043
1111
  this._errHandler.sync(this);
1044
1112
  _la = this._input.LA(1);
1045
1113
  }
@@ -1067,9 +1135,9 @@ export default class CircuitScriptParser extends Parser {
1067
1135
  try {
1068
1136
  this.enterOuterAlt(localctx, 1);
1069
1137
  {
1070
- this.state = 227;
1138
+ this.state = 233;
1071
1139
  _la = this._input.LA(1);
1072
- if(!(_la===34 || _la===37)) {
1140
+ if(!(_la===35 || _la===38)) {
1073
1141
  this._errHandler.recoverInline(this);
1074
1142
  }
1075
1143
  else {
@@ -1100,25 +1168,25 @@ export default class CircuitScriptParser extends Parser {
1100
1168
  try {
1101
1169
  this.enterOuterAlt(localctx, 1);
1102
1170
  {
1103
- this.state = 229;
1171
+ this.state = 235;
1104
1172
  this.at_component_expr();
1105
- this.state = 230;
1173
+ this.state = 236;
1106
1174
  this.match(CircuitScriptParser.T__0);
1107
- this.state = 231;
1175
+ this.state = 237;
1108
1176
  this.match(CircuitScriptParser.NEWLINE);
1109
- this.state = 232;
1177
+ this.state = 238;
1110
1178
  this.match(CircuitScriptParser.INDENT);
1111
- this.state = 235;
1179
+ this.state = 241;
1112
1180
  this._errHandler.sync(this);
1113
1181
  _la = this._input.LA(1);
1114
1182
  do {
1115
1183
  {
1116
- this.state = 235;
1184
+ this.state = 241;
1117
1185
  this._errHandler.sync(this);
1118
1186
  switch (this._input.LA(1)) {
1119
- case 44:
1187
+ case 45:
1120
1188
  {
1121
- this.state = 233;
1189
+ this.state = 239;
1122
1190
  this.match(CircuitScriptParser.NEWLINE);
1123
1191
  }
1124
1192
  break;
@@ -1131,16 +1199,17 @@ export default class CircuitScriptParser extends Parser {
1131
1199
  case 17:
1132
1200
  case 18:
1133
1201
  case 19:
1202
+ case 20:
1134
1203
  case 21:
1135
- case 22:
1136
1204
  case 23:
1137
- case 28:
1138
- case 30:
1139
- case 36:
1205
+ case 24:
1206
+ case 29:
1207
+ case 31:
1140
1208
  case 37:
1141
- case 40:
1209
+ case 38:
1210
+ case 41:
1142
1211
  {
1143
- this.state = 234;
1212
+ this.state = 240;
1144
1213
  this.at_block_expressions();
1145
1214
  }
1146
1215
  break;
@@ -1148,11 +1217,11 @@ export default class CircuitScriptParser extends Parser {
1148
1217
  throw new NoViableAltException(this);
1149
1218
  }
1150
1219
  }
1151
- this.state = 237;
1220
+ this.state = 243;
1152
1221
  this._errHandler.sync(this);
1153
1222
  _la = this._input.LA(1);
1154
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
1155
- this.state = 239;
1223
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || ((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
1224
+ this.state = 245;
1156
1225
  this.match(CircuitScriptParser.DEDENT);
1157
1226
  }
1158
1227
  }
@@ -1175,7 +1244,7 @@ export default class CircuitScriptParser extends Parser {
1175
1244
  let localctx: At_block_expressionsContext = new At_block_expressionsContext(this, this._ctx, this.state);
1176
1245
  this.enterRule(localctx, 34, CircuitScriptParser.RULE_at_block_expressions);
1177
1246
  try {
1178
- this.state = 243;
1247
+ this.state = 249;
1179
1248
  this._errHandler.sync(this);
1180
1249
  switch (this._input.LA(1)) {
1181
1250
  case 4:
@@ -1187,23 +1256,24 @@ export default class CircuitScriptParser extends Parser {
1187
1256
  case 17:
1188
1257
  case 18:
1189
1258
  case 19:
1259
+ case 20:
1190
1260
  case 21:
1191
- case 22:
1192
1261
  case 23:
1193
- case 28:
1194
- case 30:
1195
- case 36:
1262
+ case 24:
1263
+ case 29:
1264
+ case 31:
1265
+ case 37:
1196
1266
  this.enterOuterAlt(localctx, 1);
1197
1267
  {
1198
- this.state = 241;
1268
+ this.state = 247;
1199
1269
  this.expression();
1200
1270
  }
1201
1271
  break;
1202
- case 37:
1203
- case 40:
1272
+ case 38:
1273
+ case 41:
1204
1274
  this.enterOuterAlt(localctx, 2);
1205
1275
  {
1206
- this.state = 242;
1276
+ this.state = 248;
1207
1277
  this.at_block_pin_expr();
1208
1278
  }
1209
1279
  break;
@@ -1232,11 +1302,11 @@ export default class CircuitScriptParser extends Parser {
1232
1302
  try {
1233
1303
  this.enterOuterAlt(localctx, 1);
1234
1304
  {
1235
- this.state = 245;
1305
+ this.state = 251;
1236
1306
  this.pin_select_expr2();
1237
- this.state = 246;
1307
+ this.state = 252;
1238
1308
  this.match(CircuitScriptParser.T__0);
1239
- this.state = 249;
1309
+ this.state = 255;
1240
1310
  this._errHandler.sync(this);
1241
1311
  switch (this._input.LA(1)) {
1242
1312
  case 4:
@@ -1248,21 +1318,22 @@ export default class CircuitScriptParser extends Parser {
1248
1318
  case 17:
1249
1319
  case 18:
1250
1320
  case 19:
1321
+ case 20:
1251
1322
  case 21:
1252
- case 22:
1253
1323
  case 23:
1254
- case 28:
1255
- case 30:
1256
- case 34:
1257
- case 36:
1324
+ case 24:
1325
+ case 29:
1326
+ case 31:
1327
+ case 35:
1328
+ case 37:
1258
1329
  {
1259
- this.state = 247;
1330
+ this.state = 253;
1260
1331
  this.at_block_pin_expression_simple();
1261
1332
  }
1262
1333
  break;
1263
- case 44:
1334
+ case 45:
1264
1335
  {
1265
- this.state = 248;
1336
+ this.state = 254;
1266
1337
  this.at_block_pin_expression_complex();
1267
1338
  }
1268
1339
  break;
@@ -1292,7 +1363,7 @@ export default class CircuitScriptParser extends Parser {
1292
1363
  try {
1293
1364
  this.enterOuterAlt(localctx, 1);
1294
1365
  {
1295
- this.state = 253;
1366
+ this.state = 259;
1296
1367
  this._errHandler.sync(this);
1297
1368
  switch (this._input.LA(1)) {
1298
1369
  case 4:
@@ -1304,20 +1375,21 @@ export default class CircuitScriptParser extends Parser {
1304
1375
  case 17:
1305
1376
  case 18:
1306
1377
  case 19:
1378
+ case 20:
1307
1379
  case 21:
1308
- case 22:
1309
1380
  case 23:
1310
- case 28:
1311
- case 30:
1312
- case 36:
1381
+ case 24:
1382
+ case 29:
1383
+ case 31:
1384
+ case 37:
1313
1385
  {
1314
- this.state = 251;
1386
+ this.state = 257;
1315
1387
  this.expression();
1316
1388
  }
1317
1389
  break;
1318
- case 34:
1390
+ case 35:
1319
1391
  {
1320
- this.state = 252;
1392
+ this.state = 258;
1321
1393
  this.match(CircuitScriptParser.NOT_CONNECTED);
1322
1394
  }
1323
1395
  break;
@@ -1348,21 +1420,21 @@ export default class CircuitScriptParser extends Parser {
1348
1420
  try {
1349
1421
  this.enterOuterAlt(localctx, 1);
1350
1422
  {
1351
- this.state = 255;
1423
+ this.state = 261;
1352
1424
  this.match(CircuitScriptParser.NEWLINE);
1353
- this.state = 256;
1425
+ this.state = 262;
1354
1426
  this.match(CircuitScriptParser.INDENT);
1355
- this.state = 259;
1427
+ this.state = 265;
1356
1428
  this._errHandler.sync(this);
1357
1429
  _la = this._input.LA(1);
1358
1430
  do {
1359
1431
  {
1360
- this.state = 259;
1432
+ this.state = 265;
1361
1433
  this._errHandler.sync(this);
1362
1434
  switch (this._input.LA(1)) {
1363
- case 44:
1435
+ case 45:
1364
1436
  {
1365
- this.state = 257;
1437
+ this.state = 263;
1366
1438
  this.match(CircuitScriptParser.NEWLINE);
1367
1439
  }
1368
1440
  break;
@@ -1375,14 +1447,15 @@ export default class CircuitScriptParser extends Parser {
1375
1447
  case 17:
1376
1448
  case 18:
1377
1449
  case 19:
1450
+ case 20:
1378
1451
  case 21:
1379
- case 22:
1380
1452
  case 23:
1381
- case 28:
1382
- case 30:
1383
- case 36:
1453
+ case 24:
1454
+ case 29:
1455
+ case 31:
1456
+ case 37:
1384
1457
  {
1385
- this.state = 258;
1458
+ this.state = 264;
1386
1459
  this.expression();
1387
1460
  }
1388
1461
  break;
@@ -1390,11 +1463,11 @@ export default class CircuitScriptParser extends Parser {
1390
1463
  throw new NoViableAltException(this);
1391
1464
  }
1392
1465
  }
1393
- this.state = 261;
1466
+ this.state = 267;
1394
1467
  this._errHandler.sync(this);
1395
1468
  _la = this._input.LA(1);
1396
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
1397
- this.state = 263;
1469
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
1470
+ this.state = 269;
1398
1471
  this.match(CircuitScriptParser.DEDENT);
1399
1472
  }
1400
1473
  }
@@ -1419,7 +1492,7 @@ export default class CircuitScriptParser extends Parser {
1419
1492
  try {
1420
1493
  this.enterOuterAlt(localctx, 1);
1421
1494
  {
1422
- this.state = 265;
1495
+ this.state = 271;
1423
1496
  this.match(CircuitScriptParser.Break);
1424
1497
  }
1425
1498
  }
@@ -1444,11 +1517,11 @@ export default class CircuitScriptParser extends Parser {
1444
1517
  try {
1445
1518
  this.enterOuterAlt(localctx, 1);
1446
1519
  {
1447
- this.state = 267;
1520
+ this.state = 273;
1448
1521
  this.atom_expr();
1449
- this.state = 268;
1522
+ this.state = 274;
1450
1523
  this.match(CircuitScriptParser.T__2);
1451
- this.state = 269;
1524
+ this.state = 275;
1452
1525
  this.data_expr(0);
1453
1526
  }
1454
1527
  }
@@ -1473,11 +1546,11 @@ export default class CircuitScriptParser extends Parser {
1473
1546
  try {
1474
1547
  this.enterOuterAlt(localctx, 1);
1475
1548
  {
1476
- this.state = 271;
1549
+ this.state = 277;
1477
1550
  this.match(CircuitScriptParser.ID);
1478
- this.state = 272;
1551
+ this.state = 278;
1479
1552
  this.match(CircuitScriptParser.T__2);
1480
- this.state = 273;
1553
+ this.state = 279;
1481
1554
  this.data_expr(0);
1482
1555
  }
1483
1556
  }
@@ -1502,46 +1575,46 @@ export default class CircuitScriptParser extends Parser {
1502
1575
  let _la: number;
1503
1576
  try {
1504
1577
  let _alt: number;
1505
- this.state = 298;
1578
+ this.state = 304;
1506
1579
  this._errHandler.sync(this);
1507
- switch ( this._interp.adaptivePredict(this._input, 29, this._ctx) ) {
1580
+ switch ( this._interp.adaptivePredict(this._input, 31, this._ctx) ) {
1508
1581
  case 1:
1509
1582
  this.enterOuterAlt(localctx, 1);
1510
1583
  {
1511
1584
  {
1512
- this.state = 275;
1585
+ this.state = 281;
1513
1586
  this.data_expr(0);
1514
- this.state = 280;
1587
+ this.state = 286;
1515
1588
  this._errHandler.sync(this);
1516
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1589
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1517
1590
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1518
1591
  if (_alt === 1) {
1519
1592
  {
1520
1593
  {
1521
- this.state = 276;
1594
+ this.state = 282;
1522
1595
  this.match(CircuitScriptParser.T__1);
1523
- this.state = 277;
1596
+ this.state = 283;
1524
1597
  this.data_expr(0);
1525
1598
  }
1526
1599
  }
1527
1600
  }
1528
- this.state = 282;
1601
+ this.state = 288;
1529
1602
  this._errHandler.sync(this);
1530
- _alt = this._interp.adaptivePredict(this._input, 26, this._ctx);
1603
+ _alt = this._interp.adaptivePredict(this._input, 28, this._ctx);
1531
1604
  }
1532
- this.state = 287;
1605
+ this.state = 293;
1533
1606
  this._errHandler.sync(this);
1534
1607
  _la = this._input.LA(1);
1535
1608
  while (_la===2) {
1536
1609
  {
1537
1610
  {
1538
- this.state = 283;
1611
+ this.state = 289;
1539
1612
  this.match(CircuitScriptParser.T__1);
1540
- this.state = 284;
1613
+ this.state = 290;
1541
1614
  this.keyword_assignment_expr();
1542
1615
  }
1543
1616
  }
1544
- this.state = 289;
1617
+ this.state = 295;
1545
1618
  this._errHandler.sync(this);
1546
1619
  _la = this._input.LA(1);
1547
1620
  }
@@ -1552,21 +1625,21 @@ export default class CircuitScriptParser extends Parser {
1552
1625
  this.enterOuterAlt(localctx, 2);
1553
1626
  {
1554
1627
  {
1555
- this.state = 290;
1628
+ this.state = 296;
1556
1629
  this.keyword_assignment_expr();
1557
- this.state = 295;
1630
+ this.state = 301;
1558
1631
  this._errHandler.sync(this);
1559
1632
  _la = this._input.LA(1);
1560
1633
  while (_la===2) {
1561
1634
  {
1562
1635
  {
1563
- this.state = 291;
1636
+ this.state = 297;
1564
1637
  this.match(CircuitScriptParser.T__1);
1565
- this.state = 292;
1638
+ this.state = 298;
1566
1639
  this.keyword_assignment_expr();
1567
1640
  }
1568
1641
  }
1569
- this.state = 297;
1642
+ this.state = 303;
1570
1643
  this._errHandler.sync(this);
1571
1644
  _la = this._input.LA(1);
1572
1645
  }
@@ -1596,11 +1669,11 @@ export default class CircuitScriptParser extends Parser {
1596
1669
  try {
1597
1670
  this.enterOuterAlt(localctx, 1);
1598
1671
  {
1599
- this.state = 300;
1672
+ this.state = 306;
1600
1673
  this.atom_expr();
1601
- this.state = 301;
1674
+ this.state = 307;
1602
1675
  this.match(CircuitScriptParser.T__2);
1603
- this.state = 302;
1676
+ this.state = 308;
1604
1677
  this.data_expr(0);
1605
1678
  }
1606
1679
  }
@@ -1625,13 +1698,13 @@ export default class CircuitScriptParser extends Parser {
1625
1698
  try {
1626
1699
  this.enterOuterAlt(localctx, 1);
1627
1700
  {
1628
- this.state = 304;
1701
+ this.state = 310;
1629
1702
  this.match(CircuitScriptParser.T__3);
1630
- this.state = 305;
1703
+ this.state = 311;
1631
1704
  this.match(CircuitScriptParser.ID);
1632
- this.state = 306;
1705
+ this.state = 312;
1633
1706
  this.match(CircuitScriptParser.T__2);
1634
- this.state = 307;
1707
+ this.state = 313;
1635
1708
  this.data_expr(0);
1636
1709
  }
1637
1710
  }
@@ -1669,9 +1742,9 @@ export default class CircuitScriptParser extends Parser {
1669
1742
  let _alt: number;
1670
1743
  this.enterOuterAlt(localctx, 1);
1671
1744
  {
1672
- this.state = 323;
1745
+ this.state = 329;
1673
1746
  this._errHandler.sync(this);
1674
- switch ( this._interp.adaptivePredict(this._input, 32, this._ctx) ) {
1747
+ switch ( this._interp.adaptivePredict(this._input, 34, this._ctx) ) {
1675
1748
  case 1:
1676
1749
  {
1677
1750
  localctx = new DataExprContext(this, localctx);
@@ -1679,37 +1752,37 @@ export default class CircuitScriptParser extends Parser {
1679
1752
  _prevctx = localctx;
1680
1753
 
1681
1754
  {
1682
- this.state = 311;
1755
+ this.state = 317;
1683
1756
  this._errHandler.sync(this);
1684
- switch ( this._interp.adaptivePredict(this._input, 30, this._ctx) ) {
1757
+ switch ( this._interp.adaptivePredict(this._input, 32, this._ctx) ) {
1685
1758
  case 1:
1686
1759
  {
1687
- this.state = 310;
1760
+ this.state = 316;
1688
1761
  this.unary_operator();
1689
1762
  }
1690
1763
  break;
1691
1764
  }
1692
- this.state = 315;
1765
+ this.state = 321;
1693
1766
  this._errHandler.sync(this);
1694
1767
  switch (this._input.LA(1)) {
1695
1768
  case 6:
1696
- case 29:
1697
- case 35:
1698
- case 37:
1769
+ case 30:
1770
+ case 36:
1699
1771
  case 38:
1700
1772
  case 39:
1701
1773
  case 40:
1702
1774
  case 41:
1775
+ case 42:
1703
1776
  {
1704
- this.state = 313;
1777
+ this.state = 319;
1705
1778
  this.value_expr();
1706
1779
  }
1707
1780
  break;
1708
- case 28:
1709
- case 30:
1710
- case 36:
1781
+ case 29:
1782
+ case 31:
1783
+ case 37:
1711
1784
  {
1712
- this.state = 314;
1785
+ this.state = 320;
1713
1786
  this.atom_expr();
1714
1787
  }
1715
1788
  break;
@@ -1724,11 +1797,11 @@ export default class CircuitScriptParser extends Parser {
1724
1797
  localctx = new RoundedBracketsExprContext(this, localctx);
1725
1798
  this._ctx = localctx;
1726
1799
  _prevctx = localctx;
1727
- this.state = 317;
1800
+ this.state = 323;
1728
1801
  this.match(CircuitScriptParser.OPEN_PAREN);
1729
- this.state = 318;
1802
+ this.state = 324;
1730
1803
  this.data_expr(0);
1731
- this.state = 319;
1804
+ this.state = 325;
1732
1805
  this.match(CircuitScriptParser.CLOSE_PAREN);
1733
1806
  }
1734
1807
  break;
@@ -1737,7 +1810,7 @@ export default class CircuitScriptParser extends Parser {
1737
1810
  localctx = new DataExprContext(this, localctx);
1738
1811
  this._ctx = localctx;
1739
1812
  _prevctx = localctx;
1740
- this.state = 321;
1813
+ this.state = 327;
1741
1814
  this.create_component_expr();
1742
1815
  }
1743
1816
  break;
@@ -1746,15 +1819,15 @@ export default class CircuitScriptParser extends Parser {
1746
1819
  localctx = new DataExprContext(this, localctx);
1747
1820
  this._ctx = localctx;
1748
1821
  _prevctx = localctx;
1749
- this.state = 322;
1822
+ this.state = 328;
1750
1823
  this.create_graphic_expr();
1751
1824
  }
1752
1825
  break;
1753
1826
  }
1754
1827
  this._ctx.stop = this._input.LT(-1);
1755
- this.state = 337;
1828
+ this.state = 343;
1756
1829
  this._errHandler.sync(this);
1757
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1830
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1758
1831
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
1759
1832
  if (_alt === 1) {
1760
1833
  if (this._parseListeners != null) {
@@ -1762,27 +1835,27 @@ export default class CircuitScriptParser extends Parser {
1762
1835
  }
1763
1836
  _prevctx = localctx;
1764
1837
  {
1765
- this.state = 335;
1838
+ this.state = 341;
1766
1839
  this._errHandler.sync(this);
1767
- switch ( this._interp.adaptivePredict(this._input, 33, this._ctx) ) {
1840
+ switch ( this._interp.adaptivePredict(this._input, 35, this._ctx) ) {
1768
1841
  case 1:
1769
1842
  {
1770
1843
  localctx = new MultiplyExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1771
1844
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1772
- this.state = 325;
1845
+ this.state = 331;
1773
1846
  if (!(this.precpred(this._ctx, 5))) {
1774
1847
  throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
1775
1848
  }
1776
- this.state = 326;
1849
+ this.state = 332;
1777
1850
  _la = this._input.LA(1);
1778
- if(!(_la===30 || _la===31)) {
1851
+ if(!(_la===31 || _la===32)) {
1779
1852
  this._errHandler.recoverInline(this);
1780
1853
  }
1781
1854
  else {
1782
1855
  this._errHandler.reportMatch(this);
1783
1856
  this.consume();
1784
1857
  }
1785
- this.state = 327;
1858
+ this.state = 333;
1786
1859
  this.data_expr(6);
1787
1860
  }
1788
1861
  break;
@@ -1790,20 +1863,20 @@ export default class CircuitScriptParser extends Parser {
1790
1863
  {
1791
1864
  localctx = new AdditionExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1792
1865
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1793
- this.state = 328;
1866
+ this.state = 334;
1794
1867
  if (!(this.precpred(this._ctx, 4))) {
1795
1868
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1796
1869
  }
1797
- this.state = 329;
1870
+ this.state = 335;
1798
1871
  _la = this._input.LA(1);
1799
- if(!(_la===28 || _la===29)) {
1872
+ if(!(_la===29 || _la===30)) {
1800
1873
  this._errHandler.recoverInline(this);
1801
1874
  }
1802
1875
  else {
1803
1876
  this._errHandler.reportMatch(this);
1804
1877
  this.consume();
1805
1878
  }
1806
- this.state = 330;
1879
+ this.state = 336;
1807
1880
  this.data_expr(5);
1808
1881
  }
1809
1882
  break;
@@ -1811,22 +1884,22 @@ export default class CircuitScriptParser extends Parser {
1811
1884
  {
1812
1885
  localctx = new BinaryOperatorExprContext(this, new Data_exprContext(this, _parentctx, _parentState));
1813
1886
  this.pushNewRecursionContext(localctx, _startState, CircuitScriptParser.RULE_data_expr);
1814
- this.state = 331;
1887
+ this.state = 337;
1815
1888
  if (!(this.precpred(this._ctx, 3))) {
1816
1889
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1817
1890
  }
1818
- this.state = 332;
1891
+ this.state = 338;
1819
1892
  this.binary_operator();
1820
- this.state = 333;
1893
+ this.state = 339;
1821
1894
  this.data_expr(4);
1822
1895
  }
1823
1896
  break;
1824
1897
  }
1825
1898
  }
1826
1899
  }
1827
- this.state = 339;
1900
+ this.state = 345;
1828
1901
  this._errHandler.sync(this);
1829
- _alt = this._interp.adaptivePredict(this._input, 34, this._ctx);
1902
+ _alt = this._interp.adaptivePredict(this._input, 36, this._ctx);
1830
1903
  }
1831
1904
  }
1832
1905
  }
@@ -1852,9 +1925,9 @@ export default class CircuitScriptParser extends Parser {
1852
1925
  try {
1853
1926
  this.enterOuterAlt(localctx, 1);
1854
1927
  {
1855
- this.state = 340;
1928
+ this.state = 346;
1856
1929
  _la = this._input.LA(1);
1857
- if(!(_la===26 || _la===27)) {
1930
+ if(!(_la===27 || _la===28)) {
1858
1931
  this._errHandler.recoverInline(this);
1859
1932
  }
1860
1933
  else {
@@ -1885,9 +1958,9 @@ export default class CircuitScriptParser extends Parser {
1885
1958
  try {
1886
1959
  this.enterOuterAlt(localctx, 1);
1887
1960
  {
1888
- this.state = 342;
1961
+ this.state = 348;
1889
1962
  _la = this._input.LA(1);
1890
- if(!(_la===25 || _la===29)) {
1963
+ if(!(_la===26 || _la===30)) {
1891
1964
  this._errHandler.recoverInline(this);
1892
1965
  }
1893
1966
  else {
@@ -1916,32 +1989,32 @@ export default class CircuitScriptParser extends Parser {
1916
1989
  this.enterRule(localctx, 60, CircuitScriptParser.RULE_value_expr);
1917
1990
  let _la: number;
1918
1991
  try {
1919
- this.state = 349;
1992
+ this.state = 355;
1920
1993
  this._errHandler.sync(this);
1921
1994
  switch (this._input.LA(1)) {
1922
- case 29:
1923
- case 35:
1924
- case 37:
1995
+ case 30:
1996
+ case 36:
1925
1997
  case 38:
1926
1998
  case 39:
1927
1999
  case 40:
1928
2000
  case 41:
2001
+ case 42:
1929
2002
  this.enterOuterAlt(localctx, 1);
1930
2003
  {
1931
2004
  {
1932
- this.state = 345;
2005
+ this.state = 351;
1933
2006
  this._errHandler.sync(this);
1934
2007
  _la = this._input.LA(1);
1935
- if (_la===29) {
2008
+ if (_la===30) {
1936
2009
  {
1937
- this.state = 344;
2010
+ this.state = 350;
1938
2011
  this.match(CircuitScriptParser.Minus);
1939
2012
  }
1940
2013
  }
1941
2014
 
1942
- this.state = 347;
2015
+ this.state = 353;
1943
2016
  _la = this._input.LA(1);
1944
- if(!(((((_la - 35)) & ~0x1F) === 0 && ((1 << (_la - 35)) & 125) !== 0))) {
2017
+ if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 125) !== 0))) {
1945
2018
  this._errHandler.recoverInline(this);
1946
2019
  }
1947
2020
  else {
@@ -1954,7 +2027,7 @@ export default class CircuitScriptParser extends Parser {
1954
2027
  case 6:
1955
2028
  this.enterOuterAlt(localctx, 2);
1956
2029
  {
1957
- this.state = 348;
2030
+ this.state = 354;
1958
2031
  this.blank_expr();
1959
2032
  }
1960
2033
  break;
@@ -1984,41 +2057,41 @@ export default class CircuitScriptParser extends Parser {
1984
2057
  try {
1985
2058
  this.enterOuterAlt(localctx, 1);
1986
2059
  {
1987
- this.state = 351;
2060
+ this.state = 357;
1988
2061
  this.match(CircuitScriptParser.Define);
1989
- this.state = 352;
2062
+ this.state = 358;
1990
2063
  this.match(CircuitScriptParser.ID);
1991
- this.state = 353;
2064
+ this.state = 359;
1992
2065
  this.match(CircuitScriptParser.OPEN_PAREN);
1993
- this.state = 355;
2066
+ this.state = 361;
1994
2067
  this._errHandler.sync(this);
1995
2068
  _la = this._input.LA(1);
1996
- if (_la===36) {
2069
+ if (_la===37) {
1997
2070
  {
1998
- this.state = 354;
2071
+ this.state = 360;
1999
2072
  this.function_args_expr();
2000
2073
  }
2001
2074
  }
2002
2075
 
2003
- this.state = 357;
2076
+ this.state = 363;
2004
2077
  this.match(CircuitScriptParser.CLOSE_PAREN);
2005
- this.state = 358;
2078
+ this.state = 364;
2006
2079
  this.match(CircuitScriptParser.T__0);
2007
- this.state = 359;
2080
+ this.state = 365;
2008
2081
  this.match(CircuitScriptParser.NEWLINE);
2009
- this.state = 360;
2082
+ this.state = 366;
2010
2083
  this.match(CircuitScriptParser.INDENT);
2011
- this.state = 363;
2084
+ this.state = 369;
2012
2085
  this._errHandler.sync(this);
2013
2086
  _la = this._input.LA(1);
2014
2087
  do {
2015
2088
  {
2016
- this.state = 363;
2089
+ this.state = 369;
2017
2090
  this._errHandler.sync(this);
2018
2091
  switch (this._input.LA(1)) {
2019
- case 44:
2092
+ case 45:
2020
2093
  {
2021
- this.state = 361;
2094
+ this.state = 367;
2022
2095
  this.match(CircuitScriptParser.NEWLINE);
2023
2096
  }
2024
2097
  break;
@@ -2035,11 +2108,12 @@ export default class CircuitScriptParser extends Parser {
2035
2108
  case 21:
2036
2109
  case 22:
2037
2110
  case 23:
2038
- case 28:
2039
- case 30:
2040
- case 36:
2111
+ case 24:
2112
+ case 29:
2113
+ case 31:
2114
+ case 37:
2041
2115
  {
2042
- this.state = 362;
2116
+ this.state = 368;
2043
2117
  this.function_expr();
2044
2118
  }
2045
2119
  break;
@@ -2047,11 +2121,11 @@ export default class CircuitScriptParser extends Parser {
2047
2121
  throw new NoViableAltException(this);
2048
2122
  }
2049
2123
  }
2050
- this.state = 365;
2124
+ this.state = 371;
2051
2125
  this._errHandler.sync(this);
2052
2126
  _la = this._input.LA(1);
2053
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1358907152) !== 0) || _la===36 || _la===44);
2054
- this.state = 367;
2127
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2717861648) !== 0) || _la===37 || _la===45);
2128
+ this.state = 373;
2055
2129
  this.match(CircuitScriptParser.DEDENT);
2056
2130
  }
2057
2131
  }
@@ -2074,7 +2148,7 @@ export default class CircuitScriptParser extends Parser {
2074
2148
  let localctx: Function_exprContext = new Function_exprContext(this, this._ctx, this.state);
2075
2149
  this.enterRule(localctx, 64, CircuitScriptParser.RULE_function_expr);
2076
2150
  try {
2077
- this.state = 371;
2151
+ this.state = 377;
2078
2152
  this._errHandler.sync(this);
2079
2153
  switch (this._input.LA(1)) {
2080
2154
  case 4:
@@ -2086,22 +2160,23 @@ export default class CircuitScriptParser extends Parser {
2086
2160
  case 17:
2087
2161
  case 18:
2088
2162
  case 19:
2163
+ case 20:
2089
2164
  case 21:
2090
- case 22:
2091
2165
  case 23:
2092
- case 28:
2093
- case 30:
2094
- case 36:
2166
+ case 24:
2167
+ case 29:
2168
+ case 31:
2169
+ case 37:
2095
2170
  this.enterOuterAlt(localctx, 1);
2096
2171
  {
2097
- this.state = 369;
2172
+ this.state = 375;
2098
2173
  this.expression();
2099
2174
  }
2100
2175
  break;
2101
- case 20:
2176
+ case 22:
2102
2177
  this.enterOuterAlt(localctx, 2);
2103
2178
  {
2104
- this.state = 370;
2179
+ this.state = 376;
2105
2180
  this.function_return_expr();
2106
2181
  }
2107
2182
  break;
@@ -2130,49 +2205,49 @@ export default class CircuitScriptParser extends Parser {
2130
2205
  let _la: number;
2131
2206
  try {
2132
2207
  let _alt: number;
2133
- this.state = 402;
2208
+ this.state = 408;
2134
2209
  this._errHandler.sync(this);
2135
- switch ( this._interp.adaptivePredict(this._input, 44, this._ctx) ) {
2210
+ switch ( this._interp.adaptivePredict(this._input, 46, this._ctx) ) {
2136
2211
  case 1:
2137
2212
  this.enterOuterAlt(localctx, 1);
2138
2213
  {
2139
- this.state = 373;
2214
+ this.state = 379;
2140
2215
  this.match(CircuitScriptParser.ID);
2141
- this.state = 378;
2216
+ this.state = 384;
2142
2217
  this._errHandler.sync(this);
2143
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2218
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2144
2219
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2145
2220
  if (_alt === 1) {
2146
2221
  {
2147
2222
  {
2148
- this.state = 374;
2223
+ this.state = 380;
2149
2224
  this.match(CircuitScriptParser.T__1);
2150
- this.state = 375;
2225
+ this.state = 381;
2151
2226
  this.match(CircuitScriptParser.ID);
2152
2227
  }
2153
2228
  }
2154
2229
  }
2155
- this.state = 380;
2230
+ this.state = 386;
2156
2231
  this._errHandler.sync(this);
2157
- _alt = this._interp.adaptivePredict(this._input, 41, this._ctx);
2232
+ _alt = this._interp.adaptivePredict(this._input, 43, this._ctx);
2158
2233
  }
2159
- this.state = 387;
2234
+ this.state = 393;
2160
2235
  this._errHandler.sync(this);
2161
2236
  _la = this._input.LA(1);
2162
2237
  while (_la===2) {
2163
2238
  {
2164
2239
  {
2165
- this.state = 381;
2240
+ this.state = 387;
2166
2241
  this.match(CircuitScriptParser.T__1);
2167
- this.state = 382;
2242
+ this.state = 388;
2168
2243
  this.match(CircuitScriptParser.ID);
2169
- this.state = 383;
2244
+ this.state = 389;
2170
2245
  this.match(CircuitScriptParser.T__2);
2171
- this.state = 384;
2246
+ this.state = 390;
2172
2247
  this.value_expr();
2173
2248
  }
2174
2249
  }
2175
- this.state = 389;
2250
+ this.state = 395;
2176
2251
  this._errHandler.sync(this);
2177
2252
  _la = this._input.LA(1);
2178
2253
  }
@@ -2181,29 +2256,29 @@ export default class CircuitScriptParser extends Parser {
2181
2256
  case 2:
2182
2257
  this.enterOuterAlt(localctx, 2);
2183
2258
  {
2184
- this.state = 390;
2259
+ this.state = 396;
2185
2260
  this.match(CircuitScriptParser.ID);
2186
- this.state = 391;
2261
+ this.state = 397;
2187
2262
  this.match(CircuitScriptParser.T__2);
2188
- this.state = 392;
2263
+ this.state = 398;
2189
2264
  this.value_expr();
2190
- this.state = 399;
2265
+ this.state = 405;
2191
2266
  this._errHandler.sync(this);
2192
2267
  _la = this._input.LA(1);
2193
2268
  while (_la===2) {
2194
2269
  {
2195
2270
  {
2196
- this.state = 393;
2271
+ this.state = 399;
2197
2272
  this.match(CircuitScriptParser.T__1);
2198
- this.state = 394;
2273
+ this.state = 400;
2199
2274
  this.match(CircuitScriptParser.ID);
2200
- this.state = 395;
2275
+ this.state = 401;
2201
2276
  this.match(CircuitScriptParser.T__2);
2202
- this.state = 396;
2277
+ this.state = 402;
2203
2278
  this.value_expr();
2204
2279
  }
2205
2280
  }
2206
- this.state = 401;
2281
+ this.state = 407;
2207
2282
  this._errHandler.sync(this);
2208
2283
  _la = this._input.LA(1);
2209
2284
  }
@@ -2234,33 +2309,33 @@ export default class CircuitScriptParser extends Parser {
2234
2309
  let _alt: number;
2235
2310
  this.enterOuterAlt(localctx, 1);
2236
2311
  {
2237
- this.state = 405;
2312
+ this.state = 411;
2238
2313
  this._errHandler.sync(this);
2239
2314
  _la = this._input.LA(1);
2240
- if (_la===28 || _la===30) {
2315
+ if (_la===29 || _la===31) {
2241
2316
  {
2242
- this.state = 404;
2317
+ this.state = 410;
2243
2318
  this.net_namespace_expr();
2244
2319
  }
2245
2320
  }
2246
2321
 
2247
- this.state = 407;
2322
+ this.state = 413;
2248
2323
  this.match(CircuitScriptParser.ID);
2249
- this.state = 411;
2324
+ this.state = 417;
2250
2325
  this._errHandler.sync(this);
2251
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2326
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2252
2327
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2253
2328
  if (_alt === 1) {
2254
2329
  {
2255
2330
  {
2256
- this.state = 408;
2331
+ this.state = 414;
2257
2332
  this.trailer_expr();
2258
2333
  }
2259
2334
  }
2260
2335
  }
2261
- this.state = 413;
2336
+ this.state = 419;
2262
2337
  this._errHandler.sync(this);
2263
- _alt = this._interp.adaptivePredict(this._input, 46, this._ctx);
2338
+ _alt = this._interp.adaptivePredict(this._input, 48, this._ctx);
2264
2339
  }
2265
2340
  }
2266
2341
  }
@@ -2284,34 +2359,34 @@ export default class CircuitScriptParser extends Parser {
2284
2359
  this.enterRule(localctx, 70, CircuitScriptParser.RULE_trailer_expr);
2285
2360
  let _la: number;
2286
2361
  try {
2287
- this.state = 421;
2362
+ this.state = 427;
2288
2363
  this._errHandler.sync(this);
2289
2364
  switch (this._input.LA(1)) {
2290
- case 32:
2365
+ case 33:
2291
2366
  this.enterOuterAlt(localctx, 1);
2292
2367
  {
2293
- this.state = 414;
2368
+ this.state = 420;
2294
2369
  this.match(CircuitScriptParser.OPEN_PAREN);
2295
- this.state = 416;
2370
+ this.state = 422;
2296
2371
  this._errHandler.sync(this);
2297
2372
  _la = this._input.LA(1);
2298
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1912604736) !== 0) || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & 1017) !== 0)) {
2373
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 3825207360) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & 1017) !== 0)) {
2299
2374
  {
2300
- this.state = 415;
2375
+ this.state = 421;
2301
2376
  this.parameters();
2302
2377
  }
2303
2378
  }
2304
2379
 
2305
- this.state = 418;
2380
+ this.state = 424;
2306
2381
  this.match(CircuitScriptParser.CLOSE_PAREN);
2307
2382
  }
2308
2383
  break;
2309
2384
  case 5:
2310
2385
  this.enterOuterAlt(localctx, 2);
2311
2386
  {
2312
- this.state = 419;
2387
+ this.state = 425;
2313
2388
  this.match(CircuitScriptParser.T__4);
2314
- this.state = 420;
2389
+ this.state = 426;
2315
2390
  this.match(CircuitScriptParser.ID);
2316
2391
  }
2317
2392
  break;
@@ -2341,24 +2416,24 @@ export default class CircuitScriptParser extends Parser {
2341
2416
  try {
2342
2417
  this.enterOuterAlt(localctx, 1);
2343
2418
  {
2344
- this.state = 424;
2419
+ this.state = 430;
2345
2420
  this._errHandler.sync(this);
2346
2421
  _la = this._input.LA(1);
2347
- if (_la===28) {
2422
+ if (_la===29) {
2348
2423
  {
2349
- this.state = 423;
2424
+ this.state = 429;
2350
2425
  this.match(CircuitScriptParser.Addition);
2351
2426
  }
2352
2427
  }
2353
2428
 
2354
- this.state = 426;
2429
+ this.state = 432;
2355
2430
  this.match(CircuitScriptParser.Divide);
2356
- this.state = 428;
2431
+ this.state = 434;
2357
2432
  this._errHandler.sync(this);
2358
- switch ( this._interp.adaptivePredict(this._input, 50, this._ctx) ) {
2433
+ switch ( this._interp.adaptivePredict(this._input, 52, this._ctx) ) {
2359
2434
  case 1:
2360
2435
  {
2361
- this.state = 427;
2436
+ this.state = 433;
2362
2437
  this.data_expr(0);
2363
2438
  }
2364
2439
  break;
@@ -2386,9 +2461,9 @@ export default class CircuitScriptParser extends Parser {
2386
2461
  try {
2387
2462
  this.enterOuterAlt(localctx, 1);
2388
2463
  {
2389
- this.state = 430;
2464
+ this.state = 436;
2390
2465
  this.match(CircuitScriptParser.Return);
2391
- this.state = 431;
2466
+ this.state = 437;
2392
2467
  this.data_expr(0);
2393
2468
  }
2394
2469
  }
@@ -2414,35 +2489,35 @@ export default class CircuitScriptParser extends Parser {
2414
2489
  try {
2415
2490
  this.enterOuterAlt(localctx, 1);
2416
2491
  {
2417
- this.state = 433;
2492
+ this.state = 439;
2418
2493
  this.match(CircuitScriptParser.Create);
2419
- this.state = 434;
2494
+ this.state = 440;
2420
2495
  this.match(CircuitScriptParser.Component);
2421
- this.state = 435;
2496
+ this.state = 441;
2422
2497
  this.match(CircuitScriptParser.T__0);
2423
- this.state = 436;
2498
+ this.state = 442;
2424
2499
  this.match(CircuitScriptParser.NEWLINE);
2425
- this.state = 437;
2500
+ this.state = 443;
2426
2501
  this.match(CircuitScriptParser.INDENT);
2427
- this.state = 440;
2502
+ this.state = 446;
2428
2503
  this._errHandler.sync(this);
2429
2504
  _la = this._input.LA(1);
2430
2505
  do {
2431
2506
  {
2432
- this.state = 440;
2507
+ this.state = 446;
2433
2508
  this._errHandler.sync(this);
2434
2509
  switch (this._input.LA(1)) {
2435
- case 44:
2510
+ case 45:
2436
2511
  {
2437
- this.state = 438;
2512
+ this.state = 444;
2438
2513
  this.match(CircuitScriptParser.NEWLINE);
2439
2514
  }
2440
2515
  break;
2441
- case 36:
2442
2516
  case 37:
2443
- case 40:
2517
+ case 38:
2518
+ case 41:
2444
2519
  {
2445
- this.state = 439;
2520
+ this.state = 445;
2446
2521
  this.property_expr();
2447
2522
  }
2448
2523
  break;
@@ -2450,11 +2525,11 @@ export default class CircuitScriptParser extends Parser {
2450
2525
  throw new NoViableAltException(this);
2451
2526
  }
2452
2527
  }
2453
- this.state = 442;
2528
+ this.state = 448;
2454
2529
  this._errHandler.sync(this);
2455
2530
  _la = this._input.LA(1);
2456
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2457
- this.state = 444;
2531
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2532
+ this.state = 450;
2458
2533
  this.match(CircuitScriptParser.DEDENT);
2459
2534
  }
2460
2535
  }
@@ -2480,34 +2555,34 @@ export default class CircuitScriptParser extends Parser {
2480
2555
  try {
2481
2556
  this.enterOuterAlt(localctx, 1);
2482
2557
  {
2483
- this.state = 446;
2558
+ this.state = 452;
2484
2559
  this.match(CircuitScriptParser.Create);
2485
- this.state = 447;
2560
+ this.state = 453;
2486
2561
  this.match(CircuitScriptParser.Graphic);
2487
- this.state = 448;
2562
+ this.state = 454;
2488
2563
  this.match(CircuitScriptParser.T__0);
2489
- this.state = 449;
2564
+ this.state = 455;
2490
2565
  this.match(CircuitScriptParser.NEWLINE);
2491
- this.state = 450;
2566
+ this.state = 456;
2492
2567
  this.match(CircuitScriptParser.INDENT);
2493
- this.state = 453;
2568
+ this.state = 459;
2494
2569
  this._errHandler.sync(this);
2495
2570
  _la = this._input.LA(1);
2496
2571
  do {
2497
2572
  {
2498
- this.state = 453;
2573
+ this.state = 459;
2499
2574
  this._errHandler.sync(this);
2500
2575
  switch (this._input.LA(1)) {
2501
- case 44:
2576
+ case 45:
2502
2577
  {
2503
- this.state = 451;
2578
+ this.state = 457;
2504
2579
  this.match(CircuitScriptParser.NEWLINE);
2505
2580
  }
2506
2581
  break;
2507
2582
  case 15:
2508
- case 36:
2583
+ case 37:
2509
2584
  {
2510
- this.state = 452;
2585
+ this.state = 458;
2511
2586
  this.sub_expr();
2512
2587
  }
2513
2588
  break;
@@ -2515,11 +2590,11 @@ export default class CircuitScriptParser extends Parser {
2515
2590
  throw new NoViableAltException(this);
2516
2591
  }
2517
2592
  }
2518
- this.state = 455;
2593
+ this.state = 461;
2519
2594
  this._errHandler.sync(this);
2520
2595
  _la = this._input.LA(1);
2521
- } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 538968065) !== 0));
2522
- this.state = 457;
2596
+ } while (((((_la - 15)) & ~0x1F) === 0 && ((1 << (_la - 15)) & 1077936129) !== 0));
2597
+ this.state = 463;
2523
2598
  this.match(CircuitScriptParser.DEDENT);
2524
2599
  }
2525
2600
  }
@@ -2545,33 +2620,33 @@ export default class CircuitScriptParser extends Parser {
2545
2620
  try {
2546
2621
  this.enterOuterAlt(localctx, 1);
2547
2622
  {
2548
- this.state = 459;
2623
+ this.state = 465;
2549
2624
  _la = this._input.LA(1);
2550
- if(!(_la===15 || _la===36)) {
2625
+ if(!(_la===15 || _la===37)) {
2551
2626
  this._errHandler.recoverInline(this);
2552
2627
  }
2553
2628
  else {
2554
2629
  this._errHandler.reportMatch(this);
2555
2630
  this.consume();
2556
2631
  }
2557
- this.state = 460;
2558
- this.match(CircuitScriptParser.T__0);
2559
2632
  this.state = 466;
2633
+ this.match(CircuitScriptParser.T__0);
2634
+ this.state = 472;
2560
2635
  this._errHandler.sync(this);
2561
- switch ( this._interp.adaptivePredict(this._input, 55, this._ctx) ) {
2636
+ switch ( this._interp.adaptivePredict(this._input, 57, this._ctx) ) {
2562
2637
  case 1:
2563
2638
  {
2564
- this.state = 461;
2639
+ this.state = 467;
2565
2640
  this.parameters();
2566
2641
  }
2567
2642
  break;
2568
2643
  case 2:
2569
2644
  {
2570
- this.state = 462;
2645
+ this.state = 468;
2571
2646
  this.match(CircuitScriptParser.OPEN_PAREN);
2572
- this.state = 463;
2647
+ this.state = 469;
2573
2648
  this.parameters();
2574
- this.state = 464;
2649
+ this.state = 470;
2575
2650
  this.match(CircuitScriptParser.CLOSE_PAREN);
2576
2651
  }
2577
2652
  break;
@@ -2599,11 +2674,11 @@ export default class CircuitScriptParser extends Parser {
2599
2674
  try {
2600
2675
  this.enterOuterAlt(localctx, 1);
2601
2676
  {
2602
- this.state = 468;
2677
+ this.state = 474;
2603
2678
  this.property_key_expr();
2604
- this.state = 469;
2679
+ this.state = 475;
2605
2680
  this.match(CircuitScriptParser.T__0);
2606
- this.state = 470;
2681
+ this.state = 476;
2607
2682
  this.property_value_expr();
2608
2683
  }
2609
2684
  }
@@ -2629,9 +2704,9 @@ export default class CircuitScriptParser extends Parser {
2629
2704
  try {
2630
2705
  this.enterOuterAlt(localctx, 1);
2631
2706
  {
2632
- this.state = 472;
2707
+ this.state = 478;
2633
2708
  _la = this._input.LA(1);
2634
- if(!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 19) !== 0))) {
2709
+ if(!(((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 19) !== 0))) {
2635
2710
  this._errHandler.recoverInline(this);
2636
2711
  }
2637
2712
  else {
@@ -2660,36 +2735,36 @@ export default class CircuitScriptParser extends Parser {
2660
2735
  this.enterRule(localctx, 86, CircuitScriptParser.RULE_property_value_expr);
2661
2736
  let _la: number;
2662
2737
  try {
2663
- this.state = 491;
2738
+ this.state = 497;
2664
2739
  this._errHandler.sync(this);
2665
2740
  switch (this._input.LA(1)) {
2666
- case 44:
2741
+ case 45:
2667
2742
  localctx = new Nested_propertiesContext(this, localctx);
2668
2743
  this.enterOuterAlt(localctx, 1);
2669
2744
  {
2670
- this.state = 474;
2745
+ this.state = 480;
2671
2746
  this.match(CircuitScriptParser.NEWLINE);
2672
- this.state = 475;
2747
+ this.state = 481;
2673
2748
  this.match(CircuitScriptParser.INDENT);
2674
- this.state = 478;
2749
+ this.state = 484;
2675
2750
  this._errHandler.sync(this);
2676
2751
  _la = this._input.LA(1);
2677
2752
  do {
2678
2753
  {
2679
- this.state = 478;
2754
+ this.state = 484;
2680
2755
  this._errHandler.sync(this);
2681
2756
  switch (this._input.LA(1)) {
2682
- case 44:
2757
+ case 45:
2683
2758
  {
2684
- this.state = 476;
2759
+ this.state = 482;
2685
2760
  this.match(CircuitScriptParser.NEWLINE);
2686
2761
  }
2687
2762
  break;
2688
- case 36:
2689
2763
  case 37:
2690
- case 40:
2764
+ case 38:
2765
+ case 41:
2691
2766
  {
2692
- this.state = 477;
2767
+ this.state = 483;
2693
2768
  this.property_expr();
2694
2769
  }
2695
2770
  break;
@@ -2697,46 +2772,46 @@ export default class CircuitScriptParser extends Parser {
2697
2772
  throw new NoViableAltException(this);
2698
2773
  }
2699
2774
  }
2700
- this.state = 480;
2775
+ this.state = 486;
2701
2776
  this._errHandler.sync(this);
2702
2777
  _la = this._input.LA(1);
2703
- } while (((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 275) !== 0));
2704
- this.state = 482;
2778
+ } while (((((_la - 37)) & ~0x1F) === 0 && ((1 << (_la - 37)) & 275) !== 0));
2779
+ this.state = 488;
2705
2780
  this.match(CircuitScriptParser.DEDENT);
2706
2781
  }
2707
2782
  break;
2708
2783
  case 6:
2709
2784
  case 11:
2710
- case 25:
2711
- case 28:
2785
+ case 26:
2712
2786
  case 29:
2713
2787
  case 30:
2714
- case 32:
2715
- case 35:
2788
+ case 31:
2789
+ case 33:
2716
2790
  case 36:
2717
2791
  case 37:
2718
2792
  case 38:
2719
2793
  case 39:
2720
2794
  case 40:
2721
2795
  case 41:
2796
+ case 42:
2722
2797
  localctx = new Single_line_propertyContext(this, localctx);
2723
2798
  this.enterOuterAlt(localctx, 2);
2724
2799
  {
2725
- this.state = 483;
2800
+ this.state = 489;
2726
2801
  this.data_expr(0);
2727
- this.state = 488;
2802
+ this.state = 494;
2728
2803
  this._errHandler.sync(this);
2729
2804
  _la = this._input.LA(1);
2730
2805
  while (_la===2) {
2731
2806
  {
2732
2807
  {
2733
- this.state = 484;
2808
+ this.state = 490;
2734
2809
  this.match(CircuitScriptParser.T__1);
2735
- this.state = 485;
2810
+ this.state = 491;
2736
2811
  this.data_expr(0);
2737
2812
  }
2738
2813
  }
2739
- this.state = 490;
2814
+ this.state = 496;
2740
2815
  this._errHandler.sync(this);
2741
2816
  _la = this._input.LA(1);
2742
2817
  }
@@ -2767,11 +2842,11 @@ export default class CircuitScriptParser extends Parser {
2767
2842
  try {
2768
2843
  this.enterOuterAlt(localctx, 1);
2769
2844
  {
2770
- this.state = 493;
2845
+ this.state = 499;
2771
2846
  this.match(CircuitScriptParser.T__5);
2772
- this.state = 494;
2847
+ this.state = 500;
2773
2848
  this.match(CircuitScriptParser.INTEGER_VALUE);
2774
- this.state = 495;
2849
+ this.state = 501;
2775
2850
  this.match(CircuitScriptParser.T__6);
2776
2851
  }
2777
2852
  }
@@ -2798,20 +2873,20 @@ export default class CircuitScriptParser extends Parser {
2798
2873
  let _alt: number;
2799
2874
  this.enterOuterAlt(localctx, 1);
2800
2875
  {
2801
- this.state = 497;
2876
+ this.state = 503;
2802
2877
  this.match(CircuitScriptParser.Wire);
2803
- this.state = 498;
2878
+ this.state = 504;
2804
2879
  this.match(CircuitScriptParser.ID);
2805
- this.state = 502;
2880
+ this.state = 508;
2806
2881
  this._errHandler.sync(this);
2807
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2882
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2808
2883
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
2809
2884
  if (_alt === 1) {
2810
2885
  {
2811
2886
  {
2812
- this.state = 499;
2887
+ this.state = 505;
2813
2888
  _la = this._input.LA(1);
2814
- if(!(_la===36 || _la===37)) {
2889
+ if(!(_la===37 || _la===38)) {
2815
2890
  this._errHandler.recoverInline(this);
2816
2891
  }
2817
2892
  else {
@@ -2821,9 +2896,9 @@ export default class CircuitScriptParser extends Parser {
2821
2896
  }
2822
2897
  }
2823
2898
  }
2824
- this.state = 504;
2899
+ this.state = 510;
2825
2900
  this._errHandler.sync(this);
2826
- _alt = this._interp.adaptivePredict(this._input, 60, this._ctx);
2901
+ _alt = this._interp.adaptivePredict(this._input, 62, this._ctx);
2827
2902
  }
2828
2903
  }
2829
2904
  }
@@ -2848,9 +2923,9 @@ export default class CircuitScriptParser extends Parser {
2848
2923
  try {
2849
2924
  this.enterOuterAlt(localctx, 1);
2850
2925
  {
2851
- this.state = 505;
2926
+ this.state = 511;
2852
2927
  this.match(CircuitScriptParser.Point);
2853
- this.state = 506;
2928
+ this.state = 512;
2854
2929
  this.match(CircuitScriptParser.ID);
2855
2930
  }
2856
2931
  }
@@ -2875,9 +2950,9 @@ export default class CircuitScriptParser extends Parser {
2875
2950
  try {
2876
2951
  this.enterOuterAlt(localctx, 1);
2877
2952
  {
2878
- this.state = 508;
2953
+ this.state = 514;
2879
2954
  this.match(CircuitScriptParser.Import);
2880
- this.state = 509;
2955
+ this.state = 515;
2881
2956
  this.match(CircuitScriptParser.ID);
2882
2957
  }
2883
2958
  }
@@ -2903,25 +2978,25 @@ export default class CircuitScriptParser extends Parser {
2903
2978
  try {
2904
2979
  this.enterOuterAlt(localctx, 1);
2905
2980
  {
2906
- this.state = 511;
2981
+ this.state = 517;
2907
2982
  this.match(CircuitScriptParser.T__7);
2908
- this.state = 512;
2983
+ this.state = 518;
2909
2984
  this.match(CircuitScriptParser.T__0);
2910
- this.state = 513;
2985
+ this.state = 519;
2911
2986
  this.match(CircuitScriptParser.NEWLINE);
2912
- this.state = 514;
2987
+ this.state = 520;
2913
2988
  this.match(CircuitScriptParser.INDENT);
2914
- this.state = 517;
2989
+ this.state = 523;
2915
2990
  this._errHandler.sync(this);
2916
2991
  _la = this._input.LA(1);
2917
2992
  do {
2918
2993
  {
2919
- this.state = 517;
2994
+ this.state = 523;
2920
2995
  this._errHandler.sync(this);
2921
2996
  switch (this._input.LA(1)) {
2922
- case 44:
2997
+ case 45:
2923
2998
  {
2924
- this.state = 515;
2999
+ this.state = 521;
2925
3000
  this.match(CircuitScriptParser.NEWLINE);
2926
3001
  }
2927
3002
  break;
@@ -2934,14 +3009,15 @@ export default class CircuitScriptParser extends Parser {
2934
3009
  case 17:
2935
3010
  case 18:
2936
3011
  case 19:
3012
+ case 20:
2937
3013
  case 21:
2938
- case 22:
2939
3014
  case 23:
2940
- case 28:
2941
- case 30:
2942
- case 36:
3015
+ case 24:
3016
+ case 29:
3017
+ case 31:
3018
+ case 37:
2943
3019
  {
2944
- this.state = 516;
3020
+ this.state = 522;
2945
3021
  this.expression();
2946
3022
  }
2947
3023
  break;
@@ -2949,11 +3025,11 @@ export default class CircuitScriptParser extends Parser {
2949
3025
  throw new NoViableAltException(this);
2950
3026
  }
2951
3027
  }
2952
- this.state = 519;
3028
+ this.state = 525;
2953
3029
  this._errHandler.sync(this);
2954
3030
  _la = this._input.LA(1);
2955
- } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1357858576) !== 0) || _la===36 || _la===44);
2956
- this.state = 521;
3031
+ } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2713667344) !== 0) || _la===37 || _la===45);
3032
+ this.state = 527;
2957
3033
  this.match(CircuitScriptParser.DEDENT);
2958
3034
  }
2959
3035
  }
@@ -2991,7 +3067,7 @@ export default class CircuitScriptParser extends Parser {
2991
3067
  return true;
2992
3068
  }
2993
3069
 
2994
- public static readonly _serializedATN: number[] = [4,1,47,524,2,0,7,0,2,
3070
+ public static readonly _serializedATN: number[] = [4,1,48,530,2,0,7,0,2,
2995
3071
  1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,
2996
3072
  10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,
2997
3073
  7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,
@@ -3004,167 +3080,169 @@ export default class CircuitScriptParser extends Parser {
3004
3080
  12,3,137,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,4,4,148,8,4,11,4,12,4,149,1,4,
3005
3081
  1,4,1,5,1,5,1,5,1,5,1,6,1,6,3,6,160,8,6,1,6,3,6,163,8,6,1,7,1,7,1,7,3,7,
3006
3082
  168,8,7,1,8,1,8,3,8,172,8,8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,1,11,3,11,182,
3007
- 8,11,1,12,1,12,1,12,1,12,5,12,188,8,12,10,12,12,12,191,9,12,1,12,3,12,194,
3008
- 8,12,1,13,1,13,1,13,1,13,1,13,1,13,5,13,202,8,13,10,13,12,13,205,9,13,1,
3009
- 13,1,13,1,13,1,13,1,13,4,13,212,8,13,11,13,12,13,213,1,13,1,13,1,14,1,14,
3010
- 1,14,1,14,1,14,5,14,223,8,14,10,14,12,14,226,9,14,1,15,1,15,1,16,1,16,1,
3011
- 16,1,16,1,16,1,16,4,16,236,8,16,11,16,12,16,237,1,16,1,16,1,17,1,17,3,17,
3012
- 244,8,17,1,18,1,18,1,18,1,18,3,18,250,8,18,1,19,1,19,3,19,254,8,19,1,20,
3013
- 1,20,1,20,1,20,4,20,260,8,20,11,20,12,20,261,1,20,1,20,1,21,1,21,1,22,1,
3014
- 22,1,22,1,22,1,23,1,23,1,23,1,23,1,24,1,24,1,24,5,24,279,8,24,10,24,12,
3015
- 24,282,9,24,1,24,1,24,5,24,286,8,24,10,24,12,24,289,9,24,1,24,1,24,1,24,
3016
- 5,24,294,8,24,10,24,12,24,297,9,24,3,24,299,8,24,1,25,1,25,1,25,1,25,1,
3017
- 26,1,26,1,26,1,26,1,26,1,27,1,27,3,27,312,8,27,1,27,1,27,3,27,316,8,27,
3018
- 1,27,1,27,1,27,1,27,1,27,1,27,3,27,324,8,27,1,27,1,27,1,27,1,27,1,27,1,
3019
- 27,1,27,1,27,1,27,1,27,5,27,336,8,27,10,27,12,27,339,9,27,1,28,1,28,1,29,
3020
- 1,29,1,30,3,30,346,8,30,1,30,1,30,3,30,350,8,30,1,31,1,31,1,31,1,31,3,31,
3021
- 356,8,31,1,31,1,31,1,31,1,31,1,31,1,31,4,31,364,8,31,11,31,12,31,365,1,
3022
- 31,1,31,1,32,1,32,3,32,372,8,32,1,33,1,33,1,33,5,33,377,8,33,10,33,12,33,
3023
- 380,9,33,1,33,1,33,1,33,1,33,5,33,386,8,33,10,33,12,33,389,9,33,1,33,1,
3024
- 33,1,33,1,33,1,33,1,33,1,33,5,33,398,8,33,10,33,12,33,401,9,33,3,33,403,
3025
- 8,33,1,34,3,34,406,8,34,1,34,1,34,5,34,410,8,34,10,34,12,34,413,9,34,1,
3026
- 35,1,35,3,35,417,8,35,1,35,1,35,1,35,3,35,422,8,35,1,36,3,36,425,8,36,1,
3027
- 36,1,36,3,36,429,8,36,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,
3028
- 4,38,441,8,38,11,38,12,38,442,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1,
3029
- 39,4,39,454,8,39,11,39,12,39,455,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,
3030
- 1,40,3,40,467,8,40,1,41,1,41,1,41,1,41,1,42,1,42,1,43,1,43,1,43,1,43,4,
3031
- 43,479,8,43,11,43,12,43,480,1,43,1,43,1,43,1,43,5,43,487,8,43,10,43,12,
3032
- 43,490,9,43,3,43,492,8,43,1,44,1,44,1,44,1,44,1,45,1,45,1,45,5,45,501,8,
3033
- 45,10,45,12,45,504,9,45,1,46,1,46,1,46,1,47,1,47,1,47,1,48,1,48,1,48,1,
3034
- 48,1,48,1,48,4,48,518,8,48,11,48,12,48,519,1,48,1,48,1,48,0,1,54,49,0,2,
3035
- 4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,
3036
- 54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,0,11,
3037
- 2,0,10,10,23,23,1,0,36,37,2,0,37,37,40,40,2,0,34,34,37,37,1,0,30,31,1,0,
3038
- 28,29,1,0,26,27,2,0,25,25,29,29,2,0,35,35,37,41,2,0,15,15,36,36,2,0,36,
3039
- 37,40,40,554,0,100,1,0,0,0,2,122,1,0,0,0,4,125,1,0,0,0,6,129,1,0,0,0,8,
3040
- 141,1,0,0,0,10,153,1,0,0,0,12,159,1,0,0,0,14,164,1,0,0,0,16,171,1,0,0,0,
3041
- 18,173,1,0,0,0,20,176,1,0,0,0,22,178,1,0,0,0,24,183,1,0,0,0,26,195,1,0,
3042
- 0,0,28,217,1,0,0,0,30,227,1,0,0,0,32,229,1,0,0,0,34,243,1,0,0,0,36,245,
3043
- 1,0,0,0,38,253,1,0,0,0,40,255,1,0,0,0,42,265,1,0,0,0,44,267,1,0,0,0,46,
3044
- 271,1,0,0,0,48,298,1,0,0,0,50,300,1,0,0,0,52,304,1,0,0,0,54,323,1,0,0,0,
3045
- 56,340,1,0,0,0,58,342,1,0,0,0,60,349,1,0,0,0,62,351,1,0,0,0,64,371,1,0,
3046
- 0,0,66,402,1,0,0,0,68,405,1,0,0,0,70,421,1,0,0,0,72,424,1,0,0,0,74,430,
3047
- 1,0,0,0,76,433,1,0,0,0,78,446,1,0,0,0,80,459,1,0,0,0,82,468,1,0,0,0,84,
3048
- 472,1,0,0,0,86,491,1,0,0,0,88,493,1,0,0,0,90,497,1,0,0,0,92,505,1,0,0,0,
3049
- 94,508,1,0,0,0,96,511,1,0,0,0,98,101,3,2,1,0,99,101,5,44,0,0,100,98,1,0,
3050
- 0,0,100,99,1,0,0,0,101,102,1,0,0,0,102,100,1,0,0,0,102,103,1,0,0,0,103,
3051
- 104,1,0,0,0,104,105,5,0,0,1,105,1,1,0,0,0,106,123,3,14,7,0,107,123,3,24,
3052
- 12,0,108,123,3,22,11,0,109,123,3,44,22,0,110,123,3,50,25,0,111,123,3,8,
3053
- 4,0,112,123,3,52,26,0,113,123,3,42,21,0,114,123,3,62,31,0,115,123,3,90,
3054
- 45,0,116,123,3,92,46,0,117,123,3,94,47,0,118,123,3,96,48,0,119,123,3,68,
3055
- 34,0,120,123,3,32,16,0,121,123,3,4,2,0,122,106,1,0,0,0,122,107,1,0,0,0,
3056
- 122,108,1,0,0,0,122,109,1,0,0,0,122,110,1,0,0,0,122,111,1,0,0,0,122,112,
3057
- 1,0,0,0,122,113,1,0,0,0,122,114,1,0,0,0,122,115,1,0,0,0,122,116,1,0,0,0,
3058
- 122,117,1,0,0,0,122,118,1,0,0,0,122,119,1,0,0,0,122,120,1,0,0,0,122,121,
3059
- 1,0,0,0,123,3,1,0,0,0,124,126,3,6,3,0,125,124,1,0,0,0,126,127,1,0,0,0,127,
3060
- 125,1,0,0,0,127,128,1,0,0,0,128,5,1,0,0,0,129,130,7,0,0,0,130,131,5,1,0,
3061
- 0,131,132,5,44,0,0,132,135,5,46,0,0,133,136,5,44,0,0,134,136,3,2,1,0,135,
3062
- 133,1,0,0,0,135,134,1,0,0,0,136,137,1,0,0,0,137,135,1,0,0,0,137,138,1,0,
3063
- 0,0,138,139,1,0,0,0,139,140,5,47,0,0,140,7,1,0,0,0,141,142,3,68,34,0,142,
3064
- 143,5,1,0,0,143,144,5,44,0,0,144,147,5,46,0,0,145,148,5,44,0,0,146,148,
3065
- 3,10,5,0,147,145,1,0,0,0,147,146,1,0,0,0,148,149,1,0,0,0,149,147,1,0,0,
3066
- 0,149,150,1,0,0,0,150,151,1,0,0,0,151,152,5,47,0,0,152,9,1,0,0,0,153,154,
3067
- 7,1,0,0,154,155,5,1,0,0,155,156,3,60,30,0,156,11,1,0,0,0,157,160,3,54,27,
3068
- 0,158,160,3,44,22,0,159,157,1,0,0,0,159,158,1,0,0,0,160,162,1,0,0,0,161,
3069
- 163,3,18,9,0,162,161,1,0,0,0,162,163,1,0,0,0,163,13,1,0,0,0,164,165,5,16,
3070
- 0,0,165,167,3,12,6,0,166,168,5,36,0,0,167,166,1,0,0,0,167,168,1,0,0,0,168,
3071
- 15,1,0,0,0,169,172,3,12,6,0,170,172,3,18,9,0,171,169,1,0,0,0,171,170,1,
3072
- 0,0,0,172,17,1,0,0,0,173,174,5,15,0,0,174,175,7,2,0,0,175,19,1,0,0,0,176,
3073
- 177,7,2,0,0,177,21,1,0,0,0,178,179,5,17,0,0,179,181,3,16,8,0,180,182,5,
3074
- 36,0,0,181,180,1,0,0,0,181,182,1,0,0,0,182,23,1,0,0,0,183,184,5,18,0,0,
3075
- 184,189,3,16,8,0,185,186,5,2,0,0,186,188,3,16,8,0,187,185,1,0,0,0,188,191,
3076
- 1,0,0,0,189,187,1,0,0,0,189,190,1,0,0,0,190,193,1,0,0,0,191,189,1,0,0,0,
3077
- 192,194,5,36,0,0,193,192,1,0,0,0,193,194,1,0,0,0,194,25,1,0,0,0,195,196,
3078
- 5,17,0,0,196,197,3,16,8,0,197,198,5,18,0,0,198,203,3,16,8,0,199,200,5,2,
3079
- 0,0,200,202,3,16,8,0,201,199,1,0,0,0,202,205,1,0,0,0,203,201,1,0,0,0,203,
3080
- 204,1,0,0,0,204,206,1,0,0,0,205,203,1,0,0,0,206,207,5,1,0,0,207,208,5,44,
3081
- 0,0,208,211,5,46,0,0,209,212,5,44,0,0,210,212,3,28,14,0,211,209,1,0,0,0,
3082
- 211,210,1,0,0,0,212,213,1,0,0,0,213,211,1,0,0,0,213,214,1,0,0,0,214,215,
3083
- 1,0,0,0,215,216,5,47,0,0,216,27,1,0,0,0,217,218,3,20,10,0,218,219,5,1,0,
3084
- 0,219,224,3,30,15,0,220,221,5,2,0,0,221,223,3,30,15,0,222,220,1,0,0,0,223,
3085
- 226,1,0,0,0,224,222,1,0,0,0,224,225,1,0,0,0,225,29,1,0,0,0,226,224,1,0,
3086
- 0,0,227,228,7,3,0,0,228,31,1,0,0,0,229,230,3,22,11,0,230,231,5,1,0,0,231,
3087
- 232,5,44,0,0,232,235,5,46,0,0,233,236,5,44,0,0,234,236,3,34,17,0,235,233,
3088
- 1,0,0,0,235,234,1,0,0,0,236,237,1,0,0,0,237,235,1,0,0,0,237,238,1,0,0,0,
3089
- 238,239,1,0,0,0,239,240,5,47,0,0,240,33,1,0,0,0,241,244,3,2,1,0,242,244,
3090
- 3,36,18,0,243,241,1,0,0,0,243,242,1,0,0,0,244,35,1,0,0,0,245,246,3,20,10,
3091
- 0,246,249,5,1,0,0,247,250,3,38,19,0,248,250,3,40,20,0,249,247,1,0,0,0,249,
3092
- 248,1,0,0,0,250,37,1,0,0,0,251,254,3,2,1,0,252,254,5,34,0,0,253,251,1,0,
3093
- 0,0,253,252,1,0,0,0,254,39,1,0,0,0,255,256,5,44,0,0,256,259,5,46,0,0,257,
3094
- 260,5,44,0,0,258,260,3,2,1,0,259,257,1,0,0,0,259,258,1,0,0,0,260,261,1,
3095
- 0,0,0,261,259,1,0,0,0,261,262,1,0,0,0,262,263,1,0,0,0,263,264,5,47,0,0,
3096
- 264,41,1,0,0,0,265,266,5,9,0,0,266,43,1,0,0,0,267,268,3,68,34,0,268,269,
3097
- 5,3,0,0,269,270,3,54,27,0,270,45,1,0,0,0,271,272,5,36,0,0,272,273,5,3,0,
3098
- 0,273,274,3,54,27,0,274,47,1,0,0,0,275,280,3,54,27,0,276,277,5,2,0,0,277,
3099
- 279,3,54,27,0,278,276,1,0,0,0,279,282,1,0,0,0,280,278,1,0,0,0,280,281,1,
3100
- 0,0,0,281,287,1,0,0,0,282,280,1,0,0,0,283,284,5,2,0,0,284,286,3,46,23,0,
3101
- 285,283,1,0,0,0,286,289,1,0,0,0,287,285,1,0,0,0,287,288,1,0,0,0,288,299,
3102
- 1,0,0,0,289,287,1,0,0,0,290,295,3,46,23,0,291,292,5,2,0,0,292,294,3,46,
3103
- 23,0,293,291,1,0,0,0,294,297,1,0,0,0,295,293,1,0,0,0,295,296,1,0,0,0,296,
3104
- 299,1,0,0,0,297,295,1,0,0,0,298,275,1,0,0,0,298,290,1,0,0,0,299,49,1,0,
3105
- 0,0,300,301,3,68,34,0,301,302,5,3,0,0,302,303,3,54,27,0,303,51,1,0,0,0,
3106
- 304,305,5,4,0,0,305,306,5,36,0,0,306,307,5,3,0,0,307,308,3,54,27,0,308,
3107
- 53,1,0,0,0,309,311,6,27,-1,0,310,312,3,58,29,0,311,310,1,0,0,0,311,312,
3108
- 1,0,0,0,312,315,1,0,0,0,313,316,3,60,30,0,314,316,3,68,34,0,315,313,1,0,
3109
- 0,0,315,314,1,0,0,0,316,324,1,0,0,0,317,318,5,32,0,0,318,319,3,54,27,0,
3110
- 319,320,5,33,0,0,320,324,1,0,0,0,321,324,3,76,38,0,322,324,3,78,39,0,323,
3111
- 309,1,0,0,0,323,317,1,0,0,0,323,321,1,0,0,0,323,322,1,0,0,0,324,337,1,0,
3112
- 0,0,325,326,10,5,0,0,326,327,7,4,0,0,327,336,3,54,27,6,328,329,10,4,0,0,
3113
- 329,330,7,5,0,0,330,336,3,54,27,5,331,332,10,3,0,0,332,333,3,56,28,0,333,
3114
- 334,3,54,27,4,334,336,1,0,0,0,335,325,1,0,0,0,335,328,1,0,0,0,335,331,1,
3115
- 0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,55,1,0,0,0,339,
3116
- 337,1,0,0,0,340,341,7,6,0,0,341,57,1,0,0,0,342,343,7,7,0,0,343,59,1,0,0,
3117
- 0,344,346,5,29,0,0,345,344,1,0,0,0,345,346,1,0,0,0,346,347,1,0,0,0,347,
3118
- 350,7,8,0,0,348,350,3,88,44,0,349,345,1,0,0,0,349,348,1,0,0,0,350,61,1,
3119
- 0,0,0,351,352,5,21,0,0,352,353,5,36,0,0,353,355,5,32,0,0,354,356,3,66,33,
3120
- 0,355,354,1,0,0,0,355,356,1,0,0,0,356,357,1,0,0,0,357,358,5,33,0,0,358,
3121
- 359,5,1,0,0,359,360,5,44,0,0,360,363,5,46,0,0,361,364,5,44,0,0,362,364,
3122
- 3,64,32,0,363,361,1,0,0,0,363,362,1,0,0,0,364,365,1,0,0,0,365,363,1,0,0,
3123
- 0,365,366,1,0,0,0,366,367,1,0,0,0,367,368,5,47,0,0,368,63,1,0,0,0,369,372,
3124
- 3,2,1,0,370,372,3,74,37,0,371,369,1,0,0,0,371,370,1,0,0,0,372,65,1,0,0,
3125
- 0,373,378,5,36,0,0,374,375,5,2,0,0,375,377,5,36,0,0,376,374,1,0,0,0,377,
3126
- 380,1,0,0,0,378,376,1,0,0,0,378,379,1,0,0,0,379,387,1,0,0,0,380,378,1,0,
3127
- 0,0,381,382,5,2,0,0,382,383,5,36,0,0,383,384,5,3,0,0,384,386,3,60,30,0,
3128
- 385,381,1,0,0,0,386,389,1,0,0,0,387,385,1,0,0,0,387,388,1,0,0,0,388,403,
3129
- 1,0,0,0,389,387,1,0,0,0,390,391,5,36,0,0,391,392,5,3,0,0,392,399,3,60,30,
3130
- 0,393,394,5,2,0,0,394,395,5,36,0,0,395,396,5,3,0,0,396,398,3,60,30,0,397,
3131
- 393,1,0,0,0,398,401,1,0,0,0,399,397,1,0,0,0,399,400,1,0,0,0,400,403,1,0,
3132
- 0,0,401,399,1,0,0,0,402,373,1,0,0,0,402,390,1,0,0,0,403,67,1,0,0,0,404,
3133
- 406,3,72,36,0,405,404,1,0,0,0,405,406,1,0,0,0,406,407,1,0,0,0,407,411,5,
3134
- 36,0,0,408,410,3,70,35,0,409,408,1,0,0,0,410,413,1,0,0,0,411,409,1,0,0,
3135
- 0,411,412,1,0,0,0,412,69,1,0,0,0,413,411,1,0,0,0,414,416,5,32,0,0,415,417,
3136
- 3,48,24,0,416,415,1,0,0,0,416,417,1,0,0,0,417,418,1,0,0,0,418,422,5,33,
3137
- 0,0,419,420,5,5,0,0,420,422,5,36,0,0,421,414,1,0,0,0,421,419,1,0,0,0,422,
3138
- 71,1,0,0,0,423,425,5,28,0,0,424,423,1,0,0,0,424,425,1,0,0,0,425,426,1,0,
3139
- 0,0,426,428,5,30,0,0,427,429,3,54,27,0,428,427,1,0,0,0,428,429,1,0,0,0,
3140
- 429,73,1,0,0,0,430,431,5,20,0,0,431,432,3,54,27,0,432,75,1,0,0,0,433,434,
3141
- 5,11,0,0,434,435,5,12,0,0,435,436,5,1,0,0,436,437,5,44,0,0,437,440,5,46,
3142
- 0,0,438,441,5,44,0,0,439,441,3,82,41,0,440,438,1,0,0,0,440,439,1,0,0,0,
3143
- 441,442,1,0,0,0,442,440,1,0,0,0,442,443,1,0,0,0,443,444,1,0,0,0,444,445,
3144
- 5,47,0,0,445,77,1,0,0,0,446,447,5,11,0,0,447,448,5,13,0,0,448,449,5,1,0,
3145
- 0,449,450,5,44,0,0,450,453,5,46,0,0,451,454,5,44,0,0,452,454,3,80,40,0,
3146
- 453,451,1,0,0,0,453,452,1,0,0,0,454,455,1,0,0,0,455,453,1,0,0,0,455,456,
3147
- 1,0,0,0,456,457,1,0,0,0,457,458,5,47,0,0,458,79,1,0,0,0,459,460,7,9,0,0,
3148
- 460,466,5,1,0,0,461,467,3,48,24,0,462,463,5,32,0,0,463,464,3,48,24,0,464,
3149
- 465,5,33,0,0,465,467,1,0,0,0,466,461,1,0,0,0,466,462,1,0,0,0,467,81,1,0,
3150
- 0,0,468,469,3,84,42,0,469,470,5,1,0,0,470,471,3,86,43,0,471,83,1,0,0,0,
3151
- 472,473,7,10,0,0,473,85,1,0,0,0,474,475,5,44,0,0,475,478,5,46,0,0,476,479,
3152
- 5,44,0,0,477,479,3,82,41,0,478,476,1,0,0,0,478,477,1,0,0,0,479,480,1,0,
3153
- 0,0,480,478,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,492,5,47,0,0,483,
3154
- 488,3,54,27,0,484,485,5,2,0,0,485,487,3,54,27,0,486,484,1,0,0,0,487,490,
3155
- 1,0,0,0,488,486,1,0,0,0,488,489,1,0,0,0,489,492,1,0,0,0,490,488,1,0,0,0,
3156
- 491,474,1,0,0,0,491,483,1,0,0,0,492,87,1,0,0,0,493,494,5,6,0,0,494,495,
3157
- 5,37,0,0,495,496,5,7,0,0,496,89,1,0,0,0,497,498,5,14,0,0,498,502,5,36,0,
3158
- 0,499,501,7,1,0,0,500,499,1,0,0,0,501,504,1,0,0,0,502,500,1,0,0,0,502,503,
3159
- 1,0,0,0,503,91,1,0,0,0,504,502,1,0,0,0,505,506,5,19,0,0,506,507,5,36,0,
3160
- 0,507,93,1,0,0,0,508,509,5,22,0,0,509,510,5,36,0,0,510,95,1,0,0,0,511,512,
3161
- 5,8,0,0,512,513,5,1,0,0,513,514,5,44,0,0,514,517,5,46,0,0,515,518,5,44,
3162
- 0,0,516,518,3,2,1,0,517,515,1,0,0,0,517,516,1,0,0,0,518,519,1,0,0,0,519,
3163
- 517,1,0,0,0,519,520,1,0,0,0,520,521,1,0,0,0,521,522,5,47,0,0,522,97,1,0,
3164
- 0,0,63,100,102,122,127,135,137,147,149,159,162,167,171,181,189,193,203,
3165
- 211,213,224,235,237,243,249,253,259,261,280,287,295,298,311,315,323,335,
3166
- 337,345,349,355,363,365,371,378,387,399,402,405,411,416,421,424,428,440,
3167
- 442,453,455,466,478,480,488,491,502,517,519];
3083
+ 8,11,1,11,3,11,185,8,11,1,12,1,12,1,12,1,12,5,12,191,8,12,10,12,12,12,194,
3084
+ 9,12,1,12,3,12,197,8,12,1,12,3,12,200,8,12,1,13,1,13,1,13,1,13,1,13,1,13,
3085
+ 5,13,208,8,13,10,13,12,13,211,9,13,1,13,1,13,1,13,1,13,1,13,4,13,218,8,
3086
+ 13,11,13,12,13,219,1,13,1,13,1,14,1,14,1,14,1,14,1,14,5,14,229,8,14,10,
3087
+ 14,12,14,232,9,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,4,16,242,8,16,
3088
+ 11,16,12,16,243,1,16,1,16,1,17,1,17,3,17,250,8,17,1,18,1,18,1,18,1,18,3,
3089
+ 18,256,8,18,1,19,1,19,3,19,260,8,19,1,20,1,20,1,20,1,20,4,20,266,8,20,11,
3090
+ 20,12,20,267,1,20,1,20,1,21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,
3091
+ 1,24,1,24,1,24,5,24,285,8,24,10,24,12,24,288,9,24,1,24,1,24,5,24,292,8,
3092
+ 24,10,24,12,24,295,9,24,1,24,1,24,1,24,5,24,300,8,24,10,24,12,24,303,9,
3093
+ 24,3,24,305,8,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,
3094
+ 3,27,318,8,27,1,27,1,27,3,27,322,8,27,1,27,1,27,1,27,1,27,1,27,1,27,3,27,
3095
+ 330,8,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,5,27,342,8,27,
3096
+ 10,27,12,27,345,9,27,1,28,1,28,1,29,1,29,1,30,3,30,352,8,30,1,30,1,30,3,
3097
+ 30,356,8,30,1,31,1,31,1,31,1,31,3,31,362,8,31,1,31,1,31,1,31,1,31,1,31,
3098
+ 1,31,4,31,370,8,31,11,31,12,31,371,1,31,1,31,1,32,1,32,3,32,378,8,32,1,
3099
+ 33,1,33,1,33,5,33,383,8,33,10,33,12,33,386,9,33,1,33,1,33,1,33,1,33,5,33,
3100
+ 392,8,33,10,33,12,33,395,9,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,5,33,404,
3101
+ 8,33,10,33,12,33,407,9,33,3,33,409,8,33,1,34,3,34,412,8,34,1,34,1,34,5,
3102
+ 34,416,8,34,10,34,12,34,419,9,34,1,35,1,35,3,35,423,8,35,1,35,1,35,1,35,
3103
+ 3,35,428,8,35,1,36,3,36,431,8,36,1,36,1,36,3,36,435,8,36,1,37,1,37,1,37,
3104
+ 1,38,1,38,1,38,1,38,1,38,1,38,1,38,4,38,447,8,38,11,38,12,38,448,1,38,1,
3105
+ 38,1,39,1,39,1,39,1,39,1,39,1,39,1,39,4,39,460,8,39,11,39,12,39,461,1,39,
3106
+ 1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,40,3,40,473,8,40,1,41,1,41,1,41,1,
3107
+ 41,1,42,1,42,1,43,1,43,1,43,1,43,4,43,485,8,43,11,43,12,43,486,1,43,1,43,
3108
+ 1,43,1,43,5,43,493,8,43,10,43,12,43,496,9,43,3,43,498,8,43,1,44,1,44,1,
3109
+ 44,1,44,1,45,1,45,1,45,5,45,507,8,45,10,45,12,45,510,9,45,1,46,1,46,1,46,
3110
+ 1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,4,48,524,8,48,11,48,12,48,
3111
+ 525,1,48,1,48,1,48,0,1,54,49,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,
3112
+ 32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,
3113
+ 80,82,84,86,88,90,92,94,96,0,11,2,0,10,10,19,21,1,0,37,38,2,0,38,38,41,
3114
+ 41,2,0,35,35,38,38,1,0,31,32,1,0,29,30,1,0,27,28,2,0,26,26,30,30,2,0,36,
3115
+ 36,38,42,2,0,15,15,37,37,2,0,37,38,41,41,562,0,100,1,0,0,0,2,122,1,0,0,
3116
+ 0,4,125,1,0,0,0,6,129,1,0,0,0,8,141,1,0,0,0,10,153,1,0,0,0,12,159,1,0,0,
3117
+ 0,14,164,1,0,0,0,16,171,1,0,0,0,18,173,1,0,0,0,20,176,1,0,0,0,22,178,1,
3118
+ 0,0,0,24,186,1,0,0,0,26,201,1,0,0,0,28,223,1,0,0,0,30,233,1,0,0,0,32,235,
3119
+ 1,0,0,0,34,249,1,0,0,0,36,251,1,0,0,0,38,259,1,0,0,0,40,261,1,0,0,0,42,
3120
+ 271,1,0,0,0,44,273,1,0,0,0,46,277,1,0,0,0,48,304,1,0,0,0,50,306,1,0,0,0,
3121
+ 52,310,1,0,0,0,54,329,1,0,0,0,56,346,1,0,0,0,58,348,1,0,0,0,60,355,1,0,
3122
+ 0,0,62,357,1,0,0,0,64,377,1,0,0,0,66,408,1,0,0,0,68,411,1,0,0,0,70,427,
3123
+ 1,0,0,0,72,430,1,0,0,0,74,436,1,0,0,0,76,439,1,0,0,0,78,452,1,0,0,0,80,
3124
+ 465,1,0,0,0,82,474,1,0,0,0,84,478,1,0,0,0,86,497,1,0,0,0,88,499,1,0,0,0,
3125
+ 90,503,1,0,0,0,92,511,1,0,0,0,94,514,1,0,0,0,96,517,1,0,0,0,98,101,3,2,
3126
+ 1,0,99,101,5,45,0,0,100,98,1,0,0,0,100,99,1,0,0,0,101,102,1,0,0,0,102,100,
3127
+ 1,0,0,0,102,103,1,0,0,0,103,104,1,0,0,0,104,105,5,0,0,1,105,1,1,0,0,0,106,
3128
+ 123,3,14,7,0,107,123,3,24,12,0,108,123,3,22,11,0,109,123,3,44,22,0,110,
3129
+ 123,3,50,25,0,111,123,3,8,4,0,112,123,3,52,26,0,113,123,3,42,21,0,114,123,
3130
+ 3,62,31,0,115,123,3,90,45,0,116,123,3,94,47,0,117,123,3,96,48,0,118,123,
3131
+ 3,68,34,0,119,123,3,32,16,0,120,123,3,4,2,0,121,123,3,92,46,0,122,106,1,
3132
+ 0,0,0,122,107,1,0,0,0,122,108,1,0,0,0,122,109,1,0,0,0,122,110,1,0,0,0,122,
3133
+ 111,1,0,0,0,122,112,1,0,0,0,122,113,1,0,0,0,122,114,1,0,0,0,122,115,1,0,
3134
+ 0,0,122,116,1,0,0,0,122,117,1,0,0,0,122,118,1,0,0,0,122,119,1,0,0,0,122,
3135
+ 120,1,0,0,0,122,121,1,0,0,0,123,3,1,0,0,0,124,126,3,6,3,0,125,124,1,0,0,
3136
+ 0,126,127,1,0,0,0,127,125,1,0,0,0,127,128,1,0,0,0,128,5,1,0,0,0,129,130,
3137
+ 7,0,0,0,130,131,5,1,0,0,131,132,5,45,0,0,132,135,5,47,0,0,133,136,5,45,
3138
+ 0,0,134,136,3,2,1,0,135,133,1,0,0,0,135,134,1,0,0,0,136,137,1,0,0,0,137,
3139
+ 135,1,0,0,0,137,138,1,0,0,0,138,139,1,0,0,0,139,140,5,48,0,0,140,7,1,0,
3140
+ 0,0,141,142,3,68,34,0,142,143,5,1,0,0,143,144,5,45,0,0,144,147,5,47,0,0,
3141
+ 145,148,5,45,0,0,146,148,3,10,5,0,147,145,1,0,0,0,147,146,1,0,0,0,148,149,
3142
+ 1,0,0,0,149,147,1,0,0,0,149,150,1,0,0,0,150,151,1,0,0,0,151,152,5,48,0,
3143
+ 0,152,9,1,0,0,0,153,154,7,1,0,0,154,155,5,1,0,0,155,156,3,60,30,0,156,11,
3144
+ 1,0,0,0,157,160,3,54,27,0,158,160,3,44,22,0,159,157,1,0,0,0,159,158,1,0,
3145
+ 0,0,160,162,1,0,0,0,161,163,3,18,9,0,162,161,1,0,0,0,162,163,1,0,0,0,163,
3146
+ 13,1,0,0,0,164,165,5,16,0,0,165,167,3,12,6,0,166,168,5,37,0,0,167,166,1,
3147
+ 0,0,0,167,168,1,0,0,0,168,15,1,0,0,0,169,172,3,12,6,0,170,172,3,18,9,0,
3148
+ 171,169,1,0,0,0,171,170,1,0,0,0,172,17,1,0,0,0,173,174,5,15,0,0,174,175,
3149
+ 7,2,0,0,175,19,1,0,0,0,176,177,7,2,0,0,177,21,1,0,0,0,178,184,5,17,0,0,
3150
+ 179,181,3,16,8,0,180,182,5,37,0,0,181,180,1,0,0,0,181,182,1,0,0,0,182,185,
3151
+ 1,0,0,0,183,185,5,19,0,0,184,179,1,0,0,0,184,183,1,0,0,0,185,23,1,0,0,0,
3152
+ 186,199,5,18,0,0,187,192,3,16,8,0,188,189,5,2,0,0,189,191,3,16,8,0,190,
3153
+ 188,1,0,0,0,191,194,1,0,0,0,192,190,1,0,0,0,192,193,1,0,0,0,193,196,1,0,
3154
+ 0,0,194,192,1,0,0,0,195,197,5,37,0,0,196,195,1,0,0,0,196,197,1,0,0,0,197,
3155
+ 200,1,0,0,0,198,200,5,19,0,0,199,187,1,0,0,0,199,198,1,0,0,0,200,25,1,0,
3156
+ 0,0,201,202,5,17,0,0,202,203,3,16,8,0,203,204,5,18,0,0,204,209,3,16,8,0,
3157
+ 205,206,5,2,0,0,206,208,3,16,8,0,207,205,1,0,0,0,208,211,1,0,0,0,209,207,
3158
+ 1,0,0,0,209,210,1,0,0,0,210,212,1,0,0,0,211,209,1,0,0,0,212,213,5,1,0,0,
3159
+ 213,214,5,45,0,0,214,217,5,47,0,0,215,218,5,45,0,0,216,218,3,28,14,0,217,
3160
+ 215,1,0,0,0,217,216,1,0,0,0,218,219,1,0,0,0,219,217,1,0,0,0,219,220,1,0,
3161
+ 0,0,220,221,1,0,0,0,221,222,5,48,0,0,222,27,1,0,0,0,223,224,3,20,10,0,224,
3162
+ 225,5,1,0,0,225,230,3,30,15,0,226,227,5,2,0,0,227,229,3,30,15,0,228,226,
3163
+ 1,0,0,0,229,232,1,0,0,0,230,228,1,0,0,0,230,231,1,0,0,0,231,29,1,0,0,0,
3164
+ 232,230,1,0,0,0,233,234,7,3,0,0,234,31,1,0,0,0,235,236,3,22,11,0,236,237,
3165
+ 5,1,0,0,237,238,5,45,0,0,238,241,5,47,0,0,239,242,5,45,0,0,240,242,3,34,
3166
+ 17,0,241,239,1,0,0,0,241,240,1,0,0,0,242,243,1,0,0,0,243,241,1,0,0,0,243,
3167
+ 244,1,0,0,0,244,245,1,0,0,0,245,246,5,48,0,0,246,33,1,0,0,0,247,250,3,2,
3168
+ 1,0,248,250,3,36,18,0,249,247,1,0,0,0,249,248,1,0,0,0,250,35,1,0,0,0,251,
3169
+ 252,3,20,10,0,252,255,5,1,0,0,253,256,3,38,19,0,254,256,3,40,20,0,255,253,
3170
+ 1,0,0,0,255,254,1,0,0,0,256,37,1,0,0,0,257,260,3,2,1,0,258,260,5,35,0,0,
3171
+ 259,257,1,0,0,0,259,258,1,0,0,0,260,39,1,0,0,0,261,262,5,45,0,0,262,265,
3172
+ 5,47,0,0,263,266,5,45,0,0,264,266,3,2,1,0,265,263,1,0,0,0,265,264,1,0,0,
3173
+ 0,266,267,1,0,0,0,267,265,1,0,0,0,267,268,1,0,0,0,268,269,1,0,0,0,269,270,
3174
+ 5,48,0,0,270,41,1,0,0,0,271,272,5,9,0,0,272,43,1,0,0,0,273,274,3,68,34,
3175
+ 0,274,275,5,3,0,0,275,276,3,54,27,0,276,45,1,0,0,0,277,278,5,37,0,0,278,
3176
+ 279,5,3,0,0,279,280,3,54,27,0,280,47,1,0,0,0,281,286,3,54,27,0,282,283,
3177
+ 5,2,0,0,283,285,3,54,27,0,284,282,1,0,0,0,285,288,1,0,0,0,286,284,1,0,0,
3178
+ 0,286,287,1,0,0,0,287,293,1,0,0,0,288,286,1,0,0,0,289,290,5,2,0,0,290,292,
3179
+ 3,46,23,0,291,289,1,0,0,0,292,295,1,0,0,0,293,291,1,0,0,0,293,294,1,0,0,
3180
+ 0,294,305,1,0,0,0,295,293,1,0,0,0,296,301,3,46,23,0,297,298,5,2,0,0,298,
3181
+ 300,3,46,23,0,299,297,1,0,0,0,300,303,1,0,0,0,301,299,1,0,0,0,301,302,1,
3182
+ 0,0,0,302,305,1,0,0,0,303,301,1,0,0,0,304,281,1,0,0,0,304,296,1,0,0,0,305,
3183
+ 49,1,0,0,0,306,307,3,68,34,0,307,308,5,3,0,0,308,309,3,54,27,0,309,51,1,
3184
+ 0,0,0,310,311,5,4,0,0,311,312,5,37,0,0,312,313,5,3,0,0,313,314,3,54,27,
3185
+ 0,314,53,1,0,0,0,315,317,6,27,-1,0,316,318,3,58,29,0,317,316,1,0,0,0,317,
3186
+ 318,1,0,0,0,318,321,1,0,0,0,319,322,3,60,30,0,320,322,3,68,34,0,321,319,
3187
+ 1,0,0,0,321,320,1,0,0,0,322,330,1,0,0,0,323,324,5,33,0,0,324,325,3,54,27,
3188
+ 0,325,326,5,34,0,0,326,330,1,0,0,0,327,330,3,76,38,0,328,330,3,78,39,0,
3189
+ 329,315,1,0,0,0,329,323,1,0,0,0,329,327,1,0,0,0,329,328,1,0,0,0,330,343,
3190
+ 1,0,0,0,331,332,10,5,0,0,332,333,7,4,0,0,333,342,3,54,27,6,334,335,10,4,
3191
+ 0,0,335,336,7,5,0,0,336,342,3,54,27,5,337,338,10,3,0,0,338,339,3,56,28,
3192
+ 0,339,340,3,54,27,4,340,342,1,0,0,0,341,331,1,0,0,0,341,334,1,0,0,0,341,
3193
+ 337,1,0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,55,1,0,
3194
+ 0,0,345,343,1,0,0,0,346,347,7,6,0,0,347,57,1,0,0,0,348,349,7,7,0,0,349,
3195
+ 59,1,0,0,0,350,352,5,30,0,0,351,350,1,0,0,0,351,352,1,0,0,0,352,353,1,0,
3196
+ 0,0,353,356,7,8,0,0,354,356,3,88,44,0,355,351,1,0,0,0,355,354,1,0,0,0,356,
3197
+ 61,1,0,0,0,357,358,5,23,0,0,358,359,5,37,0,0,359,361,5,33,0,0,360,362,3,
3198
+ 66,33,0,361,360,1,0,0,0,361,362,1,0,0,0,362,363,1,0,0,0,363,364,5,34,0,
3199
+ 0,364,365,5,1,0,0,365,366,5,45,0,0,366,369,5,47,0,0,367,370,5,45,0,0,368,
3200
+ 370,3,64,32,0,369,367,1,0,0,0,369,368,1,0,0,0,370,371,1,0,0,0,371,369,1,
3201
+ 0,0,0,371,372,1,0,0,0,372,373,1,0,0,0,373,374,5,48,0,0,374,63,1,0,0,0,375,
3202
+ 378,3,2,1,0,376,378,3,74,37,0,377,375,1,0,0,0,377,376,1,0,0,0,378,65,1,
3203
+ 0,0,0,379,384,5,37,0,0,380,381,5,2,0,0,381,383,5,37,0,0,382,380,1,0,0,0,
3204
+ 383,386,1,0,0,0,384,382,1,0,0,0,384,385,1,0,0,0,385,393,1,0,0,0,386,384,
3205
+ 1,0,0,0,387,388,5,2,0,0,388,389,5,37,0,0,389,390,5,3,0,0,390,392,3,60,30,
3206
+ 0,391,387,1,0,0,0,392,395,1,0,0,0,393,391,1,0,0,0,393,394,1,0,0,0,394,409,
3207
+ 1,0,0,0,395,393,1,0,0,0,396,397,5,37,0,0,397,398,5,3,0,0,398,405,3,60,30,
3208
+ 0,399,400,5,2,0,0,400,401,5,37,0,0,401,402,5,3,0,0,402,404,3,60,30,0,403,
3209
+ 399,1,0,0,0,404,407,1,0,0,0,405,403,1,0,0,0,405,406,1,0,0,0,406,409,1,0,
3210
+ 0,0,407,405,1,0,0,0,408,379,1,0,0,0,408,396,1,0,0,0,409,67,1,0,0,0,410,
3211
+ 412,3,72,36,0,411,410,1,0,0,0,411,412,1,0,0,0,412,413,1,0,0,0,413,417,5,
3212
+ 37,0,0,414,416,3,70,35,0,415,414,1,0,0,0,416,419,1,0,0,0,417,415,1,0,0,
3213
+ 0,417,418,1,0,0,0,418,69,1,0,0,0,419,417,1,0,0,0,420,422,5,33,0,0,421,423,
3214
+ 3,48,24,0,422,421,1,0,0,0,422,423,1,0,0,0,423,424,1,0,0,0,424,428,5,34,
3215
+ 0,0,425,426,5,5,0,0,426,428,5,37,0,0,427,420,1,0,0,0,427,425,1,0,0,0,428,
3216
+ 71,1,0,0,0,429,431,5,29,0,0,430,429,1,0,0,0,430,431,1,0,0,0,431,432,1,0,
3217
+ 0,0,432,434,5,31,0,0,433,435,3,54,27,0,434,433,1,0,0,0,434,435,1,0,0,0,
3218
+ 435,73,1,0,0,0,436,437,5,22,0,0,437,438,3,54,27,0,438,75,1,0,0,0,439,440,
3219
+ 5,11,0,0,440,441,5,12,0,0,441,442,5,1,0,0,442,443,5,45,0,0,443,446,5,47,
3220
+ 0,0,444,447,5,45,0,0,445,447,3,82,41,0,446,444,1,0,0,0,446,445,1,0,0,0,
3221
+ 447,448,1,0,0,0,448,446,1,0,0,0,448,449,1,0,0,0,449,450,1,0,0,0,450,451,
3222
+ 5,48,0,0,451,77,1,0,0,0,452,453,5,11,0,0,453,454,5,13,0,0,454,455,5,1,0,
3223
+ 0,455,456,5,45,0,0,456,459,5,47,0,0,457,460,5,45,0,0,458,460,3,80,40,0,
3224
+ 459,457,1,0,0,0,459,458,1,0,0,0,460,461,1,0,0,0,461,459,1,0,0,0,461,462,
3225
+ 1,0,0,0,462,463,1,0,0,0,463,464,5,48,0,0,464,79,1,0,0,0,465,466,7,9,0,0,
3226
+ 466,472,5,1,0,0,467,473,3,48,24,0,468,469,5,33,0,0,469,470,3,48,24,0,470,
3227
+ 471,5,34,0,0,471,473,1,0,0,0,472,467,1,0,0,0,472,468,1,0,0,0,473,81,1,0,
3228
+ 0,0,474,475,3,84,42,0,475,476,5,1,0,0,476,477,3,86,43,0,477,83,1,0,0,0,
3229
+ 478,479,7,10,0,0,479,85,1,0,0,0,480,481,5,45,0,0,481,484,5,47,0,0,482,485,
3230
+ 5,45,0,0,483,485,3,82,41,0,484,482,1,0,0,0,484,483,1,0,0,0,485,486,1,0,
3231
+ 0,0,486,484,1,0,0,0,486,487,1,0,0,0,487,488,1,0,0,0,488,498,5,48,0,0,489,
3232
+ 494,3,54,27,0,490,491,5,2,0,0,491,493,3,54,27,0,492,490,1,0,0,0,493,496,
3233
+ 1,0,0,0,494,492,1,0,0,0,494,495,1,0,0,0,495,498,1,0,0,0,496,494,1,0,0,0,
3234
+ 497,480,1,0,0,0,497,489,1,0,0,0,498,87,1,0,0,0,499,500,5,6,0,0,500,501,
3235
+ 5,38,0,0,501,502,5,7,0,0,502,89,1,0,0,0,503,504,5,14,0,0,504,508,5,37,0,
3236
+ 0,505,507,7,1,0,0,506,505,1,0,0,0,507,510,1,0,0,0,508,506,1,0,0,0,508,509,
3237
+ 1,0,0,0,509,91,1,0,0,0,510,508,1,0,0,0,511,512,5,19,0,0,512,513,5,37,0,
3238
+ 0,513,93,1,0,0,0,514,515,5,24,0,0,515,516,5,37,0,0,516,95,1,0,0,0,517,518,
3239
+ 5,8,0,0,518,519,5,1,0,0,519,520,5,45,0,0,520,523,5,47,0,0,521,524,5,45,
3240
+ 0,0,522,524,3,2,1,0,523,521,1,0,0,0,523,522,1,0,0,0,524,525,1,0,0,0,525,
3241
+ 523,1,0,0,0,525,526,1,0,0,0,526,527,1,0,0,0,527,528,5,48,0,0,528,97,1,0,
3242
+ 0,0,65,100,102,122,127,135,137,147,149,159,162,167,171,181,184,192,196,
3243
+ 199,209,217,219,230,241,243,249,255,259,265,267,286,293,301,304,317,321,
3244
+ 329,341,343,351,355,361,369,371,377,384,393,405,408,411,417,422,427,430,
3245
+ 434,446,448,459,461,472,484,486,494,497,508,523,525];
3168
3246
 
3169
3247
  private static __ATN: ATN;
3170
3248
  public static get _ATN(): ATN {
@@ -3249,9 +3327,6 @@ export class ExpressionContext extends ParserRuleContext {
3249
3327
  public wire_expr(): Wire_exprContext {
3250
3328
  return this.getTypedRuleContext(Wire_exprContext, 0) as Wire_exprContext;
3251
3329
  }
3252
- public point_expr(): Point_exprContext {
3253
- return this.getTypedRuleContext(Point_exprContext, 0) as Point_exprContext;
3254
- }
3255
3330
  public import_expr(): Import_exprContext {
3256
3331
  return this.getTypedRuleContext(Import_exprContext, 0) as Import_exprContext;
3257
3332
  }
@@ -3264,8 +3339,11 @@ export class ExpressionContext extends ParserRuleContext {
3264
3339
  public at_block(): At_blockContext {
3265
3340
  return this.getTypedRuleContext(At_blockContext, 0) as At_blockContext;
3266
3341
  }
3267
- public branch_blocks(): Branch_blocksContext {
3268
- return this.getTypedRuleContext(Branch_blocksContext, 0) as Branch_blocksContext;
3342
+ public path_blocks(): Path_blocksContext {
3343
+ return this.getTypedRuleContext(Path_blocksContext, 0) as Path_blocksContext;
3344
+ }
3345
+ public point_expr(): Point_exprContext {
3346
+ return this.getTypedRuleContext(Point_exprContext, 0) as Point_exprContext;
3269
3347
  }
3270
3348
  public get ruleIndex(): number {
3271
3349
  return CircuitScriptParser.RULE_expression;
@@ -3281,24 +3359,24 @@ export class ExpressionContext extends ParserRuleContext {
3281
3359
  }
3282
3360
 
3283
3361
 
3284
- export class Branch_blocksContext extends ParserRuleContext {
3362
+ export class Path_blocksContext extends ParserRuleContext {
3285
3363
  constructor(parser?: CircuitScriptParser, parent?: ParserRuleContext, invokingState?: number) {
3286
3364
  super(parent, invokingState);
3287
3365
  this.parser = parser;
3288
3366
  }
3289
- public branch_block_inner_list(): Branch_block_innerContext[] {
3290
- return this.getTypedRuleContexts(Branch_block_innerContext) as Branch_block_innerContext[];
3367
+ public path_block_inner_list(): Path_block_innerContext[] {
3368
+ return this.getTypedRuleContexts(Path_block_innerContext) as Path_block_innerContext[];
3291
3369
  }
3292
- public branch_block_inner(i: number): Branch_block_innerContext {
3293
- return this.getTypedRuleContext(Branch_block_innerContext, i) as Branch_block_innerContext;
3370
+ public path_block_inner(i: number): Path_block_innerContext {
3371
+ return this.getTypedRuleContext(Path_block_innerContext, i) as Path_block_innerContext;
3294
3372
  }
3295
3373
  public get ruleIndex(): number {
3296
- return CircuitScriptParser.RULE_branch_blocks;
3374
+ return CircuitScriptParser.RULE_path_blocks;
3297
3375
  }
3298
3376
  // @Override
3299
3377
  public accept<Result>(visitor: CircuitScriptVisitor<Result>): Result {
3300
- if (visitor.visitBranch_blocks) {
3301
- return visitor.visitBranch_blocks(this);
3378
+ if (visitor.visitPath_blocks) {
3379
+ return visitor.visitPath_blocks(this);
3302
3380
  } else {
3303
3381
  return visitor.visitChildren(this);
3304
3382
  }
@@ -3306,7 +3384,7 @@ export class Branch_blocksContext extends ParserRuleContext {
3306
3384
  }
3307
3385
 
3308
3386
 
3309
- export class Branch_block_innerContext extends ParserRuleContext {
3387
+ export class Path_block_innerContext extends ParserRuleContext {
3310
3388
  constructor(parser?: CircuitScriptParser, parent?: ParserRuleContext, invokingState?: number) {
3311
3389
  super(parent, invokingState);
3312
3390
  this.parser = parser;
@@ -3329,6 +3407,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3329
3407
  public Join(): TerminalNode {
3330
3408
  return this.getToken(CircuitScriptParser.Join, 0);
3331
3409
  }
3410
+ public Parallel(): TerminalNode {
3411
+ return this.getToken(CircuitScriptParser.Parallel, 0);
3412
+ }
3413
+ public Point(): TerminalNode {
3414
+ return this.getToken(CircuitScriptParser.Point, 0);
3415
+ }
3332
3416
  public expression_list(): ExpressionContext[] {
3333
3417
  return this.getTypedRuleContexts(ExpressionContext) as ExpressionContext[];
3334
3418
  }
@@ -3336,12 +3420,12 @@ export class Branch_block_innerContext extends ParserRuleContext {
3336
3420
  return this.getTypedRuleContext(ExpressionContext, i) as ExpressionContext;
3337
3421
  }
3338
3422
  public get ruleIndex(): number {
3339
- return CircuitScriptParser.RULE_branch_block_inner;
3423
+ return CircuitScriptParser.RULE_path_block_inner;
3340
3424
  }
3341
3425
  // @Override
3342
3426
  public accept<Result>(visitor: CircuitScriptVisitor<Result>): Result {
3343
- if (visitor.visitBranch_block_inner) {
3344
- return visitor.visitBranch_block_inner(this);
3427
+ if (visitor.visitPath_block_inner) {
3428
+ return visitor.visitPath_block_inner(this);
3345
3429
  } else {
3346
3430
  return visitor.visitChildren(this);
3347
3431
  }
@@ -3559,6 +3643,9 @@ export class At_component_exprContext extends ParserRuleContext {
3559
3643
  public At(): TerminalNode {
3560
3644
  return this.getToken(CircuitScriptParser.At, 0);
3561
3645
  }
3646
+ public Point(): TerminalNode {
3647
+ return this.getToken(CircuitScriptParser.Point, 0);
3648
+ }
3562
3649
  public component_select_expr(): Component_select_exprContext {
3563
3650
  return this.getTypedRuleContext(Component_select_exprContext, 0) as Component_select_exprContext;
3564
3651
  }
@@ -3587,6 +3674,9 @@ export class To_component_exprContext extends ParserRuleContext {
3587
3674
  public To(): TerminalNode {
3588
3675
  return this.getToken(CircuitScriptParser.To, 0);
3589
3676
  }
3677
+ public Point(): TerminalNode {
3678
+ return this.getToken(CircuitScriptParser.Point, 0);
3679
+ }
3590
3680
  public component_select_expr_list(): Component_select_exprContext[] {
3591
3681
  return this.getTypedRuleContexts(Component_select_exprContext) as Component_select_exprContext[];
3592
3682
  }