jssm 5.142.1 → 5.142.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.
@@ -428,11 +428,11 @@ function peg$parse(input, options) {
428
428
  return { config_kind: "action", config_items: action_items || [] };
429
429
  }, peg$c1359 = function (key, value) { return { key, value }; }, peg$c1360 = peg$otherExpectation("graph default edge color"), peg$c1361 = function (value) { return { key: 'graph_default_edge_color', value }; }, peg$c1362 = "transition", peg$c1363 = peg$literalExpectation("transition", false), peg$c1364 = function (transition_items) {
430
430
  return { config_kind: "transition", config_items: transition_items || [] };
431
- }, peg$c1365 = "graph_layout", peg$c1366 = peg$literalExpectation("graph_layout", false), peg$c1367 = function (value) { return { key: "graph_layout", value: value }; }, peg$c1368 = "start_states", peg$c1369 = peg$literalExpectation("start_states", false), peg$c1370 = function (value) { return { key: "start_states", value: value }; }, peg$c1371 = "end_states", peg$c1372 = peg$literalExpectation("end_states", false), peg$c1373 = function (value) { return { key: "end_states", value: value }; }, peg$c1374 = "graph_bg_color", peg$c1375 = peg$literalExpectation("graph_bg_color", false), peg$c1376 = function (value) { return { key: "graph_bg_color", value: value }; }, peg$c1377 = "allows_override", peg$c1378 = peg$literalExpectation("allows_override", false), peg$c1379 = function (value) { return { key: "allows_override", value: value }; }, peg$c1380 = function () { return true; }, peg$c1381 = function () { return false; }, peg$c1382 = peg$otherExpectation("configuration"), peg$c1383 = "MIT", peg$c1384 = peg$literalExpectation("MIT", false), peg$c1385 = "BSD 2-clause", peg$c1386 = peg$literalExpectation("BSD 2-clause", false), peg$c1387 = "BSD 3-clause", peg$c1388 = peg$literalExpectation("BSD 3-clause", false), peg$c1389 = "Apache 2.0", peg$c1390 = peg$literalExpectation("Apache 2.0", false), peg$c1391 = "Mozilla 2.0", peg$c1392 = peg$literalExpectation("Mozilla 2.0", false), peg$c1393 = "Public domain", peg$c1394 = peg$literalExpectation("Public domain", false), peg$c1395 = "GPL v2", peg$c1396 = peg$literalExpectation("GPL v2", false), peg$c1397 = "GPL v3", peg$c1398 = peg$literalExpectation("GPL v3", false), peg$c1399 = "LGPL v2.1", peg$c1400 = peg$literalExpectation("LGPL v2.1", false), peg$c1401 = "LGPL v3.0", peg$c1402 = peg$literalExpectation("LGPL v3.0", false), peg$c1403 = "Unknown", peg$c1404 = peg$literalExpectation("Unknown", false), peg$c1405 = peg$otherExpectation("direction"), peg$c1406 = "up", peg$c1407 = peg$literalExpectation("up", false), peg$c1408 = "right", peg$c1409 = peg$literalExpectation("right", false), peg$c1410 = "down", peg$c1411 = peg$literalExpectation("down", false), peg$c1412 = "left", peg$c1413 = peg$literalExpectation("left", false), peg$c1414 = peg$otherExpectation("hook definition (open/closed)"), peg$c1415 = "open", peg$c1416 = peg$literalExpectation("open", false), peg$c1417 = "closed", peg$c1418 = peg$literalExpectation("closed", false), peg$c1419 = "machine_author", peg$c1420 = peg$literalExpectation("machine_author", false), peg$c1421 = function (value) { return { key: "machine_author", value }; }, peg$c1422 = "machine_contributor", peg$c1423 = peg$literalExpectation("machine_contributor", false), peg$c1424 = function (value) { return { key: "machine_contributor", value }; }, peg$c1425 = "machine_comment", peg$c1426 = peg$literalExpectation("machine_comment", false), peg$c1427 = function (value) { return { key: "machine_comment", value }; }, peg$c1428 = "machine_definition", peg$c1429 = peg$literalExpectation("machine_definition", false), peg$c1430 = function (value) { return { key: "machine_definition", value }; }, peg$c1431 = "machine_name", peg$c1432 = peg$literalExpectation("machine_name", false), peg$c1433 = function (value) { return { key: "machine_name", value }; }, peg$c1434 = "npm_name", peg$c1435 = peg$literalExpectation("npm_name", false), peg$c1436 = function (value) { return { key: "npm_name", value }; }, peg$c1437 = "machine_reference", peg$c1438 = peg$literalExpectation("machine_reference", false), peg$c1439 = function (value) { return { key: "machine_reference", value }; }, peg$c1440 = "machine_version", peg$c1441 = peg$literalExpectation("machine_version", false), peg$c1442 = function (value) { return { key: "machine_version", value }; }, peg$c1443 = "machine_license", peg$c1444 = peg$literalExpectation("machine_license", false), peg$c1445 = function (value) { return { key: "machine_license", value }; }, peg$c1446 = "machine_language", peg$c1447 = peg$literalExpectation("machine_language", false), peg$c1448 = function (value) { return { key: "machine_language", value }; }, peg$c1449 = "fsl_version", peg$c1450 = peg$literalExpectation("fsl_version", false), peg$c1451 = function (value) { return { key: "fsl_version", value }; }, peg$c1452 = "theme", peg$c1453 = peg$literalExpectation("theme", false), peg$c1454 = function (value) { return { key: "theme", value }; }, peg$c1455 = "flow", peg$c1456 = peg$literalExpectation("flow", false), peg$c1457 = function (value) { return { key: "flow", value }; }, peg$c1458 = "hooks", peg$c1459 = peg$literalExpectation("hooks", false), peg$c1460 = function (value) { return { key: "hook_definition", value }; }, peg$c1461 = "dot_preamble", peg$c1462 = peg$literalExpectation("dot_preamble", false), peg$c1463 = function (value) { return { key: "dot_preamble", value }; }, peg$c1464 = peg$otherExpectation("machine attribute"), peg$c1465 = "label", peg$c1466 = peg$literalExpectation("label", false), peg$c1467 = function (value) { return { key: 'state-label', value }; }, peg$c1468 = "color", peg$c1469 = peg$literalExpectation("color", false), peg$c1470 = function (value) { return { key: 'color', value }; }, peg$c1471 = peg$otherExpectation("text color"), peg$c1472 = "text-color", peg$c1473 = peg$literalExpectation("text-color", false), peg$c1474 = function (value) { return { key: 'text-color', value }; }, peg$c1475 = peg$otherExpectation("background color"), peg$c1476 = "background-color", peg$c1477 = peg$literalExpectation("background-color", false), peg$c1478 = function (value) { return { key: 'background-color', value }; }, peg$c1479 = peg$otherExpectation("border color"), peg$c1480 = "border-color", peg$c1481 = peg$literalExpectation("border-color", false), peg$c1482 = function (value) { return { key: 'border-color', value }; }, peg$c1483 = peg$otherExpectation("shape"), peg$c1484 = "shape", peg$c1485 = peg$literalExpectation("shape", false), peg$c1486 = function (value) { return { key: 'shape', value }; }, peg$c1487 = peg$otherExpectation("corners"), peg$c1488 = "corners", peg$c1489 = peg$literalExpectation("corners", false), peg$c1490 = function (value) { return { key: 'corners', value }; }, peg$c1491 = peg$otherExpectation("linestyle"), peg$c1492 = function (value) { return { key: 'line-style', value }; }, peg$c1493 = "linestyle", peg$c1494 = peg$literalExpectation("linestyle", false), peg$c1495 = peg$otherExpectation("image"), peg$c1496 = "image", peg$c1497 = peg$literalExpectation("image", false), peg$c1498 = function (value) { return { key: 'image', value }; }, peg$c1499 = peg$otherExpectation("url"), peg$c1500 = "url", peg$c1501 = peg$literalExpectation("url", false), peg$c1502 = function (value) { return { key: 'url', value }; }, peg$c1503 = peg$otherExpectation("state property"), peg$c1504 = "property", peg$c1505 = peg$literalExpectation("property", false), peg$c1506 = function (name, value) {
431
+ }, peg$c1365 = "graph_layout", peg$c1366 = peg$literalExpectation("graph_layout", false), peg$c1367 = function (value) { return { key: "graph_layout", value: value }; }, peg$c1368 = "start_states", peg$c1369 = peg$literalExpectation("start_states", false), peg$c1370 = function (value) { return { key: "start_states", value: value }; }, peg$c1371 = "end_states", peg$c1372 = peg$literalExpectation("end_states", false), peg$c1373 = function (value) { return { key: "end_states", value: value }; }, peg$c1374 = "failed_outputs", peg$c1375 = peg$literalExpectation("failed_outputs", false), peg$c1376 = function (value) { return { key: "failed_outputs", value: typeof value === 'string' ? [value] : value }; }, peg$c1377 = "graph_bg_color", peg$c1378 = peg$literalExpectation("graph_bg_color", false), peg$c1379 = function (value) { return { key: "graph_bg_color", value: value }; }, peg$c1380 = "allows_override", peg$c1381 = peg$literalExpectation("allows_override", false), peg$c1382 = function (value) { return { key: "allows_override", value: value }; }, peg$c1383 = function () { return true; }, peg$c1384 = function () { return false; }, peg$c1385 = peg$otherExpectation("configuration"), peg$c1386 = "MIT", peg$c1387 = peg$literalExpectation("MIT", false), peg$c1388 = "BSD 2-clause", peg$c1389 = peg$literalExpectation("BSD 2-clause", false), peg$c1390 = "BSD 3-clause", peg$c1391 = peg$literalExpectation("BSD 3-clause", false), peg$c1392 = "Apache 2.0", peg$c1393 = peg$literalExpectation("Apache 2.0", false), peg$c1394 = "Mozilla 2.0", peg$c1395 = peg$literalExpectation("Mozilla 2.0", false), peg$c1396 = "Public domain", peg$c1397 = peg$literalExpectation("Public domain", false), peg$c1398 = "GPL v2", peg$c1399 = peg$literalExpectation("GPL v2", false), peg$c1400 = "GPL v3", peg$c1401 = peg$literalExpectation("GPL v3", false), peg$c1402 = "LGPL v2.1", peg$c1403 = peg$literalExpectation("LGPL v2.1", false), peg$c1404 = "LGPL v3.0", peg$c1405 = peg$literalExpectation("LGPL v3.0", false), peg$c1406 = "Unknown", peg$c1407 = peg$literalExpectation("Unknown", false), peg$c1408 = peg$otherExpectation("direction"), peg$c1409 = "up", peg$c1410 = peg$literalExpectation("up", false), peg$c1411 = "right", peg$c1412 = peg$literalExpectation("right", false), peg$c1413 = "down", peg$c1414 = peg$literalExpectation("down", false), peg$c1415 = "left", peg$c1416 = peg$literalExpectation("left", false), peg$c1417 = peg$otherExpectation("hook definition (open/closed)"), peg$c1418 = "open", peg$c1419 = peg$literalExpectation("open", false), peg$c1420 = "closed", peg$c1421 = peg$literalExpectation("closed", false), peg$c1422 = "machine_author", peg$c1423 = peg$literalExpectation("machine_author", false), peg$c1424 = function (value) { return { key: "machine_author", value }; }, peg$c1425 = "machine_contributor", peg$c1426 = peg$literalExpectation("machine_contributor", false), peg$c1427 = function (value) { return { key: "machine_contributor", value }; }, peg$c1428 = "machine_comment", peg$c1429 = peg$literalExpectation("machine_comment", false), peg$c1430 = function (value) { return { key: "machine_comment", value }; }, peg$c1431 = "machine_definition", peg$c1432 = peg$literalExpectation("machine_definition", false), peg$c1433 = function (value) { return { key: "machine_definition", value }; }, peg$c1434 = "machine_name", peg$c1435 = peg$literalExpectation("machine_name", false), peg$c1436 = function (value) { return { key: "machine_name", value }; }, peg$c1437 = "npm_name", peg$c1438 = peg$literalExpectation("npm_name", false), peg$c1439 = function (value) { return { key: "npm_name", value }; }, peg$c1440 = "machine_reference", peg$c1441 = peg$literalExpectation("machine_reference", false), peg$c1442 = function (value) { return { key: "machine_reference", value }; }, peg$c1443 = "machine_version", peg$c1444 = peg$literalExpectation("machine_version", false), peg$c1445 = function (value) { return { key: "machine_version", value }; }, peg$c1446 = "machine_license", peg$c1447 = peg$literalExpectation("machine_license", false), peg$c1448 = function (value) { return { key: "machine_license", value }; }, peg$c1449 = "machine_language", peg$c1450 = peg$literalExpectation("machine_language", false), peg$c1451 = function (value) { return { key: "machine_language", value }; }, peg$c1452 = "fsl_version", peg$c1453 = peg$literalExpectation("fsl_version", false), peg$c1454 = function (value) { return { key: "fsl_version", value }; }, peg$c1455 = "theme", peg$c1456 = peg$literalExpectation("theme", false), peg$c1457 = function (value) { return { key: "theme", value }; }, peg$c1458 = "flow", peg$c1459 = peg$literalExpectation("flow", false), peg$c1460 = function (value) { return { key: "flow", value }; }, peg$c1461 = "hooks", peg$c1462 = peg$literalExpectation("hooks", false), peg$c1463 = function (value) { return { key: "hook_definition", value }; }, peg$c1464 = "dot_preamble", peg$c1465 = peg$literalExpectation("dot_preamble", false), peg$c1466 = function (value) { return { key: "dot_preamble", value }; }, peg$c1467 = peg$otherExpectation("machine attribute"), peg$c1468 = "label", peg$c1469 = peg$literalExpectation("label", false), peg$c1470 = function (value) { return { key: 'state-label', value }; }, peg$c1471 = "color", peg$c1472 = peg$literalExpectation("color", false), peg$c1473 = function (value) { return { key: 'color', value }; }, peg$c1474 = peg$otherExpectation("text color"), peg$c1475 = "text-color", peg$c1476 = peg$literalExpectation("text-color", false), peg$c1477 = function (value) { return { key: 'text-color', value }; }, peg$c1478 = peg$otherExpectation("background color"), peg$c1479 = "background-color", peg$c1480 = peg$literalExpectation("background-color", false), peg$c1481 = function (value) { return { key: 'background-color', value }; }, peg$c1482 = peg$otherExpectation("border color"), peg$c1483 = "border-color", peg$c1484 = peg$literalExpectation("border-color", false), peg$c1485 = function (value) { return { key: 'border-color', value }; }, peg$c1486 = peg$otherExpectation("shape"), peg$c1487 = "shape", peg$c1488 = peg$literalExpectation("shape", false), peg$c1489 = function (value) { return { key: 'shape', value }; }, peg$c1490 = peg$otherExpectation("corners"), peg$c1491 = "corners", peg$c1492 = peg$literalExpectation("corners", false), peg$c1493 = function (value) { return { key: 'corners', value }; }, peg$c1494 = peg$otherExpectation("linestyle"), peg$c1495 = function (value) { return { key: 'line-style', value }; }, peg$c1496 = "linestyle", peg$c1497 = peg$literalExpectation("linestyle", false), peg$c1498 = peg$otherExpectation("image"), peg$c1499 = "image", peg$c1500 = peg$literalExpectation("image", false), peg$c1501 = function (value) { return { key: 'image', value }; }, peg$c1502 = peg$otherExpectation("url"), peg$c1503 = "url", peg$c1504 = peg$literalExpectation("url", false), peg$c1505 = function (value) { return { key: 'url', value }; }, peg$c1506 = peg$otherExpectation("state property"), peg$c1507 = "property", peg$c1508 = peg$literalExpectation("property", false), peg$c1509 = function (name, value) {
432
432
  return { key: 'state_property', name, value };
433
- }, peg$c1507 = "required", peg$c1508 = peg$literalExpectation("required", false), peg$c1509 = function (name, value) {
433
+ }, peg$c1510 = "required", peg$c1511 = peg$literalExpectation("required", false), peg$c1512 = function (name, value) {
434
434
  return { key: 'state_property', name, value, required: true };
435
- }, peg$c1510 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1511 = "&", peg$c1512 = peg$literalExpectation("&", false), peg$c1513 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1514 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1515 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1516 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1517 = function (name) { return { key: 'property_definition', name }; }, peg$c1518 = "arrange", peg$c1519 = peg$literalExpectation("arrange", false), peg$c1520 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1521 = "arrange-start", peg$c1522 = peg$literalExpectation("arrange-start", false), peg$c1523 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1524 = "arrange-end", peg$c1525 = peg$literalExpectation("arrange-end", false), peg$c1526 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1527 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
435
+ }, peg$c1513 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1514 = "&", peg$c1515 = peg$literalExpectation("&", false), peg$c1516 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1517 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1518 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1519 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1520 = function (name) { return { key: 'property_definition', name }; }, peg$c1521 = "arrange", peg$c1522 = peg$literalExpectation("arrange", false), peg$c1523 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1524 = "arrange-start", peg$c1525 = peg$literalExpectation("arrange-start", false), peg$c1526 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1527 = "arrange-end", peg$c1528 = peg$literalExpectation("arrange-end", false), peg$c1529 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1530 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
436
436
  if ("startRule" in options) {
437
437
  if (!(options.startRule in peg$startRuleFunctions)) {
438
438
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -14621,7 +14621,7 @@ function peg$parse(input, options) {
14621
14621
  }
14622
14622
  return s0;
14623
14623
  }
14624
- function peg$parseConfigGraphBgColor() {
14624
+ function peg$parseConfigFailedOutputs() {
14625
14625
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14626
14626
  s0 = peg$currPos;
14627
14627
  s1 = peg$parseWS();
@@ -14661,7 +14661,7 @@ function peg$parse(input, options) {
14661
14661
  s5 = null;
14662
14662
  }
14663
14663
  if (s5 !== peg$FAILED) {
14664
- s6 = peg$parseColor();
14664
+ s6 = peg$parseLabelOrLabelList();
14665
14665
  if (s6 !== peg$FAILED) {
14666
14666
  s7 = peg$parseWS();
14667
14667
  if (s7 === peg$FAILED) {
@@ -14734,7 +14734,7 @@ function peg$parse(input, options) {
14734
14734
  }
14735
14735
  return s0;
14736
14736
  }
14737
- function peg$parseConfigAllowsOverride() {
14737
+ function peg$parseConfigGraphBgColor() {
14738
14738
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14739
14739
  s0 = peg$currPos;
14740
14740
  s1 = peg$parseWS();
@@ -14742,9 +14742,9 @@ function peg$parse(input, options) {
14742
14742
  s1 = null;
14743
14743
  }
14744
14744
  if (s1 !== peg$FAILED) {
14745
- if (input.substr(peg$currPos, 15) === peg$c1377) {
14745
+ if (input.substr(peg$currPos, 14) === peg$c1377) {
14746
14746
  s2 = peg$c1377;
14747
- peg$currPos += 15;
14747
+ peg$currPos += 14;
14748
14748
  }
14749
14749
  else {
14750
14750
  s2 = peg$FAILED;
@@ -14774,7 +14774,7 @@ function peg$parse(input, options) {
14774
14774
  s5 = null;
14775
14775
  }
14776
14776
  if (s5 !== peg$FAILED) {
14777
- s6 = peg$parseOverrideT();
14777
+ s6 = peg$parseColor();
14778
14778
  if (s6 !== peg$FAILED) {
14779
14779
  s7 = peg$parseWS();
14780
14780
  if (s7 === peg$FAILED) {
@@ -14847,6 +14847,119 @@ function peg$parse(input, options) {
14847
14847
  }
14848
14848
  return s0;
14849
14849
  }
14850
+ function peg$parseConfigAllowsOverride() {
14851
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14852
+ s0 = peg$currPos;
14853
+ s1 = peg$parseWS();
14854
+ if (s1 === peg$FAILED) {
14855
+ s1 = null;
14856
+ }
14857
+ if (s1 !== peg$FAILED) {
14858
+ if (input.substr(peg$currPos, 15) === peg$c1380) {
14859
+ s2 = peg$c1380;
14860
+ peg$currPos += 15;
14861
+ }
14862
+ else {
14863
+ s2 = peg$FAILED;
14864
+ if (peg$silentFails === 0) {
14865
+ peg$fail(peg$c1381);
14866
+ }
14867
+ }
14868
+ if (s2 !== peg$FAILED) {
14869
+ s3 = peg$parseWS();
14870
+ if (s3 === peg$FAILED) {
14871
+ s3 = null;
14872
+ }
14873
+ if (s3 !== peg$FAILED) {
14874
+ if (input.charCodeAt(peg$currPos) === 58) {
14875
+ s4 = peg$c1206;
14876
+ peg$currPos++;
14877
+ }
14878
+ else {
14879
+ s4 = peg$FAILED;
14880
+ if (peg$silentFails === 0) {
14881
+ peg$fail(peg$c1207);
14882
+ }
14883
+ }
14884
+ if (s4 !== peg$FAILED) {
14885
+ s5 = peg$parseWS();
14886
+ if (s5 === peg$FAILED) {
14887
+ s5 = null;
14888
+ }
14889
+ if (s5 !== peg$FAILED) {
14890
+ s6 = peg$parseOverrideT();
14891
+ if (s6 !== peg$FAILED) {
14892
+ s7 = peg$parseWS();
14893
+ if (s7 === peg$FAILED) {
14894
+ s7 = null;
14895
+ }
14896
+ if (s7 !== peg$FAILED) {
14897
+ if (input.charCodeAt(peg$currPos) === 59) {
14898
+ s8 = peg$c1208;
14899
+ peg$currPos++;
14900
+ }
14901
+ else {
14902
+ s8 = peg$FAILED;
14903
+ if (peg$silentFails === 0) {
14904
+ peg$fail(peg$c1209);
14905
+ }
14906
+ }
14907
+ if (s8 !== peg$FAILED) {
14908
+ s9 = peg$parseWS();
14909
+ if (s9 === peg$FAILED) {
14910
+ s9 = null;
14911
+ }
14912
+ if (s9 !== peg$FAILED) {
14913
+ peg$savedPos = s0;
14914
+ s1 = peg$c1382(s6);
14915
+ s0 = s1;
14916
+ }
14917
+ else {
14918
+ peg$currPos = s0;
14919
+ s0 = peg$FAILED;
14920
+ }
14921
+ }
14922
+ else {
14923
+ peg$currPos = s0;
14924
+ s0 = peg$FAILED;
14925
+ }
14926
+ }
14927
+ else {
14928
+ peg$currPos = s0;
14929
+ s0 = peg$FAILED;
14930
+ }
14931
+ }
14932
+ else {
14933
+ peg$currPos = s0;
14934
+ s0 = peg$FAILED;
14935
+ }
14936
+ }
14937
+ else {
14938
+ peg$currPos = s0;
14939
+ s0 = peg$FAILED;
14940
+ }
14941
+ }
14942
+ else {
14943
+ peg$currPos = s0;
14944
+ s0 = peg$FAILED;
14945
+ }
14946
+ }
14947
+ else {
14948
+ peg$currPos = s0;
14949
+ s0 = peg$FAILED;
14950
+ }
14951
+ }
14952
+ else {
14953
+ peg$currPos = s0;
14954
+ s0 = peg$FAILED;
14955
+ }
14956
+ }
14957
+ else {
14958
+ peg$currPos = s0;
14959
+ s0 = peg$FAILED;
14960
+ }
14961
+ return s0;
14962
+ }
14850
14963
  function peg$parseOverrideT() {
14851
14964
  var s0, s1;
14852
14965
  s0 = peg$currPos;
@@ -14862,7 +14975,7 @@ function peg$parse(input, options) {
14862
14975
  }
14863
14976
  if (s1 !== peg$FAILED) {
14864
14977
  peg$savedPos = s0;
14865
- s1 = peg$c1380();
14978
+ s1 = peg$c1383();
14866
14979
  }
14867
14980
  s0 = s1;
14868
14981
  if (s0 === peg$FAILED) {
@@ -14879,7 +14992,7 @@ function peg$parse(input, options) {
14879
14992
  }
14880
14993
  if (s1 !== peg$FAILED) {
14881
14994
  peg$savedPos = s0;
14882
- s1 = peg$c1381();
14995
+ s1 = peg$c1384();
14883
14996
  }
14884
14997
  s0 = s1;
14885
14998
  if (s0 === peg$FAILED) {
@@ -14912,17 +15025,20 @@ function peg$parse(input, options) {
14912
15025
  if (s0 === peg$FAILED) {
14913
15026
  s0 = peg$parseConfigEndNodes();
14914
15027
  if (s0 === peg$FAILED) {
14915
- s0 = peg$parseConfigTransition();
15028
+ s0 = peg$parseConfigFailedOutputs();
14916
15029
  if (s0 === peg$FAILED) {
14917
- s0 = peg$parseConfigAction();
15030
+ s0 = peg$parseConfigTransition();
14918
15031
  if (s0 === peg$FAILED) {
14919
- s0 = peg$parseConfigAnyState();
15032
+ s0 = peg$parseConfigAction();
14920
15033
  if (s0 === peg$FAILED) {
14921
- s0 = peg$parseConfigValidation();
15034
+ s0 = peg$parseConfigAnyState();
14922
15035
  if (s0 === peg$FAILED) {
14923
- s0 = peg$parseConfigGraphBgColor();
15036
+ s0 = peg$parseConfigValidation();
14924
15037
  if (s0 === peg$FAILED) {
14925
- s0 = peg$parseConfigAllowsOverride();
15038
+ s0 = peg$parseConfigGraphBgColor();
15039
+ if (s0 === peg$FAILED) {
15040
+ s0 = peg$parseConfigAllowsOverride();
15041
+ }
14926
15042
  }
14927
15043
  }
14928
15044
  }
@@ -14934,131 +15050,131 @@ function peg$parse(input, options) {
14934
15050
  peg$silentFails--;
14935
15051
  if (s0 === peg$FAILED) {
14936
15052
  if (peg$silentFails === 0) {
14937
- peg$fail(peg$c1382);
15053
+ peg$fail(peg$c1385);
14938
15054
  }
14939
15055
  }
14940
15056
  return s0;
14941
15057
  }
14942
15058
  function peg$parseLicenseOrLabelOrList() {
14943
15059
  var s0;
14944
- if (input.substr(peg$currPos, 3) === peg$c1383) {
14945
- s0 = peg$c1383;
15060
+ if (input.substr(peg$currPos, 3) === peg$c1386) {
15061
+ s0 = peg$c1386;
14946
15062
  peg$currPos += 3;
14947
15063
  }
14948
15064
  else {
14949
15065
  s0 = peg$FAILED;
14950
15066
  if (peg$silentFails === 0) {
14951
- peg$fail(peg$c1384);
15067
+ peg$fail(peg$c1387);
14952
15068
  }
14953
15069
  }
14954
15070
  if (s0 === peg$FAILED) {
14955
- if (input.substr(peg$currPos, 12) === peg$c1385) {
14956
- s0 = peg$c1385;
15071
+ if (input.substr(peg$currPos, 12) === peg$c1388) {
15072
+ s0 = peg$c1388;
14957
15073
  peg$currPos += 12;
14958
15074
  }
14959
15075
  else {
14960
15076
  s0 = peg$FAILED;
14961
15077
  if (peg$silentFails === 0) {
14962
- peg$fail(peg$c1386);
15078
+ peg$fail(peg$c1389);
14963
15079
  }
14964
15080
  }
14965
15081
  if (s0 === peg$FAILED) {
14966
- if (input.substr(peg$currPos, 12) === peg$c1387) {
14967
- s0 = peg$c1387;
15082
+ if (input.substr(peg$currPos, 12) === peg$c1390) {
15083
+ s0 = peg$c1390;
14968
15084
  peg$currPos += 12;
14969
15085
  }
14970
15086
  else {
14971
15087
  s0 = peg$FAILED;
14972
15088
  if (peg$silentFails === 0) {
14973
- peg$fail(peg$c1388);
15089
+ peg$fail(peg$c1391);
14974
15090
  }
14975
15091
  }
14976
15092
  if (s0 === peg$FAILED) {
14977
- if (input.substr(peg$currPos, 10) === peg$c1389) {
14978
- s0 = peg$c1389;
15093
+ if (input.substr(peg$currPos, 10) === peg$c1392) {
15094
+ s0 = peg$c1392;
14979
15095
  peg$currPos += 10;
14980
15096
  }
14981
15097
  else {
14982
15098
  s0 = peg$FAILED;
14983
15099
  if (peg$silentFails === 0) {
14984
- peg$fail(peg$c1390);
15100
+ peg$fail(peg$c1393);
14985
15101
  }
14986
15102
  }
14987
15103
  if (s0 === peg$FAILED) {
14988
- if (input.substr(peg$currPos, 11) === peg$c1391) {
14989
- s0 = peg$c1391;
15104
+ if (input.substr(peg$currPos, 11) === peg$c1394) {
15105
+ s0 = peg$c1394;
14990
15106
  peg$currPos += 11;
14991
15107
  }
14992
15108
  else {
14993
15109
  s0 = peg$FAILED;
14994
15110
  if (peg$silentFails === 0) {
14995
- peg$fail(peg$c1392);
15111
+ peg$fail(peg$c1395);
14996
15112
  }
14997
15113
  }
14998
15114
  if (s0 === peg$FAILED) {
14999
- if (input.substr(peg$currPos, 13) === peg$c1393) {
15000
- s0 = peg$c1393;
15115
+ if (input.substr(peg$currPos, 13) === peg$c1396) {
15116
+ s0 = peg$c1396;
15001
15117
  peg$currPos += 13;
15002
15118
  }
15003
15119
  else {
15004
15120
  s0 = peg$FAILED;
15005
15121
  if (peg$silentFails === 0) {
15006
- peg$fail(peg$c1394);
15122
+ peg$fail(peg$c1397);
15007
15123
  }
15008
15124
  }
15009
15125
  if (s0 === peg$FAILED) {
15010
- if (input.substr(peg$currPos, 6) === peg$c1395) {
15011
- s0 = peg$c1395;
15126
+ if (input.substr(peg$currPos, 6) === peg$c1398) {
15127
+ s0 = peg$c1398;
15012
15128
  peg$currPos += 6;
15013
15129
  }
15014
15130
  else {
15015
15131
  s0 = peg$FAILED;
15016
15132
  if (peg$silentFails === 0) {
15017
- peg$fail(peg$c1396);
15133
+ peg$fail(peg$c1399);
15018
15134
  }
15019
15135
  }
15020
15136
  if (s0 === peg$FAILED) {
15021
- if (input.substr(peg$currPos, 6) === peg$c1397) {
15022
- s0 = peg$c1397;
15137
+ if (input.substr(peg$currPos, 6) === peg$c1400) {
15138
+ s0 = peg$c1400;
15023
15139
  peg$currPos += 6;
15024
15140
  }
15025
15141
  else {
15026
15142
  s0 = peg$FAILED;
15027
15143
  if (peg$silentFails === 0) {
15028
- peg$fail(peg$c1398);
15144
+ peg$fail(peg$c1401);
15029
15145
  }
15030
15146
  }
15031
15147
  if (s0 === peg$FAILED) {
15032
- if (input.substr(peg$currPos, 9) === peg$c1399) {
15033
- s0 = peg$c1399;
15148
+ if (input.substr(peg$currPos, 9) === peg$c1402) {
15149
+ s0 = peg$c1402;
15034
15150
  peg$currPos += 9;
15035
15151
  }
15036
15152
  else {
15037
15153
  s0 = peg$FAILED;
15038
15154
  if (peg$silentFails === 0) {
15039
- peg$fail(peg$c1400);
15155
+ peg$fail(peg$c1403);
15040
15156
  }
15041
15157
  }
15042
15158
  if (s0 === peg$FAILED) {
15043
- if (input.substr(peg$currPos, 9) === peg$c1401) {
15044
- s0 = peg$c1401;
15159
+ if (input.substr(peg$currPos, 9) === peg$c1404) {
15160
+ s0 = peg$c1404;
15045
15161
  peg$currPos += 9;
15046
15162
  }
15047
15163
  else {
15048
15164
  s0 = peg$FAILED;
15049
15165
  if (peg$silentFails === 0) {
15050
- peg$fail(peg$c1402);
15166
+ peg$fail(peg$c1405);
15051
15167
  }
15052
15168
  }
15053
15169
  if (s0 === peg$FAILED) {
15054
- if (input.substr(peg$currPos, 7) === peg$c1403) {
15055
- s0 = peg$c1403;
15170
+ if (input.substr(peg$currPos, 7) === peg$c1406) {
15171
+ s0 = peg$c1406;
15056
15172
  peg$currPos += 7;
15057
15173
  }
15058
15174
  else {
15059
15175
  s0 = peg$FAILED;
15060
15176
  if (peg$silentFails === 0) {
15061
- peg$fail(peg$c1404);
15177
+ peg$fail(peg$c1407);
15062
15178
  }
15063
15179
  }
15064
15180
  if (s0 === peg$FAILED) {
@@ -15082,47 +15198,47 @@ function peg$parse(input, options) {
15082
15198
  function peg$parseDirection() {
15083
15199
  var s0;
15084
15200
  peg$silentFails++;
15085
- if (input.substr(peg$currPos, 2) === peg$c1406) {
15086
- s0 = peg$c1406;
15201
+ if (input.substr(peg$currPos, 2) === peg$c1409) {
15202
+ s0 = peg$c1409;
15087
15203
  peg$currPos += 2;
15088
15204
  }
15089
15205
  else {
15090
15206
  s0 = peg$FAILED;
15091
15207
  if (peg$silentFails === 0) {
15092
- peg$fail(peg$c1407);
15208
+ peg$fail(peg$c1410);
15093
15209
  }
15094
15210
  }
15095
15211
  if (s0 === peg$FAILED) {
15096
- if (input.substr(peg$currPos, 5) === peg$c1408) {
15097
- s0 = peg$c1408;
15212
+ if (input.substr(peg$currPos, 5) === peg$c1411) {
15213
+ s0 = peg$c1411;
15098
15214
  peg$currPos += 5;
15099
15215
  }
15100
15216
  else {
15101
15217
  s0 = peg$FAILED;
15102
15218
  if (peg$silentFails === 0) {
15103
- peg$fail(peg$c1409);
15219
+ peg$fail(peg$c1412);
15104
15220
  }
15105
15221
  }
15106
15222
  if (s0 === peg$FAILED) {
15107
- if (input.substr(peg$currPos, 4) === peg$c1410) {
15108
- s0 = peg$c1410;
15223
+ if (input.substr(peg$currPos, 4) === peg$c1413) {
15224
+ s0 = peg$c1413;
15109
15225
  peg$currPos += 4;
15110
15226
  }
15111
15227
  else {
15112
15228
  s0 = peg$FAILED;
15113
15229
  if (peg$silentFails === 0) {
15114
- peg$fail(peg$c1411);
15230
+ peg$fail(peg$c1414);
15115
15231
  }
15116
15232
  }
15117
15233
  if (s0 === peg$FAILED) {
15118
- if (input.substr(peg$currPos, 4) === peg$c1412) {
15119
- s0 = peg$c1412;
15234
+ if (input.substr(peg$currPos, 4) === peg$c1415) {
15235
+ s0 = peg$c1415;
15120
15236
  peg$currPos += 4;
15121
15237
  }
15122
15238
  else {
15123
15239
  s0 = peg$FAILED;
15124
15240
  if (peg$silentFails === 0) {
15125
- peg$fail(peg$c1413);
15241
+ peg$fail(peg$c1416);
15126
15242
  }
15127
15243
  }
15128
15244
  }
@@ -15131,7 +15247,7 @@ function peg$parse(input, options) {
15131
15247
  peg$silentFails--;
15132
15248
  if (s0 === peg$FAILED) {
15133
15249
  if (peg$silentFails === 0) {
15134
- peg$fail(peg$c1405);
15250
+ peg$fail(peg$c1408);
15135
15251
  }
15136
15252
  }
15137
15253
  return s0;
@@ -15139,32 +15255,32 @@ function peg$parse(input, options) {
15139
15255
  function peg$parseHookDefinition() {
15140
15256
  var s0;
15141
15257
  peg$silentFails++;
15142
- if (input.substr(peg$currPos, 4) === peg$c1415) {
15143
- s0 = peg$c1415;
15258
+ if (input.substr(peg$currPos, 4) === peg$c1418) {
15259
+ s0 = peg$c1418;
15144
15260
  peg$currPos += 4;
15145
15261
  }
15146
15262
  else {
15147
15263
  s0 = peg$FAILED;
15148
15264
  if (peg$silentFails === 0) {
15149
- peg$fail(peg$c1416);
15265
+ peg$fail(peg$c1419);
15150
15266
  }
15151
15267
  }
15152
15268
  if (s0 === peg$FAILED) {
15153
- if (input.substr(peg$currPos, 6) === peg$c1417) {
15154
- s0 = peg$c1417;
15269
+ if (input.substr(peg$currPos, 6) === peg$c1420) {
15270
+ s0 = peg$c1420;
15155
15271
  peg$currPos += 6;
15156
15272
  }
15157
15273
  else {
15158
15274
  s0 = peg$FAILED;
15159
15275
  if (peg$silentFails === 0) {
15160
- peg$fail(peg$c1418);
15276
+ peg$fail(peg$c1421);
15161
15277
  }
15162
15278
  }
15163
15279
  }
15164
15280
  peg$silentFails--;
15165
15281
  if (s0 === peg$FAILED) {
15166
15282
  if (peg$silentFails === 0) {
15167
- peg$fail(peg$c1414);
15283
+ peg$fail(peg$c1417);
15168
15284
  }
15169
15285
  }
15170
15286
  return s0;
@@ -15177,14 +15293,14 @@ function peg$parse(input, options) {
15177
15293
  s1 = null;
15178
15294
  }
15179
15295
  if (s1 !== peg$FAILED) {
15180
- if (input.substr(peg$currPos, 14) === peg$c1419) {
15181
- s2 = peg$c1419;
15296
+ if (input.substr(peg$currPos, 14) === peg$c1422) {
15297
+ s2 = peg$c1422;
15182
15298
  peg$currPos += 14;
15183
15299
  }
15184
15300
  else {
15185
15301
  s2 = peg$FAILED;
15186
15302
  if (peg$silentFails === 0) {
15187
- peg$fail(peg$c1420);
15303
+ peg$fail(peg$c1423);
15188
15304
  }
15189
15305
  }
15190
15306
  if (s2 !== peg$FAILED) {
@@ -15233,7 +15349,7 @@ function peg$parse(input, options) {
15233
15349
  }
15234
15350
  if (s9 !== peg$FAILED) {
15235
15351
  peg$savedPos = s0;
15236
- s1 = peg$c1421(s6);
15352
+ s1 = peg$c1424(s6);
15237
15353
  s0 = s1;
15238
15354
  }
15239
15355
  else {
@@ -15290,14 +15406,14 @@ function peg$parse(input, options) {
15290
15406
  s1 = null;
15291
15407
  }
15292
15408
  if (s1 !== peg$FAILED) {
15293
- if (input.substr(peg$currPos, 19) === peg$c1422) {
15294
- s2 = peg$c1422;
15409
+ if (input.substr(peg$currPos, 19) === peg$c1425) {
15410
+ s2 = peg$c1425;
15295
15411
  peg$currPos += 19;
15296
15412
  }
15297
15413
  else {
15298
15414
  s2 = peg$FAILED;
15299
15415
  if (peg$silentFails === 0) {
15300
- peg$fail(peg$c1423);
15416
+ peg$fail(peg$c1426);
15301
15417
  }
15302
15418
  }
15303
15419
  if (s2 !== peg$FAILED) {
@@ -15346,7 +15462,7 @@ function peg$parse(input, options) {
15346
15462
  }
15347
15463
  if (s9 !== peg$FAILED) {
15348
15464
  peg$savedPos = s0;
15349
- s1 = peg$c1424(s6);
15465
+ s1 = peg$c1427(s6);
15350
15466
  s0 = s1;
15351
15467
  }
15352
15468
  else {
@@ -15403,14 +15519,14 @@ function peg$parse(input, options) {
15403
15519
  s1 = null;
15404
15520
  }
15405
15521
  if (s1 !== peg$FAILED) {
15406
- if (input.substr(peg$currPos, 15) === peg$c1425) {
15407
- s2 = peg$c1425;
15522
+ if (input.substr(peg$currPos, 15) === peg$c1428) {
15523
+ s2 = peg$c1428;
15408
15524
  peg$currPos += 15;
15409
15525
  }
15410
15526
  else {
15411
15527
  s2 = peg$FAILED;
15412
15528
  if (peg$silentFails === 0) {
15413
- peg$fail(peg$c1426);
15529
+ peg$fail(peg$c1429);
15414
15530
  }
15415
15531
  }
15416
15532
  if (s2 !== peg$FAILED) {
@@ -15459,7 +15575,7 @@ function peg$parse(input, options) {
15459
15575
  }
15460
15576
  if (s9 !== peg$FAILED) {
15461
15577
  peg$savedPos = s0;
15462
- s1 = peg$c1427(s6);
15578
+ s1 = peg$c1430(s6);
15463
15579
  s0 = s1;
15464
15580
  }
15465
15581
  else {
@@ -15516,14 +15632,14 @@ function peg$parse(input, options) {
15516
15632
  s1 = null;
15517
15633
  }
15518
15634
  if (s1 !== peg$FAILED) {
15519
- if (input.substr(peg$currPos, 18) === peg$c1428) {
15520
- s2 = peg$c1428;
15635
+ if (input.substr(peg$currPos, 18) === peg$c1431) {
15636
+ s2 = peg$c1431;
15521
15637
  peg$currPos += 18;
15522
15638
  }
15523
15639
  else {
15524
15640
  s2 = peg$FAILED;
15525
15641
  if (peg$silentFails === 0) {
15526
- peg$fail(peg$c1429);
15642
+ peg$fail(peg$c1432);
15527
15643
  }
15528
15644
  }
15529
15645
  if (s2 !== peg$FAILED) {
@@ -15572,7 +15688,7 @@ function peg$parse(input, options) {
15572
15688
  }
15573
15689
  if (s9 !== peg$FAILED) {
15574
15690
  peg$savedPos = s0;
15575
- s1 = peg$c1430(s6);
15691
+ s1 = peg$c1433(s6);
15576
15692
  s0 = s1;
15577
15693
  }
15578
15694
  else {
@@ -15629,14 +15745,14 @@ function peg$parse(input, options) {
15629
15745
  s1 = null;
15630
15746
  }
15631
15747
  if (s1 !== peg$FAILED) {
15632
- if (input.substr(peg$currPos, 12) === peg$c1431) {
15633
- s2 = peg$c1431;
15748
+ if (input.substr(peg$currPos, 12) === peg$c1434) {
15749
+ s2 = peg$c1434;
15634
15750
  peg$currPos += 12;
15635
15751
  }
15636
15752
  else {
15637
15753
  s2 = peg$FAILED;
15638
15754
  if (peg$silentFails === 0) {
15639
- peg$fail(peg$c1432);
15755
+ peg$fail(peg$c1435);
15640
15756
  }
15641
15757
  }
15642
15758
  if (s2 !== peg$FAILED) {
@@ -15685,7 +15801,7 @@ function peg$parse(input, options) {
15685
15801
  }
15686
15802
  if (s9 !== peg$FAILED) {
15687
15803
  peg$savedPos = s0;
15688
- s1 = peg$c1433(s6);
15804
+ s1 = peg$c1436(s6);
15689
15805
  s0 = s1;
15690
15806
  }
15691
15807
  else {
@@ -15742,14 +15858,14 @@ function peg$parse(input, options) {
15742
15858
  s1 = null;
15743
15859
  }
15744
15860
  if (s1 !== peg$FAILED) {
15745
- if (input.substr(peg$currPos, 8) === peg$c1434) {
15746
- s2 = peg$c1434;
15861
+ if (input.substr(peg$currPos, 8) === peg$c1437) {
15862
+ s2 = peg$c1437;
15747
15863
  peg$currPos += 8;
15748
15864
  }
15749
15865
  else {
15750
15866
  s2 = peg$FAILED;
15751
15867
  if (peg$silentFails === 0) {
15752
- peg$fail(peg$c1435);
15868
+ peg$fail(peg$c1438);
15753
15869
  }
15754
15870
  }
15755
15871
  if (s2 !== peg$FAILED) {
@@ -15798,7 +15914,7 @@ function peg$parse(input, options) {
15798
15914
  }
15799
15915
  if (s9 !== peg$FAILED) {
15800
15916
  peg$savedPos = s0;
15801
- s1 = peg$c1436(s6);
15917
+ s1 = peg$c1439(s6);
15802
15918
  s0 = s1;
15803
15919
  }
15804
15920
  else {
@@ -15855,14 +15971,14 @@ function peg$parse(input, options) {
15855
15971
  s1 = null;
15856
15972
  }
15857
15973
  if (s1 !== peg$FAILED) {
15858
- if (input.substr(peg$currPos, 17) === peg$c1437) {
15859
- s2 = peg$c1437;
15974
+ if (input.substr(peg$currPos, 17) === peg$c1440) {
15975
+ s2 = peg$c1440;
15860
15976
  peg$currPos += 17;
15861
15977
  }
15862
15978
  else {
15863
15979
  s2 = peg$FAILED;
15864
15980
  if (peg$silentFails === 0) {
15865
- peg$fail(peg$c1438);
15981
+ peg$fail(peg$c1441);
15866
15982
  }
15867
15983
  }
15868
15984
  if (s2 !== peg$FAILED) {
@@ -15911,7 +16027,7 @@ function peg$parse(input, options) {
15911
16027
  }
15912
16028
  if (s9 !== peg$FAILED) {
15913
16029
  peg$savedPos = s0;
15914
- s1 = peg$c1439(s6);
16030
+ s1 = peg$c1442(s6);
15915
16031
  s0 = s1;
15916
16032
  }
15917
16033
  else {
@@ -15968,14 +16084,14 @@ function peg$parse(input, options) {
15968
16084
  s1 = null;
15969
16085
  }
15970
16086
  if (s1 !== peg$FAILED) {
15971
- if (input.substr(peg$currPos, 15) === peg$c1440) {
15972
- s2 = peg$c1440;
16087
+ if (input.substr(peg$currPos, 15) === peg$c1443) {
16088
+ s2 = peg$c1443;
15973
16089
  peg$currPos += 15;
15974
16090
  }
15975
16091
  else {
15976
16092
  s2 = peg$FAILED;
15977
16093
  if (peg$silentFails === 0) {
15978
- peg$fail(peg$c1441);
16094
+ peg$fail(peg$c1444);
15979
16095
  }
15980
16096
  }
15981
16097
  if (s2 !== peg$FAILED) {
@@ -16024,7 +16140,7 @@ function peg$parse(input, options) {
16024
16140
  }
16025
16141
  if (s9 !== peg$FAILED) {
16026
16142
  peg$savedPos = s0;
16027
- s1 = peg$c1442(s6);
16143
+ s1 = peg$c1445(s6);
16028
16144
  s0 = s1;
16029
16145
  }
16030
16146
  else {
@@ -16081,14 +16197,14 @@ function peg$parse(input, options) {
16081
16197
  s1 = null;
16082
16198
  }
16083
16199
  if (s1 !== peg$FAILED) {
16084
- if (input.substr(peg$currPos, 15) === peg$c1443) {
16085
- s2 = peg$c1443;
16200
+ if (input.substr(peg$currPos, 15) === peg$c1446) {
16201
+ s2 = peg$c1446;
16086
16202
  peg$currPos += 15;
16087
16203
  }
16088
16204
  else {
16089
16205
  s2 = peg$FAILED;
16090
16206
  if (peg$silentFails === 0) {
16091
- peg$fail(peg$c1444);
16207
+ peg$fail(peg$c1447);
16092
16208
  }
16093
16209
  }
16094
16210
  if (s2 !== peg$FAILED) {
@@ -16137,7 +16253,7 @@ function peg$parse(input, options) {
16137
16253
  }
16138
16254
  if (s9 !== peg$FAILED) {
16139
16255
  peg$savedPos = s0;
16140
- s1 = peg$c1445(s6);
16256
+ s1 = peg$c1448(s6);
16141
16257
  s0 = s1;
16142
16258
  }
16143
16259
  else {
@@ -16194,14 +16310,14 @@ function peg$parse(input, options) {
16194
16310
  s1 = null;
16195
16311
  }
16196
16312
  if (s1 !== peg$FAILED) {
16197
- if (input.substr(peg$currPos, 16) === peg$c1446) {
16198
- s2 = peg$c1446;
16313
+ if (input.substr(peg$currPos, 16) === peg$c1449) {
16314
+ s2 = peg$c1449;
16199
16315
  peg$currPos += 16;
16200
16316
  }
16201
16317
  else {
16202
16318
  s2 = peg$FAILED;
16203
16319
  if (peg$silentFails === 0) {
16204
- peg$fail(peg$c1447);
16320
+ peg$fail(peg$c1450);
16205
16321
  }
16206
16322
  }
16207
16323
  if (s2 !== peg$FAILED) {
@@ -16250,7 +16366,7 @@ function peg$parse(input, options) {
16250
16366
  }
16251
16367
  if (s9 !== peg$FAILED) {
16252
16368
  peg$savedPos = s0;
16253
- s1 = peg$c1448(s6);
16369
+ s1 = peg$c1451(s6);
16254
16370
  s0 = s1;
16255
16371
  }
16256
16372
  else {
@@ -16307,14 +16423,14 @@ function peg$parse(input, options) {
16307
16423
  s1 = null;
16308
16424
  }
16309
16425
  if (s1 !== peg$FAILED) {
16310
- if (input.substr(peg$currPos, 11) === peg$c1449) {
16311
- s2 = peg$c1449;
16426
+ if (input.substr(peg$currPos, 11) === peg$c1452) {
16427
+ s2 = peg$c1452;
16312
16428
  peg$currPos += 11;
16313
16429
  }
16314
16430
  else {
16315
16431
  s2 = peg$FAILED;
16316
16432
  if (peg$silentFails === 0) {
16317
- peg$fail(peg$c1450);
16433
+ peg$fail(peg$c1453);
16318
16434
  }
16319
16435
  }
16320
16436
  if (s2 !== peg$FAILED) {
@@ -16363,7 +16479,7 @@ function peg$parse(input, options) {
16363
16479
  }
16364
16480
  if (s9 !== peg$FAILED) {
16365
16481
  peg$savedPos = s0;
16366
- s1 = peg$c1451(s6);
16482
+ s1 = peg$c1454(s6);
16367
16483
  s0 = s1;
16368
16484
  }
16369
16485
  else {
@@ -16420,14 +16536,14 @@ function peg$parse(input, options) {
16420
16536
  s1 = null;
16421
16537
  }
16422
16538
  if (s1 !== peg$FAILED) {
16423
- if (input.substr(peg$currPos, 5) === peg$c1452) {
16424
- s2 = peg$c1452;
16539
+ if (input.substr(peg$currPos, 5) === peg$c1455) {
16540
+ s2 = peg$c1455;
16425
16541
  peg$currPos += 5;
16426
16542
  }
16427
16543
  else {
16428
16544
  s2 = peg$FAILED;
16429
16545
  if (peg$silentFails === 0) {
16430
- peg$fail(peg$c1453);
16546
+ peg$fail(peg$c1456);
16431
16547
  }
16432
16548
  }
16433
16549
  if (s2 !== peg$FAILED) {
@@ -16476,7 +16592,7 @@ function peg$parse(input, options) {
16476
16592
  }
16477
16593
  if (s9 !== peg$FAILED) {
16478
16594
  peg$savedPos = s0;
16479
- s1 = peg$c1454(s6);
16595
+ s1 = peg$c1457(s6);
16480
16596
  s0 = s1;
16481
16597
  }
16482
16598
  else {
@@ -16533,14 +16649,14 @@ function peg$parse(input, options) {
16533
16649
  s1 = null;
16534
16650
  }
16535
16651
  if (s1 !== peg$FAILED) {
16536
- if (input.substr(peg$currPos, 4) === peg$c1455) {
16537
- s2 = peg$c1455;
16652
+ if (input.substr(peg$currPos, 4) === peg$c1458) {
16653
+ s2 = peg$c1458;
16538
16654
  peg$currPos += 4;
16539
16655
  }
16540
16656
  else {
16541
16657
  s2 = peg$FAILED;
16542
16658
  if (peg$silentFails === 0) {
16543
- peg$fail(peg$c1456);
16659
+ peg$fail(peg$c1459);
16544
16660
  }
16545
16661
  }
16546
16662
  if (s2 !== peg$FAILED) {
@@ -16589,7 +16705,7 @@ function peg$parse(input, options) {
16589
16705
  }
16590
16706
  if (s9 !== peg$FAILED) {
16591
16707
  peg$savedPos = s0;
16592
- s1 = peg$c1457(s6);
16708
+ s1 = peg$c1460(s6);
16593
16709
  s0 = s1;
16594
16710
  }
16595
16711
  else {
@@ -16646,14 +16762,14 @@ function peg$parse(input, options) {
16646
16762
  s1 = null;
16647
16763
  }
16648
16764
  if (s1 !== peg$FAILED) {
16649
- if (input.substr(peg$currPos, 5) === peg$c1458) {
16650
- s2 = peg$c1458;
16765
+ if (input.substr(peg$currPos, 5) === peg$c1461) {
16766
+ s2 = peg$c1461;
16651
16767
  peg$currPos += 5;
16652
16768
  }
16653
16769
  else {
16654
16770
  s2 = peg$FAILED;
16655
16771
  if (peg$silentFails === 0) {
16656
- peg$fail(peg$c1459);
16772
+ peg$fail(peg$c1462);
16657
16773
  }
16658
16774
  }
16659
16775
  if (s2 !== peg$FAILED) {
@@ -16702,7 +16818,7 @@ function peg$parse(input, options) {
16702
16818
  }
16703
16819
  if (s9 !== peg$FAILED) {
16704
16820
  peg$savedPos = s0;
16705
- s1 = peg$c1460(s6);
16821
+ s1 = peg$c1463(s6);
16706
16822
  s0 = s1;
16707
16823
  }
16708
16824
  else {
@@ -16759,14 +16875,14 @@ function peg$parse(input, options) {
16759
16875
  s1 = null;
16760
16876
  }
16761
16877
  if (s1 !== peg$FAILED) {
16762
- if (input.substr(peg$currPos, 12) === peg$c1461) {
16763
- s2 = peg$c1461;
16878
+ if (input.substr(peg$currPos, 12) === peg$c1464) {
16879
+ s2 = peg$c1464;
16764
16880
  peg$currPos += 12;
16765
16881
  }
16766
16882
  else {
16767
16883
  s2 = peg$FAILED;
16768
16884
  if (peg$silentFails === 0) {
16769
- peg$fail(peg$c1462);
16885
+ peg$fail(peg$c1465);
16770
16886
  }
16771
16887
  }
16772
16888
  if (s2 !== peg$FAILED) {
@@ -16815,7 +16931,7 @@ function peg$parse(input, options) {
16815
16931
  }
16816
16932
  if (s9 !== peg$FAILED) {
16817
16933
  peg$savedPos = s0;
16818
- s1 = peg$c1463(s6);
16934
+ s1 = peg$c1466(s6);
16819
16935
  s0 = s1;
16820
16936
  }
16821
16937
  else {
@@ -16913,7 +17029,7 @@ function peg$parse(input, options) {
16913
17029
  peg$silentFails--;
16914
17030
  if (s0 === peg$FAILED) {
16915
17031
  if (peg$silentFails === 0) {
16916
- peg$fail(peg$c1464);
17032
+ peg$fail(peg$c1467);
16917
17033
  }
16918
17034
  }
16919
17035
  return s0;
@@ -16944,14 +17060,14 @@ function peg$parse(input, options) {
16944
17060
  s1 = null;
16945
17061
  }
16946
17062
  if (s1 !== peg$FAILED) {
16947
- if (input.substr(peg$currPos, 5) === peg$c1465) {
16948
- s2 = peg$c1465;
17063
+ if (input.substr(peg$currPos, 5) === peg$c1468) {
17064
+ s2 = peg$c1468;
16949
17065
  peg$currPos += 5;
16950
17066
  }
16951
17067
  else {
16952
17068
  s2 = peg$FAILED;
16953
17069
  if (peg$silentFails === 0) {
16954
- peg$fail(peg$c1466);
17070
+ peg$fail(peg$c1469);
16955
17071
  }
16956
17072
  }
16957
17073
  if (s2 !== peg$FAILED) {
@@ -17000,7 +17116,7 @@ function peg$parse(input, options) {
17000
17116
  }
17001
17117
  if (s9 !== peg$FAILED) {
17002
17118
  peg$savedPos = s0;
17003
- s1 = peg$c1467(s6);
17119
+ s1 = peg$c1470(s6);
17004
17120
  s0 = s1;
17005
17121
  }
17006
17122
  else {
@@ -17065,14 +17181,14 @@ function peg$parse(input, options) {
17065
17181
  s1 = null;
17066
17182
  }
17067
17183
  if (s1 !== peg$FAILED) {
17068
- if (input.substr(peg$currPos, 5) === peg$c1468) {
17069
- s2 = peg$c1468;
17184
+ if (input.substr(peg$currPos, 5) === peg$c1471) {
17185
+ s2 = peg$c1471;
17070
17186
  peg$currPos += 5;
17071
17187
  }
17072
17188
  else {
17073
17189
  s2 = peg$FAILED;
17074
17190
  if (peg$silentFails === 0) {
17075
- peg$fail(peg$c1469);
17191
+ peg$fail(peg$c1472);
17076
17192
  }
17077
17193
  }
17078
17194
  if (s2 !== peg$FAILED) {
@@ -17121,7 +17237,7 @@ function peg$parse(input, options) {
17121
17237
  }
17122
17238
  if (s9 !== peg$FAILED) {
17123
17239
  peg$savedPos = s0;
17124
- s1 = peg$c1470(s6);
17240
+ s1 = peg$c1473(s6);
17125
17241
  s0 = s1;
17126
17242
  }
17127
17243
  else {
@@ -17186,14 +17302,14 @@ function peg$parse(input, options) {
17186
17302
  s1 = null;
17187
17303
  }
17188
17304
  if (s1 !== peg$FAILED) {
17189
- if (input.substr(peg$currPos, 10) === peg$c1472) {
17190
- s2 = peg$c1472;
17305
+ if (input.substr(peg$currPos, 10) === peg$c1475) {
17306
+ s2 = peg$c1475;
17191
17307
  peg$currPos += 10;
17192
17308
  }
17193
17309
  else {
17194
17310
  s2 = peg$FAILED;
17195
17311
  if (peg$silentFails === 0) {
17196
- peg$fail(peg$c1473);
17312
+ peg$fail(peg$c1476);
17197
17313
  }
17198
17314
  }
17199
17315
  if (s2 !== peg$FAILED) {
@@ -17242,7 +17358,7 @@ function peg$parse(input, options) {
17242
17358
  }
17243
17359
  if (s9 !== peg$FAILED) {
17244
17360
  peg$savedPos = s0;
17245
- s1 = peg$c1474(s6);
17361
+ s1 = peg$c1477(s6);
17246
17362
  s0 = s1;
17247
17363
  }
17248
17364
  else {
@@ -17293,7 +17409,7 @@ function peg$parse(input, options) {
17293
17409
  if (s0 === peg$FAILED) {
17294
17410
  s1 = peg$FAILED;
17295
17411
  if (peg$silentFails === 0) {
17296
- peg$fail(peg$c1471);
17412
+ peg$fail(peg$c1474);
17297
17413
  }
17298
17414
  }
17299
17415
  return s0;
@@ -17307,14 +17423,14 @@ function peg$parse(input, options) {
17307
17423
  s1 = null;
17308
17424
  }
17309
17425
  if (s1 !== peg$FAILED) {
17310
- if (input.substr(peg$currPos, 16) === peg$c1476) {
17311
- s2 = peg$c1476;
17426
+ if (input.substr(peg$currPos, 16) === peg$c1479) {
17427
+ s2 = peg$c1479;
17312
17428
  peg$currPos += 16;
17313
17429
  }
17314
17430
  else {
17315
17431
  s2 = peg$FAILED;
17316
17432
  if (peg$silentFails === 0) {
17317
- peg$fail(peg$c1477);
17433
+ peg$fail(peg$c1480);
17318
17434
  }
17319
17435
  }
17320
17436
  if (s2 !== peg$FAILED) {
@@ -17363,7 +17479,7 @@ function peg$parse(input, options) {
17363
17479
  }
17364
17480
  if (s9 !== peg$FAILED) {
17365
17481
  peg$savedPos = s0;
17366
- s1 = peg$c1478(s6);
17482
+ s1 = peg$c1481(s6);
17367
17483
  s0 = s1;
17368
17484
  }
17369
17485
  else {
@@ -17414,7 +17530,7 @@ function peg$parse(input, options) {
17414
17530
  if (s0 === peg$FAILED) {
17415
17531
  s1 = peg$FAILED;
17416
17532
  if (peg$silentFails === 0) {
17417
- peg$fail(peg$c1475);
17533
+ peg$fail(peg$c1478);
17418
17534
  }
17419
17535
  }
17420
17536
  return s0;
@@ -17428,14 +17544,14 @@ function peg$parse(input, options) {
17428
17544
  s1 = null;
17429
17545
  }
17430
17546
  if (s1 !== peg$FAILED) {
17431
- if (input.substr(peg$currPos, 12) === peg$c1480) {
17432
- s2 = peg$c1480;
17547
+ if (input.substr(peg$currPos, 12) === peg$c1483) {
17548
+ s2 = peg$c1483;
17433
17549
  peg$currPos += 12;
17434
17550
  }
17435
17551
  else {
17436
17552
  s2 = peg$FAILED;
17437
17553
  if (peg$silentFails === 0) {
17438
- peg$fail(peg$c1481);
17554
+ peg$fail(peg$c1484);
17439
17555
  }
17440
17556
  }
17441
17557
  if (s2 !== peg$FAILED) {
@@ -17484,7 +17600,7 @@ function peg$parse(input, options) {
17484
17600
  }
17485
17601
  if (s9 !== peg$FAILED) {
17486
17602
  peg$savedPos = s0;
17487
- s1 = peg$c1482(s6);
17603
+ s1 = peg$c1485(s6);
17488
17604
  s0 = s1;
17489
17605
  }
17490
17606
  else {
@@ -17535,7 +17651,7 @@ function peg$parse(input, options) {
17535
17651
  if (s0 === peg$FAILED) {
17536
17652
  s1 = peg$FAILED;
17537
17653
  if (peg$silentFails === 0) {
17538
- peg$fail(peg$c1479);
17654
+ peg$fail(peg$c1482);
17539
17655
  }
17540
17656
  }
17541
17657
  return s0;
@@ -17549,14 +17665,14 @@ function peg$parse(input, options) {
17549
17665
  s1 = null;
17550
17666
  }
17551
17667
  if (s1 !== peg$FAILED) {
17552
- if (input.substr(peg$currPos, 5) === peg$c1484) {
17553
- s2 = peg$c1484;
17668
+ if (input.substr(peg$currPos, 5) === peg$c1487) {
17669
+ s2 = peg$c1487;
17554
17670
  peg$currPos += 5;
17555
17671
  }
17556
17672
  else {
17557
17673
  s2 = peg$FAILED;
17558
17674
  if (peg$silentFails === 0) {
17559
- peg$fail(peg$c1485);
17675
+ peg$fail(peg$c1488);
17560
17676
  }
17561
17677
  }
17562
17678
  if (s2 !== peg$FAILED) {
@@ -17605,7 +17721,7 @@ function peg$parse(input, options) {
17605
17721
  }
17606
17722
  if (s9 !== peg$FAILED) {
17607
17723
  peg$savedPos = s0;
17608
- s1 = peg$c1486(s6);
17724
+ s1 = peg$c1489(s6);
17609
17725
  s0 = s1;
17610
17726
  }
17611
17727
  else {
@@ -17656,7 +17772,7 @@ function peg$parse(input, options) {
17656
17772
  if (s0 === peg$FAILED) {
17657
17773
  s1 = peg$FAILED;
17658
17774
  if (peg$silentFails === 0) {
17659
- peg$fail(peg$c1483);
17775
+ peg$fail(peg$c1486);
17660
17776
  }
17661
17777
  }
17662
17778
  return s0;
@@ -17670,14 +17786,14 @@ function peg$parse(input, options) {
17670
17786
  s1 = null;
17671
17787
  }
17672
17788
  if (s1 !== peg$FAILED) {
17673
- if (input.substr(peg$currPos, 7) === peg$c1488) {
17674
- s2 = peg$c1488;
17789
+ if (input.substr(peg$currPos, 7) === peg$c1491) {
17790
+ s2 = peg$c1491;
17675
17791
  peg$currPos += 7;
17676
17792
  }
17677
17793
  else {
17678
17794
  s2 = peg$FAILED;
17679
17795
  if (peg$silentFails === 0) {
17680
- peg$fail(peg$c1489);
17796
+ peg$fail(peg$c1492);
17681
17797
  }
17682
17798
  }
17683
17799
  if (s2 !== peg$FAILED) {
@@ -17726,7 +17842,7 @@ function peg$parse(input, options) {
17726
17842
  }
17727
17843
  if (s9 !== peg$FAILED) {
17728
17844
  peg$savedPos = s0;
17729
- s1 = peg$c1490(s6);
17845
+ s1 = peg$c1493(s6);
17730
17846
  s0 = s1;
17731
17847
  }
17732
17848
  else {
@@ -17777,7 +17893,7 @@ function peg$parse(input, options) {
17777
17893
  if (s0 === peg$FAILED) {
17778
17894
  s1 = peg$FAILED;
17779
17895
  if (peg$silentFails === 0) {
17780
- peg$fail(peg$c1487);
17896
+ peg$fail(peg$c1490);
17781
17897
  }
17782
17898
  }
17783
17899
  return s0;
@@ -17847,7 +17963,7 @@ function peg$parse(input, options) {
17847
17963
  }
17848
17964
  if (s9 !== peg$FAILED) {
17849
17965
  peg$savedPos = s0;
17850
- s1 = peg$c1492(s6);
17966
+ s1 = peg$c1495(s6);
17851
17967
  s0 = s1;
17852
17968
  }
17853
17969
  else {
@@ -17901,14 +18017,14 @@ function peg$parse(input, options) {
17901
18017
  s1 = null;
17902
18018
  }
17903
18019
  if (s1 !== peg$FAILED) {
17904
- if (input.substr(peg$currPos, 9) === peg$c1493) {
17905
- s2 = peg$c1493;
18020
+ if (input.substr(peg$currPos, 9) === peg$c1496) {
18021
+ s2 = peg$c1496;
17906
18022
  peg$currPos += 9;
17907
18023
  }
17908
18024
  else {
17909
18025
  s2 = peg$FAILED;
17910
18026
  if (peg$silentFails === 0) {
17911
- peg$fail(peg$c1494);
18027
+ peg$fail(peg$c1497);
17912
18028
  }
17913
18029
  }
17914
18030
  if (s2 !== peg$FAILED) {
@@ -17957,7 +18073,7 @@ function peg$parse(input, options) {
17957
18073
  }
17958
18074
  if (s9 !== peg$FAILED) {
17959
18075
  peg$savedPos = s0;
17960
- s1 = peg$c1492(s6);
18076
+ s1 = peg$c1495(s6);
17961
18077
  s0 = s1;
17962
18078
  }
17963
18079
  else {
@@ -18009,7 +18125,7 @@ function peg$parse(input, options) {
18009
18125
  if (s0 === peg$FAILED) {
18010
18126
  s1 = peg$FAILED;
18011
18127
  if (peg$silentFails === 0) {
18012
- peg$fail(peg$c1491);
18128
+ peg$fail(peg$c1494);
18013
18129
  }
18014
18130
  }
18015
18131
  return s0;
@@ -18023,14 +18139,14 @@ function peg$parse(input, options) {
18023
18139
  s1 = null;
18024
18140
  }
18025
18141
  if (s1 !== peg$FAILED) {
18026
- if (input.substr(peg$currPos, 5) === peg$c1496) {
18027
- s2 = peg$c1496;
18142
+ if (input.substr(peg$currPos, 5) === peg$c1499) {
18143
+ s2 = peg$c1499;
18028
18144
  peg$currPos += 5;
18029
18145
  }
18030
18146
  else {
18031
18147
  s2 = peg$FAILED;
18032
18148
  if (peg$silentFails === 0) {
18033
- peg$fail(peg$c1497);
18149
+ peg$fail(peg$c1500);
18034
18150
  }
18035
18151
  }
18036
18152
  if (s2 !== peg$FAILED) {
@@ -18079,7 +18195,7 @@ function peg$parse(input, options) {
18079
18195
  }
18080
18196
  if (s9 !== peg$FAILED) {
18081
18197
  peg$savedPos = s0;
18082
- s1 = peg$c1498(s6);
18198
+ s1 = peg$c1501(s6);
18083
18199
  s0 = s1;
18084
18200
  }
18085
18201
  else {
@@ -18130,7 +18246,7 @@ function peg$parse(input, options) {
18130
18246
  if (s0 === peg$FAILED) {
18131
18247
  s1 = peg$FAILED;
18132
18248
  if (peg$silentFails === 0) {
18133
- peg$fail(peg$c1495);
18249
+ peg$fail(peg$c1498);
18134
18250
  }
18135
18251
  }
18136
18252
  return s0;
@@ -18144,14 +18260,14 @@ function peg$parse(input, options) {
18144
18260
  s1 = null;
18145
18261
  }
18146
18262
  if (s1 !== peg$FAILED) {
18147
- if (input.substr(peg$currPos, 3) === peg$c1500) {
18148
- s2 = peg$c1500;
18263
+ if (input.substr(peg$currPos, 3) === peg$c1503) {
18264
+ s2 = peg$c1503;
18149
18265
  peg$currPos += 3;
18150
18266
  }
18151
18267
  else {
18152
18268
  s2 = peg$FAILED;
18153
18269
  if (peg$silentFails === 0) {
18154
- peg$fail(peg$c1501);
18270
+ peg$fail(peg$c1504);
18155
18271
  }
18156
18272
  }
18157
18273
  if (s2 !== peg$FAILED) {
@@ -18200,7 +18316,7 @@ function peg$parse(input, options) {
18200
18316
  }
18201
18317
  if (s9 !== peg$FAILED) {
18202
18318
  peg$savedPos = s0;
18203
- s1 = peg$c1502(s6);
18319
+ s1 = peg$c1505(s6);
18204
18320
  s0 = s1;
18205
18321
  }
18206
18322
  else {
@@ -18251,7 +18367,7 @@ function peg$parse(input, options) {
18251
18367
  if (s0 === peg$FAILED) {
18252
18368
  s1 = peg$FAILED;
18253
18369
  if (peg$silentFails === 0) {
18254
- peg$fail(peg$c1499);
18370
+ peg$fail(peg$c1502);
18255
18371
  }
18256
18372
  }
18257
18373
  return s0;
@@ -18265,14 +18381,14 @@ function peg$parse(input, options) {
18265
18381
  s1 = null;
18266
18382
  }
18267
18383
  if (s1 !== peg$FAILED) {
18268
- if (input.substr(peg$currPos, 8) === peg$c1504) {
18269
- s2 = peg$c1504;
18384
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
18385
+ s2 = peg$c1507;
18270
18386
  peg$currPos += 8;
18271
18387
  }
18272
18388
  else {
18273
18389
  s2 = peg$FAILED;
18274
18390
  if (peg$silentFails === 0) {
18275
- peg$fail(peg$c1505);
18391
+ peg$fail(peg$c1508);
18276
18392
  }
18277
18393
  }
18278
18394
  if (s2 !== peg$FAILED) {
@@ -18325,7 +18441,7 @@ function peg$parse(input, options) {
18325
18441
  }
18326
18442
  if (s11 !== peg$FAILED) {
18327
18443
  peg$savedPos = s0;
18328
- s1 = peg$c1506(s6, s8);
18444
+ s1 = peg$c1509(s6, s8);
18329
18445
  s0 = s1;
18330
18446
  }
18331
18447
  else {
@@ -18389,14 +18505,14 @@ function peg$parse(input, options) {
18389
18505
  s1 = null;
18390
18506
  }
18391
18507
  if (s1 !== peg$FAILED) {
18392
- if (input.substr(peg$currPos, 8) === peg$c1504) {
18393
- s2 = peg$c1504;
18508
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
18509
+ s2 = peg$c1507;
18394
18510
  peg$currPos += 8;
18395
18511
  }
18396
18512
  else {
18397
18513
  s2 = peg$FAILED;
18398
18514
  if (peg$silentFails === 0) {
18399
- peg$fail(peg$c1505);
18515
+ peg$fail(peg$c1508);
18400
18516
  }
18401
18517
  }
18402
18518
  if (s2 !== peg$FAILED) {
@@ -18429,14 +18545,14 @@ function peg$parse(input, options) {
18429
18545
  if (s8 !== peg$FAILED) {
18430
18546
  s9 = peg$parseWS();
18431
18547
  if (s9 !== peg$FAILED) {
18432
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18433
- s10 = peg$c1507;
18548
+ if (input.substr(peg$currPos, 8) === peg$c1510) {
18549
+ s10 = peg$c1510;
18434
18550
  peg$currPos += 8;
18435
18551
  }
18436
18552
  else {
18437
18553
  s10 = peg$FAILED;
18438
18554
  if (peg$silentFails === 0) {
18439
- peg$fail(peg$c1508);
18555
+ peg$fail(peg$c1511);
18440
18556
  }
18441
18557
  }
18442
18558
  if (s10 !== peg$FAILED) {
@@ -18462,7 +18578,7 @@ function peg$parse(input, options) {
18462
18578
  }
18463
18579
  if (s13 !== peg$FAILED) {
18464
18580
  peg$savedPos = s0;
18465
- s1 = peg$c1509(s6, s8);
18581
+ s1 = peg$c1512(s6, s8);
18466
18582
  s0 = s1;
18467
18583
  }
18468
18584
  else {
@@ -18534,7 +18650,7 @@ function peg$parse(input, options) {
18534
18650
  if (s0 === peg$FAILED) {
18535
18651
  s1 = peg$FAILED;
18536
18652
  if (peg$silentFails === 0) {
18537
- peg$fail(peg$c1503);
18653
+ peg$fail(peg$c1506);
18538
18654
  }
18539
18655
  }
18540
18656
  return s0;
@@ -18714,7 +18830,7 @@ function peg$parse(input, options) {
18714
18830
  }
18715
18831
  if (s11 !== peg$FAILED) {
18716
18832
  peg$savedPos = s0;
18717
- s1 = peg$c1510(s4, s8);
18833
+ s1 = peg$c1513(s4, s8);
18718
18834
  s0 = s1;
18719
18835
  }
18720
18836
  else {
@@ -18782,13 +18898,13 @@ function peg$parse(input, options) {
18782
18898
  }
18783
18899
  if (s1 !== peg$FAILED) {
18784
18900
  if (input.charCodeAt(peg$currPos) === 38) {
18785
- s2 = peg$c1511;
18901
+ s2 = peg$c1514;
18786
18902
  peg$currPos++;
18787
18903
  }
18788
18904
  else {
18789
18905
  s2 = peg$FAILED;
18790
18906
  if (peg$silentFails === 0) {
18791
- peg$fail(peg$c1512);
18907
+ peg$fail(peg$c1515);
18792
18908
  }
18793
18909
  }
18794
18910
  if (s2 !== peg$FAILED) {
@@ -18844,7 +18960,7 @@ function peg$parse(input, options) {
18844
18960
  }
18845
18961
  if (s11 !== peg$FAILED) {
18846
18962
  peg$savedPos = s0;
18847
- s1 = peg$c1513(s4, s8);
18963
+ s1 = peg$c1516(s4, s8);
18848
18964
  s0 = s1;
18849
18965
  }
18850
18966
  else {
@@ -18911,14 +19027,14 @@ function peg$parse(input, options) {
18911
19027
  s1 = null;
18912
19028
  }
18913
19029
  if (s1 !== peg$FAILED) {
18914
- if (input.substr(peg$currPos, 8) === peg$c1504) {
18915
- s2 = peg$c1504;
19030
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
19031
+ s2 = peg$c1507;
18916
19032
  peg$currPos += 8;
18917
19033
  }
18918
19034
  else {
18919
19035
  s2 = peg$FAILED;
18920
19036
  if (peg$silentFails === 0) {
18921
- peg$fail(peg$c1505);
19037
+ peg$fail(peg$c1508);
18922
19038
  }
18923
19039
  }
18924
19040
  if (s2 !== peg$FAILED) {
@@ -18945,14 +19061,14 @@ function peg$parse(input, options) {
18945
19061
  if (s8 !== peg$FAILED) {
18946
19062
  s9 = peg$parseWS();
18947
19063
  if (s9 !== peg$FAILED) {
18948
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18949
- s10 = peg$c1507;
19064
+ if (input.substr(peg$currPos, 8) === peg$c1510) {
19065
+ s10 = peg$c1510;
18950
19066
  peg$currPos += 8;
18951
19067
  }
18952
19068
  else {
18953
19069
  s10 = peg$FAILED;
18954
19070
  if (peg$silentFails === 0) {
18955
- peg$fail(peg$c1508);
19071
+ peg$fail(peg$c1511);
18956
19072
  }
18957
19073
  }
18958
19074
  if (s10 !== peg$FAILED) {
@@ -18978,7 +19094,7 @@ function peg$parse(input, options) {
18978
19094
  }
18979
19095
  if (s13 !== peg$FAILED) {
18980
19096
  peg$savedPos = s0;
18981
- s1 = peg$c1514(s4, s8);
19097
+ s1 = peg$c1517(s4, s8);
18982
19098
  s0 = s1;
18983
19099
  }
18984
19100
  else {
@@ -19052,14 +19168,14 @@ function peg$parse(input, options) {
19052
19168
  s1 = null;
19053
19169
  }
19054
19170
  if (s1 !== peg$FAILED) {
19055
- if (input.substr(peg$currPos, 8) === peg$c1504) {
19056
- s2 = peg$c1504;
19171
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
19172
+ s2 = peg$c1507;
19057
19173
  peg$currPos += 8;
19058
19174
  }
19059
19175
  else {
19060
19176
  s2 = peg$FAILED;
19061
19177
  if (peg$silentFails === 0) {
19062
- peg$fail(peg$c1505);
19178
+ peg$fail(peg$c1508);
19063
19179
  }
19064
19180
  }
19065
19181
  if (s2 !== peg$FAILED) {
@@ -19069,14 +19185,14 @@ function peg$parse(input, options) {
19069
19185
  if (s4 !== peg$FAILED) {
19070
19186
  s5 = peg$parseWS();
19071
19187
  if (s5 !== peg$FAILED) {
19072
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19073
- s6 = peg$c1507;
19188
+ if (input.substr(peg$currPos, 8) === peg$c1510) {
19189
+ s6 = peg$c1510;
19074
19190
  peg$currPos += 8;
19075
19191
  }
19076
19192
  else {
19077
19193
  s6 = peg$FAILED;
19078
19194
  if (peg$silentFails === 0) {
19079
- peg$fail(peg$c1508);
19195
+ peg$fail(peg$c1511);
19080
19196
  }
19081
19197
  }
19082
19198
  if (s6 !== peg$FAILED) {
@@ -19102,7 +19218,7 @@ function peg$parse(input, options) {
19102
19218
  }
19103
19219
  if (s9 !== peg$FAILED) {
19104
19220
  peg$savedPos = s0;
19105
- s1 = peg$c1515(s4);
19221
+ s1 = peg$c1518(s4);
19106
19222
  s0 = s1;
19107
19223
  }
19108
19224
  else {
@@ -19156,14 +19272,14 @@ function peg$parse(input, options) {
19156
19272
  s1 = null;
19157
19273
  }
19158
19274
  if (s1 !== peg$FAILED) {
19159
- if (input.substr(peg$currPos, 8) === peg$c1504) {
19160
- s2 = peg$c1504;
19275
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
19276
+ s2 = peg$c1507;
19161
19277
  peg$currPos += 8;
19162
19278
  }
19163
19279
  else {
19164
19280
  s2 = peg$FAILED;
19165
19281
  if (peg$silentFails === 0) {
19166
- peg$fail(peg$c1505);
19282
+ peg$fail(peg$c1508);
19167
19283
  }
19168
19284
  }
19169
19285
  if (s2 !== peg$FAILED) {
@@ -19210,7 +19326,7 @@ function peg$parse(input, options) {
19210
19326
  }
19211
19327
  if (s11 !== peg$FAILED) {
19212
19328
  peg$savedPos = s0;
19213
- s1 = peg$c1516(s4, s8);
19329
+ s1 = peg$c1519(s4, s8);
19214
19330
  s0 = s1;
19215
19331
  }
19216
19332
  else {
@@ -19274,14 +19390,14 @@ function peg$parse(input, options) {
19274
19390
  s1 = null;
19275
19391
  }
19276
19392
  if (s1 !== peg$FAILED) {
19277
- if (input.substr(peg$currPos, 8) === peg$c1504) {
19278
- s2 = peg$c1504;
19393
+ if (input.substr(peg$currPos, 8) === peg$c1507) {
19394
+ s2 = peg$c1507;
19279
19395
  peg$currPos += 8;
19280
19396
  }
19281
19397
  else {
19282
19398
  s2 = peg$FAILED;
19283
19399
  if (peg$silentFails === 0) {
19284
- peg$fail(peg$c1505);
19400
+ peg$fail(peg$c1508);
19285
19401
  }
19286
19402
  }
19287
19403
  if (s2 !== peg$FAILED) {
@@ -19311,7 +19427,7 @@ function peg$parse(input, options) {
19311
19427
  }
19312
19428
  if (s7 !== peg$FAILED) {
19313
19429
  peg$savedPos = s0;
19314
- s1 = peg$c1517(s4);
19430
+ s1 = peg$c1520(s4);
19315
19431
  s0 = s1;
19316
19432
  }
19317
19433
  else {
@@ -19356,14 +19472,14 @@ function peg$parse(input, options) {
19356
19472
  function peg$parseRegularArrangeDeclaration() {
19357
19473
  var s0, s1, s2, s3, s4, s5, s6;
19358
19474
  s0 = peg$currPos;
19359
- if (input.substr(peg$currPos, 7) === peg$c1518) {
19360
- s1 = peg$c1518;
19475
+ if (input.substr(peg$currPos, 7) === peg$c1521) {
19476
+ s1 = peg$c1521;
19361
19477
  peg$currPos += 7;
19362
19478
  }
19363
19479
  else {
19364
19480
  s1 = peg$FAILED;
19365
19481
  if (peg$silentFails === 0) {
19366
- peg$fail(peg$c1519);
19482
+ peg$fail(peg$c1522);
19367
19483
  }
19368
19484
  }
19369
19485
  if (s1 !== peg$FAILED) {
@@ -19396,7 +19512,7 @@ function peg$parse(input, options) {
19396
19512
  }
19397
19513
  if (s6 !== peg$FAILED) {
19398
19514
  peg$savedPos = s0;
19399
- s1 = peg$c1520(s3);
19515
+ s1 = peg$c1523(s3);
19400
19516
  s0 = s1;
19401
19517
  }
19402
19518
  else {
@@ -19433,14 +19549,14 @@ function peg$parse(input, options) {
19433
19549
  function peg$parseArrangeStartDeclaration() {
19434
19550
  var s0, s1, s2, s3, s4, s5, s6;
19435
19551
  s0 = peg$currPos;
19436
- if (input.substr(peg$currPos, 13) === peg$c1521) {
19437
- s1 = peg$c1521;
19552
+ if (input.substr(peg$currPos, 13) === peg$c1524) {
19553
+ s1 = peg$c1524;
19438
19554
  peg$currPos += 13;
19439
19555
  }
19440
19556
  else {
19441
19557
  s1 = peg$FAILED;
19442
19558
  if (peg$silentFails === 0) {
19443
- peg$fail(peg$c1522);
19559
+ peg$fail(peg$c1525);
19444
19560
  }
19445
19561
  }
19446
19562
  if (s1 !== peg$FAILED) {
@@ -19473,7 +19589,7 @@ function peg$parse(input, options) {
19473
19589
  }
19474
19590
  if (s6 !== peg$FAILED) {
19475
19591
  peg$savedPos = s0;
19476
- s1 = peg$c1523(s3);
19592
+ s1 = peg$c1526(s3);
19477
19593
  s0 = s1;
19478
19594
  }
19479
19595
  else {
@@ -19510,14 +19626,14 @@ function peg$parse(input, options) {
19510
19626
  function peg$parseArrangeEndDeclaration() {
19511
19627
  var s0, s1, s2, s3, s4, s5, s6;
19512
19628
  s0 = peg$currPos;
19513
- if (input.substr(peg$currPos, 11) === peg$c1524) {
19514
- s1 = peg$c1524;
19629
+ if (input.substr(peg$currPos, 11) === peg$c1527) {
19630
+ s1 = peg$c1527;
19515
19631
  peg$currPos += 11;
19516
19632
  }
19517
19633
  else {
19518
19634
  s1 = peg$FAILED;
19519
19635
  if (peg$silentFails === 0) {
19520
- peg$fail(peg$c1525);
19636
+ peg$fail(peg$c1528);
19521
19637
  }
19522
19638
  }
19523
19639
  if (s1 !== peg$FAILED) {
@@ -19550,7 +19666,7 @@ function peg$parse(input, options) {
19550
19666
  }
19551
19667
  if (s6 !== peg$FAILED) {
19552
19668
  peg$savedPos = s0;
19553
- s1 = peg$c1526(s3);
19669
+ s1 = peg$c1529(s3);
19554
19670
  s0 = s1;
19555
19671
  }
19556
19672
  else {
@@ -19597,7 +19713,7 @@ function peg$parse(input, options) {
19597
19713
  peg$silentFails--;
19598
19714
  if (s0 === peg$FAILED) {
19599
19715
  if (peg$silentFails === 0) {
19600
- peg$fail(peg$c1527);
19716
+ peg$fail(peg$c1530);
19601
19717
  }
19602
19718
  }
19603
19719
  return s0;
@@ -20915,7 +21031,7 @@ function compile_rule_handler(rule) {
20915
21031
  }
20916
21032
  // things that can only exist once and are just a value under their own name
20917
21033
  const tautologies = [
20918
- 'graph_layout', 'start_states', 'end_states', 'machine_name', 'machine_version',
21034
+ 'graph_layout', 'start_states', 'end_states', 'failed_outputs', 'machine_name', 'machine_version',
20919
21035
  'machine_comment', 'machine_author', 'machine_contributor', 'machine_definition',
20920
21036
  'machine_reference', 'machine_license', 'fsl_version', 'state_config', 'theme',
20921
21037
  'flow', 'dot_preamble', 'allows_override', 'default_state_config',
@@ -20985,6 +21101,7 @@ function compile(tree) {
20985
21101
  transition: [],
20986
21102
  start_states: [],
20987
21103
  end_states: [],
21104
+ failed_outputs: [],
20988
21105
  state_config: [],
20989
21106
  state_declaration: [],
20990
21107
  fsl_version: [],
@@ -21026,6 +21143,7 @@ function compile(tree) {
21026
21143
  const result_cfg = {
21027
21144
  start_states: results.start_states.length ? results.start_states : [assembled_transitions[0].from],
21028
21145
  end_states: results.end_states,
21146
+ failed_outputs: results.failed_outputs,
21029
21147
  transitions: assembled_transitions,
21030
21148
  state_property: [],
21031
21149
  };
@@ -21547,7 +21665,7 @@ var constants = /*#__PURE__*/Object.freeze({
21547
21665
  * Useful for runtime diagnostics and for embedding in serialized machine
21548
21666
  * snapshots so that deserializers can detect version-skew.
21549
21667
  */
21550
- const version = "5.142.1";
21668
+ const version = "5.142.2";
21551
21669
 
21552
21670
  // whargarbl lots of these return arrays could/should be sets
21553
21671
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -21739,7 +21857,7 @@ function state_style_condense(jssk, machine) {
21739
21857
  */
21740
21858
  class Machine {
21741
21859
  // whargarbl this badly needs to be broken up, monolith master
21742
- constructor({ start_states, end_states = [], initial_state, start_states_no_enforce, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, npm_name, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, rng_seed, time_source, timeout_source, clear_timeout_source }) {
21860
+ constructor({ start_states, end_states = [], failed_outputs = [], initial_state, start_states_no_enforce, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, npm_name, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, rng_seed, time_source, timeout_source, clear_timeout_source }) {
21743
21861
  this._time_source = () => new Date().getTime();
21744
21862
  this._create_started = this._time_source();
21745
21863
  this._instance_name = instance_name;
@@ -21754,6 +21872,7 @@ class Machine {
21754
21872
  this._reverse_action_targets = new Map(); // todo
21755
21873
  this._start_states = new Set(start_states);
21756
21874
  this._end_states = new Set(end_states); // todo consider what to do about incorporating complete too
21875
+ this._failed_outputs = new Set(failed_outputs);
21757
21876
  this._machine_author = array_box_if_string(machine_author);
21758
21877
  this._machine_comment = machine_comment;
21759
21878
  this._machine_contributor = array_box_if_string(machine_contributor);
@@ -22383,6 +22502,45 @@ class Machine {
22383
22502
  is_end_state(whichState) {
22384
22503
  return this._end_states.has(whichState);
22385
22504
  }
22505
+ /********
22506
+ *
22507
+ * Get the set of states declared as failure outputs for this machine.
22508
+ * Returns an array of state labels, or an empty array when none were
22509
+ * declared. A state in this list means the machine is in a failure
22510
+ * condition when it occupies that state.
22511
+ *
22512
+ * @see {@link is_failed_output} to test a single state
22513
+ * @see {@link is_failed} to test the current state
22514
+ *
22515
+ */
22516
+ failed_outputs() {
22517
+ return [...this._failed_outputs];
22518
+ }
22519
+ /********
22520
+ *
22521
+ * Check whether a given state is declared as a failure output.
22522
+ *
22523
+ * @param whichState The name of the state to check
22524
+ *
22525
+ * @see {@link failed_outputs} for the full failure-output set
22526
+ * @see {@link is_failed} to test the current state
22527
+ *
22528
+ */
22529
+ is_failed_output(whichState) {
22530
+ return this._failed_outputs.has(whichState);
22531
+ }
22532
+ /********
22533
+ *
22534
+ * Check whether the machine is currently in a failure state — that is,
22535
+ * whether its current state is one of the declared `failed_outputs`.
22536
+ *
22537
+ * @see {@link failed_outputs} for the full failure-output set
22538
+ * @see {@link is_failed_output} to test an arbitrary state
22539
+ *
22540
+ */
22541
+ is_failed() {
22542
+ return this._failed_outputs.has(this._state);
22543
+ }
22386
22544
  /********
22387
22545
  *
22388
22546
  * Check whether a given state is final (either has no exits or is marked