circuitscript 0.0.38 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/cjs/BaseVisitor.js +69 -46
  2. package/dist/cjs/SymbolValidatorVisitor.js +1 -1
  3. package/dist/cjs/antlr/CircuitScriptLexer.js +80 -80
  4. package/dist/cjs/antlr/CircuitScriptParser.js +580 -613
  5. package/dist/cjs/builtinMethods.js +32 -10
  6. package/dist/cjs/draw_symbols.js +375 -233
  7. package/dist/cjs/execute.js +142 -131
  8. package/dist/cjs/export.js +2 -4
  9. package/dist/cjs/geometry.js +52 -19
  10. package/dist/cjs/globals.js +14 -9
  11. package/dist/cjs/helpers.js +16 -3
  12. package/dist/cjs/layout.js +143 -151
  13. package/dist/cjs/logger.js +8 -1
  14. package/dist/cjs/objects/ClassComponent.js +22 -22
  15. package/dist/cjs/objects/ExecutionScope.js +10 -4
  16. package/dist/cjs/objects/Frame.js +4 -1
  17. package/dist/cjs/objects/ParamDefinition.js +120 -4
  18. package/dist/cjs/objects/PinDefinition.js +1 -4
  19. package/dist/cjs/objects/types.js +41 -0
  20. package/dist/cjs/render.js +41 -110
  21. package/dist/cjs/sizing.js +33 -7
  22. package/dist/cjs/utils.js +92 -2
  23. package/dist/cjs/visitor.js +279 -284
  24. package/dist/esm/BaseVisitor.mjs +70 -47
  25. package/dist/esm/SymbolValidatorVisitor.mjs +1 -1
  26. package/dist/esm/antlr/CircuitScriptLexer.mjs +80 -80
  27. package/dist/esm/antlr/CircuitScriptParser.mjs +580 -613
  28. package/dist/esm/builtinMethods.mjs +29 -10
  29. package/dist/esm/draw_symbols.mjs +381 -238
  30. package/dist/esm/execute.mjs +144 -133
  31. package/dist/esm/export.mjs +2 -4
  32. package/dist/esm/geometry.mjs +52 -19
  33. package/dist/esm/globals.mjs +13 -8
  34. package/dist/esm/helpers.mjs +17 -4
  35. package/dist/esm/layout.mjs +144 -153
  36. package/dist/esm/logger.mjs +8 -1
  37. package/dist/esm/objects/ClassComponent.mjs +21 -26
  38. package/dist/esm/objects/ExecutionScope.mjs +10 -4
  39. package/dist/esm/objects/Frame.mjs +4 -1
  40. package/dist/esm/objects/ParamDefinition.mjs +119 -3
  41. package/dist/esm/objects/PinDefinition.mjs +0 -2
  42. package/dist/esm/objects/types.mjs +42 -0
  43. package/dist/esm/render.mjs +44 -113
  44. package/dist/esm/sizing.mjs +34 -8
  45. package/dist/esm/utils.mjs +86 -1
  46. package/dist/esm/visitor.mjs +281 -286
  47. package/dist/types/BaseVisitor.d.ts +3 -2
  48. package/dist/types/antlr/CircuitScriptParser.d.ts +5 -3
  49. package/dist/types/draw_symbols.d.ts +81 -49
  50. package/dist/types/execute.d.ts +16 -11
  51. package/dist/types/geometry.d.ts +31 -19
  52. package/dist/types/globals.d.ts +15 -10
  53. package/dist/types/helpers.d.ts +2 -1
  54. package/dist/types/layout.d.ts +22 -21
  55. package/dist/types/logger.d.ts +1 -1
  56. package/dist/types/objects/ClassComponent.d.ts +19 -16
  57. package/dist/types/objects/ExecutionScope.d.ts +2 -1
  58. package/dist/types/objects/Frame.d.ts +5 -3
  59. package/dist/types/objects/ParamDefinition.d.ts +31 -2
  60. package/dist/types/objects/PinDefinition.d.ts +0 -2
  61. package/dist/types/objects/types.d.ts +7 -2
  62. package/dist/types/render.d.ts +2 -1
  63. package/dist/types/utils.d.ts +9 -1
  64. package/dist/types/visitor.d.ts +5 -5
  65. package/libs/lib.cst +102 -32
  66. package/package.json +7 -3
@@ -869,7 +869,7 @@ export class CircuitScriptParser extends antlr.Parser {
869
869
  let localContext = new Component_select_exprContext(this.context, this.state);
870
870
  this.enterRule(localContext, 22, CircuitScriptParser.RULE_component_select_expr);
871
871
  try {
872
- this.state = 222;
872
+ this.state = 223;
873
873
  this.errorHandler.sync(this);
874
874
  switch (this.tokenStream.LA(1)) {
875
875
  case CircuitScriptParser.T__5:
@@ -899,6 +899,13 @@ export class CircuitScriptParser extends antlr.Parser {
899
899
  this.pin_select_expr();
900
900
  }
901
901
  break;
902
+ case CircuitScriptParser.Point:
903
+ this.enterOuterAlt(localContext, 3);
904
+ {
905
+ this.state = 222;
906
+ this.match(CircuitScriptParser.Point);
907
+ }
908
+ break;
902
909
  default:
903
910
  throw new antlr.NoViableAltException(this);
904
911
  }
@@ -924,7 +931,7 @@ export class CircuitScriptParser extends antlr.Parser {
924
931
  try {
925
932
  this.enterOuterAlt(localContext, 1);
926
933
  {
927
- this.state = 224;
934
+ this.state = 225;
928
935
  _la = this.tokenStream.LA(1);
929
936
  if (!(_la === 57 || _la === 60)) {
930
937
  this.errorHandler.recoverInline(this);
@@ -955,40 +962,10 @@ export class CircuitScriptParser extends antlr.Parser {
955
962
  try {
956
963
  this.enterOuterAlt(localContext, 1);
957
964
  {
958
- this.state = 226;
965
+ this.state = 227;
959
966
  this.match(CircuitScriptParser.At);
960
- this.state = 229;
961
- this.errorHandler.sync(this);
962
- switch (this.tokenStream.LA(1)) {
963
- case CircuitScriptParser.T__5:
964
- case CircuitScriptParser.Create:
965
- case CircuitScriptParser.Pin:
966
- case CircuitScriptParser.Not:
967
- case CircuitScriptParser.Addition:
968
- case CircuitScriptParser.Minus:
969
- case CircuitScriptParser.Divide:
970
- case CircuitScriptParser.OPEN_PAREN:
971
- case CircuitScriptParser.BOOLEAN_VALUE:
972
- case CircuitScriptParser.ID:
973
- case CircuitScriptParser.INTEGER_VALUE:
974
- case CircuitScriptParser.DECIMAL_VALUE:
975
- case CircuitScriptParser.NUMERIC_VALUE:
976
- case CircuitScriptParser.STRING_VALUE:
977
- case CircuitScriptParser.PERCENTAGE_VALUE:
978
- {
979
- this.state = 227;
980
- this.component_select_expr();
981
- }
982
- break;
983
- case CircuitScriptParser.Point:
984
- {
985
- this.state = 228;
986
- this.match(CircuitScriptParser.Point);
987
- }
988
- break;
989
- default:
990
- throw new antlr.NoViableAltException(this);
991
- }
967
+ this.state = 228;
968
+ this.component_select_expr();
992
969
  }
993
970
  }
994
971
  catch (re) {
@@ -1012,57 +989,27 @@ export class CircuitScriptParser extends antlr.Parser {
1012
989
  try {
1013
990
  this.enterOuterAlt(localContext, 1);
1014
991
  {
1015
- this.state = 231;
992
+ this.state = 230;
1016
993
  this.match(CircuitScriptParser.To);
1017
- this.state = 241;
1018
- this.errorHandler.sync(this);
1019
- switch (this.tokenStream.LA(1)) {
1020
- case CircuitScriptParser.T__5:
1021
- case CircuitScriptParser.Create:
1022
- case CircuitScriptParser.Pin:
1023
- case CircuitScriptParser.Not:
1024
- case CircuitScriptParser.Addition:
1025
- case CircuitScriptParser.Minus:
1026
- case CircuitScriptParser.Divide:
1027
- case CircuitScriptParser.OPEN_PAREN:
1028
- case CircuitScriptParser.BOOLEAN_VALUE:
1029
- case CircuitScriptParser.ID:
1030
- case CircuitScriptParser.INTEGER_VALUE:
1031
- case CircuitScriptParser.DECIMAL_VALUE:
1032
- case CircuitScriptParser.NUMERIC_VALUE:
1033
- case CircuitScriptParser.STRING_VALUE:
1034
- case CircuitScriptParser.PERCENTAGE_VALUE:
994
+ {
995
+ this.state = 231;
996
+ this.component_select_expr();
997
+ this.state = 236;
998
+ this.errorHandler.sync(this);
999
+ _la = this.tokenStream.LA(1);
1000
+ while (_la === 2) {
1035
1001
  {
1036
1002
  {
1037
1003
  this.state = 232;
1004
+ this.match(CircuitScriptParser.T__1);
1005
+ this.state = 233;
1038
1006
  this.component_select_expr();
1039
- this.state = 237;
1040
- this.errorHandler.sync(this);
1041
- _la = this.tokenStream.LA(1);
1042
- while (_la === 2) {
1043
- {
1044
- {
1045
- this.state = 233;
1046
- this.match(CircuitScriptParser.T__1);
1047
- this.state = 234;
1048
- this.component_select_expr();
1049
- }
1050
- }
1051
- this.state = 239;
1052
- this.errorHandler.sync(this);
1053
- _la = this.tokenStream.LA(1);
1054
- }
1055
1007
  }
1056
1008
  }
1057
- break;
1058
- case CircuitScriptParser.Point:
1059
- {
1060
- this.state = 240;
1061
- this.match(CircuitScriptParser.Point);
1062
- }
1063
- break;
1064
- default:
1065
- throw new antlr.NoViableAltException(this);
1009
+ this.state = 238;
1010
+ this.errorHandler.sync(this);
1011
+ _la = this.tokenStream.LA(1);
1012
+ }
1066
1013
  }
1067
1014
  }
1068
1015
  }
@@ -1087,54 +1034,54 @@ export class CircuitScriptParser extends antlr.Parser {
1087
1034
  try {
1088
1035
  this.enterOuterAlt(localContext, 1);
1089
1036
  {
1090
- this.state = 243;
1037
+ this.state = 239;
1091
1038
  this.match(CircuitScriptParser.At);
1092
- this.state = 244;
1039
+ this.state = 240;
1093
1040
  this.component_select_expr();
1094
- this.state = 245;
1041
+ this.state = 241;
1095
1042
  this.match(CircuitScriptParser.To);
1096
- this.state = 246;
1043
+ this.state = 242;
1097
1044
  this.component_select_expr();
1098
- this.state = 251;
1045
+ this.state = 247;
1099
1046
  this.errorHandler.sync(this);
1100
1047
  _la = this.tokenStream.LA(1);
1101
1048
  while (_la === 2) {
1102
1049
  {
1103
1050
  {
1104
- this.state = 247;
1051
+ this.state = 243;
1105
1052
  this.match(CircuitScriptParser.T__1);
1106
- this.state = 248;
1053
+ this.state = 244;
1107
1054
  this.component_select_expr();
1108
1055
  }
1109
1056
  }
1110
- this.state = 253;
1057
+ this.state = 249;
1111
1058
  this.errorHandler.sync(this);
1112
1059
  _la = this.tokenStream.LA(1);
1113
1060
  }
1114
- this.state = 254;
1061
+ this.state = 250;
1115
1062
  this.match(CircuitScriptParser.T__0);
1116
- this.state = 255;
1063
+ this.state = 251;
1117
1064
  this.match(CircuitScriptParser.NEWLINE);
1118
- this.state = 256;
1065
+ this.state = 252;
1119
1066
  this.match(CircuitScriptParser.INDENT);
1120
- this.state = 259;
1067
+ this.state = 255;
1121
1068
  this.errorHandler.sync(this);
1122
1069
  _la = this.tokenStream.LA(1);
1123
1070
  do {
1124
1071
  {
1125
- this.state = 259;
1072
+ this.state = 255;
1126
1073
  this.errorHandler.sync(this);
1127
1074
  switch (this.tokenStream.LA(1)) {
1128
1075
  case CircuitScriptParser.NEWLINE:
1129
1076
  {
1130
- this.state = 257;
1077
+ this.state = 253;
1131
1078
  this.match(CircuitScriptParser.NEWLINE);
1132
1079
  }
1133
1080
  break;
1134
1081
  case CircuitScriptParser.INTEGER_VALUE:
1135
1082
  case CircuitScriptParser.STRING_VALUE:
1136
1083
  {
1137
- this.state = 258;
1084
+ this.state = 254;
1138
1085
  this.at_to_multiple_line_expr();
1139
1086
  }
1140
1087
  break;
@@ -1142,11 +1089,11 @@ export class CircuitScriptParser extends antlr.Parser {
1142
1089
  throw new antlr.NoViableAltException(this);
1143
1090
  }
1144
1091
  }
1145
- this.state = 261;
1092
+ this.state = 257;
1146
1093
  this.errorHandler.sync(this);
1147
1094
  _la = this.tokenStream.LA(1);
1148
1095
  } while (((((_la - 57)) & ~0x1F) === 0 && ((1 << (_la - 57)) & 137) !== 0));
1149
- this.state = 263;
1096
+ this.state = 259;
1150
1097
  this.match(CircuitScriptParser.DEDENT);
1151
1098
  }
1152
1099
  }
@@ -1171,25 +1118,25 @@ export class CircuitScriptParser extends antlr.Parser {
1171
1118
  try {
1172
1119
  this.enterOuterAlt(localContext, 1);
1173
1120
  {
1174
- this.state = 265;
1121
+ this.state = 261;
1175
1122
  this.pin_select_expr2();
1176
- this.state = 266;
1123
+ this.state = 262;
1177
1124
  this.match(CircuitScriptParser.T__0);
1178
- this.state = 267;
1125
+ this.state = 263;
1179
1126
  this.at_to_multiple_line_expr_to_pin();
1180
- this.state = 272;
1127
+ this.state = 268;
1181
1128
  this.errorHandler.sync(this);
1182
1129
  _la = this.tokenStream.LA(1);
1183
1130
  while (_la === 2) {
1184
1131
  {
1185
1132
  {
1186
- this.state = 268;
1133
+ this.state = 264;
1187
1134
  this.match(CircuitScriptParser.T__1);
1188
- this.state = 269;
1135
+ this.state = 265;
1189
1136
  this.at_to_multiple_line_expr_to_pin();
1190
1137
  }
1191
1138
  }
1192
- this.state = 274;
1139
+ this.state = 270;
1193
1140
  this.errorHandler.sync(this);
1194
1141
  _la = this.tokenStream.LA(1);
1195
1142
  }
@@ -1216,7 +1163,7 @@ export class CircuitScriptParser extends antlr.Parser {
1216
1163
  try {
1217
1164
  this.enterOuterAlt(localContext, 1);
1218
1165
  {
1219
- this.state = 275;
1166
+ this.state = 271;
1220
1167
  _la = this.tokenStream.LA(1);
1221
1168
  if (!(_la === 54 || _la === 57)) {
1222
1169
  this.errorHandler.recoverInline(this);
@@ -1248,25 +1195,25 @@ export class CircuitScriptParser extends antlr.Parser {
1248
1195
  try {
1249
1196
  this.enterOuterAlt(localContext, 1);
1250
1197
  {
1251
- this.state = 277;
1198
+ this.state = 273;
1252
1199
  this.at_component_expr();
1253
- this.state = 278;
1200
+ this.state = 274;
1254
1201
  this.match(CircuitScriptParser.T__0);
1255
- this.state = 279;
1202
+ this.state = 275;
1256
1203
  this.match(CircuitScriptParser.NEWLINE);
1257
- this.state = 280;
1204
+ this.state = 276;
1258
1205
  this.match(CircuitScriptParser.INDENT);
1259
- this.state = 283;
1206
+ this.state = 279;
1260
1207
  this.errorHandler.sync(this);
1261
1208
  _la = this.tokenStream.LA(1);
1262
1209
  do {
1263
1210
  {
1264
- this.state = 283;
1211
+ this.state = 279;
1265
1212
  this.errorHandler.sync(this);
1266
1213
  switch (this.tokenStream.LA(1)) {
1267
1214
  case CircuitScriptParser.NEWLINE:
1268
1215
  {
1269
- this.state = 281;
1216
+ this.state = 277;
1270
1217
  this.match(CircuitScriptParser.NEWLINE);
1271
1218
  }
1272
1219
  break;
@@ -1294,7 +1241,7 @@ export class CircuitScriptParser extends antlr.Parser {
1294
1241
  case CircuitScriptParser.INTEGER_VALUE:
1295
1242
  case CircuitScriptParser.STRING_VALUE:
1296
1243
  {
1297
- this.state = 282;
1244
+ this.state = 278;
1298
1245
  this.at_block_expressions();
1299
1246
  }
1300
1247
  break;
@@ -1302,11 +1249,11 @@ export class CircuitScriptParser extends antlr.Parser {
1302
1249
  throw new antlr.NoViableAltException(this);
1303
1250
  }
1304
1251
  }
1305
- this.state = 285;
1252
+ this.state = 281;
1306
1253
  this.errorHandler.sync(this);
1307
1254
  _la = this.tokenStream.LA(1);
1308
1255
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 867955761) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4505605) !== 0));
1309
- this.state = 287;
1256
+ this.state = 283;
1310
1257
  this.match(CircuitScriptParser.DEDENT);
1311
1258
  }
1312
1259
  }
@@ -1328,7 +1275,7 @@ export class CircuitScriptParser extends antlr.Parser {
1328
1275
  let localContext = new At_block_expressionsContext(this.context, this.state);
1329
1276
  this.enterRule(localContext, 38, CircuitScriptParser.RULE_at_block_expressions);
1330
1277
  try {
1331
- this.state = 291;
1278
+ this.state = 287;
1332
1279
  this.errorHandler.sync(this);
1333
1280
  switch (this.tokenStream.LA(1)) {
1334
1281
  case CircuitScriptParser.T__3:
@@ -1354,7 +1301,7 @@ export class CircuitScriptParser extends antlr.Parser {
1354
1301
  case CircuitScriptParser.ID:
1355
1302
  this.enterOuterAlt(localContext, 1);
1356
1303
  {
1357
- this.state = 289;
1304
+ this.state = 285;
1358
1305
  this.expression();
1359
1306
  }
1360
1307
  break;
@@ -1362,7 +1309,7 @@ export class CircuitScriptParser extends antlr.Parser {
1362
1309
  case CircuitScriptParser.STRING_VALUE:
1363
1310
  this.enterOuterAlt(localContext, 2);
1364
1311
  {
1365
- this.state = 290;
1312
+ this.state = 286;
1366
1313
  this.at_block_pin_expr();
1367
1314
  }
1368
1315
  break;
@@ -1390,11 +1337,11 @@ export class CircuitScriptParser extends antlr.Parser {
1390
1337
  try {
1391
1338
  this.enterOuterAlt(localContext, 1);
1392
1339
  {
1393
- this.state = 293;
1340
+ this.state = 289;
1394
1341
  this.pin_select_expr2();
1395
- this.state = 294;
1342
+ this.state = 290;
1396
1343
  this.match(CircuitScriptParser.T__0);
1397
- this.state = 297;
1344
+ this.state = 293;
1398
1345
  this.errorHandler.sync(this);
1399
1346
  switch (this.tokenStream.LA(1)) {
1400
1347
  case CircuitScriptParser.T__3:
@@ -1420,13 +1367,13 @@ export class CircuitScriptParser extends antlr.Parser {
1420
1367
  case CircuitScriptParser.NOT_CONNECTED:
1421
1368
  case CircuitScriptParser.ID:
1422
1369
  {
1423
- this.state = 295;
1370
+ this.state = 291;
1424
1371
  this.at_block_pin_expression_simple();
1425
1372
  }
1426
1373
  break;
1427
1374
  case CircuitScriptParser.NEWLINE:
1428
1375
  {
1429
- this.state = 296;
1376
+ this.state = 292;
1430
1377
  this.at_block_pin_expression_complex();
1431
1378
  }
1432
1379
  break;
@@ -1455,7 +1402,7 @@ export class CircuitScriptParser extends antlr.Parser {
1455
1402
  try {
1456
1403
  this.enterOuterAlt(localContext, 1);
1457
1404
  {
1458
- this.state = 301;
1405
+ this.state = 297;
1459
1406
  this.errorHandler.sync(this);
1460
1407
  switch (this.tokenStream.LA(1)) {
1461
1408
  case CircuitScriptParser.T__3:
@@ -1480,13 +1427,13 @@ export class CircuitScriptParser extends antlr.Parser {
1480
1427
  case CircuitScriptParser.Divide:
1481
1428
  case CircuitScriptParser.ID:
1482
1429
  {
1483
- this.state = 299;
1430
+ this.state = 295;
1484
1431
  this.expression();
1485
1432
  }
1486
1433
  break;
1487
1434
  case CircuitScriptParser.NOT_CONNECTED:
1488
1435
  {
1489
- this.state = 300;
1436
+ this.state = 296;
1490
1437
  this.match(CircuitScriptParser.NOT_CONNECTED);
1491
1438
  }
1492
1439
  break;
@@ -1515,7 +1462,7 @@ export class CircuitScriptParser extends antlr.Parser {
1515
1462
  try {
1516
1463
  this.enterOuterAlt(localContext, 1);
1517
1464
  {
1518
- this.state = 303;
1465
+ this.state = 299;
1519
1466
  this.expressions_block();
1520
1467
  }
1521
1468
  }
@@ -1539,7 +1486,7 @@ export class CircuitScriptParser extends antlr.Parser {
1539
1486
  try {
1540
1487
  this.enterOuterAlt(localContext, 1);
1541
1488
  {
1542
- this.state = 305;
1489
+ this.state = 301;
1543
1490
  this.match(CircuitScriptParser.Break);
1544
1491
  }
1545
1492
  }
@@ -1563,7 +1510,7 @@ export class CircuitScriptParser extends antlr.Parser {
1563
1510
  try {
1564
1511
  this.enterOuterAlt(localContext, 1);
1565
1512
  {
1566
- this.state = 307;
1513
+ this.state = 303;
1567
1514
  this.match(CircuitScriptParser.Continue);
1568
1515
  }
1569
1516
  }
@@ -1587,11 +1534,11 @@ export class CircuitScriptParser extends antlr.Parser {
1587
1534
  try {
1588
1535
  this.enterOuterAlt(localContext, 1);
1589
1536
  {
1590
- this.state = 309;
1537
+ this.state = 305;
1591
1538
  this.atom_expr();
1592
- this.state = 310;
1539
+ this.state = 306;
1593
1540
  this.match(CircuitScriptParser.T__2);
1594
- this.state = 311;
1541
+ this.state = 307;
1595
1542
  this.data_expr(0);
1596
1543
  }
1597
1544
  }
@@ -1616,9 +1563,9 @@ export class CircuitScriptParser extends antlr.Parser {
1616
1563
  try {
1617
1564
  this.enterOuterAlt(localContext, 1);
1618
1565
  {
1619
- this.state = 313;
1566
+ this.state = 309;
1620
1567
  this.atom_expr();
1621
- this.state = 314;
1568
+ this.state = 310;
1622
1569
  _la = this.tokenStream.LA(1);
1623
1570
  if (!(((((_la - 47)) & ~0x1F) === 0 && ((1 << (_la - 47)) & 31) !== 0))) {
1624
1571
  this.errorHandler.recoverInline(this);
@@ -1627,7 +1574,7 @@ export class CircuitScriptParser extends antlr.Parser {
1627
1574
  this.errorHandler.reportMatch(this);
1628
1575
  this.consume();
1629
1576
  }
1630
- this.state = 315;
1577
+ this.state = 311;
1631
1578
  this.data_expr(0);
1632
1579
  }
1633
1580
  }
@@ -1651,11 +1598,11 @@ export class CircuitScriptParser extends antlr.Parser {
1651
1598
  try {
1652
1599
  this.enterOuterAlt(localContext, 1);
1653
1600
  {
1654
- this.state = 317;
1601
+ this.state = 313;
1655
1602
  this.match(CircuitScriptParser.ID);
1656
- this.state = 318;
1603
+ this.state = 314;
1657
1604
  this.match(CircuitScriptParser.T__2);
1658
- this.state = 319;
1605
+ this.state = 315;
1659
1606
  this.data_expr(0);
1660
1607
  }
1661
1608
  }
@@ -1679,46 +1626,46 @@ export class CircuitScriptParser extends antlr.Parser {
1679
1626
  let _la;
1680
1627
  try {
1681
1628
  let alternative;
1682
- this.state = 344;
1629
+ this.state = 340;
1683
1630
  this.errorHandler.sync(this);
1684
- switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
1631
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 26, this.context)) {
1685
1632
  case 1:
1686
1633
  this.enterOuterAlt(localContext, 1);
1687
1634
  {
1688
1635
  {
1689
- this.state = 321;
1636
+ this.state = 317;
1690
1637
  this.data_expr(0);
1691
- this.state = 326;
1638
+ this.state = 322;
1692
1639
  this.errorHandler.sync(this);
1693
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 25, this.context);
1640
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
1694
1641
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1695
1642
  if (alternative === 1) {
1696
1643
  {
1697
1644
  {
1698
- this.state = 322;
1645
+ this.state = 318;
1699
1646
  this.match(CircuitScriptParser.T__1);
1700
- this.state = 323;
1647
+ this.state = 319;
1701
1648
  this.data_expr(0);
1702
1649
  }
1703
1650
  }
1704
1651
  }
1705
- this.state = 328;
1652
+ this.state = 324;
1706
1653
  this.errorHandler.sync(this);
1707
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 25, this.context);
1654
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 23, this.context);
1708
1655
  }
1709
- this.state = 333;
1656
+ this.state = 329;
1710
1657
  this.errorHandler.sync(this);
1711
1658
  _la = this.tokenStream.LA(1);
1712
1659
  while (_la === 2) {
1713
1660
  {
1714
1661
  {
1715
- this.state = 329;
1662
+ this.state = 325;
1716
1663
  this.match(CircuitScriptParser.T__1);
1717
- this.state = 330;
1664
+ this.state = 326;
1718
1665
  this.keyword_assignment_expr();
1719
1666
  }
1720
1667
  }
1721
- this.state = 335;
1668
+ this.state = 331;
1722
1669
  this.errorHandler.sync(this);
1723
1670
  _la = this.tokenStream.LA(1);
1724
1671
  }
@@ -1729,21 +1676,21 @@ export class CircuitScriptParser extends antlr.Parser {
1729
1676
  this.enterOuterAlt(localContext, 2);
1730
1677
  {
1731
1678
  {
1732
- this.state = 336;
1679
+ this.state = 332;
1733
1680
  this.keyword_assignment_expr();
1734
- this.state = 341;
1681
+ this.state = 337;
1735
1682
  this.errorHandler.sync(this);
1736
1683
  _la = this.tokenStream.LA(1);
1737
1684
  while (_la === 2) {
1738
1685
  {
1739
1686
  {
1740
- this.state = 337;
1687
+ this.state = 333;
1741
1688
  this.match(CircuitScriptParser.T__1);
1742
- this.state = 338;
1689
+ this.state = 334;
1743
1690
  this.keyword_assignment_expr();
1744
1691
  }
1745
1692
  }
1746
- this.state = 343;
1693
+ this.state = 339;
1747
1694
  this.errorHandler.sync(this);
1748
1695
  _la = this.tokenStream.LA(1);
1749
1696
  }
@@ -1772,11 +1719,11 @@ export class CircuitScriptParser extends antlr.Parser {
1772
1719
  try {
1773
1720
  this.enterOuterAlt(localContext, 1);
1774
1721
  {
1775
- this.state = 346;
1722
+ this.state = 342;
1776
1723
  this.atom_expr();
1777
- this.state = 347;
1724
+ this.state = 343;
1778
1725
  this.match(CircuitScriptParser.T__2);
1779
- this.state = 348;
1726
+ this.state = 344;
1780
1727
  this.data_expr(0);
1781
1728
  }
1782
1729
  }
@@ -1800,13 +1747,13 @@ export class CircuitScriptParser extends antlr.Parser {
1800
1747
  try {
1801
1748
  this.enterOuterAlt(localContext, 1);
1802
1749
  {
1803
- this.state = 350;
1750
+ this.state = 346;
1804
1751
  this.match(CircuitScriptParser.T__3);
1805
- this.state = 351;
1752
+ this.state = 347;
1806
1753
  this.match(CircuitScriptParser.ID);
1807
- this.state = 352;
1754
+ this.state = 348;
1808
1755
  this.match(CircuitScriptParser.T__2);
1809
- this.state = 353;
1756
+ this.state = 349;
1810
1757
  this.data_expr(0);
1811
1758
  }
1812
1759
  }
@@ -1839,19 +1786,19 @@ export class CircuitScriptParser extends antlr.Parser {
1839
1786
  let alternative;
1840
1787
  this.enterOuterAlt(localContext, 1);
1841
1788
  {
1842
- this.state = 372;
1789
+ this.state = 368;
1843
1790
  this.errorHandler.sync(this);
1844
- switch (this.interpreter.adaptivePredict(this.tokenStream, 30, this.context)) {
1791
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 28, this.context)) {
1845
1792
  case 1:
1846
1793
  {
1847
1794
  localContext = new RoundedBracketsExprContext(localContext);
1848
1795
  this.context = localContext;
1849
1796
  previousContext = localContext;
1850
- this.state = 356;
1797
+ this.state = 352;
1851
1798
  this.match(CircuitScriptParser.OPEN_PAREN);
1852
- this.state = 357;
1799
+ this.state = 353;
1853
1800
  this.data_expr(0);
1854
- this.state = 358;
1801
+ this.state = 354;
1855
1802
  this.match(CircuitScriptParser.CLOSE_PAREN);
1856
1803
  }
1857
1804
  break;
@@ -1860,7 +1807,7 @@ export class CircuitScriptParser extends antlr.Parser {
1860
1807
  localContext = new ValueAtomExprContext(localContext);
1861
1808
  this.context = localContext;
1862
1809
  previousContext = localContext;
1863
- this.state = 362;
1810
+ this.state = 358;
1864
1811
  this.errorHandler.sync(this);
1865
1812
  switch (this.tokenStream.LA(1)) {
1866
1813
  case CircuitScriptParser.Minus:
@@ -1871,13 +1818,13 @@ export class CircuitScriptParser extends antlr.Parser {
1871
1818
  case CircuitScriptParser.STRING_VALUE:
1872
1819
  case CircuitScriptParser.PERCENTAGE_VALUE:
1873
1820
  {
1874
- this.state = 360;
1821
+ this.state = 356;
1875
1822
  this.value_expr();
1876
1823
  }
1877
1824
  break;
1878
1825
  case CircuitScriptParser.ID:
1879
1826
  {
1880
- this.state = 361;
1827
+ this.state = 357;
1881
1828
  this.atom_expr();
1882
1829
  }
1883
1830
  break;
@@ -1891,9 +1838,9 @@ export class CircuitScriptParser extends antlr.Parser {
1891
1838
  localContext = new UnaryOperatorExprContext(localContext);
1892
1839
  this.context = localContext;
1893
1840
  previousContext = localContext;
1894
- this.state = 364;
1841
+ this.state = 360;
1895
1842
  this.unary_operator();
1896
- this.state = 365;
1843
+ this.state = 361;
1897
1844
  this.data_expr(10);
1898
1845
  }
1899
1846
  break;
@@ -1902,7 +1849,7 @@ export class CircuitScriptParser extends antlr.Parser {
1902
1849
  localContext = new DataExprContext(localContext);
1903
1850
  this.context = localContext;
1904
1851
  previousContext = localContext;
1905
- this.state = 367;
1852
+ this.state = 363;
1906
1853
  this.create_component_expr();
1907
1854
  }
1908
1855
  break;
@@ -1911,7 +1858,7 @@ export class CircuitScriptParser extends antlr.Parser {
1911
1858
  localContext = new DataExprContext(localContext);
1912
1859
  this.context = localContext;
1913
1860
  previousContext = localContext;
1914
- this.state = 368;
1861
+ this.state = 364;
1915
1862
  this.create_graphic_expr();
1916
1863
  }
1917
1864
  break;
@@ -1920,7 +1867,7 @@ export class CircuitScriptParser extends antlr.Parser {
1920
1867
  localContext = new DataExprContext(localContext);
1921
1868
  this.context = localContext;
1922
1869
  previousContext = localContext;
1923
- this.state = 369;
1870
+ this.state = 365;
1924
1871
  this.create_module_expr();
1925
1872
  }
1926
1873
  break;
@@ -1929,7 +1876,7 @@ export class CircuitScriptParser extends antlr.Parser {
1929
1876
  localContext = new FunctionCallExprContext(localContext);
1930
1877
  this.context = localContext;
1931
1878
  previousContext = localContext;
1932
- this.state = 370;
1879
+ this.state = 366;
1933
1880
  this.function_call_expr();
1934
1881
  }
1935
1882
  break;
@@ -1938,15 +1885,15 @@ export class CircuitScriptParser extends antlr.Parser {
1938
1885
  localContext = new ArrayExprContext(localContext);
1939
1886
  this.context = localContext;
1940
1887
  previousContext = localContext;
1941
- this.state = 371;
1888
+ this.state = 367;
1942
1889
  this.array_expr();
1943
1890
  }
1944
1891
  break;
1945
1892
  }
1946
1893
  this.context.stop = this.tokenStream.LT(-1);
1947
- this.state = 389;
1894
+ this.state = 385;
1948
1895
  this.errorHandler.sync(this);
1949
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 32, this.context);
1896
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 30, this.context);
1950
1897
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
1951
1898
  if (alternative === 1) {
1952
1899
  if (this.parseListeners != null) {
@@ -1954,18 +1901,18 @@ export class CircuitScriptParser extends antlr.Parser {
1954
1901
  }
1955
1902
  previousContext = localContext;
1956
1903
  {
1957
- this.state = 387;
1904
+ this.state = 383;
1958
1905
  this.errorHandler.sync(this);
1959
- switch (this.interpreter.adaptivePredict(this.tokenStream, 31, this.context)) {
1906
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 29, this.context)) {
1960
1907
  case 1:
1961
1908
  {
1962
1909
  localContext = new MultiplyExprContext(new Data_exprContext(parentContext, parentState));
1963
1910
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1964
- this.state = 374;
1911
+ this.state = 370;
1965
1912
  if (!(this.precpred(this.context, 9))) {
1966
1913
  throw this.createFailedPredicateException("this.precpred(this.context, 9)");
1967
1914
  }
1968
- this.state = 375;
1915
+ this.state = 371;
1969
1916
  _la = this.tokenStream.LA(1);
1970
1917
  if (!(((((_la - 44)) & ~0x1F) === 0 && ((1 << (_la - 44)) & 7) !== 0))) {
1971
1918
  this.errorHandler.recoverInline(this);
@@ -1974,7 +1921,7 @@ export class CircuitScriptParser extends antlr.Parser {
1974
1921
  this.errorHandler.reportMatch(this);
1975
1922
  this.consume();
1976
1923
  }
1977
- this.state = 376;
1924
+ this.state = 372;
1978
1925
  this.data_expr(10);
1979
1926
  }
1980
1927
  break;
@@ -1982,11 +1929,11 @@ export class CircuitScriptParser extends antlr.Parser {
1982
1929
  {
1983
1930
  localContext = new AdditionExprContext(new Data_exprContext(parentContext, parentState));
1984
1931
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
1985
- this.state = 377;
1932
+ this.state = 373;
1986
1933
  if (!(this.precpred(this.context, 8))) {
1987
1934
  throw this.createFailedPredicateException("this.precpred(this.context, 8)");
1988
1935
  }
1989
- this.state = 378;
1936
+ this.state = 374;
1990
1937
  _la = this.tokenStream.LA(1);
1991
1938
  if (!(_la === 42 || _la === 43)) {
1992
1939
  this.errorHandler.recoverInline(this);
@@ -1995,7 +1942,7 @@ export class CircuitScriptParser extends antlr.Parser {
1995
1942
  this.errorHandler.reportMatch(this);
1996
1943
  this.consume();
1997
1944
  }
1998
- this.state = 379;
1945
+ this.state = 375;
1999
1946
  this.data_expr(9);
2000
1947
  }
2001
1948
  break;
@@ -2003,13 +1950,13 @@ export class CircuitScriptParser extends antlr.Parser {
2003
1950
  {
2004
1951
  localContext = new BinaryOperatorExprContext(new Data_exprContext(parentContext, parentState));
2005
1952
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2006
- this.state = 380;
1953
+ this.state = 376;
2007
1954
  if (!(this.precpred(this.context, 7))) {
2008
1955
  throw this.createFailedPredicateException("this.precpred(this.context, 7)");
2009
1956
  }
2010
- this.state = 381;
1957
+ this.state = 377;
2011
1958
  this.binary_operator();
2012
- this.state = 382;
1959
+ this.state = 378;
2013
1960
  this.data_expr(8);
2014
1961
  }
2015
1962
  break;
@@ -2017,11 +1964,11 @@ export class CircuitScriptParser extends antlr.Parser {
2017
1964
  {
2018
1965
  localContext = new LogicalOperatorExprContext(new Data_exprContext(parentContext, parentState));
2019
1966
  this.pushNewRecursionContext(localContext, _startState, CircuitScriptParser.RULE_data_expr);
2020
- this.state = 384;
1967
+ this.state = 380;
2021
1968
  if (!(this.precpred(this.context, 6))) {
2022
1969
  throw this.createFailedPredicateException("this.precpred(this.context, 6)");
2023
1970
  }
2024
- this.state = 385;
1971
+ this.state = 381;
2025
1972
  _la = this.tokenStream.LA(1);
2026
1973
  if (!(_la === 40 || _la === 41)) {
2027
1974
  this.errorHandler.recoverInline(this);
@@ -2030,16 +1977,16 @@ export class CircuitScriptParser extends antlr.Parser {
2030
1977
  this.errorHandler.reportMatch(this);
2031
1978
  this.consume();
2032
1979
  }
2033
- this.state = 386;
1980
+ this.state = 382;
2034
1981
  this.data_expr(7);
2035
1982
  }
2036
1983
  break;
2037
1984
  }
2038
1985
  }
2039
1986
  }
2040
- this.state = 391;
1987
+ this.state = 387;
2041
1988
  this.errorHandler.sync(this);
2042
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 32, this.context);
1989
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 30, this.context);
2043
1990
  }
2044
1991
  }
2045
1992
  }
@@ -2064,7 +2011,7 @@ export class CircuitScriptParser extends antlr.Parser {
2064
2011
  try {
2065
2012
  this.enterOuterAlt(localContext, 1);
2066
2013
  {
2067
- this.state = 392;
2014
+ this.state = 388;
2068
2015
  _la = this.tokenStream.LA(1);
2069
2016
  if (!(((((_la - 34)) & ~0x1F) === 0 && ((1 << (_la - 34)) & 63) !== 0))) {
2070
2017
  this.errorHandler.recoverInline(this);
@@ -2096,7 +2043,7 @@ export class CircuitScriptParser extends antlr.Parser {
2096
2043
  try {
2097
2044
  this.enterOuterAlt(localContext, 1);
2098
2045
  {
2099
- this.state = 394;
2046
+ this.state = 390;
2100
2047
  _la = this.tokenStream.LA(1);
2101
2048
  if (!(_la === 31 || _la === 43)) {
2102
2049
  this.errorHandler.recoverInline(this);
@@ -2129,16 +2076,16 @@ export class CircuitScriptParser extends antlr.Parser {
2129
2076
  this.enterOuterAlt(localContext, 1);
2130
2077
  {
2131
2078
  {
2132
- this.state = 397;
2079
+ this.state = 393;
2133
2080
  this.errorHandler.sync(this);
2134
2081
  _la = this.tokenStream.LA(1);
2135
2082
  if (_la === 43) {
2136
2083
  {
2137
- this.state = 396;
2084
+ this.state = 392;
2138
2085
  this.match(CircuitScriptParser.Minus);
2139
2086
  }
2140
2087
  }
2141
- this.state = 399;
2088
+ this.state = 395;
2142
2089
  _la = this.tokenStream.LA(1);
2143
2090
  if (!(((((_la - 55)) & ~0x1F) === 0 && ((1 << (_la - 55)) & 125) !== 0))) {
2144
2091
  this.errorHandler.recoverInline(this);
@@ -2171,40 +2118,40 @@ export class CircuitScriptParser extends antlr.Parser {
2171
2118
  try {
2172
2119
  this.enterOuterAlt(localContext, 1);
2173
2120
  {
2174
- this.state = 401;
2121
+ this.state = 397;
2175
2122
  this.match(CircuitScriptParser.Define);
2176
- this.state = 402;
2123
+ this.state = 398;
2177
2124
  this.match(CircuitScriptParser.ID);
2178
- this.state = 403;
2125
+ this.state = 399;
2179
2126
  this.match(CircuitScriptParser.OPEN_PAREN);
2180
- this.state = 405;
2127
+ this.state = 401;
2181
2128
  this.errorHandler.sync(this);
2182
2129
  _la = this.tokenStream.LA(1);
2183
2130
  if (_la === 56) {
2184
2131
  {
2185
- this.state = 404;
2132
+ this.state = 400;
2186
2133
  this.function_args_expr();
2187
2134
  }
2188
2135
  }
2189
- this.state = 407;
2136
+ this.state = 403;
2190
2137
  this.match(CircuitScriptParser.CLOSE_PAREN);
2191
- this.state = 408;
2138
+ this.state = 404;
2192
2139
  this.match(CircuitScriptParser.T__0);
2193
- this.state = 409;
2140
+ this.state = 405;
2194
2141
  this.match(CircuitScriptParser.NEWLINE);
2195
- this.state = 410;
2142
+ this.state = 406;
2196
2143
  this.match(CircuitScriptParser.INDENT);
2197
- this.state = 413;
2144
+ this.state = 409;
2198
2145
  this.errorHandler.sync(this);
2199
2146
  _la = this.tokenStream.LA(1);
2200
2147
  do {
2201
2148
  {
2202
- this.state = 413;
2149
+ this.state = 409;
2203
2150
  this.errorHandler.sync(this);
2204
2151
  switch (this.tokenStream.LA(1)) {
2205
2152
  case CircuitScriptParser.NEWLINE:
2206
2153
  {
2207
- this.state = 411;
2154
+ this.state = 407;
2208
2155
  this.match(CircuitScriptParser.NEWLINE);
2209
2156
  }
2210
2157
  break;
@@ -2231,7 +2178,7 @@ export class CircuitScriptParser extends antlr.Parser {
2231
2178
  case CircuitScriptParser.Divide:
2232
2179
  case CircuitScriptParser.ID:
2233
2180
  {
2234
- this.state = 412;
2181
+ this.state = 408;
2235
2182
  this.function_expr();
2236
2183
  }
2237
2184
  break;
@@ -2239,11 +2186,11 @@ export class CircuitScriptParser extends antlr.Parser {
2239
2186
  throw new antlr.NoViableAltException(this);
2240
2187
  }
2241
2188
  }
2242
- this.state = 415;
2189
+ this.state = 411;
2243
2190
  this.errorHandler.sync(this);
2244
2191
  _la = this.tokenStream.LA(1);
2245
2192
  } while (((((_la - 4)) & ~0x1F) === 0 && ((1 << (_la - 4)) & 868217905) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 4210693) !== 0));
2246
- this.state = 417;
2193
+ this.state = 413;
2247
2194
  this.match(CircuitScriptParser.DEDENT);
2248
2195
  }
2249
2196
  }
@@ -2265,7 +2212,7 @@ export class CircuitScriptParser extends antlr.Parser {
2265
2212
  let localContext = new Function_exprContext(this.context, this.state);
2266
2213
  this.enterRule(localContext, 72, CircuitScriptParser.RULE_function_expr);
2267
2214
  try {
2268
- this.state = 421;
2215
+ this.state = 417;
2269
2216
  this.errorHandler.sync(this);
2270
2217
  switch (this.tokenStream.LA(1)) {
2271
2218
  case CircuitScriptParser.T__3:
@@ -2291,14 +2238,14 @@ export class CircuitScriptParser extends antlr.Parser {
2291
2238
  case CircuitScriptParser.ID:
2292
2239
  this.enterOuterAlt(localContext, 1);
2293
2240
  {
2294
- this.state = 419;
2241
+ this.state = 415;
2295
2242
  this.expression();
2296
2243
  }
2297
2244
  break;
2298
2245
  case CircuitScriptParser.Return:
2299
2246
  this.enterOuterAlt(localContext, 2);
2300
2247
  {
2301
- this.state = 420;
2248
+ this.state = 416;
2302
2249
  this.function_return_expr();
2303
2250
  }
2304
2251
  break;
@@ -2326,49 +2273,49 @@ export class CircuitScriptParser extends antlr.Parser {
2326
2273
  let _la;
2327
2274
  try {
2328
2275
  let alternative;
2329
- this.state = 452;
2276
+ this.state = 448;
2330
2277
  this.errorHandler.sync(this);
2331
- switch (this.interpreter.adaptivePredict(this.tokenStream, 41, this.context)) {
2278
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 39, this.context)) {
2332
2279
  case 1:
2333
2280
  this.enterOuterAlt(localContext, 1);
2334
2281
  {
2335
- this.state = 423;
2282
+ this.state = 419;
2336
2283
  this.match(CircuitScriptParser.ID);
2337
- this.state = 428;
2284
+ this.state = 424;
2338
2285
  this.errorHandler.sync(this);
2339
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 38, this.context);
2286
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 36, this.context);
2340
2287
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2341
2288
  if (alternative === 1) {
2342
2289
  {
2343
2290
  {
2344
- this.state = 424;
2291
+ this.state = 420;
2345
2292
  this.match(CircuitScriptParser.T__1);
2346
- this.state = 425;
2293
+ this.state = 421;
2347
2294
  this.match(CircuitScriptParser.ID);
2348
2295
  }
2349
2296
  }
2350
2297
  }
2351
- this.state = 430;
2298
+ this.state = 426;
2352
2299
  this.errorHandler.sync(this);
2353
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 38, this.context);
2300
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 36, this.context);
2354
2301
  }
2355
- this.state = 437;
2302
+ this.state = 433;
2356
2303
  this.errorHandler.sync(this);
2357
2304
  _la = this.tokenStream.LA(1);
2358
2305
  while (_la === 2) {
2359
2306
  {
2360
2307
  {
2361
- this.state = 431;
2308
+ this.state = 427;
2362
2309
  this.match(CircuitScriptParser.T__1);
2363
- this.state = 432;
2310
+ this.state = 428;
2364
2311
  this.match(CircuitScriptParser.ID);
2365
- this.state = 433;
2312
+ this.state = 429;
2366
2313
  this.match(CircuitScriptParser.T__2);
2367
- this.state = 434;
2314
+ this.state = 430;
2368
2315
  this.value_expr();
2369
2316
  }
2370
2317
  }
2371
- this.state = 439;
2318
+ this.state = 435;
2372
2319
  this.errorHandler.sync(this);
2373
2320
  _la = this.tokenStream.LA(1);
2374
2321
  }
@@ -2377,29 +2324,29 @@ export class CircuitScriptParser extends antlr.Parser {
2377
2324
  case 2:
2378
2325
  this.enterOuterAlt(localContext, 2);
2379
2326
  {
2380
- this.state = 440;
2327
+ this.state = 436;
2381
2328
  this.match(CircuitScriptParser.ID);
2382
- this.state = 441;
2329
+ this.state = 437;
2383
2330
  this.match(CircuitScriptParser.T__2);
2384
- this.state = 442;
2331
+ this.state = 438;
2385
2332
  this.value_expr();
2386
- this.state = 449;
2333
+ this.state = 445;
2387
2334
  this.errorHandler.sync(this);
2388
2335
  _la = this.tokenStream.LA(1);
2389
2336
  while (_la === 2) {
2390
2337
  {
2391
2338
  {
2392
- this.state = 443;
2339
+ this.state = 439;
2393
2340
  this.match(CircuitScriptParser.T__1);
2394
- this.state = 444;
2341
+ this.state = 440;
2395
2342
  this.match(CircuitScriptParser.ID);
2396
- this.state = 445;
2343
+ this.state = 441;
2397
2344
  this.match(CircuitScriptParser.T__2);
2398
- this.state = 446;
2345
+ this.state = 442;
2399
2346
  this.value_expr();
2400
2347
  }
2401
2348
  }
2402
- this.state = 451;
2349
+ this.state = 447;
2403
2350
  this.errorHandler.sync(this);
2404
2351
  _la = this.tokenStream.LA(1);
2405
2352
  }
@@ -2428,25 +2375,25 @@ export class CircuitScriptParser extends antlr.Parser {
2428
2375
  let alternative;
2429
2376
  this.enterOuterAlt(localContext, 1);
2430
2377
  {
2431
- this.state = 454;
2378
+ this.state = 450;
2432
2379
  this.match(CircuitScriptParser.ID);
2433
- this.state = 459;
2380
+ this.state = 455;
2434
2381
  this.errorHandler.sync(this);
2435
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 42, this.context);
2382
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 40, this.context);
2436
2383
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
2437
2384
  if (alternative === 1) {
2438
2385
  {
2439
2386
  {
2440
- this.state = 455;
2387
+ this.state = 451;
2441
2388
  this.match(CircuitScriptParser.T__4);
2442
- this.state = 456;
2389
+ this.state = 452;
2443
2390
  this.match(CircuitScriptParser.ID);
2444
2391
  }
2445
2392
  }
2446
2393
  }
2447
- this.state = 461;
2394
+ this.state = 457;
2448
2395
  this.errorHandler.sync(this);
2449
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 42, this.context);
2396
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 40, this.context);
2450
2397
  }
2451
2398
  }
2452
2399
  }
@@ -2469,33 +2416,33 @@ export class CircuitScriptParser extends antlr.Parser {
2469
2416
  this.enterRule(localContext, 78, CircuitScriptParser.RULE_trailer_expr);
2470
2417
  let _la;
2471
2418
  try {
2472
- this.state = 469;
2419
+ this.state = 465;
2473
2420
  this.errorHandler.sync(this);
2474
2421
  switch (this.tokenStream.LA(1)) {
2475
2422
  case CircuitScriptParser.OPEN_PAREN:
2476
2423
  this.enterOuterAlt(localContext, 1);
2477
2424
  {
2478
- this.state = 462;
2425
+ this.state = 458;
2479
2426
  this.match(CircuitScriptParser.OPEN_PAREN);
2480
- this.state = 464;
2427
+ this.state = 460;
2481
2428
  this.errorHandler.sync(this);
2482
2429
  _la = this.tokenStream.LA(1);
2483
2430
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
2484
2431
  {
2485
- this.state = 463;
2432
+ this.state = 459;
2486
2433
  this.parameters();
2487
2434
  }
2488
2435
  }
2489
- this.state = 466;
2436
+ this.state = 462;
2490
2437
  this.match(CircuitScriptParser.CLOSE_PAREN);
2491
2438
  }
2492
2439
  break;
2493
2440
  case CircuitScriptParser.T__4:
2494
2441
  this.enterOuterAlt(localContext, 2);
2495
2442
  {
2496
- this.state = 467;
2443
+ this.state = 463;
2497
2444
  this.match(CircuitScriptParser.T__4);
2498
- this.state = 468;
2445
+ this.state = 464;
2499
2446
  this.match(CircuitScriptParser.ID);
2500
2447
  }
2501
2448
  break;
@@ -2525,18 +2472,18 @@ export class CircuitScriptParser extends antlr.Parser {
2525
2472
  let alternative;
2526
2473
  this.enterOuterAlt(localContext, 1);
2527
2474
  {
2528
- this.state = 472;
2475
+ this.state = 468;
2529
2476
  this.errorHandler.sync(this);
2530
2477
  _la = this.tokenStream.LA(1);
2531
2478
  if (_la === 42 || _la === 44) {
2532
2479
  {
2533
- this.state = 471;
2480
+ this.state = 467;
2534
2481
  this.net_namespace_expr();
2535
2482
  }
2536
2483
  }
2537
- this.state = 474;
2484
+ this.state = 470;
2538
2485
  this.match(CircuitScriptParser.ID);
2539
- this.state = 476;
2486
+ this.state = 472;
2540
2487
  this.errorHandler.sync(this);
2541
2488
  alternative = 1;
2542
2489
  do {
@@ -2544,7 +2491,7 @@ export class CircuitScriptParser extends antlr.Parser {
2544
2491
  case 1:
2545
2492
  {
2546
2493
  {
2547
- this.state = 475;
2494
+ this.state = 471;
2548
2495
  this.trailer_expr();
2549
2496
  }
2550
2497
  }
@@ -2552,9 +2499,9 @@ export class CircuitScriptParser extends antlr.Parser {
2552
2499
  default:
2553
2500
  throw new antlr.NoViableAltException(this);
2554
2501
  }
2555
- this.state = 478;
2502
+ this.state = 474;
2556
2503
  this.errorHandler.sync(this);
2557
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 46, this.context);
2504
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 44, this.context);
2558
2505
  } while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER);
2559
2506
  }
2560
2507
  }
@@ -2579,23 +2526,23 @@ export class CircuitScriptParser extends antlr.Parser {
2579
2526
  try {
2580
2527
  this.enterOuterAlt(localContext, 1);
2581
2528
  {
2582
- this.state = 481;
2529
+ this.state = 477;
2583
2530
  this.errorHandler.sync(this);
2584
2531
  _la = this.tokenStream.LA(1);
2585
2532
  if (_la === 42) {
2586
2533
  {
2587
- this.state = 480;
2534
+ this.state = 476;
2588
2535
  this.match(CircuitScriptParser.Addition);
2589
2536
  }
2590
2537
  }
2591
- this.state = 483;
2538
+ this.state = 479;
2592
2539
  this.match(CircuitScriptParser.Divide);
2593
- this.state = 485;
2540
+ this.state = 481;
2594
2541
  this.errorHandler.sync(this);
2595
- switch (this.interpreter.adaptivePredict(this.tokenStream, 48, this.context)) {
2542
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 46, this.context)) {
2596
2543
  case 1:
2597
2544
  {
2598
- this.state = 484;
2545
+ this.state = 480;
2599
2546
  this.data_expr(0);
2600
2547
  }
2601
2548
  break;
@@ -2622,9 +2569,9 @@ export class CircuitScriptParser extends antlr.Parser {
2622
2569
  try {
2623
2570
  this.enterOuterAlt(localContext, 1);
2624
2571
  {
2625
- this.state = 487;
2572
+ this.state = 483;
2626
2573
  this.match(CircuitScriptParser.Return);
2627
- this.state = 488;
2574
+ this.state = 484;
2628
2575
  this.data_expr(0);
2629
2576
  }
2630
2577
  }
@@ -2648,11 +2595,11 @@ export class CircuitScriptParser extends antlr.Parser {
2648
2595
  try {
2649
2596
  this.enterOuterAlt(localContext, 1);
2650
2597
  {
2651
- this.state = 490;
2598
+ this.state = 486;
2652
2599
  this.property_key_expr();
2653
- this.state = 491;
2600
+ this.state = 487;
2654
2601
  this.match(CircuitScriptParser.T__0);
2655
- this.state = 492;
2602
+ this.state = 488;
2656
2603
  this.expressions_block();
2657
2604
  }
2658
2605
  }
@@ -2677,27 +2624,27 @@ export class CircuitScriptParser extends antlr.Parser {
2677
2624
  try {
2678
2625
  this.enterOuterAlt(localContext, 1);
2679
2626
  {
2680
- this.state = 494;
2627
+ this.state = 490;
2681
2628
  this.match(CircuitScriptParser.Create);
2682
- this.state = 495;
2629
+ this.state = 491;
2683
2630
  this.match(CircuitScriptParser.Component);
2684
- this.state = 496;
2631
+ this.state = 492;
2685
2632
  this.match(CircuitScriptParser.T__0);
2686
- this.state = 497;
2633
+ this.state = 493;
2687
2634
  this.match(CircuitScriptParser.NEWLINE);
2688
- this.state = 498;
2635
+ this.state = 494;
2689
2636
  this.match(CircuitScriptParser.INDENT);
2690
- this.state = 501;
2637
+ this.state = 497;
2691
2638
  this.errorHandler.sync(this);
2692
2639
  _la = this.tokenStream.LA(1);
2693
2640
  do {
2694
2641
  {
2695
- this.state = 501;
2642
+ this.state = 497;
2696
2643
  this.errorHandler.sync(this);
2697
2644
  switch (this.tokenStream.LA(1)) {
2698
2645
  case CircuitScriptParser.NEWLINE:
2699
2646
  {
2700
- this.state = 499;
2647
+ this.state = 495;
2701
2648
  this.match(CircuitScriptParser.NEWLINE);
2702
2649
  }
2703
2650
  break;
@@ -2705,7 +2652,7 @@ export class CircuitScriptParser extends antlr.Parser {
2705
2652
  case CircuitScriptParser.INTEGER_VALUE:
2706
2653
  case CircuitScriptParser.STRING_VALUE:
2707
2654
  {
2708
- this.state = 500;
2655
+ this.state = 496;
2709
2656
  this.property_expr();
2710
2657
  }
2711
2658
  break;
@@ -2713,11 +2660,11 @@ export class CircuitScriptParser extends antlr.Parser {
2713
2660
  throw new antlr.NoViableAltException(this);
2714
2661
  }
2715
2662
  }
2716
- this.state = 503;
2663
+ this.state = 499;
2717
2664
  this.errorHandler.sync(this);
2718
2665
  _la = this.tokenStream.LA(1);
2719
2666
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2720
- this.state = 505;
2667
+ this.state = 501;
2721
2668
  this.match(CircuitScriptParser.DEDENT);
2722
2669
  }
2723
2670
  }
@@ -2742,21 +2689,21 @@ export class CircuitScriptParser extends antlr.Parser {
2742
2689
  try {
2743
2690
  this.enterOuterAlt(localContext, 1);
2744
2691
  {
2745
- this.state = 507;
2692
+ this.state = 503;
2746
2693
  this.match(CircuitScriptParser.NEWLINE);
2747
- this.state = 508;
2694
+ this.state = 504;
2748
2695
  this.match(CircuitScriptParser.INDENT);
2749
- this.state = 511;
2696
+ this.state = 507;
2750
2697
  this.errorHandler.sync(this);
2751
2698
  _la = this.tokenStream.LA(1);
2752
2699
  do {
2753
2700
  {
2754
- this.state = 511;
2701
+ this.state = 507;
2755
2702
  this.errorHandler.sync(this);
2756
2703
  switch (this.tokenStream.LA(1)) {
2757
2704
  case CircuitScriptParser.NEWLINE:
2758
2705
  {
2759
- this.state = 509;
2706
+ this.state = 505;
2760
2707
  this.match(CircuitScriptParser.NEWLINE);
2761
2708
  }
2762
2709
  break;
@@ -2764,7 +2711,7 @@ export class CircuitScriptParser extends antlr.Parser {
2764
2711
  case CircuitScriptParser.For:
2765
2712
  case CircuitScriptParser.ID:
2766
2713
  {
2767
- this.state = 510;
2714
+ this.state = 506;
2768
2715
  this.graphic_expr();
2769
2716
  }
2770
2717
  break;
@@ -2772,11 +2719,11 @@ export class CircuitScriptParser extends antlr.Parser {
2772
2719
  throw new antlr.NoViableAltException(this);
2773
2720
  }
2774
2721
  }
2775
- this.state = 513;
2722
+ this.state = 509;
2776
2723
  this.errorHandler.sync(this);
2777
2724
  _la = this.tokenStream.LA(1);
2778
2725
  } while (_la === 15 || _la === 25 || _la === 56 || _la === 64);
2779
- this.state = 515;
2726
+ this.state = 511;
2780
2727
  this.match(CircuitScriptParser.DEDENT);
2781
2728
  }
2782
2729
  }
@@ -2797,16 +2744,30 @@ export class CircuitScriptParser extends antlr.Parser {
2797
2744
  create_graphic_expr() {
2798
2745
  let localContext = new Create_graphic_exprContext(this.context, this.state);
2799
2746
  this.enterRule(localContext, 92, CircuitScriptParser.RULE_create_graphic_expr);
2747
+ let _la;
2800
2748
  try {
2801
2749
  this.enterOuterAlt(localContext, 1);
2802
2750
  {
2803
- this.state = 517;
2751
+ this.state = 513;
2804
2752
  this.match(CircuitScriptParser.Create);
2805
- this.state = 518;
2753
+ this.state = 514;
2806
2754
  this.match(CircuitScriptParser.Graphic);
2807
- this.state = 519;
2808
- this.match(CircuitScriptParser.T__0);
2755
+ this.state = 518;
2756
+ this.errorHandler.sync(this);
2757
+ _la = this.tokenStream.LA(1);
2758
+ if (_la === 52) {
2759
+ {
2760
+ this.state = 515;
2761
+ this.match(CircuitScriptParser.OPEN_PAREN);
2762
+ this.state = 516;
2763
+ this.match(CircuitScriptParser.ID);
2764
+ this.state = 517;
2765
+ this.match(CircuitScriptParser.CLOSE_PAREN);
2766
+ }
2767
+ }
2809
2768
  this.state = 520;
2769
+ this.match(CircuitScriptParser.T__0);
2770
+ this.state = 521;
2810
2771
  this.graphic_expressions_block();
2811
2772
  }
2812
2773
  }
@@ -2831,49 +2792,49 @@ export class CircuitScriptParser extends antlr.Parser {
2831
2792
  try {
2832
2793
  this.enterOuterAlt(localContext, 1);
2833
2794
  {
2834
- this.state = 522;
2835
- this.match(CircuitScriptParser.Create);
2836
2795
  this.state = 523;
2837
- this.match(CircuitScriptParser.Module);
2796
+ this.match(CircuitScriptParser.Create);
2838
2797
  this.state = 524;
2839
- this.match(CircuitScriptParser.T__0);
2798
+ this.match(CircuitScriptParser.Module);
2840
2799
  this.state = 525;
2841
- this.match(CircuitScriptParser.NEWLINE);
2800
+ this.match(CircuitScriptParser.T__0);
2842
2801
  this.state = 526;
2802
+ this.match(CircuitScriptParser.NEWLINE);
2803
+ this.state = 527;
2843
2804
  this.match(CircuitScriptParser.INDENT);
2844
- this.state = 530;
2805
+ this.state = 531;
2845
2806
  this.errorHandler.sync(this);
2846
2807
  _la = this.tokenStream.LA(1);
2847
2808
  do {
2848
2809
  {
2849
- this.state = 530;
2810
+ this.state = 531;
2850
2811
  this.errorHandler.sync(this);
2851
- switch (this.interpreter.adaptivePredict(this.tokenStream, 53, this.context)) {
2812
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 52, this.context)) {
2852
2813
  case 1:
2853
2814
  {
2854
- this.state = 527;
2815
+ this.state = 528;
2855
2816
  this.match(CircuitScriptParser.NEWLINE);
2856
2817
  }
2857
2818
  break;
2858
2819
  case 2:
2859
2820
  {
2860
- this.state = 528;
2821
+ this.state = 529;
2861
2822
  this.property_expr();
2862
2823
  }
2863
2824
  break;
2864
2825
  case 3:
2865
2826
  {
2866
- this.state = 529;
2827
+ this.state = 530;
2867
2828
  this.property_block_expr();
2868
2829
  }
2869
2830
  break;
2870
2831
  }
2871
2832
  }
2872
- this.state = 532;
2833
+ this.state = 533;
2873
2834
  this.errorHandler.sync(this);
2874
2835
  _la = this.tokenStream.LA(1);
2875
2836
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2876
- this.state = 534;
2837
+ this.state = 535;
2877
2838
  this.match(CircuitScriptParser.DEDENT);
2878
2839
  }
2879
2840
  }
@@ -2899,21 +2860,21 @@ export class CircuitScriptParser extends antlr.Parser {
2899
2860
  this.enterOuterAlt(localContext, 1);
2900
2861
  {
2901
2862
  {
2902
- this.state = 536;
2903
- this.match(CircuitScriptParser.NEWLINE);
2904
2863
  this.state = 537;
2864
+ this.match(CircuitScriptParser.NEWLINE);
2865
+ this.state = 538;
2905
2866
  this.match(CircuitScriptParser.INDENT);
2906
- this.state = 540;
2867
+ this.state = 541;
2907
2868
  this.errorHandler.sync(this);
2908
2869
  _la = this.tokenStream.LA(1);
2909
2870
  do {
2910
2871
  {
2911
- this.state = 540;
2872
+ this.state = 541;
2912
2873
  this.errorHandler.sync(this);
2913
2874
  switch (this.tokenStream.LA(1)) {
2914
2875
  case CircuitScriptParser.NEWLINE:
2915
2876
  {
2916
- this.state = 538;
2877
+ this.state = 539;
2917
2878
  this.match(CircuitScriptParser.NEWLINE);
2918
2879
  }
2919
2880
  break;
@@ -2921,7 +2882,7 @@ export class CircuitScriptParser extends antlr.Parser {
2921
2882
  case CircuitScriptParser.INTEGER_VALUE:
2922
2883
  case CircuitScriptParser.STRING_VALUE:
2923
2884
  {
2924
- this.state = 539;
2885
+ this.state = 540;
2925
2886
  this.property_expr();
2926
2887
  }
2927
2888
  break;
@@ -2929,11 +2890,11 @@ export class CircuitScriptParser extends antlr.Parser {
2929
2890
  throw new antlr.NoViableAltException(this);
2930
2891
  }
2931
2892
  }
2932
- this.state = 542;
2893
+ this.state = 543;
2933
2894
  this.errorHandler.sync(this);
2934
2895
  _la = this.tokenStream.LA(1);
2935
2896
  } while (((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 275) !== 0));
2936
- this.state = 544;
2897
+ this.state = 545;
2937
2898
  this.match(CircuitScriptParser.DEDENT);
2938
2899
  }
2939
2900
  }
@@ -2957,7 +2918,7 @@ export class CircuitScriptParser extends antlr.Parser {
2957
2918
  this.enterRule(localContext, 98, CircuitScriptParser.RULE_graphic_expr);
2958
2919
  let _la;
2959
2920
  try {
2960
- this.state = 572;
2921
+ this.state = 573;
2961
2922
  this.errorHandler.sync(this);
2962
2923
  switch (this.tokenStream.LA(1)) {
2963
2924
  case CircuitScriptParser.Pin:
@@ -2965,7 +2926,7 @@ export class CircuitScriptParser extends antlr.Parser {
2965
2926
  localContext = new GraphicCommandExprContext(localContext);
2966
2927
  this.enterOuterAlt(localContext, 1);
2967
2928
  {
2968
- this.state = 546;
2929
+ this.state = 547;
2969
2930
  localContext._command = this.tokenStream.LT(1);
2970
2931
  _la = this.tokenStream.LA(1);
2971
2932
  if (!(_la === 15 || _la === 56)) {
@@ -2975,37 +2936,37 @@ export class CircuitScriptParser extends antlr.Parser {
2975
2936
  this.errorHandler.reportMatch(this);
2976
2937
  this.consume();
2977
2938
  }
2978
- this.state = 548;
2939
+ this.state = 549;
2979
2940
  this.errorHandler.sync(this);
2980
2941
  _la = this.tokenStream.LA(1);
2981
2942
  if (_la === 1) {
2982
2943
  {
2983
- this.state = 547;
2944
+ this.state = 548;
2984
2945
  this.match(CircuitScriptParser.T__0);
2985
2946
  }
2986
2947
  }
2987
- this.state = 556;
2948
+ this.state = 557;
2988
2949
  this.errorHandler.sync(this);
2989
- switch (this.interpreter.adaptivePredict(this.tokenStream, 58, this.context)) {
2950
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 57, this.context)) {
2990
2951
  case 1:
2991
2952
  {
2992
- this.state = 550;
2953
+ this.state = 551;
2993
2954
  this.parameters();
2994
2955
  }
2995
2956
  break;
2996
2957
  case 2:
2997
2958
  {
2998
- this.state = 551;
2999
- this.match(CircuitScriptParser.OPEN_PAREN);
3000
2959
  this.state = 552;
3001
- this.parameters();
2960
+ this.match(CircuitScriptParser.OPEN_PAREN);
3002
2961
  this.state = 553;
2962
+ this.parameters();
2963
+ this.state = 554;
3003
2964
  this.match(CircuitScriptParser.CLOSE_PAREN);
3004
2965
  }
3005
2966
  break;
3006
2967
  case 3:
3007
2968
  {
3008
- this.state = 555;
2969
+ this.state = 556;
3009
2970
  this.nested_properties_inner();
3010
2971
  }
3011
2972
  break;
@@ -3016,33 +2977,33 @@ export class CircuitScriptParser extends antlr.Parser {
3016
2977
  localContext = new GraphicForExprContext(localContext);
3017
2978
  this.enterOuterAlt(localContext, 2);
3018
2979
  {
3019
- this.state = 558;
3020
- this.match(CircuitScriptParser.For);
3021
2980
  this.state = 559;
2981
+ this.match(CircuitScriptParser.For);
2982
+ this.state = 560;
3022
2983
  this.match(CircuitScriptParser.ID);
3023
- this.state = 564;
2984
+ this.state = 565;
3024
2985
  this.errorHandler.sync(this);
3025
2986
  _la = this.tokenStream.LA(1);
3026
2987
  while (_la === 2) {
3027
2988
  {
3028
2989
  {
3029
- this.state = 560;
3030
- this.match(CircuitScriptParser.T__1);
3031
2990
  this.state = 561;
2991
+ this.match(CircuitScriptParser.T__1);
2992
+ this.state = 562;
3032
2993
  this.match(CircuitScriptParser.ID);
3033
2994
  }
3034
2995
  }
3035
- this.state = 566;
2996
+ this.state = 567;
3036
2997
  this.errorHandler.sync(this);
3037
2998
  _la = this.tokenStream.LA(1);
3038
2999
  }
3039
- this.state = 567;
3040
- this.match(CircuitScriptParser.In);
3041
3000
  this.state = 568;
3042
- this.data_expr(0);
3001
+ this.match(CircuitScriptParser.In);
3043
3002
  this.state = 569;
3044
- this.match(CircuitScriptParser.T__0);
3003
+ this.data_expr(0);
3045
3004
  this.state = 570;
3005
+ this.match(CircuitScriptParser.T__0);
3006
+ this.state = 571;
3046
3007
  this.graphic_expressions_block();
3047
3008
  }
3048
3009
  break;
@@ -3070,11 +3031,11 @@ export class CircuitScriptParser extends antlr.Parser {
3070
3031
  try {
3071
3032
  this.enterOuterAlt(localContext, 1);
3072
3033
  {
3073
- this.state = 574;
3074
- this.property_key_expr();
3075
3034
  this.state = 575;
3076
- this.match(CircuitScriptParser.T__0);
3035
+ this.property_key_expr();
3077
3036
  this.state = 576;
3037
+ this.match(CircuitScriptParser.T__0);
3038
+ this.state = 577;
3078
3039
  this.property_value_expr();
3079
3040
  }
3080
3041
  }
@@ -3099,7 +3060,7 @@ export class CircuitScriptParser extends antlr.Parser {
3099
3060
  try {
3100
3061
  this.enterOuterAlt(localContext, 1);
3101
3062
  {
3102
- this.state = 578;
3063
+ this.state = 579;
3103
3064
  _la = this.tokenStream.LA(1);
3104
3065
  if (!(((((_la - 56)) & ~0x1F) === 0 && ((1 << (_la - 56)) & 19) !== 0))) {
3105
3066
  this.errorHandler.recoverInline(this);
@@ -3129,14 +3090,14 @@ export class CircuitScriptParser extends antlr.Parser {
3129
3090
  this.enterRule(localContext, 104, CircuitScriptParser.RULE_property_value_expr);
3130
3091
  let _la;
3131
3092
  try {
3132
- this.state = 589;
3093
+ this.state = 590;
3133
3094
  this.errorHandler.sync(this);
3134
3095
  switch (this.tokenStream.LA(1)) {
3135
3096
  case CircuitScriptParser.NEWLINE:
3136
3097
  localContext = new Nested_propertiesContext(localContext);
3137
3098
  this.enterOuterAlt(localContext, 1);
3138
3099
  {
3139
- this.state = 580;
3100
+ this.state = 581;
3140
3101
  this.nested_properties_inner();
3141
3102
  }
3142
3103
  break;
@@ -3157,21 +3118,21 @@ export class CircuitScriptParser extends antlr.Parser {
3157
3118
  localContext = new Single_line_propertyContext(localContext);
3158
3119
  this.enterOuterAlt(localContext, 2);
3159
3120
  {
3160
- this.state = 581;
3121
+ this.state = 582;
3161
3122
  this.data_expr(0);
3162
- this.state = 586;
3123
+ this.state = 587;
3163
3124
  this.errorHandler.sync(this);
3164
3125
  _la = this.tokenStream.LA(1);
3165
3126
  while (_la === 2) {
3166
3127
  {
3167
3128
  {
3168
- this.state = 582;
3169
- this.match(CircuitScriptParser.T__1);
3170
3129
  this.state = 583;
3130
+ this.match(CircuitScriptParser.T__1);
3131
+ this.state = 584;
3171
3132
  this.data_expr(0);
3172
3133
  }
3173
3134
  }
3174
- this.state = 588;
3135
+ this.state = 589;
3175
3136
  this.errorHandler.sync(this);
3176
3137
  _la = this.tokenStream.LA(1);
3177
3138
  }
@@ -3199,27 +3160,27 @@ export class CircuitScriptParser extends antlr.Parser {
3199
3160
  let localContext = new Wire_atom_exprContext(this.context, this.state);
3200
3161
  this.enterRule(localContext, 106, CircuitScriptParser.RULE_wire_atom_expr);
3201
3162
  try {
3202
- this.state = 597;
3163
+ this.state = 598;
3203
3164
  this.errorHandler.sync(this);
3204
- switch (this.interpreter.adaptivePredict(this.tokenStream, 64, this.context)) {
3165
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 63, this.context)) {
3205
3166
  case 1:
3206
3167
  localContext = new Wire_expr_direction_valueContext(localContext);
3207
3168
  this.enterOuterAlt(localContext, 1);
3208
3169
  {
3209
- this.state = 591;
3170
+ this.state = 592;
3210
3171
  this.match(CircuitScriptParser.ID);
3211
- this.state = 594;
3172
+ this.state = 595;
3212
3173
  this.errorHandler.sync(this);
3213
- switch (this.interpreter.adaptivePredict(this.tokenStream, 63, this.context)) {
3174
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 62, this.context)) {
3214
3175
  case 1:
3215
3176
  {
3216
- this.state = 592;
3177
+ this.state = 593;
3217
3178
  this.match(CircuitScriptParser.INTEGER_VALUE);
3218
3179
  }
3219
3180
  break;
3220
3181
  case 2:
3221
3182
  {
3222
- this.state = 593;
3183
+ this.state = 594;
3223
3184
  this.data_expr(0);
3224
3185
  }
3225
3186
  break;
@@ -3230,7 +3191,7 @@ export class CircuitScriptParser extends antlr.Parser {
3230
3191
  localContext = new Wire_expr_direction_onlyContext(localContext);
3231
3192
  this.enterOuterAlt(localContext, 2);
3232
3193
  {
3233
- this.state = 596;
3194
+ this.state = 597;
3234
3195
  this.match(CircuitScriptParser.ID);
3235
3196
  }
3236
3197
  break;
@@ -3257,23 +3218,23 @@ export class CircuitScriptParser extends antlr.Parser {
3257
3218
  let alternative;
3258
3219
  this.enterOuterAlt(localContext, 1);
3259
3220
  {
3260
- this.state = 599;
3221
+ this.state = 600;
3261
3222
  this.match(CircuitScriptParser.Wire);
3262
- this.state = 603;
3223
+ this.state = 604;
3263
3224
  this.errorHandler.sync(this);
3264
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 65, this.context);
3225
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
3265
3226
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3266
3227
  if (alternative === 1) {
3267
3228
  {
3268
3229
  {
3269
- this.state = 600;
3230
+ this.state = 601;
3270
3231
  this.wire_atom_expr();
3271
3232
  }
3272
3233
  }
3273
3234
  }
3274
- this.state = 605;
3235
+ this.state = 606;
3275
3236
  this.errorHandler.sync(this);
3276
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 65, this.context);
3237
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 64, this.context);
3277
3238
  }
3278
3239
  }
3279
3240
  }
@@ -3298,39 +3259,39 @@ export class CircuitScriptParser extends antlr.Parser {
3298
3259
  try {
3299
3260
  this.enterOuterAlt(localContext, 1);
3300
3261
  {
3301
- this.state = 606;
3262
+ this.state = 607;
3302
3263
  this.match(CircuitScriptParser.T__5);
3303
- this.state = 617;
3264
+ this.state = 618;
3304
3265
  this.errorHandler.sync(this);
3305
3266
  _la = this.tokenStream.LA(1);
3306
3267
  while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 2147484736) !== 0) || ((((_la - 42)) & ~0x1F) === 0 && ((1 << (_la - 42)) & 1041415) !== 0)) {
3307
3268
  {
3308
3269
  {
3309
- this.state = 607;
3270
+ this.state = 608;
3310
3271
  this.data_expr(0);
3311
- this.state = 612;
3272
+ this.state = 613;
3312
3273
  this.errorHandler.sync(this);
3313
3274
  _la = this.tokenStream.LA(1);
3314
3275
  while (_la === 2) {
3315
3276
  {
3316
3277
  {
3317
- this.state = 608;
3318
- this.match(CircuitScriptParser.T__1);
3319
3278
  this.state = 609;
3279
+ this.match(CircuitScriptParser.T__1);
3280
+ this.state = 610;
3320
3281
  this.data_expr(0);
3321
3282
  }
3322
3283
  }
3323
- this.state = 614;
3284
+ this.state = 615;
3324
3285
  this.errorHandler.sync(this);
3325
3286
  _la = this.tokenStream.LA(1);
3326
3287
  }
3327
3288
  }
3328
3289
  }
3329
- this.state = 619;
3290
+ this.state = 620;
3330
3291
  this.errorHandler.sync(this);
3331
3292
  _la = this.tokenStream.LA(1);
3332
3293
  }
3333
- this.state = 620;
3294
+ this.state = 621;
3334
3295
  this.match(CircuitScriptParser.T__6);
3335
3296
  }
3336
3297
  }
@@ -3354,9 +3315,9 @@ export class CircuitScriptParser extends antlr.Parser {
3354
3315
  try {
3355
3316
  this.enterOuterAlt(localContext, 1);
3356
3317
  {
3357
- this.state = 622;
3358
- this.match(CircuitScriptParser.Point);
3359
3318
  this.state = 623;
3319
+ this.match(CircuitScriptParser.Point);
3320
+ this.state = 624;
3360
3321
  this.match(CircuitScriptParser.ID);
3361
3322
  }
3362
3323
  }
@@ -3380,9 +3341,9 @@ export class CircuitScriptParser extends antlr.Parser {
3380
3341
  try {
3381
3342
  this.enterOuterAlt(localContext, 1);
3382
3343
  {
3383
- this.state = 625;
3384
- this.match(CircuitScriptParser.Import);
3385
3344
  this.state = 626;
3345
+ this.match(CircuitScriptParser.Import);
3346
+ this.state = 627;
3386
3347
  this.match(CircuitScriptParser.ID);
3387
3348
  }
3388
3349
  }
@@ -3407,7 +3368,7 @@ export class CircuitScriptParser extends antlr.Parser {
3407
3368
  try {
3408
3369
  this.enterOuterAlt(localContext, 1);
3409
3370
  {
3410
- this.state = 628;
3371
+ this.state = 629;
3411
3372
  _la = this.tokenStream.LA(1);
3412
3373
  if (!(_la === 32 || _la === 33)) {
3413
3374
  this.errorHandler.recoverInline(this);
@@ -3416,9 +3377,9 @@ export class CircuitScriptParser extends antlr.Parser {
3416
3377
  this.errorHandler.reportMatch(this);
3417
3378
  this.consume();
3418
3379
  }
3419
- this.state = 629;
3420
- this.match(CircuitScriptParser.T__0);
3421
3380
  this.state = 630;
3381
+ this.match(CircuitScriptParser.T__0);
3382
+ this.state = 631;
3422
3383
  this.expressions_block();
3423
3384
  }
3424
3385
  }
@@ -3444,36 +3405,36 @@ export class CircuitScriptParser extends antlr.Parser {
3444
3405
  let alternative;
3445
3406
  this.enterOuterAlt(localContext, 1);
3446
3407
  {
3447
- this.state = 632;
3448
- this.match(CircuitScriptParser.If);
3449
3408
  this.state = 633;
3450
- this.data_expr(0);
3409
+ this.match(CircuitScriptParser.If);
3451
3410
  this.state = 634;
3452
- this.match(CircuitScriptParser.T__0);
3411
+ this.data_expr(0);
3453
3412
  this.state = 635;
3413
+ this.match(CircuitScriptParser.T__0);
3414
+ this.state = 636;
3454
3415
  this.expressions_block();
3455
- this.state = 639;
3416
+ this.state = 640;
3456
3417
  this.errorHandler.sync(this);
3457
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 68, this.context);
3418
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 67, this.context);
3458
3419
  while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
3459
3420
  if (alternative === 1) {
3460
3421
  {
3461
3422
  {
3462
- this.state = 636;
3423
+ this.state = 637;
3463
3424
  this.if_inner_expr();
3464
3425
  }
3465
3426
  }
3466
3427
  }
3467
- this.state = 641;
3428
+ this.state = 642;
3468
3429
  this.errorHandler.sync(this);
3469
- alternative = this.interpreter.adaptivePredict(this.tokenStream, 68, this.context);
3430
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 67, this.context);
3470
3431
  }
3471
- this.state = 643;
3432
+ this.state = 644;
3472
3433
  this.errorHandler.sync(this);
3473
3434
  _la = this.tokenStream.LA(1);
3474
3435
  if (_la === 30) {
3475
3436
  {
3476
- this.state = 642;
3437
+ this.state = 643;
3477
3438
  this.else_expr();
3478
3439
  }
3479
3440
  }
@@ -3499,15 +3460,15 @@ export class CircuitScriptParser extends antlr.Parser {
3499
3460
  try {
3500
3461
  this.enterOuterAlt(localContext, 1);
3501
3462
  {
3502
- this.state = 645;
3503
- this.match(CircuitScriptParser.Else);
3504
3463
  this.state = 646;
3505
- this.match(CircuitScriptParser.If);
3464
+ this.match(CircuitScriptParser.Else);
3506
3465
  this.state = 647;
3507
- this.data_expr(0);
3466
+ this.match(CircuitScriptParser.If);
3508
3467
  this.state = 648;
3509
- this.match(CircuitScriptParser.T__0);
3468
+ this.data_expr(0);
3510
3469
  this.state = 649;
3470
+ this.match(CircuitScriptParser.T__0);
3471
+ this.state = 650;
3511
3472
  this.expressions_block();
3512
3473
  }
3513
3474
  }
@@ -3531,11 +3492,11 @@ export class CircuitScriptParser extends antlr.Parser {
3531
3492
  try {
3532
3493
  this.enterOuterAlt(localContext, 1);
3533
3494
  {
3534
- this.state = 651;
3535
- this.match(CircuitScriptParser.Else);
3536
3495
  this.state = 652;
3537
- this.match(CircuitScriptParser.T__0);
3496
+ this.match(CircuitScriptParser.Else);
3538
3497
  this.state = 653;
3498
+ this.match(CircuitScriptParser.T__0);
3499
+ this.state = 654;
3539
3500
  this.expressions_block();
3540
3501
  }
3541
3502
  }
@@ -3559,13 +3520,13 @@ export class CircuitScriptParser extends antlr.Parser {
3559
3520
  try {
3560
3521
  this.enterOuterAlt(localContext, 1);
3561
3522
  {
3562
- this.state = 655;
3563
- this.match(CircuitScriptParser.While);
3564
3523
  this.state = 656;
3565
- this.data_expr(0);
3524
+ this.match(CircuitScriptParser.While);
3566
3525
  this.state = 657;
3567
- this.match(CircuitScriptParser.T__0);
3526
+ this.data_expr(0);
3568
3527
  this.state = 658;
3528
+ this.match(CircuitScriptParser.T__0);
3529
+ this.state = 659;
3569
3530
  this.expressions_block();
3570
3531
  }
3571
3532
  }
@@ -3590,33 +3551,33 @@ export class CircuitScriptParser extends antlr.Parser {
3590
3551
  try {
3591
3552
  this.enterOuterAlt(localContext, 1);
3592
3553
  {
3593
- this.state = 660;
3594
- this.match(CircuitScriptParser.For);
3595
3554
  this.state = 661;
3555
+ this.match(CircuitScriptParser.For);
3556
+ this.state = 662;
3596
3557
  this.match(CircuitScriptParser.ID);
3597
- this.state = 666;
3558
+ this.state = 667;
3598
3559
  this.errorHandler.sync(this);
3599
3560
  _la = this.tokenStream.LA(1);
3600
3561
  while (_la === 2) {
3601
3562
  {
3602
3563
  {
3603
- this.state = 662;
3604
- this.match(CircuitScriptParser.T__1);
3605
3564
  this.state = 663;
3565
+ this.match(CircuitScriptParser.T__1);
3566
+ this.state = 664;
3606
3567
  this.match(CircuitScriptParser.ID);
3607
3568
  }
3608
3569
  }
3609
- this.state = 668;
3570
+ this.state = 669;
3610
3571
  this.errorHandler.sync(this);
3611
3572
  _la = this.tokenStream.LA(1);
3612
3573
  }
3613
- this.state = 669;
3614
- this.match(CircuitScriptParser.In);
3615
3574
  this.state = 670;
3616
- this.data_expr(0);
3575
+ this.match(CircuitScriptParser.In);
3617
3576
  this.state = 671;
3618
- this.match(CircuitScriptParser.T__0);
3577
+ this.data_expr(0);
3619
3578
  this.state = 672;
3579
+ this.match(CircuitScriptParser.T__0);
3580
+ this.state = 673;
3620
3581
  this.expressions_block();
3621
3582
  }
3622
3583
  }
@@ -3655,7 +3616,7 @@ export class CircuitScriptParser extends antlr.Parser {
3655
3616
  return true;
3656
3617
  }
3657
3618
  static _serializedATN = [
3658
- 4, 1, 67, 675, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
3619
+ 4, 1, 67, 676, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
3659
3620
  6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
3660
3621
  2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20,
3661
3622
  7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26,
@@ -3671,69 +3632,69 @@ export class CircuitScriptParser extends antlr.Parser {
3671
3632
  12, 3, 173, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 4, 5, 186, 8, 5, 11,
3672
3633
  5, 12, 5, 187, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3,
3673
3634
  8, 203, 8, 8, 1, 9, 1, 9, 3, 9, 207, 8, 9, 1, 9, 5, 9, 210, 8, 9, 10, 9, 12, 9, 213, 9, 9,
3674
- 1, 9, 3, 9, 216, 8, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 223, 8, 11, 1, 12, 1, 12,
3675
- 1, 13, 1, 13, 1, 13, 3, 13, 230, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 236, 8, 14, 10,
3676
- 14, 12, 14, 239, 9, 14, 1, 14, 3, 14, 242, 8, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1,
3677
- 15, 5, 15, 250, 8, 15, 10, 15, 12, 15, 253, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 4,
3678
- 15, 260, 8, 15, 11, 15, 12, 15, 261, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 5,
3679
- 16, 271, 8, 16, 10, 16, 12, 16, 274, 9, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1,
3680
- 18, 1, 18, 4, 18, 284, 8, 18, 11, 18, 12, 18, 285, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 292,
3681
- 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 298, 8, 20, 1, 21, 1, 21, 3, 21, 302, 8, 21, 1,
3682
- 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1,
3683
- 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 325, 8, 28, 10, 28, 12, 28,
3684
- 328, 9, 28, 1, 28, 1, 28, 5, 28, 332, 8, 28, 10, 28, 12, 28, 335, 9, 28, 1, 28, 1, 28,
3685
- 1, 28, 5, 28, 340, 8, 28, 10, 28, 12, 28, 343, 9, 28, 3, 28, 345, 8, 28, 1, 29, 1, 29,
3686
- 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3687
- 1, 31, 3, 31, 363, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31,
3688
- 373, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3689
- 1, 31, 1, 31, 5, 31, 388, 8, 31, 10, 31, 12, 31, 391, 9, 31, 1, 32, 1, 32, 1, 33, 1, 33,
3690
- 1, 34, 3, 34, 398, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 406, 8, 35, 1,
3691
- 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 4, 35, 414, 8, 35, 11, 35, 12, 35, 415, 1, 35, 1,
3692
- 35, 1, 36, 1, 36, 3, 36, 422, 8, 36, 1, 37, 1, 37, 1, 37, 5, 37, 427, 8, 37, 10, 37, 12,
3693
- 37, 430, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 436, 8, 37, 10, 37, 12, 37, 439, 9,
3694
- 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 5, 37, 448, 8, 37, 10, 37, 12, 37,
3695
- 451, 9, 37, 3, 37, 453, 8, 37, 1, 38, 1, 38, 1, 38, 5, 38, 458, 8, 38, 10, 38, 12, 38,
3696
- 461, 9, 38, 1, 39, 1, 39, 3, 39, 465, 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 470, 8, 39, 1,
3697
- 40, 3, 40, 473, 8, 40, 1, 40, 1, 40, 4, 40, 477, 8, 40, 11, 40, 12, 40, 478, 1, 41, 3,
3698
- 41, 482, 8, 41, 1, 41, 1, 41, 3, 41, 486, 8, 41, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43,
3699
- 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 4, 44, 502, 8, 44, 11, 44, 12, 44,
3700
- 503, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 512, 8, 45, 11, 45, 12, 45, 513,
3701
- 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47,
3702
- 1, 47, 1, 47, 4, 47, 531, 8, 47, 11, 47, 12, 47, 532, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48,
3703
- 1, 48, 4, 48, 541, 8, 48, 11, 48, 12, 48, 542, 1, 48, 1, 48, 1, 49, 1, 49, 3, 49, 549,
3704
- 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 557, 8, 49, 1, 49, 1, 49, 1, 49,
3705
- 1, 49, 5, 49, 563, 8, 49, 10, 49, 12, 49, 566, 9, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49,
3706
- 3, 49, 573, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52,
3707
- 5, 52, 585, 8, 52, 10, 52, 12, 52, 588, 9, 52, 3, 52, 590, 8, 52, 1, 53, 1, 53, 1, 53,
3708
- 3, 53, 595, 8, 53, 1, 53, 3, 53, 598, 8, 53, 1, 54, 1, 54, 5, 54, 602, 8, 54, 10, 54, 12,
3709
- 54, 605, 9, 54, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 611, 8, 55, 10, 55, 12, 55, 614, 9,
3710
- 55, 5, 55, 616, 8, 55, 10, 55, 12, 55, 619, 9, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1,
3711
- 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 638,
3712
- 8, 59, 10, 59, 12, 59, 641, 9, 59, 1, 59, 3, 59, 644, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60,
3635
+ 1, 9, 3, 9, 216, 8, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 224, 8, 11, 1, 12,
3636
+ 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 235, 8, 14, 10, 14, 12, 14,
3637
+ 238, 9, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 246, 8, 15, 10, 15, 12, 15,
3638
+ 249, 9, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 4, 15, 256, 8, 15, 11, 15, 12, 15, 257,
3639
+ 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 267, 8, 16, 10, 16, 12, 16, 270,
3640
+ 9, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 4, 18, 280, 8, 18, 11, 18,
3641
+ 12, 18, 281, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 288, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20,
3642
+ 3, 20, 294, 8, 20, 1, 21, 1, 21, 3, 21, 298, 8, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1,
3643
+ 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1,
3644
+ 28, 1, 28, 1, 28, 5, 28, 321, 8, 28, 10, 28, 12, 28, 324, 9, 28, 1, 28, 1, 28, 5, 28, 328,
3645
+ 8, 28, 10, 28, 12, 28, 331, 9, 28, 1, 28, 1, 28, 1, 28, 5, 28, 336, 8, 28, 10, 28, 12,
3646
+ 28, 339, 9, 28, 3, 28, 341, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30,
3647
+ 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 359, 8, 31, 1, 31, 1, 31,
3648
+ 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 369, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31,
3649
+ 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 384, 8, 31, 10, 31,
3650
+ 12, 31, 387, 9, 31, 1, 32, 1, 32, 1, 33, 1, 33, 1, 34, 3, 34, 394, 8, 34, 1, 34, 1, 34,
3651
+ 1, 35, 1, 35, 1, 35, 1, 35, 3, 35, 402, 8, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35,
3652
+ 4, 35, 410, 8, 35, 11, 35, 12, 35, 411, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 418, 8, 36,
3653
+ 1, 37, 1, 37, 1, 37, 5, 37, 423, 8, 37, 10, 37, 12, 37, 426, 9, 37, 1, 37, 1, 37, 1, 37,
3654
+ 1, 37, 5, 37, 432, 8, 37, 10, 37, 12, 37, 435, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37,
3655
+ 1, 37, 1, 37, 5, 37, 444, 8, 37, 10, 37, 12, 37, 447, 9, 37, 3, 37, 449, 8, 37, 1, 38,
3656
+ 1, 38, 1, 38, 5, 38, 454, 8, 38, 10, 38, 12, 38, 457, 9, 38, 1, 39, 1, 39, 3, 39, 461,
3657
+ 8, 39, 1, 39, 1, 39, 1, 39, 3, 39, 466, 8, 39, 1, 40, 3, 40, 469, 8, 40, 1, 40, 1, 40, 4,
3658
+ 40, 473, 8, 40, 11, 40, 12, 40, 474, 1, 41, 3, 41, 478, 8, 41, 1, 41, 1, 41, 3, 41, 482,
3659
+ 8, 41, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
3660
+ 1, 44, 1, 44, 4, 44, 498, 8, 44, 11, 44, 12, 44, 499, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45,
3661
+ 1, 45, 4, 45, 508, 8, 45, 11, 45, 12, 45, 509, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46,
3662
+ 1, 46, 3, 46, 519, 8, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47,
3663
+ 1, 47, 1, 47, 4, 47, 532, 8, 47, 11, 47, 12, 47, 533, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48,
3664
+ 1, 48, 4, 48, 542, 8, 48, 11, 48, 12, 48, 543, 1, 48, 1, 48, 1, 49, 1, 49, 3, 49, 550,
3665
+ 8, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 558, 8, 49, 1, 49, 1, 49, 1, 49,
3666
+ 1, 49, 5, 49, 564, 8, 49, 10, 49, 12, 49, 567, 9, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49,
3667
+ 3, 49, 574, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52,
3668
+ 5, 52, 586, 8, 52, 10, 52, 12, 52, 589, 9, 52, 3, 52, 591, 8, 52, 1, 53, 1, 53, 1, 53,
3669
+ 3, 53, 596, 8, 53, 1, 53, 3, 53, 599, 8, 53, 1, 54, 1, 54, 5, 54, 603, 8, 54, 10, 54, 12,
3670
+ 54, 606, 9, 54, 1, 55, 1, 55, 1, 55, 1, 55, 5, 55, 612, 8, 55, 10, 55, 12, 55, 615, 9,
3671
+ 55, 5, 55, 617, 8, 55, 10, 55, 12, 55, 620, 9, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1,
3672
+ 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 639,
3673
+ 8, 59, 10, 59, 12, 59, 642, 9, 59, 1, 59, 3, 59, 645, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60,
3713
3674
  1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63,
3714
- 1, 63, 1, 63, 5, 63, 665, 8, 63, 10, 63, 12, 63, 668, 9, 63, 1, 63, 1, 63, 1, 63, 1, 63,
3675
+ 1, 63, 1, 63, 5, 63, 666, 8, 63, 10, 63, 12, 63, 669, 9, 63, 1, 63, 1, 63, 1, 63, 1, 63,
3715
3676
  1, 63, 1, 63, 0, 1, 62, 64, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
3716
3677
  34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76,
3717
3678
  78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
3718
3679
  116, 118, 120, 122, 124, 126, 0, 14, 2, 0, 9, 9, 19, 21, 1, 0, 56, 57, 2, 0, 57, 57, 60,
3719
3680
  60, 2, 0, 54, 54, 57, 57, 1, 0, 47, 51, 1, 0, 44, 46, 1, 0, 42, 43, 1, 0, 40, 41, 1, 0, 34,
3720
3681
  39, 2, 0, 31, 31, 43, 43, 2, 0, 55, 55, 57, 61, 2, 0, 15, 15, 56, 56, 2, 0, 56, 57, 60,
3721
- 60, 1, 0, 32, 33, 711, 0, 130, 1, 0, 0, 0, 2, 158, 1, 0, 0, 0, 4, 160, 1, 0, 0, 0, 6, 171,
3682
+ 60, 1, 0, 32, 33, 712, 0, 130, 1, 0, 0, 0, 2, 158, 1, 0, 0, 0, 4, 160, 1, 0, 0, 0, 6, 171,
3722
3683
  1, 0, 0, 0, 8, 175, 1, 0, 0, 0, 10, 179, 1, 0, 0, 0, 12, 191, 1, 0, 0, 0, 14, 195, 1, 0, 0,
3723
- 0, 16, 198, 1, 0, 0, 0, 18, 206, 1, 0, 0, 0, 20, 217, 1, 0, 0, 0, 22, 222, 1, 0, 0, 0, 24,
3724
- 224, 1, 0, 0, 0, 26, 226, 1, 0, 0, 0, 28, 231, 1, 0, 0, 0, 30, 243, 1, 0, 0, 0, 32, 265,
3725
- 1, 0, 0, 0, 34, 275, 1, 0, 0, 0, 36, 277, 1, 0, 0, 0, 38, 291, 1, 0, 0, 0, 40, 293, 1, 0,
3726
- 0, 0, 42, 301, 1, 0, 0, 0, 44, 303, 1, 0, 0, 0, 46, 305, 1, 0, 0, 0, 48, 307, 1, 0, 0, 0,
3727
- 50, 309, 1, 0, 0, 0, 52, 313, 1, 0, 0, 0, 54, 317, 1, 0, 0, 0, 56, 344, 1, 0, 0, 0, 58, 346,
3728
- 1, 0, 0, 0, 60, 350, 1, 0, 0, 0, 62, 372, 1, 0, 0, 0, 64, 392, 1, 0, 0, 0, 66, 394, 1, 0,
3729
- 0, 0, 68, 397, 1, 0, 0, 0, 70, 401, 1, 0, 0, 0, 72, 421, 1, 0, 0, 0, 74, 452, 1, 0, 0, 0,
3730
- 76, 454, 1, 0, 0, 0, 78, 469, 1, 0, 0, 0, 80, 472, 1, 0, 0, 0, 82, 481, 1, 0, 0, 0, 84, 487,
3731
- 1, 0, 0, 0, 86, 490, 1, 0, 0, 0, 88, 494, 1, 0, 0, 0, 90, 507, 1, 0, 0, 0, 92, 517, 1, 0,
3732
- 0, 0, 94, 522, 1, 0, 0, 0, 96, 536, 1, 0, 0, 0, 98, 572, 1, 0, 0, 0, 100, 574, 1, 0, 0, 0,
3733
- 102, 578, 1, 0, 0, 0, 104, 589, 1, 0, 0, 0, 106, 597, 1, 0, 0, 0, 108, 599, 1, 0, 0, 0,
3734
- 110, 606, 1, 0, 0, 0, 112, 622, 1, 0, 0, 0, 114, 625, 1, 0, 0, 0, 116, 628, 1, 0, 0, 0,
3735
- 118, 632, 1, 0, 0, 0, 120, 645, 1, 0, 0, 0, 122, 651, 1, 0, 0, 0, 124, 655, 1, 0, 0, 0,
3736
- 126, 660, 1, 0, 0, 0, 128, 131, 3, 2, 1, 0, 129, 131, 5, 64, 0, 0, 130, 128, 1, 0, 0, 0,
3684
+ 0, 16, 198, 1, 0, 0, 0, 18, 206, 1, 0, 0, 0, 20, 217, 1, 0, 0, 0, 22, 223, 1, 0, 0, 0, 24,
3685
+ 225, 1, 0, 0, 0, 26, 227, 1, 0, 0, 0, 28, 230, 1, 0, 0, 0, 30, 239, 1, 0, 0, 0, 32, 261,
3686
+ 1, 0, 0, 0, 34, 271, 1, 0, 0, 0, 36, 273, 1, 0, 0, 0, 38, 287, 1, 0, 0, 0, 40, 289, 1, 0,
3687
+ 0, 0, 42, 297, 1, 0, 0, 0, 44, 299, 1, 0, 0, 0, 46, 301, 1, 0, 0, 0, 48, 303, 1, 0, 0, 0,
3688
+ 50, 305, 1, 0, 0, 0, 52, 309, 1, 0, 0, 0, 54, 313, 1, 0, 0, 0, 56, 340, 1, 0, 0, 0, 58, 342,
3689
+ 1, 0, 0, 0, 60, 346, 1, 0, 0, 0, 62, 368, 1, 0, 0, 0, 64, 388, 1, 0, 0, 0, 66, 390, 1, 0,
3690
+ 0, 0, 68, 393, 1, 0, 0, 0, 70, 397, 1, 0, 0, 0, 72, 417, 1, 0, 0, 0, 74, 448, 1, 0, 0, 0,
3691
+ 76, 450, 1, 0, 0, 0, 78, 465, 1, 0, 0, 0, 80, 468, 1, 0, 0, 0, 82, 477, 1, 0, 0, 0, 84, 483,
3692
+ 1, 0, 0, 0, 86, 486, 1, 0, 0, 0, 88, 490, 1, 0, 0, 0, 90, 503, 1, 0, 0, 0, 92, 513, 1, 0,
3693
+ 0, 0, 94, 523, 1, 0, 0, 0, 96, 537, 1, 0, 0, 0, 98, 573, 1, 0, 0, 0, 100, 575, 1, 0, 0, 0,
3694
+ 102, 579, 1, 0, 0, 0, 104, 590, 1, 0, 0, 0, 106, 598, 1, 0, 0, 0, 108, 600, 1, 0, 0, 0,
3695
+ 110, 607, 1, 0, 0, 0, 112, 623, 1, 0, 0, 0, 114, 626, 1, 0, 0, 0, 116, 629, 1, 0, 0, 0,
3696
+ 118, 633, 1, 0, 0, 0, 120, 646, 1, 0, 0, 0, 122, 652, 1, 0, 0, 0, 124, 656, 1, 0, 0, 0,
3697
+ 126, 661, 1, 0, 0, 0, 128, 131, 3, 2, 1, 0, 129, 131, 5, 64, 0, 0, 130, 128, 1, 0, 0, 0,
3737
3698
  130, 129, 1, 0, 0, 0, 131, 132, 1, 0, 0, 0, 132, 130, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0,
3738
3699
  133, 134, 1, 0, 0, 0, 134, 135, 5, 0, 0, 1, 135, 1, 1, 0, 0, 0, 136, 159, 3, 20, 10, 0,
3739
3700
  137, 159, 3, 28, 14, 0, 138, 159, 3, 26, 13, 0, 139, 159, 3, 50, 25, 0, 140, 159, 3,
@@ -3764,144 +3725,144 @@ export class CircuitScriptParser extends antlr.Parser {
3764
3725
  1, 0, 0, 0, 207, 211, 1, 0, 0, 0, 208, 210, 3, 16, 8, 0, 209, 208, 1, 0, 0, 0, 210, 213,
3765
3726
  1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 215, 1, 0, 0, 0, 213, 211,
3766
3727
  1, 0, 0, 0, 214, 216, 3, 14, 7, 0, 215, 214, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 19,
3767
- 1, 0, 0, 0, 217, 218, 5, 16, 0, 0, 218, 219, 3, 18, 9, 0, 219, 21, 1, 0, 0, 0, 220, 223,
3768
- 3, 18, 9, 0, 221, 223, 3, 14, 7, 0, 222, 220, 1, 0, 0, 0, 222, 221, 1, 0, 0, 0, 223, 23,
3769
- 1, 0, 0, 0, 224, 225, 7, 2, 0, 0, 225, 25, 1, 0, 0, 0, 226, 229, 5, 17, 0, 0, 227, 230,
3770
- 3, 22, 11, 0, 228, 230, 5, 19, 0, 0, 229, 227, 1, 0, 0, 0, 229, 228, 1, 0, 0, 0, 230, 27,
3771
- 1, 0, 0, 0, 231, 241, 5, 18, 0, 0, 232, 237, 3, 22, 11, 0, 233, 234, 5, 2, 0, 0, 234, 236,
3772
- 3, 22, 11, 0, 235, 233, 1, 0, 0, 0, 236, 239, 1, 0, 0, 0, 237, 235, 1, 0, 0, 0, 237, 238,
3773
- 1, 0, 0, 0, 238, 242, 1, 0, 0, 0, 239, 237, 1, 0, 0, 0, 240, 242, 5, 19, 0, 0, 241, 232,
3774
- 1, 0, 0, 0, 241, 240, 1, 0, 0, 0, 242, 29, 1, 0, 0, 0, 243, 244, 5, 17, 0, 0, 244, 245,
3775
- 3, 22, 11, 0, 245, 246, 5, 18, 0, 0, 246, 251, 3, 22, 11, 0, 247, 248, 5, 2, 0, 0, 248,
3776
- 250, 3, 22, 11, 0, 249, 247, 1, 0, 0, 0, 250, 253, 1, 0, 0, 0, 251, 249, 1, 0, 0, 0, 251,
3777
- 252, 1, 0, 0, 0, 252, 254, 1, 0, 0, 0, 253, 251, 1, 0, 0, 0, 254, 255, 5, 1, 0, 0, 255,
3778
- 256, 5, 64, 0, 0, 256, 259, 5, 66, 0, 0, 257, 260, 5, 64, 0, 0, 258, 260, 3, 32, 16, 0,
3779
- 259, 257, 1, 0, 0, 0, 259, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 259, 1, 0, 0, 0,
3780
- 261, 262, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 5, 67, 0, 0, 264, 31, 1, 0, 0, 0,
3781
- 265, 266, 3, 24, 12, 0, 266, 267, 5, 1, 0, 0, 267, 272, 3, 34, 17, 0, 268, 269, 5, 2,
3782
- 0, 0, 269, 271, 3, 34, 17, 0, 270, 268, 1, 0, 0, 0, 271, 274, 1, 0, 0, 0, 272, 270, 1,
3783
- 0, 0, 0, 272, 273, 1, 0, 0, 0, 273, 33, 1, 0, 0, 0, 274, 272, 1, 0, 0, 0, 275, 276, 7, 3,
3784
- 0, 0, 276, 35, 1, 0, 0, 0, 277, 278, 3, 26, 13, 0, 278, 279, 5, 1, 0, 0, 279, 280, 5, 64,
3785
- 0, 0, 280, 283, 5, 66, 0, 0, 281, 284, 5, 64, 0, 0, 282, 284, 3, 38, 19, 0, 283, 281,
3786
- 1, 0, 0, 0, 283, 282, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 283, 1, 0, 0, 0, 285, 286,
3787
- 1, 0, 0, 0, 286, 287, 1, 0, 0, 0, 287, 288, 5, 67, 0, 0, 288, 37, 1, 0, 0, 0, 289, 292,
3788
- 3, 2, 1, 0, 290, 292, 3, 40, 20, 0, 291, 289, 1, 0, 0, 0, 291, 290, 1, 0, 0, 0, 292, 39,
3789
- 1, 0, 0, 0, 293, 294, 3, 24, 12, 0, 294, 297, 5, 1, 0, 0, 295, 298, 3, 42, 21, 0, 296,
3790
- 298, 3, 44, 22, 0, 297, 295, 1, 0, 0, 0, 297, 296, 1, 0, 0, 0, 298, 41, 1, 0, 0, 0, 299,
3791
- 302, 3, 2, 1, 0, 300, 302, 5, 54, 0, 0, 301, 299, 1, 0, 0, 0, 301, 300, 1, 0, 0, 0, 302,
3792
- 43, 1, 0, 0, 0, 303, 304, 3, 4, 2, 0, 304, 45, 1, 0, 0, 0, 305, 306, 5, 8, 0, 0, 306, 47,
3793
- 1, 0, 0, 0, 307, 308, 5, 28, 0, 0, 308, 49, 1, 0, 0, 0, 309, 310, 3, 76, 38, 0, 310, 311,
3794
- 5, 3, 0, 0, 311, 312, 3, 62, 31, 0, 312, 51, 1, 0, 0, 0, 313, 314, 3, 76, 38, 0, 314, 315,
3795
- 7, 4, 0, 0, 315, 316, 3, 62, 31, 0, 316, 53, 1, 0, 0, 0, 317, 318, 5, 56, 0, 0, 318, 319,
3796
- 5, 3, 0, 0, 319, 320, 3, 62, 31, 0, 320, 55, 1, 0, 0, 0, 321, 326, 3, 62, 31, 0, 322, 323,
3797
- 5, 2, 0, 0, 323, 325, 3, 62, 31, 0, 324, 322, 1, 0, 0, 0, 325, 328, 1, 0, 0, 0, 326, 324,
3798
- 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 333, 1, 0, 0, 0, 328, 326, 1, 0, 0, 0, 329, 330,
3799
- 5, 2, 0, 0, 330, 332, 3, 54, 27, 0, 331, 329, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331,
3800
- 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 345, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 341,
3801
- 3, 54, 27, 0, 337, 338, 5, 2, 0, 0, 338, 340, 3, 54, 27, 0, 339, 337, 1, 0, 0, 0, 340,
3802
- 343, 1, 0, 0, 0, 341, 339, 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 345, 1, 0, 0, 0, 343,
3803
- 341, 1, 0, 0, 0, 344, 321, 1, 0, 0, 0, 344, 336, 1, 0, 0, 0, 345, 57, 1, 0, 0, 0, 346, 347,
3804
- 3, 76, 38, 0, 347, 348, 5, 3, 0, 0, 348, 349, 3, 62, 31, 0, 349, 59, 1, 0, 0, 0, 350, 351,
3805
- 5, 4, 0, 0, 351, 352, 5, 56, 0, 0, 352, 353, 5, 3, 0, 0, 353, 354, 3, 62, 31, 0, 354, 61,
3806
- 1, 0, 0, 0, 355, 356, 6, 31, -1, 0, 356, 357, 5, 52, 0, 0, 357, 358, 3, 62, 31, 0, 358,
3807
- 359, 5, 53, 0, 0, 359, 373, 1, 0, 0, 0, 360, 363, 3, 68, 34, 0, 361, 363, 3, 76, 38, 0,
3808
- 362, 360, 1, 0, 0, 0, 362, 361, 1, 0, 0, 0, 363, 373, 1, 0, 0, 0, 364, 365, 3, 66, 33,
3809
- 0, 365, 366, 3, 62, 31, 10, 366, 373, 1, 0, 0, 0, 367, 373, 3, 88, 44, 0, 368, 373, 3,
3810
- 92, 46, 0, 369, 373, 3, 94, 47, 0, 370, 373, 3, 80, 40, 0, 371, 373, 3, 110, 55, 0, 372,
3811
- 355, 1, 0, 0, 0, 372, 362, 1, 0, 0, 0, 372, 364, 1, 0, 0, 0, 372, 367, 1, 0, 0, 0, 372,
3812
- 368, 1, 0, 0, 0, 372, 369, 1, 0, 0, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373,
3813
- 389, 1, 0, 0, 0, 374, 375, 10, 9, 0, 0, 375, 376, 7, 5, 0, 0, 376, 388, 3, 62, 31, 10,
3814
- 377, 378, 10, 8, 0, 0, 378, 379, 7, 6, 0, 0, 379, 388, 3, 62, 31, 9, 380, 381, 10, 7,
3815
- 0, 0, 381, 382, 3, 64, 32, 0, 382, 383, 3, 62, 31, 8, 383, 388, 1, 0, 0, 0, 384, 385,
3816
- 10, 6, 0, 0, 385, 386, 7, 7, 0, 0, 386, 388, 3, 62, 31, 7, 387, 374, 1, 0, 0, 0, 387, 377,
3817
- 1, 0, 0, 0, 387, 380, 1, 0, 0, 0, 387, 384, 1, 0, 0, 0, 388, 391, 1, 0, 0, 0, 389, 387,
3818
- 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 63, 1, 0, 0, 0, 391, 389, 1, 0, 0, 0, 392, 393, 7,
3819
- 8, 0, 0, 393, 65, 1, 0, 0, 0, 394, 395, 7, 9, 0, 0, 395, 67, 1, 0, 0, 0, 396, 398, 5, 43,
3820
- 0, 0, 397, 396, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 399, 1, 0, 0, 0, 399, 400, 7, 10,
3821
- 0, 0, 400, 69, 1, 0, 0, 0, 401, 402, 5, 23, 0, 0, 402, 403, 5, 56, 0, 0, 403, 405, 5, 52,
3822
- 0, 0, 404, 406, 3, 74, 37, 0, 405, 404, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 1,
3823
- 0, 0, 0, 407, 408, 5, 53, 0, 0, 408, 409, 5, 1, 0, 0, 409, 410, 5, 64, 0, 0, 410, 413,
3824
- 5, 66, 0, 0, 411, 414, 5, 64, 0, 0, 412, 414, 3, 72, 36, 0, 413, 411, 1, 0, 0, 0, 413,
3825
- 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 413, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416,
3826
- 417, 1, 0, 0, 0, 417, 418, 5, 67, 0, 0, 418, 71, 1, 0, 0, 0, 419, 422, 3, 2, 1, 0, 420,
3827
- 422, 3, 84, 42, 0, 421, 419, 1, 0, 0, 0, 421, 420, 1, 0, 0, 0, 422, 73, 1, 0, 0, 0, 423,
3828
- 428, 5, 56, 0, 0, 424, 425, 5, 2, 0, 0, 425, 427, 5, 56, 0, 0, 426, 424, 1, 0, 0, 0, 427,
3829
- 430, 1, 0, 0, 0, 428, 426, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 437, 1, 0, 0, 0, 430,
3830
- 428, 1, 0, 0, 0, 431, 432, 5, 2, 0, 0, 432, 433, 5, 56, 0, 0, 433, 434, 5, 3, 0, 0, 434,
3831
- 436, 3, 68, 34, 0, 435, 431, 1, 0, 0, 0, 436, 439, 1, 0, 0, 0, 437, 435, 1, 0, 0, 0, 437,
3832
- 438, 1, 0, 0, 0, 438, 453, 1, 0, 0, 0, 439, 437, 1, 0, 0, 0, 440, 441, 5, 56, 0, 0, 441,
3833
- 442, 5, 3, 0, 0, 442, 449, 3, 68, 34, 0, 443, 444, 5, 2, 0, 0, 444, 445, 5, 56, 0, 0, 445,
3834
- 446, 5, 3, 0, 0, 446, 448, 3, 68, 34, 0, 447, 443, 1, 0, 0, 0, 448, 451, 1, 0, 0, 0, 449,
3835
- 447, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 453, 1, 0, 0, 0, 451, 449, 1, 0, 0, 0, 452,
3836
- 423, 1, 0, 0, 0, 452, 440, 1, 0, 0, 0, 453, 75, 1, 0, 0, 0, 454, 459, 5, 56, 0, 0, 455,
3837
- 456, 5, 5, 0, 0, 456, 458, 5, 56, 0, 0, 457, 455, 1, 0, 0, 0, 458, 461, 1, 0, 0, 0, 459,
3838
- 457, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 77, 1, 0, 0, 0, 461, 459, 1, 0, 0, 0, 462, 464,
3839
- 5, 52, 0, 0, 463, 465, 3, 56, 28, 0, 464, 463, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0, 465, 466,
3840
- 1, 0, 0, 0, 466, 470, 5, 53, 0, 0, 467, 468, 5, 5, 0, 0, 468, 470, 5, 56, 0, 0, 469, 462,
3841
- 1, 0, 0, 0, 469, 467, 1, 0, 0, 0, 470, 79, 1, 0, 0, 0, 471, 473, 3, 82, 41, 0, 472, 471,
3842
- 1, 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 476, 5, 56, 0, 0, 475, 477,
3843
- 3, 78, 39, 0, 476, 475, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 476, 1, 0, 0, 0, 478, 479,
3844
- 1, 0, 0, 0, 479, 81, 1, 0, 0, 0, 480, 482, 5, 42, 0, 0, 481, 480, 1, 0, 0, 0, 481, 482,
3845
- 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 485, 5, 44, 0, 0, 484, 486, 3, 62, 31, 0, 485, 484,
3846
- 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 83, 1, 0, 0, 0, 487, 488, 5, 22, 0, 0, 488, 489,
3847
- 3, 62, 31, 0, 489, 85, 1, 0, 0, 0, 490, 491, 3, 102, 51, 0, 491, 492, 5, 1, 0, 0, 492,
3848
- 493, 3, 4, 2, 0, 493, 87, 1, 0, 0, 0, 494, 495, 5, 10, 0, 0, 495, 496, 5, 11, 0, 0, 496,
3849
- 497, 5, 1, 0, 0, 497, 498, 5, 64, 0, 0, 498, 501, 5, 66, 0, 0, 499, 502, 5, 64, 0, 0, 500,
3850
- 502, 3, 100, 50, 0, 501, 499, 1, 0, 0, 0, 501, 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503,
3851
- 501, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 505, 1, 0, 0, 0, 505, 506, 5, 67, 0, 0, 506,
3852
- 89, 1, 0, 0, 0, 507, 508, 5, 64, 0, 0, 508, 511, 5, 66, 0, 0, 509, 512, 5, 64, 0, 0, 510,
3853
- 512, 3, 98, 49, 0, 511, 509, 1, 0, 0, 0, 511, 510, 1, 0, 0, 0, 512, 513, 1, 0, 0, 0, 513,
3854
- 511, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 515, 516, 5, 67, 0, 0, 516,
3855
- 91, 1, 0, 0, 0, 517, 518, 5, 10, 0, 0, 518, 519, 5, 12, 0, 0, 519, 520, 5, 1, 0, 0, 520,
3856
- 521, 3, 90, 45, 0, 521, 93, 1, 0, 0, 0, 522, 523, 5, 10, 0, 0, 523, 524, 5, 13, 0, 0, 524,
3857
- 525, 5, 1, 0, 0, 525, 526, 5, 64, 0, 0, 526, 530, 5, 66, 0, 0, 527, 531, 5, 64, 0, 0, 528,
3858
- 531, 3, 100, 50, 0, 529, 531, 3, 86, 43, 0, 530, 527, 1, 0, 0, 0, 530, 528, 1, 0, 0, 0,
3859
- 530, 529, 1, 0, 0, 0, 531, 532, 1, 0, 0, 0, 532, 530, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0,
3860
- 533, 534, 1, 0, 0, 0, 534, 535, 5, 67, 0, 0, 535, 95, 1, 0, 0, 0, 536, 537, 5, 64, 0, 0,
3861
- 537, 540, 5, 66, 0, 0, 538, 541, 5, 64, 0, 0, 539, 541, 3, 100, 50, 0, 540, 538, 1, 0,
3862
- 0, 0, 540, 539, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 540, 1, 0, 0, 0, 542, 543, 1, 0,
3863
- 0, 0, 543, 544, 1, 0, 0, 0, 544, 545, 5, 67, 0, 0, 545, 97, 1, 0, 0, 0, 546, 548, 7, 11,
3864
- 0, 0, 547, 549, 5, 1, 0, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 556, 1, 0,
3865
- 0, 0, 550, 557, 3, 56, 28, 0, 551, 552, 5, 52, 0, 0, 552, 553, 3, 56, 28, 0, 553, 554,
3866
- 5, 53, 0, 0, 554, 557, 1, 0, 0, 0, 555, 557, 3, 96, 48, 0, 556, 550, 1, 0, 0, 0, 556, 551,
3867
- 1, 0, 0, 0, 556, 555, 1, 0, 0, 0, 557, 573, 1, 0, 0, 0, 558, 559, 5, 25, 0, 0, 559, 564,
3868
- 5, 56, 0, 0, 560, 561, 5, 2, 0, 0, 561, 563, 5, 56, 0, 0, 562, 560, 1, 0, 0, 0, 563, 566,
3869
- 1, 0, 0, 0, 564, 562, 1, 0, 0, 0, 564, 565, 1, 0, 0, 0, 565, 567, 1, 0, 0, 0, 566, 564,
3870
- 1, 0, 0, 0, 567, 568, 5, 26, 0, 0, 568, 569, 3, 62, 31, 0, 569, 570, 5, 1, 0, 0, 570, 571,
3871
- 3, 90, 45, 0, 571, 573, 1, 0, 0, 0, 572, 546, 1, 0, 0, 0, 572, 558, 1, 0, 0, 0, 573, 99,
3872
- 1, 0, 0, 0, 574, 575, 3, 102, 51, 0, 575, 576, 5, 1, 0, 0, 576, 577, 3, 104, 52, 0, 577,
3873
- 101, 1, 0, 0, 0, 578, 579, 7, 12, 0, 0, 579, 103, 1, 0, 0, 0, 580, 590, 3, 96, 48, 0, 581,
3874
- 586, 3, 62, 31, 0, 582, 583, 5, 2, 0, 0, 583, 585, 3, 62, 31, 0, 584, 582, 1, 0, 0, 0,
3875
- 585, 588, 1, 0, 0, 0, 586, 584, 1, 0, 0, 0, 586, 587, 1, 0, 0, 0, 587, 590, 1, 0, 0, 0,
3876
- 588, 586, 1, 0, 0, 0, 589, 580, 1, 0, 0, 0, 589, 581, 1, 0, 0, 0, 590, 105, 1, 0, 0, 0,
3877
- 591, 594, 5, 56, 0, 0, 592, 595, 5, 57, 0, 0, 593, 595, 3, 62, 31, 0, 594, 592, 1, 0,
3878
- 0, 0, 594, 593, 1, 0, 0, 0, 595, 598, 1, 0, 0, 0, 596, 598, 5, 56, 0, 0, 597, 591, 1, 0,
3879
- 0, 0, 597, 596, 1, 0, 0, 0, 598, 107, 1, 0, 0, 0, 599, 603, 5, 14, 0, 0, 600, 602, 3, 106,
3880
- 53, 0, 601, 600, 1, 0, 0, 0, 602, 605, 1, 0, 0, 0, 603, 601, 1, 0, 0, 0, 603, 604, 1, 0,
3881
- 0, 0, 604, 109, 1, 0, 0, 0, 605, 603, 1, 0, 0, 0, 606, 617, 5, 6, 0, 0, 607, 612, 3, 62,
3882
- 31, 0, 608, 609, 5, 2, 0, 0, 609, 611, 3, 62, 31, 0, 610, 608, 1, 0, 0, 0, 611, 614, 1,
3883
- 0, 0, 0, 612, 610, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 616, 1, 0, 0, 0, 614, 612, 1,
3884
- 0, 0, 0, 615, 607, 1, 0, 0, 0, 616, 619, 1, 0, 0, 0, 617, 615, 1, 0, 0, 0, 617, 618, 1,
3885
- 0, 0, 0, 618, 620, 1, 0, 0, 0, 619, 617, 1, 0, 0, 0, 620, 621, 5, 7, 0, 0, 621, 111, 1,
3886
- 0, 0, 0, 622, 623, 5, 19, 0, 0, 623, 624, 5, 56, 0, 0, 624, 113, 1, 0, 0, 0, 625, 626,
3887
- 5, 24, 0, 0, 626, 627, 5, 56, 0, 0, 627, 115, 1, 0, 0, 0, 628, 629, 7, 13, 0, 0, 629, 630,
3888
- 5, 1, 0, 0, 630, 631, 3, 4, 2, 0, 631, 117, 1, 0, 0, 0, 632, 633, 5, 29, 0, 0, 633, 634,
3889
- 3, 62, 31, 0, 634, 635, 5, 1, 0, 0, 635, 639, 3, 4, 2, 0, 636, 638, 3, 120, 60, 0, 637,
3890
- 636, 1, 0, 0, 0, 638, 641, 1, 0, 0, 0, 639, 637, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640,
3891
- 643, 1, 0, 0, 0, 641, 639, 1, 0, 0, 0, 642, 644, 3, 122, 61, 0, 643, 642, 1, 0, 0, 0, 643,
3892
- 644, 1, 0, 0, 0, 644, 119, 1, 0, 0, 0, 645, 646, 5, 30, 0, 0, 646, 647, 5, 29, 0, 0, 647,
3893
- 648, 3, 62, 31, 0, 648, 649, 5, 1, 0, 0, 649, 650, 3, 4, 2, 0, 650, 121, 1, 0, 0, 0, 651,
3894
- 652, 5, 30, 0, 0, 652, 653, 5, 1, 0, 0, 653, 654, 3, 4, 2, 0, 654, 123, 1, 0, 0, 0, 655,
3895
- 656, 5, 27, 0, 0, 656, 657, 3, 62, 31, 0, 657, 658, 5, 1, 0, 0, 658, 659, 3, 4, 2, 0, 659,
3896
- 125, 1, 0, 0, 0, 660, 661, 5, 25, 0, 0, 661, 666, 5, 56, 0, 0, 662, 663, 5, 2, 0, 0, 663,
3897
- 665, 5, 56, 0, 0, 664, 662, 1, 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666,
3898
- 667, 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, 26, 0, 0, 670,
3899
- 671, 3, 62, 31, 0, 671, 672, 5, 1, 0, 0, 672, 673, 3, 4, 2, 0, 673, 127, 1, 0, 0, 0, 71,
3900
- 130, 132, 158, 164, 166, 173, 185, 187, 202, 206, 211, 215, 222, 229, 237, 241,
3901
- 251, 259, 261, 272, 283, 285, 291, 297, 301, 326, 333, 341, 344, 362, 372, 387,
3902
- 389, 397, 405, 413, 415, 421, 428, 437, 449, 452, 459, 464, 469, 472, 478, 481,
3903
- 485, 501, 503, 511, 513, 530, 532, 540, 542, 548, 556, 564, 572, 586, 589, 594,
3904
- 597, 603, 612, 617, 639, 643, 666
3728
+ 1, 0, 0, 0, 217, 218, 5, 16, 0, 0, 218, 219, 3, 18, 9, 0, 219, 21, 1, 0, 0, 0, 220, 224,
3729
+ 3, 18, 9, 0, 221, 224, 3, 14, 7, 0, 222, 224, 5, 19, 0, 0, 223, 220, 1, 0, 0, 0, 223, 221,
3730
+ 1, 0, 0, 0, 223, 222, 1, 0, 0, 0, 224, 23, 1, 0, 0, 0, 225, 226, 7, 2, 0, 0, 226, 25, 1,
3731
+ 0, 0, 0, 227, 228, 5, 17, 0, 0, 228, 229, 3, 22, 11, 0, 229, 27, 1, 0, 0, 0, 230, 231,
3732
+ 5, 18, 0, 0, 231, 236, 3, 22, 11, 0, 232, 233, 5, 2, 0, 0, 233, 235, 3, 22, 11, 0, 234,
3733
+ 232, 1, 0, 0, 0, 235, 238, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237,
3734
+ 29, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 239, 240, 5, 17, 0, 0, 240, 241, 3, 22, 11, 0, 241,
3735
+ 242, 5, 18, 0, 0, 242, 247, 3, 22, 11, 0, 243, 244, 5, 2, 0, 0, 244, 246, 3, 22, 11, 0,
3736
+ 245, 243, 1, 0, 0, 0, 246, 249, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0,
3737
+ 248, 250, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 250, 251, 5, 1, 0, 0, 251, 252, 5, 64, 0, 0,
3738
+ 252, 255, 5, 66, 0, 0, 253, 256, 5, 64, 0, 0, 254, 256, 3, 32, 16, 0, 255, 253, 1, 0,
3739
+ 0, 0, 255, 254, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 255, 1, 0, 0, 0, 257, 258, 1, 0,
3740
+ 0, 0, 258, 259, 1, 0, 0, 0, 259, 260, 5, 67, 0, 0, 260, 31, 1, 0, 0, 0, 261, 262, 3, 24,
3741
+ 12, 0, 262, 263, 5, 1, 0, 0, 263, 268, 3, 34, 17, 0, 264, 265, 5, 2, 0, 0, 265, 267, 3,
3742
+ 34, 17, 0, 266, 264, 1, 0, 0, 0, 267, 270, 1, 0, 0, 0, 268, 266, 1, 0, 0, 0, 268, 269,
3743
+ 1, 0, 0, 0, 269, 33, 1, 0, 0, 0, 270, 268, 1, 0, 0, 0, 271, 272, 7, 3, 0, 0, 272, 35, 1,
3744
+ 0, 0, 0, 273, 274, 3, 26, 13, 0, 274, 275, 5, 1, 0, 0, 275, 276, 5, 64, 0, 0, 276, 279,
3745
+ 5, 66, 0, 0, 277, 280, 5, 64, 0, 0, 278, 280, 3, 38, 19, 0, 279, 277, 1, 0, 0, 0, 279,
3746
+ 278, 1, 0, 0, 0, 280, 281, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282,
3747
+ 283, 1, 0, 0, 0, 283, 284, 5, 67, 0, 0, 284, 37, 1, 0, 0, 0, 285, 288, 3, 2, 1, 0, 286,
3748
+ 288, 3, 40, 20, 0, 287, 285, 1, 0, 0, 0, 287, 286, 1, 0, 0, 0, 288, 39, 1, 0, 0, 0, 289,
3749
+ 290, 3, 24, 12, 0, 290, 293, 5, 1, 0, 0, 291, 294, 3, 42, 21, 0, 292, 294, 3, 44, 22,
3750
+ 0, 293, 291, 1, 0, 0, 0, 293, 292, 1, 0, 0, 0, 294, 41, 1, 0, 0, 0, 295, 298, 3, 2, 1, 0,
3751
+ 296, 298, 5, 54, 0, 0, 297, 295, 1, 0, 0, 0, 297, 296, 1, 0, 0, 0, 298, 43, 1, 0, 0, 0,
3752
+ 299, 300, 3, 4, 2, 0, 300, 45, 1, 0, 0, 0, 301, 302, 5, 8, 0, 0, 302, 47, 1, 0, 0, 0, 303,
3753
+ 304, 5, 28, 0, 0, 304, 49, 1, 0, 0, 0, 305, 306, 3, 76, 38, 0, 306, 307, 5, 3, 0, 0, 307,
3754
+ 308, 3, 62, 31, 0, 308, 51, 1, 0, 0, 0, 309, 310, 3, 76, 38, 0, 310, 311, 7, 4, 0, 0, 311,
3755
+ 312, 3, 62, 31, 0, 312, 53, 1, 0, 0, 0, 313, 314, 5, 56, 0, 0, 314, 315, 5, 3, 0, 0, 315,
3756
+ 316, 3, 62, 31, 0, 316, 55, 1, 0, 0, 0, 317, 322, 3, 62, 31, 0, 318, 319, 5, 2, 0, 0, 319,
3757
+ 321, 3, 62, 31, 0, 320, 318, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 322,
3758
+ 323, 1, 0, 0, 0, 323, 329, 1, 0, 0, 0, 324, 322, 1, 0, 0, 0, 325, 326, 5, 2, 0, 0, 326,
3759
+ 328, 3, 54, 27, 0, 327, 325, 1, 0, 0, 0, 328, 331, 1, 0, 0, 0, 329, 327, 1, 0, 0, 0, 329,
3760
+ 330, 1, 0, 0, 0, 330, 341, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 332, 337, 3, 54, 27, 0, 333,
3761
+ 334, 5, 2, 0, 0, 334, 336, 3, 54, 27, 0, 335, 333, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0, 337,
3762
+ 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 341, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340,
3763
+ 317, 1, 0, 0, 0, 340, 332, 1, 0, 0, 0, 341, 57, 1, 0, 0, 0, 342, 343, 3, 76, 38, 0, 343,
3764
+ 344, 5, 3, 0, 0, 344, 345, 3, 62, 31, 0, 345, 59, 1, 0, 0, 0, 346, 347, 5, 4, 0, 0, 347,
3765
+ 348, 5, 56, 0, 0, 348, 349, 5, 3, 0, 0, 349, 350, 3, 62, 31, 0, 350, 61, 1, 0, 0, 0, 351,
3766
+ 352, 6, 31, -1, 0, 352, 353, 5, 52, 0, 0, 353, 354, 3, 62, 31, 0, 354, 355, 5, 53, 0,
3767
+ 0, 355, 369, 1, 0, 0, 0, 356, 359, 3, 68, 34, 0, 357, 359, 3, 76, 38, 0, 358, 356, 1,
3768
+ 0, 0, 0, 358, 357, 1, 0, 0, 0, 359, 369, 1, 0, 0, 0, 360, 361, 3, 66, 33, 0, 361, 362,
3769
+ 3, 62, 31, 10, 362, 369, 1, 0, 0, 0, 363, 369, 3, 88, 44, 0, 364, 369, 3, 92, 46, 0, 365,
3770
+ 369, 3, 94, 47, 0, 366, 369, 3, 80, 40, 0, 367, 369, 3, 110, 55, 0, 368, 351, 1, 0, 0,
3771
+ 0, 368, 358, 1, 0, 0, 0, 368, 360, 1, 0, 0, 0, 368, 363, 1, 0, 0, 0, 368, 364, 1, 0, 0,
3772
+ 0, 368, 365, 1, 0, 0, 0, 368, 366, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 385, 1, 0, 0,
3773
+ 0, 370, 371, 10, 9, 0, 0, 371, 372, 7, 5, 0, 0, 372, 384, 3, 62, 31, 10, 373, 374, 10,
3774
+ 8, 0, 0, 374, 375, 7, 6, 0, 0, 375, 384, 3, 62, 31, 9, 376, 377, 10, 7, 0, 0, 377, 378,
3775
+ 3, 64, 32, 0, 378, 379, 3, 62, 31, 8, 379, 384, 1, 0, 0, 0, 380, 381, 10, 6, 0, 0, 381,
3776
+ 382, 7, 7, 0, 0, 382, 384, 3, 62, 31, 7, 383, 370, 1, 0, 0, 0, 383, 373, 1, 0, 0, 0, 383,
3777
+ 376, 1, 0, 0, 0, 383, 380, 1, 0, 0, 0, 384, 387, 1, 0, 0, 0, 385, 383, 1, 0, 0, 0, 385,
3778
+ 386, 1, 0, 0, 0, 386, 63, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 388, 389, 7, 8, 0, 0, 389, 65,
3779
+ 1, 0, 0, 0, 390, 391, 7, 9, 0, 0, 391, 67, 1, 0, 0, 0, 392, 394, 5, 43, 0, 0, 393, 392,
3780
+ 1, 0, 0, 0, 393, 394, 1, 0, 0, 0, 394, 395, 1, 0, 0, 0, 395, 396, 7, 10, 0, 0, 396, 69,
3781
+ 1, 0, 0, 0, 397, 398, 5, 23, 0, 0, 398, 399, 5, 56, 0, 0, 399, 401, 5, 52, 0, 0, 400, 402,
3782
+ 3, 74, 37, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404,
3783
+ 5, 53, 0, 0, 404, 405, 5, 1, 0, 0, 405, 406, 5, 64, 0, 0, 406, 409, 5, 66, 0, 0, 407, 410,
3784
+ 5, 64, 0, 0, 408, 410, 3, 72, 36, 0, 409, 407, 1, 0, 0, 0, 409, 408, 1, 0, 0, 0, 410, 411,
3785
+ 1, 0, 0, 0, 411, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 414,
3786
+ 5, 67, 0, 0, 414, 71, 1, 0, 0, 0, 415, 418, 3, 2, 1, 0, 416, 418, 3, 84, 42, 0, 417, 415,
3787
+ 1, 0, 0, 0, 417, 416, 1, 0, 0, 0, 418, 73, 1, 0, 0, 0, 419, 424, 5, 56, 0, 0, 420, 421,
3788
+ 5, 2, 0, 0, 421, 423, 5, 56, 0, 0, 422, 420, 1, 0, 0, 0, 423, 426, 1, 0, 0, 0, 424, 422,
3789
+ 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 433, 1, 0, 0, 0, 426, 424, 1, 0, 0, 0, 427, 428,
3790
+ 5, 2, 0, 0, 428, 429, 5, 56, 0, 0, 429, 430, 5, 3, 0, 0, 430, 432, 3, 68, 34, 0, 431, 427,
3791
+ 1, 0, 0, 0, 432, 435, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 433, 434, 1, 0, 0, 0, 434, 449,
3792
+ 1, 0, 0, 0, 435, 433, 1, 0, 0, 0, 436, 437, 5, 56, 0, 0, 437, 438, 5, 3, 0, 0, 438, 445,
3793
+ 3, 68, 34, 0, 439, 440, 5, 2, 0, 0, 440, 441, 5, 56, 0, 0, 441, 442, 5, 3, 0, 0, 442, 444,
3794
+ 3, 68, 34, 0, 443, 439, 1, 0, 0, 0, 444, 447, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 445, 446,
3795
+ 1, 0, 0, 0, 446, 449, 1, 0, 0, 0, 447, 445, 1, 0, 0, 0, 448, 419, 1, 0, 0, 0, 448, 436,
3796
+ 1, 0, 0, 0, 449, 75, 1, 0, 0, 0, 450, 455, 5, 56, 0, 0, 451, 452, 5, 5, 0, 0, 452, 454,
3797
+ 5, 56, 0, 0, 453, 451, 1, 0, 0, 0, 454, 457, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456,
3798
+ 1, 0, 0, 0, 456, 77, 1, 0, 0, 0, 457, 455, 1, 0, 0, 0, 458, 460, 5, 52, 0, 0, 459, 461,
3799
+ 3, 56, 28, 0, 460, 459, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 462, 1, 0, 0, 0, 462, 466,
3800
+ 5, 53, 0, 0, 463, 464, 5, 5, 0, 0, 464, 466, 5, 56, 0, 0, 465, 458, 1, 0, 0, 0, 465, 463,
3801
+ 1, 0, 0, 0, 466, 79, 1, 0, 0, 0, 467, 469, 3, 82, 41, 0, 468, 467, 1, 0, 0, 0, 468, 469,
3802
+ 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 472, 5, 56, 0, 0, 471, 473, 3, 78, 39, 0, 472, 471,
3803
+ 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 474, 475, 1, 0, 0, 0, 475, 81, 1,
3804
+ 0, 0, 0, 476, 478, 5, 42, 0, 0, 477, 476, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 479, 1,
3805
+ 0, 0, 0, 479, 481, 5, 44, 0, 0, 480, 482, 3, 62, 31, 0, 481, 480, 1, 0, 0, 0, 481, 482,
3806
+ 1, 0, 0, 0, 482, 83, 1, 0, 0, 0, 483, 484, 5, 22, 0, 0, 484, 485, 3, 62, 31, 0, 485, 85,
3807
+ 1, 0, 0, 0, 486, 487, 3, 102, 51, 0, 487, 488, 5, 1, 0, 0, 488, 489, 3, 4, 2, 0, 489, 87,
3808
+ 1, 0, 0, 0, 490, 491, 5, 10, 0, 0, 491, 492, 5, 11, 0, 0, 492, 493, 5, 1, 0, 0, 493, 494,
3809
+ 5, 64, 0, 0, 494, 497, 5, 66, 0, 0, 495, 498, 5, 64, 0, 0, 496, 498, 3, 100, 50, 0, 497,
3810
+ 495, 1, 0, 0, 0, 497, 496, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 497, 1, 0, 0, 0, 499,
3811
+ 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 502, 5, 67, 0, 0, 502, 89, 1, 0, 0, 0, 503,
3812
+ 504, 5, 64, 0, 0, 504, 507, 5, 66, 0, 0, 505, 508, 5, 64, 0, 0, 506, 508, 3, 98, 49, 0,
3813
+ 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0,
3814
+ 509, 510, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 512, 5, 67, 0, 0, 512, 91, 1, 0, 0, 0,
3815
+ 513, 514, 5, 10, 0, 0, 514, 518, 5, 12, 0, 0, 515, 516, 5, 52, 0, 0, 516, 517, 5, 56,
3816
+ 0, 0, 517, 519, 5, 53, 0, 0, 518, 515, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 520, 1, 0,
3817
+ 0, 0, 520, 521, 5, 1, 0, 0, 521, 522, 3, 90, 45, 0, 522, 93, 1, 0, 0, 0, 523, 524, 5, 10,
3818
+ 0, 0, 524, 525, 5, 13, 0, 0, 525, 526, 5, 1, 0, 0, 526, 527, 5, 64, 0, 0, 527, 531, 5,
3819
+ 66, 0, 0, 528, 532, 5, 64, 0, 0, 529, 532, 3, 100, 50, 0, 530, 532, 3, 86, 43, 0, 531,
3820
+ 528, 1, 0, 0, 0, 531, 529, 1, 0, 0, 0, 531, 530, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533,
3821
+ 531, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 536, 5, 67, 0, 0, 536,
3822
+ 95, 1, 0, 0, 0, 537, 538, 5, 64, 0, 0, 538, 541, 5, 66, 0, 0, 539, 542, 5, 64, 0, 0, 540,
3823
+ 542, 3, 100, 50, 0, 541, 539, 1, 0, 0, 0, 541, 540, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 543,
3824
+ 541, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 546, 5, 67, 0, 0, 546,
3825
+ 97, 1, 0, 0, 0, 547, 549, 7, 11, 0, 0, 548, 550, 5, 1, 0, 0, 549, 548, 1, 0, 0, 0, 549,
3826
+ 550, 1, 0, 0, 0, 550, 557, 1, 0, 0, 0, 551, 558, 3, 56, 28, 0, 552, 553, 5, 52, 0, 0, 553,
3827
+ 554, 3, 56, 28, 0, 554, 555, 5, 53, 0, 0, 555, 558, 1, 0, 0, 0, 556, 558, 3, 96, 48, 0,
3828
+ 557, 551, 1, 0, 0, 0, 557, 552, 1, 0, 0, 0, 557, 556, 1, 0, 0, 0, 558, 574, 1, 0, 0, 0,
3829
+ 559, 560, 5, 25, 0, 0, 560, 565, 5, 56, 0, 0, 561, 562, 5, 2, 0, 0, 562, 564, 5, 56, 0,
3830
+ 0, 563, 561, 1, 0, 0, 0, 564, 567, 1, 0, 0, 0, 565, 563, 1, 0, 0, 0, 565, 566, 1, 0, 0,
3831
+ 0, 566, 568, 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 568, 569, 5, 26, 0, 0, 569, 570, 3, 62,
3832
+ 31, 0, 570, 571, 5, 1, 0, 0, 571, 572, 3, 90, 45, 0, 572, 574, 1, 0, 0, 0, 573, 547, 1,
3833
+ 0, 0, 0, 573, 559, 1, 0, 0, 0, 574, 99, 1, 0, 0, 0, 575, 576, 3, 102, 51, 0, 576, 577,
3834
+ 5, 1, 0, 0, 577, 578, 3, 104, 52, 0, 578, 101, 1, 0, 0, 0, 579, 580, 7, 12, 0, 0, 580,
3835
+ 103, 1, 0, 0, 0, 581, 591, 3, 96, 48, 0, 582, 587, 3, 62, 31, 0, 583, 584, 5, 2, 0, 0,
3836
+ 584, 586, 3, 62, 31, 0, 585, 583, 1, 0, 0, 0, 586, 589, 1, 0, 0, 0, 587, 585, 1, 0, 0,
3837
+ 0, 587, 588, 1, 0, 0, 0, 588, 591, 1, 0, 0, 0, 589, 587, 1, 0, 0, 0, 590, 581, 1, 0, 0,
3838
+ 0, 590, 582, 1, 0, 0, 0, 591, 105, 1, 0, 0, 0, 592, 595, 5, 56, 0, 0, 593, 596, 5, 57,
3839
+ 0, 0, 594, 596, 3, 62, 31, 0, 595, 593, 1, 0, 0, 0, 595, 594, 1, 0, 0, 0, 596, 599, 1,
3840
+ 0, 0, 0, 597, 599, 5, 56, 0, 0, 598, 592, 1, 0, 0, 0, 598, 597, 1, 0, 0, 0, 599, 107, 1,
3841
+ 0, 0, 0, 600, 604, 5, 14, 0, 0, 601, 603, 3, 106, 53, 0, 602, 601, 1, 0, 0, 0, 603, 606,
3842
+ 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 109, 1, 0, 0, 0, 606, 604,
3843
+ 1, 0, 0, 0, 607, 618, 5, 6, 0, 0, 608, 613, 3, 62, 31, 0, 609, 610, 5, 2, 0, 0, 610, 612,
3844
+ 3, 62, 31, 0, 611, 609, 1, 0, 0, 0, 612, 615, 1, 0, 0, 0, 613, 611, 1, 0, 0, 0, 613, 614,
3845
+ 1, 0, 0, 0, 614, 617, 1, 0, 0, 0, 615, 613, 1, 0, 0, 0, 616, 608, 1, 0, 0, 0, 617, 620,
3846
+ 1, 0, 0, 0, 618, 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 621, 1, 0, 0, 0, 620, 618,
3847
+ 1, 0, 0, 0, 621, 622, 5, 7, 0, 0, 622, 111, 1, 0, 0, 0, 623, 624, 5, 19, 0, 0, 624, 625,
3848
+ 5, 56, 0, 0, 625, 113, 1, 0, 0, 0, 626, 627, 5, 24, 0, 0, 627, 628, 5, 56, 0, 0, 628, 115,
3849
+ 1, 0, 0, 0, 629, 630, 7, 13, 0, 0, 630, 631, 5, 1, 0, 0, 631, 632, 3, 4, 2, 0, 632, 117,
3850
+ 1, 0, 0, 0, 633, 634, 5, 29, 0, 0, 634, 635, 3, 62, 31, 0, 635, 636, 5, 1, 0, 0, 636, 640,
3851
+ 3, 4, 2, 0, 637, 639, 3, 120, 60, 0, 638, 637, 1, 0, 0, 0, 639, 642, 1, 0, 0, 0, 640, 638,
3852
+ 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 644, 1, 0, 0, 0, 642, 640, 1, 0, 0, 0, 643, 645,
3853
+ 3, 122, 61, 0, 644, 643, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 119, 1, 0, 0, 0, 646, 647,
3854
+ 5, 30, 0, 0, 647, 648, 5, 29, 0, 0, 648, 649, 3, 62, 31, 0, 649, 650, 5, 1, 0, 0, 650,
3855
+ 651, 3, 4, 2, 0, 651, 121, 1, 0, 0, 0, 652, 653, 5, 30, 0, 0, 653, 654, 5, 1, 0, 0, 654,
3856
+ 655, 3, 4, 2, 0, 655, 123, 1, 0, 0, 0, 656, 657, 5, 27, 0, 0, 657, 658, 3, 62, 31, 0, 658,
3857
+ 659, 5, 1, 0, 0, 659, 660, 3, 4, 2, 0, 660, 125, 1, 0, 0, 0, 661, 662, 5, 25, 0, 0, 662,
3858
+ 667, 5, 56, 0, 0, 663, 664, 5, 2, 0, 0, 664, 666, 5, 56, 0, 0, 665, 663, 1, 0, 0, 0, 666,
3859
+ 669, 1, 0, 0, 0, 667, 665, 1, 0, 0, 0, 667, 668, 1, 0, 0, 0, 668, 670, 1, 0, 0, 0, 669,
3860
+ 667, 1, 0, 0, 0, 670, 671, 5, 26, 0, 0, 671, 672, 3, 62, 31, 0, 672, 673, 5, 1, 0, 0, 673,
3861
+ 674, 3, 4, 2, 0, 674, 127, 1, 0, 0, 0, 70, 130, 132, 158, 164, 166, 173, 185, 187, 202,
3862
+ 206, 211, 215, 223, 236, 247, 255, 257, 268, 279, 281, 287, 293, 297, 322, 329,
3863
+ 337, 340, 358, 368, 383, 385, 393, 401, 409, 411, 417, 424, 433, 445, 448, 455,
3864
+ 460, 465, 468, 474, 477, 481, 497, 499, 507, 509, 518, 531, 533, 541, 543, 549,
3865
+ 557, 565, 573, 587, 590, 595, 598, 604, 613, 618, 640, 644, 667
3905
3866
  ];
3906
3867
  static __ATN;
3907
3868
  static get _ATN() {
@@ -4299,6 +4260,9 @@ export class Component_select_exprContext extends antlr.ParserRuleContext {
4299
4260
  pin_select_expr() {
4300
4261
  return this.getRuleContext(0, Pin_select_exprContext);
4301
4262
  }
4263
+ Point() {
4264
+ return this.getToken(CircuitScriptParser.Point, 0);
4265
+ }
4302
4266
  get ruleIndex() {
4303
4267
  return CircuitScriptParser.RULE_component_select_expr;
4304
4268
  }
@@ -4343,9 +4307,6 @@ export class At_component_exprContext extends antlr.ParserRuleContext {
4343
4307
  component_select_expr() {
4344
4308
  return this.getRuleContext(0, Component_select_exprContext);
4345
4309
  }
4346
- Point() {
4347
- return this.getToken(CircuitScriptParser.Point, 0);
4348
- }
4349
4310
  get ruleIndex() {
4350
4311
  return CircuitScriptParser.RULE_at_component_expr;
4351
4312
  }
@@ -4365,9 +4326,6 @@ export class To_component_exprContext extends antlr.ParserRuleContext {
4365
4326
  To() {
4366
4327
  return this.getToken(CircuitScriptParser.To, 0);
4367
4328
  }
4368
- Point() {
4369
- return this.getToken(CircuitScriptParser.Point, 0);
4370
- }
4371
4329
  component_select_expr(i) {
4372
4330
  if (i === undefined) {
4373
4331
  return this.getRuleContexts(Component_select_exprContext);
@@ -5470,6 +5428,15 @@ export class Create_graphic_exprContext extends antlr.ParserRuleContext {
5470
5428
  graphic_expressions_block() {
5471
5429
  return this.getRuleContext(0, Graphic_expressions_blockContext);
5472
5430
  }
5431
+ OPEN_PAREN() {
5432
+ return this.getToken(CircuitScriptParser.OPEN_PAREN, 0);
5433
+ }
5434
+ ID() {
5435
+ return this.getToken(CircuitScriptParser.ID, 0);
5436
+ }
5437
+ CLOSE_PAREN() {
5438
+ return this.getToken(CircuitScriptParser.CLOSE_PAREN, 0);
5439
+ }
5473
5440
  get ruleIndex() {
5474
5441
  return CircuitScriptParser.RULE_create_graphic_expr;
5475
5442
  }