jssm 5.142.2 → 5.142.3

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 = "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) {
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 = "allow_islands", peg$c1384 = peg$literalExpectation("allow_islands", false), peg$c1385 = function (value) { return { key: "allow_islands", value: value }; }, peg$c1386 = function () { return true; }, peg$c1387 = function () { return false; }, peg$c1388 = "with_start", peg$c1389 = peg$literalExpectation("with_start", false), peg$c1390 = function () { return 'with_start'; }, peg$c1391 = function () { return true; }, peg$c1392 = function () { return false; }, peg$c1393 = peg$otherExpectation("configuration"), peg$c1394 = "MIT", peg$c1395 = peg$literalExpectation("MIT", false), peg$c1396 = "BSD 2-clause", peg$c1397 = peg$literalExpectation("BSD 2-clause", false), peg$c1398 = "BSD 3-clause", peg$c1399 = peg$literalExpectation("BSD 3-clause", false), peg$c1400 = "Apache 2.0", peg$c1401 = peg$literalExpectation("Apache 2.0", false), peg$c1402 = "Mozilla 2.0", peg$c1403 = peg$literalExpectation("Mozilla 2.0", false), peg$c1404 = "Public domain", peg$c1405 = peg$literalExpectation("Public domain", false), peg$c1406 = "GPL v2", peg$c1407 = peg$literalExpectation("GPL v2", false), peg$c1408 = "GPL v3", peg$c1409 = peg$literalExpectation("GPL v3", false), peg$c1410 = "LGPL v2.1", peg$c1411 = peg$literalExpectation("LGPL v2.1", false), peg$c1412 = "LGPL v3.0", peg$c1413 = peg$literalExpectation("LGPL v3.0", false), peg$c1414 = "Unknown", peg$c1415 = peg$literalExpectation("Unknown", false), peg$c1416 = peg$otherExpectation("direction"), peg$c1417 = "up", peg$c1418 = peg$literalExpectation("up", false), peg$c1419 = "right", peg$c1420 = peg$literalExpectation("right", false), peg$c1421 = "down", peg$c1422 = peg$literalExpectation("down", false), peg$c1423 = "left", peg$c1424 = peg$literalExpectation("left", false), peg$c1425 = peg$otherExpectation("hook definition (open/closed)"), peg$c1426 = "open", peg$c1427 = peg$literalExpectation("open", false), peg$c1428 = "closed", peg$c1429 = peg$literalExpectation("closed", false), peg$c1430 = "machine_author", peg$c1431 = peg$literalExpectation("machine_author", false), peg$c1432 = function (value) { return { key: "machine_author", value }; }, peg$c1433 = "machine_contributor", peg$c1434 = peg$literalExpectation("machine_contributor", false), peg$c1435 = function (value) { return { key: "machine_contributor", value }; }, peg$c1436 = "machine_comment", peg$c1437 = peg$literalExpectation("machine_comment", false), peg$c1438 = function (value) { return { key: "machine_comment", value }; }, peg$c1439 = "machine_definition", peg$c1440 = peg$literalExpectation("machine_definition", false), peg$c1441 = function (value) { return { key: "machine_definition", value }; }, peg$c1442 = "machine_name", peg$c1443 = peg$literalExpectation("machine_name", false), peg$c1444 = function (value) { return { key: "machine_name", value }; }, peg$c1445 = "npm_name", peg$c1446 = peg$literalExpectation("npm_name", false), peg$c1447 = function (value) { return { key: "npm_name", value }; }, peg$c1448 = "machine_reference", peg$c1449 = peg$literalExpectation("machine_reference", false), peg$c1450 = function (value) { return { key: "machine_reference", value }; }, peg$c1451 = "machine_version", peg$c1452 = peg$literalExpectation("machine_version", false), peg$c1453 = function (value) { return { key: "machine_version", value }; }, peg$c1454 = "machine_license", peg$c1455 = peg$literalExpectation("machine_license", false), peg$c1456 = function (value) { return { key: "machine_license", value }; }, peg$c1457 = "machine_language", peg$c1458 = peg$literalExpectation("machine_language", false), peg$c1459 = function (value) { return { key: "machine_language", value }; }, peg$c1460 = "fsl_version", peg$c1461 = peg$literalExpectation("fsl_version", false), peg$c1462 = function (value) { return { key: "fsl_version", value }; }, peg$c1463 = "theme", peg$c1464 = peg$literalExpectation("theme", false), peg$c1465 = function (value) { return { key: "theme", value }; }, peg$c1466 = "flow", peg$c1467 = peg$literalExpectation("flow", false), peg$c1468 = function (value) { return { key: "flow", value }; }, peg$c1469 = "hooks", peg$c1470 = peg$literalExpectation("hooks", false), peg$c1471 = function (value) { return { key: "hook_definition", value }; }, peg$c1472 = "dot_preamble", peg$c1473 = peg$literalExpectation("dot_preamble", false), peg$c1474 = function (value) { return { key: "dot_preamble", value }; }, peg$c1475 = peg$otherExpectation("machine attribute"), peg$c1476 = "label", peg$c1477 = peg$literalExpectation("label", false), peg$c1478 = function (value) { return { key: 'state-label', value }; }, peg$c1479 = "color", peg$c1480 = peg$literalExpectation("color", false), peg$c1481 = function (value) { return { key: 'color', value }; }, peg$c1482 = peg$otherExpectation("text color"), peg$c1483 = "text-color", peg$c1484 = peg$literalExpectation("text-color", false), peg$c1485 = function (value) { return { key: 'text-color', value }; }, peg$c1486 = peg$otherExpectation("background color"), peg$c1487 = "background-color", peg$c1488 = peg$literalExpectation("background-color", false), peg$c1489 = function (value) { return { key: 'background-color', value }; }, peg$c1490 = peg$otherExpectation("border color"), peg$c1491 = "border-color", peg$c1492 = peg$literalExpectation("border-color", false), peg$c1493 = function (value) { return { key: 'border-color', value }; }, peg$c1494 = peg$otherExpectation("shape"), peg$c1495 = "shape", peg$c1496 = peg$literalExpectation("shape", false), peg$c1497 = function (value) { return { key: 'shape', value }; }, peg$c1498 = peg$otherExpectation("corners"), peg$c1499 = "corners", peg$c1500 = peg$literalExpectation("corners", false), peg$c1501 = function (value) { return { key: 'corners', value }; }, peg$c1502 = peg$otherExpectation("linestyle"), peg$c1503 = function (value) { return { key: 'line-style', value }; }, peg$c1504 = "linestyle", peg$c1505 = peg$literalExpectation("linestyle", false), peg$c1506 = peg$otherExpectation("image"), peg$c1507 = "image", peg$c1508 = peg$literalExpectation("image", false), peg$c1509 = function (value) { return { key: 'image', value }; }, peg$c1510 = peg$otherExpectation("url"), peg$c1511 = "url", peg$c1512 = peg$literalExpectation("url", false), peg$c1513 = function (value) { return { key: 'url', value }; }, peg$c1514 = peg$otherExpectation("state property"), peg$c1515 = "property", peg$c1516 = peg$literalExpectation("property", false), peg$c1517 = function (name, value) {
432
432
  return { key: 'state_property', name, value };
433
- }, peg$c1510 = "required", peg$c1511 = peg$literalExpectation("required", false), peg$c1512 = function (name, value) {
433
+ }, peg$c1518 = "required", peg$c1519 = peg$literalExpectation("required", false), peg$c1520 = function (name, value) {
434
434
  return { key: 'state_property', name, value, required: true };
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;
435
+ }, peg$c1521 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1522 = "&", peg$c1523 = peg$literalExpectation("&", false), peg$c1524 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1525 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1526 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1527 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1528 = function (name) { return { key: 'property_definition', name }; }, peg$c1529 = "arrange", peg$c1530 = peg$literalExpectation("arrange", false), peg$c1531 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1532 = "arrange-start", peg$c1533 = peg$literalExpectation("arrange-start", false), peg$c1534 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1535 = "arrange-end", peg$c1536 = peg$literalExpectation("arrange-end", false), peg$c1537 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1538 = 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 + "\".");
@@ -14960,6 +14960,119 @@ function peg$parse(input, options) {
14960
14960
  }
14961
14961
  return s0;
14962
14962
  }
14963
+ function peg$parseConfigAllowIslands() {
14964
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14965
+ s0 = peg$currPos;
14966
+ s1 = peg$parseWS();
14967
+ if (s1 === peg$FAILED) {
14968
+ s1 = null;
14969
+ }
14970
+ if (s1 !== peg$FAILED) {
14971
+ if (input.substr(peg$currPos, 13) === peg$c1383) {
14972
+ s2 = peg$c1383;
14973
+ peg$currPos += 13;
14974
+ }
14975
+ else {
14976
+ s2 = peg$FAILED;
14977
+ if (peg$silentFails === 0) {
14978
+ peg$fail(peg$c1384);
14979
+ }
14980
+ }
14981
+ if (s2 !== peg$FAILED) {
14982
+ s3 = peg$parseWS();
14983
+ if (s3 === peg$FAILED) {
14984
+ s3 = null;
14985
+ }
14986
+ if (s3 !== peg$FAILED) {
14987
+ if (input.charCodeAt(peg$currPos) === 58) {
14988
+ s4 = peg$c1206;
14989
+ peg$currPos++;
14990
+ }
14991
+ else {
14992
+ s4 = peg$FAILED;
14993
+ if (peg$silentFails === 0) {
14994
+ peg$fail(peg$c1207);
14995
+ }
14996
+ }
14997
+ if (s4 !== peg$FAILED) {
14998
+ s5 = peg$parseWS();
14999
+ if (s5 === peg$FAILED) {
15000
+ s5 = null;
15001
+ }
15002
+ if (s5 !== peg$FAILED) {
15003
+ s6 = peg$parseIslandsT();
15004
+ if (s6 !== peg$FAILED) {
15005
+ s7 = peg$parseWS();
15006
+ if (s7 === peg$FAILED) {
15007
+ s7 = null;
15008
+ }
15009
+ if (s7 !== peg$FAILED) {
15010
+ if (input.charCodeAt(peg$currPos) === 59) {
15011
+ s8 = peg$c1208;
15012
+ peg$currPos++;
15013
+ }
15014
+ else {
15015
+ s8 = peg$FAILED;
15016
+ if (peg$silentFails === 0) {
15017
+ peg$fail(peg$c1209);
15018
+ }
15019
+ }
15020
+ if (s8 !== peg$FAILED) {
15021
+ s9 = peg$parseWS();
15022
+ if (s9 === peg$FAILED) {
15023
+ s9 = null;
15024
+ }
15025
+ if (s9 !== peg$FAILED) {
15026
+ peg$savedPos = s0;
15027
+ s1 = peg$c1385(s6);
15028
+ s0 = s1;
15029
+ }
15030
+ else {
15031
+ peg$currPos = s0;
15032
+ s0 = peg$FAILED;
15033
+ }
15034
+ }
15035
+ else {
15036
+ peg$currPos = s0;
15037
+ s0 = peg$FAILED;
15038
+ }
15039
+ }
15040
+ else {
15041
+ peg$currPos = s0;
15042
+ s0 = peg$FAILED;
15043
+ }
15044
+ }
15045
+ else {
15046
+ peg$currPos = s0;
15047
+ s0 = peg$FAILED;
15048
+ }
15049
+ }
15050
+ else {
15051
+ peg$currPos = s0;
15052
+ s0 = peg$FAILED;
15053
+ }
15054
+ }
15055
+ else {
15056
+ peg$currPos = s0;
15057
+ s0 = peg$FAILED;
15058
+ }
15059
+ }
15060
+ else {
15061
+ peg$currPos = s0;
15062
+ s0 = peg$FAILED;
15063
+ }
15064
+ }
15065
+ else {
15066
+ peg$currPos = s0;
15067
+ s0 = peg$FAILED;
15068
+ }
15069
+ }
15070
+ else {
15071
+ peg$currPos = s0;
15072
+ s0 = peg$FAILED;
15073
+ }
15074
+ return s0;
15075
+ }
14963
15076
  function peg$parseOverrideT() {
14964
15077
  var s0, s1;
14965
15078
  s0 = peg$currPos;
@@ -14975,7 +15088,7 @@ function peg$parse(input, options) {
14975
15088
  }
14976
15089
  if (s1 !== peg$FAILED) {
14977
15090
  peg$savedPos = s0;
14978
- s1 = peg$c1383();
15091
+ s1 = peg$c1386();
14979
15092
  }
14980
15093
  s0 = s1;
14981
15094
  if (s0 === peg$FAILED) {
@@ -14992,7 +15105,7 @@ function peg$parse(input, options) {
14992
15105
  }
14993
15106
  if (s1 !== peg$FAILED) {
14994
15107
  peg$savedPos = s0;
14995
- s1 = peg$c1384();
15108
+ s1 = peg$c1387();
14996
15109
  }
14997
15110
  s0 = s1;
14998
15111
  if (s0 === peg$FAILED) {
@@ -15016,6 +15129,62 @@ function peg$parse(input, options) {
15016
15129
  }
15017
15130
  return s0;
15018
15131
  }
15132
+ function peg$parseIslandsT() {
15133
+ var s0, s1;
15134
+ s0 = peg$currPos;
15135
+ if (input.substr(peg$currPos, 10) === peg$c1388) {
15136
+ s1 = peg$c1388;
15137
+ peg$currPos += 10;
15138
+ }
15139
+ else {
15140
+ s1 = peg$FAILED;
15141
+ if (peg$silentFails === 0) {
15142
+ peg$fail(peg$c1389);
15143
+ }
15144
+ }
15145
+ if (s1 !== peg$FAILED) {
15146
+ peg$savedPos = s0;
15147
+ s1 = peg$c1390();
15148
+ }
15149
+ s0 = s1;
15150
+ if (s0 === peg$FAILED) {
15151
+ s0 = peg$currPos;
15152
+ if (input.substr(peg$currPos, 4) === peg$c230) {
15153
+ s1 = peg$c230;
15154
+ peg$currPos += 4;
15155
+ }
15156
+ else {
15157
+ s1 = peg$FAILED;
15158
+ if (peg$silentFails === 0) {
15159
+ peg$fail(peg$c231);
15160
+ }
15161
+ }
15162
+ if (s1 !== peg$FAILED) {
15163
+ peg$savedPos = s0;
15164
+ s1 = peg$c1391();
15165
+ }
15166
+ s0 = s1;
15167
+ if (s0 === peg$FAILED) {
15168
+ s0 = peg$currPos;
15169
+ if (input.substr(peg$currPos, 5) === peg$c233) {
15170
+ s1 = peg$c233;
15171
+ peg$currPos += 5;
15172
+ }
15173
+ else {
15174
+ s1 = peg$FAILED;
15175
+ if (peg$silentFails === 0) {
15176
+ peg$fail(peg$c234);
15177
+ }
15178
+ }
15179
+ if (s1 !== peg$FAILED) {
15180
+ peg$savedPos = s0;
15181
+ s1 = peg$c1392();
15182
+ }
15183
+ s0 = s1;
15184
+ }
15185
+ }
15186
+ return s0;
15187
+ }
15019
15188
  function peg$parseConfig() {
15020
15189
  var s0;
15021
15190
  peg$silentFails++;
@@ -15038,6 +15207,9 @@ function peg$parse(input, options) {
15038
15207
  s0 = peg$parseConfigGraphBgColor();
15039
15208
  if (s0 === peg$FAILED) {
15040
15209
  s0 = peg$parseConfigAllowsOverride();
15210
+ if (s0 === peg$FAILED) {
15211
+ s0 = peg$parseConfigAllowIslands();
15212
+ }
15041
15213
  }
15042
15214
  }
15043
15215
  }
@@ -15050,131 +15222,131 @@ function peg$parse(input, options) {
15050
15222
  peg$silentFails--;
15051
15223
  if (s0 === peg$FAILED) {
15052
15224
  if (peg$silentFails === 0) {
15053
- peg$fail(peg$c1385);
15225
+ peg$fail(peg$c1393);
15054
15226
  }
15055
15227
  }
15056
15228
  return s0;
15057
15229
  }
15058
15230
  function peg$parseLicenseOrLabelOrList() {
15059
15231
  var s0;
15060
- if (input.substr(peg$currPos, 3) === peg$c1386) {
15061
- s0 = peg$c1386;
15232
+ if (input.substr(peg$currPos, 3) === peg$c1394) {
15233
+ s0 = peg$c1394;
15062
15234
  peg$currPos += 3;
15063
15235
  }
15064
15236
  else {
15065
15237
  s0 = peg$FAILED;
15066
15238
  if (peg$silentFails === 0) {
15067
- peg$fail(peg$c1387);
15239
+ peg$fail(peg$c1395);
15068
15240
  }
15069
15241
  }
15070
15242
  if (s0 === peg$FAILED) {
15071
- if (input.substr(peg$currPos, 12) === peg$c1388) {
15072
- s0 = peg$c1388;
15243
+ if (input.substr(peg$currPos, 12) === peg$c1396) {
15244
+ s0 = peg$c1396;
15073
15245
  peg$currPos += 12;
15074
15246
  }
15075
15247
  else {
15076
15248
  s0 = peg$FAILED;
15077
15249
  if (peg$silentFails === 0) {
15078
- peg$fail(peg$c1389);
15250
+ peg$fail(peg$c1397);
15079
15251
  }
15080
15252
  }
15081
15253
  if (s0 === peg$FAILED) {
15082
- if (input.substr(peg$currPos, 12) === peg$c1390) {
15083
- s0 = peg$c1390;
15254
+ if (input.substr(peg$currPos, 12) === peg$c1398) {
15255
+ s0 = peg$c1398;
15084
15256
  peg$currPos += 12;
15085
15257
  }
15086
15258
  else {
15087
15259
  s0 = peg$FAILED;
15088
15260
  if (peg$silentFails === 0) {
15089
- peg$fail(peg$c1391);
15261
+ peg$fail(peg$c1399);
15090
15262
  }
15091
15263
  }
15092
15264
  if (s0 === peg$FAILED) {
15093
- if (input.substr(peg$currPos, 10) === peg$c1392) {
15094
- s0 = peg$c1392;
15265
+ if (input.substr(peg$currPos, 10) === peg$c1400) {
15266
+ s0 = peg$c1400;
15095
15267
  peg$currPos += 10;
15096
15268
  }
15097
15269
  else {
15098
15270
  s0 = peg$FAILED;
15099
15271
  if (peg$silentFails === 0) {
15100
- peg$fail(peg$c1393);
15272
+ peg$fail(peg$c1401);
15101
15273
  }
15102
15274
  }
15103
15275
  if (s0 === peg$FAILED) {
15104
- if (input.substr(peg$currPos, 11) === peg$c1394) {
15105
- s0 = peg$c1394;
15276
+ if (input.substr(peg$currPos, 11) === peg$c1402) {
15277
+ s0 = peg$c1402;
15106
15278
  peg$currPos += 11;
15107
15279
  }
15108
15280
  else {
15109
15281
  s0 = peg$FAILED;
15110
15282
  if (peg$silentFails === 0) {
15111
- peg$fail(peg$c1395);
15283
+ peg$fail(peg$c1403);
15112
15284
  }
15113
15285
  }
15114
15286
  if (s0 === peg$FAILED) {
15115
- if (input.substr(peg$currPos, 13) === peg$c1396) {
15116
- s0 = peg$c1396;
15287
+ if (input.substr(peg$currPos, 13) === peg$c1404) {
15288
+ s0 = peg$c1404;
15117
15289
  peg$currPos += 13;
15118
15290
  }
15119
15291
  else {
15120
15292
  s0 = peg$FAILED;
15121
15293
  if (peg$silentFails === 0) {
15122
- peg$fail(peg$c1397);
15294
+ peg$fail(peg$c1405);
15123
15295
  }
15124
15296
  }
15125
15297
  if (s0 === peg$FAILED) {
15126
- if (input.substr(peg$currPos, 6) === peg$c1398) {
15127
- s0 = peg$c1398;
15298
+ if (input.substr(peg$currPos, 6) === peg$c1406) {
15299
+ s0 = peg$c1406;
15128
15300
  peg$currPos += 6;
15129
15301
  }
15130
15302
  else {
15131
15303
  s0 = peg$FAILED;
15132
15304
  if (peg$silentFails === 0) {
15133
- peg$fail(peg$c1399);
15305
+ peg$fail(peg$c1407);
15134
15306
  }
15135
15307
  }
15136
15308
  if (s0 === peg$FAILED) {
15137
- if (input.substr(peg$currPos, 6) === peg$c1400) {
15138
- s0 = peg$c1400;
15309
+ if (input.substr(peg$currPos, 6) === peg$c1408) {
15310
+ s0 = peg$c1408;
15139
15311
  peg$currPos += 6;
15140
15312
  }
15141
15313
  else {
15142
15314
  s0 = peg$FAILED;
15143
15315
  if (peg$silentFails === 0) {
15144
- peg$fail(peg$c1401);
15316
+ peg$fail(peg$c1409);
15145
15317
  }
15146
15318
  }
15147
15319
  if (s0 === peg$FAILED) {
15148
- if (input.substr(peg$currPos, 9) === peg$c1402) {
15149
- s0 = peg$c1402;
15320
+ if (input.substr(peg$currPos, 9) === peg$c1410) {
15321
+ s0 = peg$c1410;
15150
15322
  peg$currPos += 9;
15151
15323
  }
15152
15324
  else {
15153
15325
  s0 = peg$FAILED;
15154
15326
  if (peg$silentFails === 0) {
15155
- peg$fail(peg$c1403);
15327
+ peg$fail(peg$c1411);
15156
15328
  }
15157
15329
  }
15158
15330
  if (s0 === peg$FAILED) {
15159
- if (input.substr(peg$currPos, 9) === peg$c1404) {
15160
- s0 = peg$c1404;
15331
+ if (input.substr(peg$currPos, 9) === peg$c1412) {
15332
+ s0 = peg$c1412;
15161
15333
  peg$currPos += 9;
15162
15334
  }
15163
15335
  else {
15164
15336
  s0 = peg$FAILED;
15165
15337
  if (peg$silentFails === 0) {
15166
- peg$fail(peg$c1405);
15338
+ peg$fail(peg$c1413);
15167
15339
  }
15168
15340
  }
15169
15341
  if (s0 === peg$FAILED) {
15170
- if (input.substr(peg$currPos, 7) === peg$c1406) {
15171
- s0 = peg$c1406;
15342
+ if (input.substr(peg$currPos, 7) === peg$c1414) {
15343
+ s0 = peg$c1414;
15172
15344
  peg$currPos += 7;
15173
15345
  }
15174
15346
  else {
15175
15347
  s0 = peg$FAILED;
15176
15348
  if (peg$silentFails === 0) {
15177
- peg$fail(peg$c1407);
15349
+ peg$fail(peg$c1415);
15178
15350
  }
15179
15351
  }
15180
15352
  if (s0 === peg$FAILED) {
@@ -15198,47 +15370,47 @@ function peg$parse(input, options) {
15198
15370
  function peg$parseDirection() {
15199
15371
  var s0;
15200
15372
  peg$silentFails++;
15201
- if (input.substr(peg$currPos, 2) === peg$c1409) {
15202
- s0 = peg$c1409;
15373
+ if (input.substr(peg$currPos, 2) === peg$c1417) {
15374
+ s0 = peg$c1417;
15203
15375
  peg$currPos += 2;
15204
15376
  }
15205
15377
  else {
15206
15378
  s0 = peg$FAILED;
15207
15379
  if (peg$silentFails === 0) {
15208
- peg$fail(peg$c1410);
15380
+ peg$fail(peg$c1418);
15209
15381
  }
15210
15382
  }
15211
15383
  if (s0 === peg$FAILED) {
15212
- if (input.substr(peg$currPos, 5) === peg$c1411) {
15213
- s0 = peg$c1411;
15384
+ if (input.substr(peg$currPos, 5) === peg$c1419) {
15385
+ s0 = peg$c1419;
15214
15386
  peg$currPos += 5;
15215
15387
  }
15216
15388
  else {
15217
15389
  s0 = peg$FAILED;
15218
15390
  if (peg$silentFails === 0) {
15219
- peg$fail(peg$c1412);
15391
+ peg$fail(peg$c1420);
15220
15392
  }
15221
15393
  }
15222
15394
  if (s0 === peg$FAILED) {
15223
- if (input.substr(peg$currPos, 4) === peg$c1413) {
15224
- s0 = peg$c1413;
15395
+ if (input.substr(peg$currPos, 4) === peg$c1421) {
15396
+ s0 = peg$c1421;
15225
15397
  peg$currPos += 4;
15226
15398
  }
15227
15399
  else {
15228
15400
  s0 = peg$FAILED;
15229
15401
  if (peg$silentFails === 0) {
15230
- peg$fail(peg$c1414);
15402
+ peg$fail(peg$c1422);
15231
15403
  }
15232
15404
  }
15233
15405
  if (s0 === peg$FAILED) {
15234
- if (input.substr(peg$currPos, 4) === peg$c1415) {
15235
- s0 = peg$c1415;
15406
+ if (input.substr(peg$currPos, 4) === peg$c1423) {
15407
+ s0 = peg$c1423;
15236
15408
  peg$currPos += 4;
15237
15409
  }
15238
15410
  else {
15239
15411
  s0 = peg$FAILED;
15240
15412
  if (peg$silentFails === 0) {
15241
- peg$fail(peg$c1416);
15413
+ peg$fail(peg$c1424);
15242
15414
  }
15243
15415
  }
15244
15416
  }
@@ -15247,7 +15419,7 @@ function peg$parse(input, options) {
15247
15419
  peg$silentFails--;
15248
15420
  if (s0 === peg$FAILED) {
15249
15421
  if (peg$silentFails === 0) {
15250
- peg$fail(peg$c1408);
15422
+ peg$fail(peg$c1416);
15251
15423
  }
15252
15424
  }
15253
15425
  return s0;
@@ -15255,32 +15427,32 @@ function peg$parse(input, options) {
15255
15427
  function peg$parseHookDefinition() {
15256
15428
  var s0;
15257
15429
  peg$silentFails++;
15258
- if (input.substr(peg$currPos, 4) === peg$c1418) {
15259
- s0 = peg$c1418;
15430
+ if (input.substr(peg$currPos, 4) === peg$c1426) {
15431
+ s0 = peg$c1426;
15260
15432
  peg$currPos += 4;
15261
15433
  }
15262
15434
  else {
15263
15435
  s0 = peg$FAILED;
15264
15436
  if (peg$silentFails === 0) {
15265
- peg$fail(peg$c1419);
15437
+ peg$fail(peg$c1427);
15266
15438
  }
15267
15439
  }
15268
15440
  if (s0 === peg$FAILED) {
15269
- if (input.substr(peg$currPos, 6) === peg$c1420) {
15270
- s0 = peg$c1420;
15441
+ if (input.substr(peg$currPos, 6) === peg$c1428) {
15442
+ s0 = peg$c1428;
15271
15443
  peg$currPos += 6;
15272
15444
  }
15273
15445
  else {
15274
15446
  s0 = peg$FAILED;
15275
15447
  if (peg$silentFails === 0) {
15276
- peg$fail(peg$c1421);
15448
+ peg$fail(peg$c1429);
15277
15449
  }
15278
15450
  }
15279
15451
  }
15280
15452
  peg$silentFails--;
15281
15453
  if (s0 === peg$FAILED) {
15282
15454
  if (peg$silentFails === 0) {
15283
- peg$fail(peg$c1417);
15455
+ peg$fail(peg$c1425);
15284
15456
  }
15285
15457
  }
15286
15458
  return s0;
@@ -15293,14 +15465,14 @@ function peg$parse(input, options) {
15293
15465
  s1 = null;
15294
15466
  }
15295
15467
  if (s1 !== peg$FAILED) {
15296
- if (input.substr(peg$currPos, 14) === peg$c1422) {
15297
- s2 = peg$c1422;
15468
+ if (input.substr(peg$currPos, 14) === peg$c1430) {
15469
+ s2 = peg$c1430;
15298
15470
  peg$currPos += 14;
15299
15471
  }
15300
15472
  else {
15301
15473
  s2 = peg$FAILED;
15302
15474
  if (peg$silentFails === 0) {
15303
- peg$fail(peg$c1423);
15475
+ peg$fail(peg$c1431);
15304
15476
  }
15305
15477
  }
15306
15478
  if (s2 !== peg$FAILED) {
@@ -15349,7 +15521,7 @@ function peg$parse(input, options) {
15349
15521
  }
15350
15522
  if (s9 !== peg$FAILED) {
15351
15523
  peg$savedPos = s0;
15352
- s1 = peg$c1424(s6);
15524
+ s1 = peg$c1432(s6);
15353
15525
  s0 = s1;
15354
15526
  }
15355
15527
  else {
@@ -15406,14 +15578,14 @@ function peg$parse(input, options) {
15406
15578
  s1 = null;
15407
15579
  }
15408
15580
  if (s1 !== peg$FAILED) {
15409
- if (input.substr(peg$currPos, 19) === peg$c1425) {
15410
- s2 = peg$c1425;
15581
+ if (input.substr(peg$currPos, 19) === peg$c1433) {
15582
+ s2 = peg$c1433;
15411
15583
  peg$currPos += 19;
15412
15584
  }
15413
15585
  else {
15414
15586
  s2 = peg$FAILED;
15415
15587
  if (peg$silentFails === 0) {
15416
- peg$fail(peg$c1426);
15588
+ peg$fail(peg$c1434);
15417
15589
  }
15418
15590
  }
15419
15591
  if (s2 !== peg$FAILED) {
@@ -15462,7 +15634,7 @@ function peg$parse(input, options) {
15462
15634
  }
15463
15635
  if (s9 !== peg$FAILED) {
15464
15636
  peg$savedPos = s0;
15465
- s1 = peg$c1427(s6);
15637
+ s1 = peg$c1435(s6);
15466
15638
  s0 = s1;
15467
15639
  }
15468
15640
  else {
@@ -15519,14 +15691,14 @@ function peg$parse(input, options) {
15519
15691
  s1 = null;
15520
15692
  }
15521
15693
  if (s1 !== peg$FAILED) {
15522
- if (input.substr(peg$currPos, 15) === peg$c1428) {
15523
- s2 = peg$c1428;
15694
+ if (input.substr(peg$currPos, 15) === peg$c1436) {
15695
+ s2 = peg$c1436;
15524
15696
  peg$currPos += 15;
15525
15697
  }
15526
15698
  else {
15527
15699
  s2 = peg$FAILED;
15528
15700
  if (peg$silentFails === 0) {
15529
- peg$fail(peg$c1429);
15701
+ peg$fail(peg$c1437);
15530
15702
  }
15531
15703
  }
15532
15704
  if (s2 !== peg$FAILED) {
@@ -15575,7 +15747,7 @@ function peg$parse(input, options) {
15575
15747
  }
15576
15748
  if (s9 !== peg$FAILED) {
15577
15749
  peg$savedPos = s0;
15578
- s1 = peg$c1430(s6);
15750
+ s1 = peg$c1438(s6);
15579
15751
  s0 = s1;
15580
15752
  }
15581
15753
  else {
@@ -15632,14 +15804,14 @@ function peg$parse(input, options) {
15632
15804
  s1 = null;
15633
15805
  }
15634
15806
  if (s1 !== peg$FAILED) {
15635
- if (input.substr(peg$currPos, 18) === peg$c1431) {
15636
- s2 = peg$c1431;
15807
+ if (input.substr(peg$currPos, 18) === peg$c1439) {
15808
+ s2 = peg$c1439;
15637
15809
  peg$currPos += 18;
15638
15810
  }
15639
15811
  else {
15640
15812
  s2 = peg$FAILED;
15641
15813
  if (peg$silentFails === 0) {
15642
- peg$fail(peg$c1432);
15814
+ peg$fail(peg$c1440);
15643
15815
  }
15644
15816
  }
15645
15817
  if (s2 !== peg$FAILED) {
@@ -15688,7 +15860,7 @@ function peg$parse(input, options) {
15688
15860
  }
15689
15861
  if (s9 !== peg$FAILED) {
15690
15862
  peg$savedPos = s0;
15691
- s1 = peg$c1433(s6);
15863
+ s1 = peg$c1441(s6);
15692
15864
  s0 = s1;
15693
15865
  }
15694
15866
  else {
@@ -15745,14 +15917,14 @@ function peg$parse(input, options) {
15745
15917
  s1 = null;
15746
15918
  }
15747
15919
  if (s1 !== peg$FAILED) {
15748
- if (input.substr(peg$currPos, 12) === peg$c1434) {
15749
- s2 = peg$c1434;
15920
+ if (input.substr(peg$currPos, 12) === peg$c1442) {
15921
+ s2 = peg$c1442;
15750
15922
  peg$currPos += 12;
15751
15923
  }
15752
15924
  else {
15753
15925
  s2 = peg$FAILED;
15754
15926
  if (peg$silentFails === 0) {
15755
- peg$fail(peg$c1435);
15927
+ peg$fail(peg$c1443);
15756
15928
  }
15757
15929
  }
15758
15930
  if (s2 !== peg$FAILED) {
@@ -15801,7 +15973,7 @@ function peg$parse(input, options) {
15801
15973
  }
15802
15974
  if (s9 !== peg$FAILED) {
15803
15975
  peg$savedPos = s0;
15804
- s1 = peg$c1436(s6);
15976
+ s1 = peg$c1444(s6);
15805
15977
  s0 = s1;
15806
15978
  }
15807
15979
  else {
@@ -15858,14 +16030,14 @@ function peg$parse(input, options) {
15858
16030
  s1 = null;
15859
16031
  }
15860
16032
  if (s1 !== peg$FAILED) {
15861
- if (input.substr(peg$currPos, 8) === peg$c1437) {
15862
- s2 = peg$c1437;
16033
+ if (input.substr(peg$currPos, 8) === peg$c1445) {
16034
+ s2 = peg$c1445;
15863
16035
  peg$currPos += 8;
15864
16036
  }
15865
16037
  else {
15866
16038
  s2 = peg$FAILED;
15867
16039
  if (peg$silentFails === 0) {
15868
- peg$fail(peg$c1438);
16040
+ peg$fail(peg$c1446);
15869
16041
  }
15870
16042
  }
15871
16043
  if (s2 !== peg$FAILED) {
@@ -15914,7 +16086,7 @@ function peg$parse(input, options) {
15914
16086
  }
15915
16087
  if (s9 !== peg$FAILED) {
15916
16088
  peg$savedPos = s0;
15917
- s1 = peg$c1439(s6);
16089
+ s1 = peg$c1447(s6);
15918
16090
  s0 = s1;
15919
16091
  }
15920
16092
  else {
@@ -15971,14 +16143,14 @@ function peg$parse(input, options) {
15971
16143
  s1 = null;
15972
16144
  }
15973
16145
  if (s1 !== peg$FAILED) {
15974
- if (input.substr(peg$currPos, 17) === peg$c1440) {
15975
- s2 = peg$c1440;
16146
+ if (input.substr(peg$currPos, 17) === peg$c1448) {
16147
+ s2 = peg$c1448;
15976
16148
  peg$currPos += 17;
15977
16149
  }
15978
16150
  else {
15979
16151
  s2 = peg$FAILED;
15980
16152
  if (peg$silentFails === 0) {
15981
- peg$fail(peg$c1441);
16153
+ peg$fail(peg$c1449);
15982
16154
  }
15983
16155
  }
15984
16156
  if (s2 !== peg$FAILED) {
@@ -16027,7 +16199,7 @@ function peg$parse(input, options) {
16027
16199
  }
16028
16200
  if (s9 !== peg$FAILED) {
16029
16201
  peg$savedPos = s0;
16030
- s1 = peg$c1442(s6);
16202
+ s1 = peg$c1450(s6);
16031
16203
  s0 = s1;
16032
16204
  }
16033
16205
  else {
@@ -16084,14 +16256,14 @@ function peg$parse(input, options) {
16084
16256
  s1 = null;
16085
16257
  }
16086
16258
  if (s1 !== peg$FAILED) {
16087
- if (input.substr(peg$currPos, 15) === peg$c1443) {
16088
- s2 = peg$c1443;
16259
+ if (input.substr(peg$currPos, 15) === peg$c1451) {
16260
+ s2 = peg$c1451;
16089
16261
  peg$currPos += 15;
16090
16262
  }
16091
16263
  else {
16092
16264
  s2 = peg$FAILED;
16093
16265
  if (peg$silentFails === 0) {
16094
- peg$fail(peg$c1444);
16266
+ peg$fail(peg$c1452);
16095
16267
  }
16096
16268
  }
16097
16269
  if (s2 !== peg$FAILED) {
@@ -16140,7 +16312,7 @@ function peg$parse(input, options) {
16140
16312
  }
16141
16313
  if (s9 !== peg$FAILED) {
16142
16314
  peg$savedPos = s0;
16143
- s1 = peg$c1445(s6);
16315
+ s1 = peg$c1453(s6);
16144
16316
  s0 = s1;
16145
16317
  }
16146
16318
  else {
@@ -16197,14 +16369,14 @@ function peg$parse(input, options) {
16197
16369
  s1 = null;
16198
16370
  }
16199
16371
  if (s1 !== peg$FAILED) {
16200
- if (input.substr(peg$currPos, 15) === peg$c1446) {
16201
- s2 = peg$c1446;
16372
+ if (input.substr(peg$currPos, 15) === peg$c1454) {
16373
+ s2 = peg$c1454;
16202
16374
  peg$currPos += 15;
16203
16375
  }
16204
16376
  else {
16205
16377
  s2 = peg$FAILED;
16206
16378
  if (peg$silentFails === 0) {
16207
- peg$fail(peg$c1447);
16379
+ peg$fail(peg$c1455);
16208
16380
  }
16209
16381
  }
16210
16382
  if (s2 !== peg$FAILED) {
@@ -16253,7 +16425,7 @@ function peg$parse(input, options) {
16253
16425
  }
16254
16426
  if (s9 !== peg$FAILED) {
16255
16427
  peg$savedPos = s0;
16256
- s1 = peg$c1448(s6);
16428
+ s1 = peg$c1456(s6);
16257
16429
  s0 = s1;
16258
16430
  }
16259
16431
  else {
@@ -16310,14 +16482,14 @@ function peg$parse(input, options) {
16310
16482
  s1 = null;
16311
16483
  }
16312
16484
  if (s1 !== peg$FAILED) {
16313
- if (input.substr(peg$currPos, 16) === peg$c1449) {
16314
- s2 = peg$c1449;
16485
+ if (input.substr(peg$currPos, 16) === peg$c1457) {
16486
+ s2 = peg$c1457;
16315
16487
  peg$currPos += 16;
16316
16488
  }
16317
16489
  else {
16318
16490
  s2 = peg$FAILED;
16319
16491
  if (peg$silentFails === 0) {
16320
- peg$fail(peg$c1450);
16492
+ peg$fail(peg$c1458);
16321
16493
  }
16322
16494
  }
16323
16495
  if (s2 !== peg$FAILED) {
@@ -16366,7 +16538,7 @@ function peg$parse(input, options) {
16366
16538
  }
16367
16539
  if (s9 !== peg$FAILED) {
16368
16540
  peg$savedPos = s0;
16369
- s1 = peg$c1451(s6);
16541
+ s1 = peg$c1459(s6);
16370
16542
  s0 = s1;
16371
16543
  }
16372
16544
  else {
@@ -16423,14 +16595,14 @@ function peg$parse(input, options) {
16423
16595
  s1 = null;
16424
16596
  }
16425
16597
  if (s1 !== peg$FAILED) {
16426
- if (input.substr(peg$currPos, 11) === peg$c1452) {
16427
- s2 = peg$c1452;
16598
+ if (input.substr(peg$currPos, 11) === peg$c1460) {
16599
+ s2 = peg$c1460;
16428
16600
  peg$currPos += 11;
16429
16601
  }
16430
16602
  else {
16431
16603
  s2 = peg$FAILED;
16432
16604
  if (peg$silentFails === 0) {
16433
- peg$fail(peg$c1453);
16605
+ peg$fail(peg$c1461);
16434
16606
  }
16435
16607
  }
16436
16608
  if (s2 !== peg$FAILED) {
@@ -16479,7 +16651,7 @@ function peg$parse(input, options) {
16479
16651
  }
16480
16652
  if (s9 !== peg$FAILED) {
16481
16653
  peg$savedPos = s0;
16482
- s1 = peg$c1454(s6);
16654
+ s1 = peg$c1462(s6);
16483
16655
  s0 = s1;
16484
16656
  }
16485
16657
  else {
@@ -16536,14 +16708,14 @@ function peg$parse(input, options) {
16536
16708
  s1 = null;
16537
16709
  }
16538
16710
  if (s1 !== peg$FAILED) {
16539
- if (input.substr(peg$currPos, 5) === peg$c1455) {
16540
- s2 = peg$c1455;
16711
+ if (input.substr(peg$currPos, 5) === peg$c1463) {
16712
+ s2 = peg$c1463;
16541
16713
  peg$currPos += 5;
16542
16714
  }
16543
16715
  else {
16544
16716
  s2 = peg$FAILED;
16545
16717
  if (peg$silentFails === 0) {
16546
- peg$fail(peg$c1456);
16718
+ peg$fail(peg$c1464);
16547
16719
  }
16548
16720
  }
16549
16721
  if (s2 !== peg$FAILED) {
@@ -16592,7 +16764,7 @@ function peg$parse(input, options) {
16592
16764
  }
16593
16765
  if (s9 !== peg$FAILED) {
16594
16766
  peg$savedPos = s0;
16595
- s1 = peg$c1457(s6);
16767
+ s1 = peg$c1465(s6);
16596
16768
  s0 = s1;
16597
16769
  }
16598
16770
  else {
@@ -16649,14 +16821,14 @@ function peg$parse(input, options) {
16649
16821
  s1 = null;
16650
16822
  }
16651
16823
  if (s1 !== peg$FAILED) {
16652
- if (input.substr(peg$currPos, 4) === peg$c1458) {
16653
- s2 = peg$c1458;
16824
+ if (input.substr(peg$currPos, 4) === peg$c1466) {
16825
+ s2 = peg$c1466;
16654
16826
  peg$currPos += 4;
16655
16827
  }
16656
16828
  else {
16657
16829
  s2 = peg$FAILED;
16658
16830
  if (peg$silentFails === 0) {
16659
- peg$fail(peg$c1459);
16831
+ peg$fail(peg$c1467);
16660
16832
  }
16661
16833
  }
16662
16834
  if (s2 !== peg$FAILED) {
@@ -16705,7 +16877,7 @@ function peg$parse(input, options) {
16705
16877
  }
16706
16878
  if (s9 !== peg$FAILED) {
16707
16879
  peg$savedPos = s0;
16708
- s1 = peg$c1460(s6);
16880
+ s1 = peg$c1468(s6);
16709
16881
  s0 = s1;
16710
16882
  }
16711
16883
  else {
@@ -16762,14 +16934,14 @@ function peg$parse(input, options) {
16762
16934
  s1 = null;
16763
16935
  }
16764
16936
  if (s1 !== peg$FAILED) {
16765
- if (input.substr(peg$currPos, 5) === peg$c1461) {
16766
- s2 = peg$c1461;
16937
+ if (input.substr(peg$currPos, 5) === peg$c1469) {
16938
+ s2 = peg$c1469;
16767
16939
  peg$currPos += 5;
16768
16940
  }
16769
16941
  else {
16770
16942
  s2 = peg$FAILED;
16771
16943
  if (peg$silentFails === 0) {
16772
- peg$fail(peg$c1462);
16944
+ peg$fail(peg$c1470);
16773
16945
  }
16774
16946
  }
16775
16947
  if (s2 !== peg$FAILED) {
@@ -16818,7 +16990,7 @@ function peg$parse(input, options) {
16818
16990
  }
16819
16991
  if (s9 !== peg$FAILED) {
16820
16992
  peg$savedPos = s0;
16821
- s1 = peg$c1463(s6);
16993
+ s1 = peg$c1471(s6);
16822
16994
  s0 = s1;
16823
16995
  }
16824
16996
  else {
@@ -16875,14 +17047,14 @@ function peg$parse(input, options) {
16875
17047
  s1 = null;
16876
17048
  }
16877
17049
  if (s1 !== peg$FAILED) {
16878
- if (input.substr(peg$currPos, 12) === peg$c1464) {
16879
- s2 = peg$c1464;
17050
+ if (input.substr(peg$currPos, 12) === peg$c1472) {
17051
+ s2 = peg$c1472;
16880
17052
  peg$currPos += 12;
16881
17053
  }
16882
17054
  else {
16883
17055
  s2 = peg$FAILED;
16884
17056
  if (peg$silentFails === 0) {
16885
- peg$fail(peg$c1465);
17057
+ peg$fail(peg$c1473);
16886
17058
  }
16887
17059
  }
16888
17060
  if (s2 !== peg$FAILED) {
@@ -16931,7 +17103,7 @@ function peg$parse(input, options) {
16931
17103
  }
16932
17104
  if (s9 !== peg$FAILED) {
16933
17105
  peg$savedPos = s0;
16934
- s1 = peg$c1466(s6);
17106
+ s1 = peg$c1474(s6);
16935
17107
  s0 = s1;
16936
17108
  }
16937
17109
  else {
@@ -17029,7 +17201,7 @@ function peg$parse(input, options) {
17029
17201
  peg$silentFails--;
17030
17202
  if (s0 === peg$FAILED) {
17031
17203
  if (peg$silentFails === 0) {
17032
- peg$fail(peg$c1467);
17204
+ peg$fail(peg$c1475);
17033
17205
  }
17034
17206
  }
17035
17207
  return s0;
@@ -17060,14 +17232,14 @@ function peg$parse(input, options) {
17060
17232
  s1 = null;
17061
17233
  }
17062
17234
  if (s1 !== peg$FAILED) {
17063
- if (input.substr(peg$currPos, 5) === peg$c1468) {
17064
- s2 = peg$c1468;
17235
+ if (input.substr(peg$currPos, 5) === peg$c1476) {
17236
+ s2 = peg$c1476;
17065
17237
  peg$currPos += 5;
17066
17238
  }
17067
17239
  else {
17068
17240
  s2 = peg$FAILED;
17069
17241
  if (peg$silentFails === 0) {
17070
- peg$fail(peg$c1469);
17242
+ peg$fail(peg$c1477);
17071
17243
  }
17072
17244
  }
17073
17245
  if (s2 !== peg$FAILED) {
@@ -17116,7 +17288,7 @@ function peg$parse(input, options) {
17116
17288
  }
17117
17289
  if (s9 !== peg$FAILED) {
17118
17290
  peg$savedPos = s0;
17119
- s1 = peg$c1470(s6);
17291
+ s1 = peg$c1478(s6);
17120
17292
  s0 = s1;
17121
17293
  }
17122
17294
  else {
@@ -17181,14 +17353,14 @@ function peg$parse(input, options) {
17181
17353
  s1 = null;
17182
17354
  }
17183
17355
  if (s1 !== peg$FAILED) {
17184
- if (input.substr(peg$currPos, 5) === peg$c1471) {
17185
- s2 = peg$c1471;
17356
+ if (input.substr(peg$currPos, 5) === peg$c1479) {
17357
+ s2 = peg$c1479;
17186
17358
  peg$currPos += 5;
17187
17359
  }
17188
17360
  else {
17189
17361
  s2 = peg$FAILED;
17190
17362
  if (peg$silentFails === 0) {
17191
- peg$fail(peg$c1472);
17363
+ peg$fail(peg$c1480);
17192
17364
  }
17193
17365
  }
17194
17366
  if (s2 !== peg$FAILED) {
@@ -17237,7 +17409,7 @@ function peg$parse(input, options) {
17237
17409
  }
17238
17410
  if (s9 !== peg$FAILED) {
17239
17411
  peg$savedPos = s0;
17240
- s1 = peg$c1473(s6);
17412
+ s1 = peg$c1481(s6);
17241
17413
  s0 = s1;
17242
17414
  }
17243
17415
  else {
@@ -17302,14 +17474,14 @@ function peg$parse(input, options) {
17302
17474
  s1 = null;
17303
17475
  }
17304
17476
  if (s1 !== peg$FAILED) {
17305
- if (input.substr(peg$currPos, 10) === peg$c1475) {
17306
- s2 = peg$c1475;
17477
+ if (input.substr(peg$currPos, 10) === peg$c1483) {
17478
+ s2 = peg$c1483;
17307
17479
  peg$currPos += 10;
17308
17480
  }
17309
17481
  else {
17310
17482
  s2 = peg$FAILED;
17311
17483
  if (peg$silentFails === 0) {
17312
- peg$fail(peg$c1476);
17484
+ peg$fail(peg$c1484);
17313
17485
  }
17314
17486
  }
17315
17487
  if (s2 !== peg$FAILED) {
@@ -17358,7 +17530,7 @@ function peg$parse(input, options) {
17358
17530
  }
17359
17531
  if (s9 !== peg$FAILED) {
17360
17532
  peg$savedPos = s0;
17361
- s1 = peg$c1477(s6);
17533
+ s1 = peg$c1485(s6);
17362
17534
  s0 = s1;
17363
17535
  }
17364
17536
  else {
@@ -17409,7 +17581,7 @@ function peg$parse(input, options) {
17409
17581
  if (s0 === peg$FAILED) {
17410
17582
  s1 = peg$FAILED;
17411
17583
  if (peg$silentFails === 0) {
17412
- peg$fail(peg$c1474);
17584
+ peg$fail(peg$c1482);
17413
17585
  }
17414
17586
  }
17415
17587
  return s0;
@@ -17423,14 +17595,14 @@ function peg$parse(input, options) {
17423
17595
  s1 = null;
17424
17596
  }
17425
17597
  if (s1 !== peg$FAILED) {
17426
- if (input.substr(peg$currPos, 16) === peg$c1479) {
17427
- s2 = peg$c1479;
17598
+ if (input.substr(peg$currPos, 16) === peg$c1487) {
17599
+ s2 = peg$c1487;
17428
17600
  peg$currPos += 16;
17429
17601
  }
17430
17602
  else {
17431
17603
  s2 = peg$FAILED;
17432
17604
  if (peg$silentFails === 0) {
17433
- peg$fail(peg$c1480);
17605
+ peg$fail(peg$c1488);
17434
17606
  }
17435
17607
  }
17436
17608
  if (s2 !== peg$FAILED) {
@@ -17479,7 +17651,7 @@ function peg$parse(input, options) {
17479
17651
  }
17480
17652
  if (s9 !== peg$FAILED) {
17481
17653
  peg$savedPos = s0;
17482
- s1 = peg$c1481(s6);
17654
+ s1 = peg$c1489(s6);
17483
17655
  s0 = s1;
17484
17656
  }
17485
17657
  else {
@@ -17530,7 +17702,7 @@ function peg$parse(input, options) {
17530
17702
  if (s0 === peg$FAILED) {
17531
17703
  s1 = peg$FAILED;
17532
17704
  if (peg$silentFails === 0) {
17533
- peg$fail(peg$c1478);
17705
+ peg$fail(peg$c1486);
17534
17706
  }
17535
17707
  }
17536
17708
  return s0;
@@ -17544,14 +17716,14 @@ function peg$parse(input, options) {
17544
17716
  s1 = null;
17545
17717
  }
17546
17718
  if (s1 !== peg$FAILED) {
17547
- if (input.substr(peg$currPos, 12) === peg$c1483) {
17548
- s2 = peg$c1483;
17719
+ if (input.substr(peg$currPos, 12) === peg$c1491) {
17720
+ s2 = peg$c1491;
17549
17721
  peg$currPos += 12;
17550
17722
  }
17551
17723
  else {
17552
17724
  s2 = peg$FAILED;
17553
17725
  if (peg$silentFails === 0) {
17554
- peg$fail(peg$c1484);
17726
+ peg$fail(peg$c1492);
17555
17727
  }
17556
17728
  }
17557
17729
  if (s2 !== peg$FAILED) {
@@ -17600,7 +17772,7 @@ function peg$parse(input, options) {
17600
17772
  }
17601
17773
  if (s9 !== peg$FAILED) {
17602
17774
  peg$savedPos = s0;
17603
- s1 = peg$c1485(s6);
17775
+ s1 = peg$c1493(s6);
17604
17776
  s0 = s1;
17605
17777
  }
17606
17778
  else {
@@ -17651,7 +17823,7 @@ function peg$parse(input, options) {
17651
17823
  if (s0 === peg$FAILED) {
17652
17824
  s1 = peg$FAILED;
17653
17825
  if (peg$silentFails === 0) {
17654
- peg$fail(peg$c1482);
17826
+ peg$fail(peg$c1490);
17655
17827
  }
17656
17828
  }
17657
17829
  return s0;
@@ -17665,14 +17837,14 @@ function peg$parse(input, options) {
17665
17837
  s1 = null;
17666
17838
  }
17667
17839
  if (s1 !== peg$FAILED) {
17668
- if (input.substr(peg$currPos, 5) === peg$c1487) {
17669
- s2 = peg$c1487;
17840
+ if (input.substr(peg$currPos, 5) === peg$c1495) {
17841
+ s2 = peg$c1495;
17670
17842
  peg$currPos += 5;
17671
17843
  }
17672
17844
  else {
17673
17845
  s2 = peg$FAILED;
17674
17846
  if (peg$silentFails === 0) {
17675
- peg$fail(peg$c1488);
17847
+ peg$fail(peg$c1496);
17676
17848
  }
17677
17849
  }
17678
17850
  if (s2 !== peg$FAILED) {
@@ -17721,7 +17893,7 @@ function peg$parse(input, options) {
17721
17893
  }
17722
17894
  if (s9 !== peg$FAILED) {
17723
17895
  peg$savedPos = s0;
17724
- s1 = peg$c1489(s6);
17896
+ s1 = peg$c1497(s6);
17725
17897
  s0 = s1;
17726
17898
  }
17727
17899
  else {
@@ -17772,7 +17944,7 @@ function peg$parse(input, options) {
17772
17944
  if (s0 === peg$FAILED) {
17773
17945
  s1 = peg$FAILED;
17774
17946
  if (peg$silentFails === 0) {
17775
- peg$fail(peg$c1486);
17947
+ peg$fail(peg$c1494);
17776
17948
  }
17777
17949
  }
17778
17950
  return s0;
@@ -17786,14 +17958,14 @@ function peg$parse(input, options) {
17786
17958
  s1 = null;
17787
17959
  }
17788
17960
  if (s1 !== peg$FAILED) {
17789
- if (input.substr(peg$currPos, 7) === peg$c1491) {
17790
- s2 = peg$c1491;
17961
+ if (input.substr(peg$currPos, 7) === peg$c1499) {
17962
+ s2 = peg$c1499;
17791
17963
  peg$currPos += 7;
17792
17964
  }
17793
17965
  else {
17794
17966
  s2 = peg$FAILED;
17795
17967
  if (peg$silentFails === 0) {
17796
- peg$fail(peg$c1492);
17968
+ peg$fail(peg$c1500);
17797
17969
  }
17798
17970
  }
17799
17971
  if (s2 !== peg$FAILED) {
@@ -17842,7 +18014,7 @@ function peg$parse(input, options) {
17842
18014
  }
17843
18015
  if (s9 !== peg$FAILED) {
17844
18016
  peg$savedPos = s0;
17845
- s1 = peg$c1493(s6);
18017
+ s1 = peg$c1501(s6);
17846
18018
  s0 = s1;
17847
18019
  }
17848
18020
  else {
@@ -17893,7 +18065,7 @@ function peg$parse(input, options) {
17893
18065
  if (s0 === peg$FAILED) {
17894
18066
  s1 = peg$FAILED;
17895
18067
  if (peg$silentFails === 0) {
17896
- peg$fail(peg$c1490);
18068
+ peg$fail(peg$c1498);
17897
18069
  }
17898
18070
  }
17899
18071
  return s0;
@@ -17963,7 +18135,7 @@ function peg$parse(input, options) {
17963
18135
  }
17964
18136
  if (s9 !== peg$FAILED) {
17965
18137
  peg$savedPos = s0;
17966
- s1 = peg$c1495(s6);
18138
+ s1 = peg$c1503(s6);
17967
18139
  s0 = s1;
17968
18140
  }
17969
18141
  else {
@@ -18017,14 +18189,14 @@ function peg$parse(input, options) {
18017
18189
  s1 = null;
18018
18190
  }
18019
18191
  if (s1 !== peg$FAILED) {
18020
- if (input.substr(peg$currPos, 9) === peg$c1496) {
18021
- s2 = peg$c1496;
18192
+ if (input.substr(peg$currPos, 9) === peg$c1504) {
18193
+ s2 = peg$c1504;
18022
18194
  peg$currPos += 9;
18023
18195
  }
18024
18196
  else {
18025
18197
  s2 = peg$FAILED;
18026
18198
  if (peg$silentFails === 0) {
18027
- peg$fail(peg$c1497);
18199
+ peg$fail(peg$c1505);
18028
18200
  }
18029
18201
  }
18030
18202
  if (s2 !== peg$FAILED) {
@@ -18073,7 +18245,7 @@ function peg$parse(input, options) {
18073
18245
  }
18074
18246
  if (s9 !== peg$FAILED) {
18075
18247
  peg$savedPos = s0;
18076
- s1 = peg$c1495(s6);
18248
+ s1 = peg$c1503(s6);
18077
18249
  s0 = s1;
18078
18250
  }
18079
18251
  else {
@@ -18125,7 +18297,7 @@ function peg$parse(input, options) {
18125
18297
  if (s0 === peg$FAILED) {
18126
18298
  s1 = peg$FAILED;
18127
18299
  if (peg$silentFails === 0) {
18128
- peg$fail(peg$c1494);
18300
+ peg$fail(peg$c1502);
18129
18301
  }
18130
18302
  }
18131
18303
  return s0;
@@ -18139,14 +18311,14 @@ function peg$parse(input, options) {
18139
18311
  s1 = null;
18140
18312
  }
18141
18313
  if (s1 !== peg$FAILED) {
18142
- if (input.substr(peg$currPos, 5) === peg$c1499) {
18143
- s2 = peg$c1499;
18314
+ if (input.substr(peg$currPos, 5) === peg$c1507) {
18315
+ s2 = peg$c1507;
18144
18316
  peg$currPos += 5;
18145
18317
  }
18146
18318
  else {
18147
18319
  s2 = peg$FAILED;
18148
18320
  if (peg$silentFails === 0) {
18149
- peg$fail(peg$c1500);
18321
+ peg$fail(peg$c1508);
18150
18322
  }
18151
18323
  }
18152
18324
  if (s2 !== peg$FAILED) {
@@ -18195,7 +18367,7 @@ function peg$parse(input, options) {
18195
18367
  }
18196
18368
  if (s9 !== peg$FAILED) {
18197
18369
  peg$savedPos = s0;
18198
- s1 = peg$c1501(s6);
18370
+ s1 = peg$c1509(s6);
18199
18371
  s0 = s1;
18200
18372
  }
18201
18373
  else {
@@ -18246,7 +18418,7 @@ function peg$parse(input, options) {
18246
18418
  if (s0 === peg$FAILED) {
18247
18419
  s1 = peg$FAILED;
18248
18420
  if (peg$silentFails === 0) {
18249
- peg$fail(peg$c1498);
18421
+ peg$fail(peg$c1506);
18250
18422
  }
18251
18423
  }
18252
18424
  return s0;
@@ -18260,14 +18432,14 @@ function peg$parse(input, options) {
18260
18432
  s1 = null;
18261
18433
  }
18262
18434
  if (s1 !== peg$FAILED) {
18263
- if (input.substr(peg$currPos, 3) === peg$c1503) {
18264
- s2 = peg$c1503;
18435
+ if (input.substr(peg$currPos, 3) === peg$c1511) {
18436
+ s2 = peg$c1511;
18265
18437
  peg$currPos += 3;
18266
18438
  }
18267
18439
  else {
18268
18440
  s2 = peg$FAILED;
18269
18441
  if (peg$silentFails === 0) {
18270
- peg$fail(peg$c1504);
18442
+ peg$fail(peg$c1512);
18271
18443
  }
18272
18444
  }
18273
18445
  if (s2 !== peg$FAILED) {
@@ -18316,7 +18488,7 @@ function peg$parse(input, options) {
18316
18488
  }
18317
18489
  if (s9 !== peg$FAILED) {
18318
18490
  peg$savedPos = s0;
18319
- s1 = peg$c1505(s6);
18491
+ s1 = peg$c1513(s6);
18320
18492
  s0 = s1;
18321
18493
  }
18322
18494
  else {
@@ -18367,7 +18539,7 @@ function peg$parse(input, options) {
18367
18539
  if (s0 === peg$FAILED) {
18368
18540
  s1 = peg$FAILED;
18369
18541
  if (peg$silentFails === 0) {
18370
- peg$fail(peg$c1502);
18542
+ peg$fail(peg$c1510);
18371
18543
  }
18372
18544
  }
18373
18545
  return s0;
@@ -18381,14 +18553,14 @@ function peg$parse(input, options) {
18381
18553
  s1 = null;
18382
18554
  }
18383
18555
  if (s1 !== peg$FAILED) {
18384
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18385
- s2 = peg$c1507;
18556
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
18557
+ s2 = peg$c1515;
18386
18558
  peg$currPos += 8;
18387
18559
  }
18388
18560
  else {
18389
18561
  s2 = peg$FAILED;
18390
18562
  if (peg$silentFails === 0) {
18391
- peg$fail(peg$c1508);
18563
+ peg$fail(peg$c1516);
18392
18564
  }
18393
18565
  }
18394
18566
  if (s2 !== peg$FAILED) {
@@ -18441,7 +18613,7 @@ function peg$parse(input, options) {
18441
18613
  }
18442
18614
  if (s11 !== peg$FAILED) {
18443
18615
  peg$savedPos = s0;
18444
- s1 = peg$c1509(s6, s8);
18616
+ s1 = peg$c1517(s6, s8);
18445
18617
  s0 = s1;
18446
18618
  }
18447
18619
  else {
@@ -18505,14 +18677,14 @@ function peg$parse(input, options) {
18505
18677
  s1 = null;
18506
18678
  }
18507
18679
  if (s1 !== peg$FAILED) {
18508
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18509
- s2 = peg$c1507;
18680
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
18681
+ s2 = peg$c1515;
18510
18682
  peg$currPos += 8;
18511
18683
  }
18512
18684
  else {
18513
18685
  s2 = peg$FAILED;
18514
18686
  if (peg$silentFails === 0) {
18515
- peg$fail(peg$c1508);
18687
+ peg$fail(peg$c1516);
18516
18688
  }
18517
18689
  }
18518
18690
  if (s2 !== peg$FAILED) {
@@ -18545,14 +18717,14 @@ function peg$parse(input, options) {
18545
18717
  if (s8 !== peg$FAILED) {
18546
18718
  s9 = peg$parseWS();
18547
18719
  if (s9 !== peg$FAILED) {
18548
- if (input.substr(peg$currPos, 8) === peg$c1510) {
18549
- s10 = peg$c1510;
18720
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
18721
+ s10 = peg$c1518;
18550
18722
  peg$currPos += 8;
18551
18723
  }
18552
18724
  else {
18553
18725
  s10 = peg$FAILED;
18554
18726
  if (peg$silentFails === 0) {
18555
- peg$fail(peg$c1511);
18727
+ peg$fail(peg$c1519);
18556
18728
  }
18557
18729
  }
18558
18730
  if (s10 !== peg$FAILED) {
@@ -18578,7 +18750,7 @@ function peg$parse(input, options) {
18578
18750
  }
18579
18751
  if (s13 !== peg$FAILED) {
18580
18752
  peg$savedPos = s0;
18581
- s1 = peg$c1512(s6, s8);
18753
+ s1 = peg$c1520(s6, s8);
18582
18754
  s0 = s1;
18583
18755
  }
18584
18756
  else {
@@ -18650,7 +18822,7 @@ function peg$parse(input, options) {
18650
18822
  if (s0 === peg$FAILED) {
18651
18823
  s1 = peg$FAILED;
18652
18824
  if (peg$silentFails === 0) {
18653
- peg$fail(peg$c1506);
18825
+ peg$fail(peg$c1514);
18654
18826
  }
18655
18827
  }
18656
18828
  return s0;
@@ -18830,7 +19002,7 @@ function peg$parse(input, options) {
18830
19002
  }
18831
19003
  if (s11 !== peg$FAILED) {
18832
19004
  peg$savedPos = s0;
18833
- s1 = peg$c1513(s4, s8);
19005
+ s1 = peg$c1521(s4, s8);
18834
19006
  s0 = s1;
18835
19007
  }
18836
19008
  else {
@@ -18898,13 +19070,13 @@ function peg$parse(input, options) {
18898
19070
  }
18899
19071
  if (s1 !== peg$FAILED) {
18900
19072
  if (input.charCodeAt(peg$currPos) === 38) {
18901
- s2 = peg$c1514;
19073
+ s2 = peg$c1522;
18902
19074
  peg$currPos++;
18903
19075
  }
18904
19076
  else {
18905
19077
  s2 = peg$FAILED;
18906
19078
  if (peg$silentFails === 0) {
18907
- peg$fail(peg$c1515);
19079
+ peg$fail(peg$c1523);
18908
19080
  }
18909
19081
  }
18910
19082
  if (s2 !== peg$FAILED) {
@@ -18960,7 +19132,7 @@ function peg$parse(input, options) {
18960
19132
  }
18961
19133
  if (s11 !== peg$FAILED) {
18962
19134
  peg$savedPos = s0;
18963
- s1 = peg$c1516(s4, s8);
19135
+ s1 = peg$c1524(s4, s8);
18964
19136
  s0 = s1;
18965
19137
  }
18966
19138
  else {
@@ -19027,14 +19199,14 @@ function peg$parse(input, options) {
19027
19199
  s1 = null;
19028
19200
  }
19029
19201
  if (s1 !== peg$FAILED) {
19030
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19031
- s2 = peg$c1507;
19202
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19203
+ s2 = peg$c1515;
19032
19204
  peg$currPos += 8;
19033
19205
  }
19034
19206
  else {
19035
19207
  s2 = peg$FAILED;
19036
19208
  if (peg$silentFails === 0) {
19037
- peg$fail(peg$c1508);
19209
+ peg$fail(peg$c1516);
19038
19210
  }
19039
19211
  }
19040
19212
  if (s2 !== peg$FAILED) {
@@ -19061,14 +19233,14 @@ function peg$parse(input, options) {
19061
19233
  if (s8 !== peg$FAILED) {
19062
19234
  s9 = peg$parseWS();
19063
19235
  if (s9 !== peg$FAILED) {
19064
- if (input.substr(peg$currPos, 8) === peg$c1510) {
19065
- s10 = peg$c1510;
19236
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
19237
+ s10 = peg$c1518;
19066
19238
  peg$currPos += 8;
19067
19239
  }
19068
19240
  else {
19069
19241
  s10 = peg$FAILED;
19070
19242
  if (peg$silentFails === 0) {
19071
- peg$fail(peg$c1511);
19243
+ peg$fail(peg$c1519);
19072
19244
  }
19073
19245
  }
19074
19246
  if (s10 !== peg$FAILED) {
@@ -19094,7 +19266,7 @@ function peg$parse(input, options) {
19094
19266
  }
19095
19267
  if (s13 !== peg$FAILED) {
19096
19268
  peg$savedPos = s0;
19097
- s1 = peg$c1517(s4, s8);
19269
+ s1 = peg$c1525(s4, s8);
19098
19270
  s0 = s1;
19099
19271
  }
19100
19272
  else {
@@ -19168,14 +19340,14 @@ function peg$parse(input, options) {
19168
19340
  s1 = null;
19169
19341
  }
19170
19342
  if (s1 !== peg$FAILED) {
19171
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19172
- s2 = peg$c1507;
19343
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19344
+ s2 = peg$c1515;
19173
19345
  peg$currPos += 8;
19174
19346
  }
19175
19347
  else {
19176
19348
  s2 = peg$FAILED;
19177
19349
  if (peg$silentFails === 0) {
19178
- peg$fail(peg$c1508);
19350
+ peg$fail(peg$c1516);
19179
19351
  }
19180
19352
  }
19181
19353
  if (s2 !== peg$FAILED) {
@@ -19185,14 +19357,14 @@ function peg$parse(input, options) {
19185
19357
  if (s4 !== peg$FAILED) {
19186
19358
  s5 = peg$parseWS();
19187
19359
  if (s5 !== peg$FAILED) {
19188
- if (input.substr(peg$currPos, 8) === peg$c1510) {
19189
- s6 = peg$c1510;
19360
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
19361
+ s6 = peg$c1518;
19190
19362
  peg$currPos += 8;
19191
19363
  }
19192
19364
  else {
19193
19365
  s6 = peg$FAILED;
19194
19366
  if (peg$silentFails === 0) {
19195
- peg$fail(peg$c1511);
19367
+ peg$fail(peg$c1519);
19196
19368
  }
19197
19369
  }
19198
19370
  if (s6 !== peg$FAILED) {
@@ -19218,7 +19390,7 @@ function peg$parse(input, options) {
19218
19390
  }
19219
19391
  if (s9 !== peg$FAILED) {
19220
19392
  peg$savedPos = s0;
19221
- s1 = peg$c1518(s4);
19393
+ s1 = peg$c1526(s4);
19222
19394
  s0 = s1;
19223
19395
  }
19224
19396
  else {
@@ -19272,14 +19444,14 @@ function peg$parse(input, options) {
19272
19444
  s1 = null;
19273
19445
  }
19274
19446
  if (s1 !== peg$FAILED) {
19275
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19276
- s2 = peg$c1507;
19447
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19448
+ s2 = peg$c1515;
19277
19449
  peg$currPos += 8;
19278
19450
  }
19279
19451
  else {
19280
19452
  s2 = peg$FAILED;
19281
19453
  if (peg$silentFails === 0) {
19282
- peg$fail(peg$c1508);
19454
+ peg$fail(peg$c1516);
19283
19455
  }
19284
19456
  }
19285
19457
  if (s2 !== peg$FAILED) {
@@ -19326,7 +19498,7 @@ function peg$parse(input, options) {
19326
19498
  }
19327
19499
  if (s11 !== peg$FAILED) {
19328
19500
  peg$savedPos = s0;
19329
- s1 = peg$c1519(s4, s8);
19501
+ s1 = peg$c1527(s4, s8);
19330
19502
  s0 = s1;
19331
19503
  }
19332
19504
  else {
@@ -19390,14 +19562,14 @@ function peg$parse(input, options) {
19390
19562
  s1 = null;
19391
19563
  }
19392
19564
  if (s1 !== peg$FAILED) {
19393
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19394
- s2 = peg$c1507;
19565
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19566
+ s2 = peg$c1515;
19395
19567
  peg$currPos += 8;
19396
19568
  }
19397
19569
  else {
19398
19570
  s2 = peg$FAILED;
19399
19571
  if (peg$silentFails === 0) {
19400
- peg$fail(peg$c1508);
19572
+ peg$fail(peg$c1516);
19401
19573
  }
19402
19574
  }
19403
19575
  if (s2 !== peg$FAILED) {
@@ -19427,7 +19599,7 @@ function peg$parse(input, options) {
19427
19599
  }
19428
19600
  if (s7 !== peg$FAILED) {
19429
19601
  peg$savedPos = s0;
19430
- s1 = peg$c1520(s4);
19602
+ s1 = peg$c1528(s4);
19431
19603
  s0 = s1;
19432
19604
  }
19433
19605
  else {
@@ -19472,14 +19644,14 @@ function peg$parse(input, options) {
19472
19644
  function peg$parseRegularArrangeDeclaration() {
19473
19645
  var s0, s1, s2, s3, s4, s5, s6;
19474
19646
  s0 = peg$currPos;
19475
- if (input.substr(peg$currPos, 7) === peg$c1521) {
19476
- s1 = peg$c1521;
19647
+ if (input.substr(peg$currPos, 7) === peg$c1529) {
19648
+ s1 = peg$c1529;
19477
19649
  peg$currPos += 7;
19478
19650
  }
19479
19651
  else {
19480
19652
  s1 = peg$FAILED;
19481
19653
  if (peg$silentFails === 0) {
19482
- peg$fail(peg$c1522);
19654
+ peg$fail(peg$c1530);
19483
19655
  }
19484
19656
  }
19485
19657
  if (s1 !== peg$FAILED) {
@@ -19512,7 +19684,7 @@ function peg$parse(input, options) {
19512
19684
  }
19513
19685
  if (s6 !== peg$FAILED) {
19514
19686
  peg$savedPos = s0;
19515
- s1 = peg$c1523(s3);
19687
+ s1 = peg$c1531(s3);
19516
19688
  s0 = s1;
19517
19689
  }
19518
19690
  else {
@@ -19549,14 +19721,14 @@ function peg$parse(input, options) {
19549
19721
  function peg$parseArrangeStartDeclaration() {
19550
19722
  var s0, s1, s2, s3, s4, s5, s6;
19551
19723
  s0 = peg$currPos;
19552
- if (input.substr(peg$currPos, 13) === peg$c1524) {
19553
- s1 = peg$c1524;
19724
+ if (input.substr(peg$currPos, 13) === peg$c1532) {
19725
+ s1 = peg$c1532;
19554
19726
  peg$currPos += 13;
19555
19727
  }
19556
19728
  else {
19557
19729
  s1 = peg$FAILED;
19558
19730
  if (peg$silentFails === 0) {
19559
- peg$fail(peg$c1525);
19731
+ peg$fail(peg$c1533);
19560
19732
  }
19561
19733
  }
19562
19734
  if (s1 !== peg$FAILED) {
@@ -19589,7 +19761,7 @@ function peg$parse(input, options) {
19589
19761
  }
19590
19762
  if (s6 !== peg$FAILED) {
19591
19763
  peg$savedPos = s0;
19592
- s1 = peg$c1526(s3);
19764
+ s1 = peg$c1534(s3);
19593
19765
  s0 = s1;
19594
19766
  }
19595
19767
  else {
@@ -19626,14 +19798,14 @@ function peg$parse(input, options) {
19626
19798
  function peg$parseArrangeEndDeclaration() {
19627
19799
  var s0, s1, s2, s3, s4, s5, s6;
19628
19800
  s0 = peg$currPos;
19629
- if (input.substr(peg$currPos, 11) === peg$c1527) {
19630
- s1 = peg$c1527;
19801
+ if (input.substr(peg$currPos, 11) === peg$c1535) {
19802
+ s1 = peg$c1535;
19631
19803
  peg$currPos += 11;
19632
19804
  }
19633
19805
  else {
19634
19806
  s1 = peg$FAILED;
19635
19807
  if (peg$silentFails === 0) {
19636
- peg$fail(peg$c1528);
19808
+ peg$fail(peg$c1536);
19637
19809
  }
19638
19810
  }
19639
19811
  if (s1 !== peg$FAILED) {
@@ -19666,7 +19838,7 @@ function peg$parse(input, options) {
19666
19838
  }
19667
19839
  if (s6 !== peg$FAILED) {
19668
19840
  peg$savedPos = s0;
19669
- s1 = peg$c1529(s3);
19841
+ s1 = peg$c1537(s3);
19670
19842
  s0 = s1;
19671
19843
  }
19672
19844
  else {
@@ -19713,7 +19885,7 @@ function peg$parse(input, options) {
19713
19885
  peg$silentFails--;
19714
19886
  if (s0 === peg$FAILED) {
19715
19887
  if (peg$silentFails === 0) {
19716
- peg$fail(peg$c1530);
19888
+ peg$fail(peg$c1538);
19717
19889
  }
19718
19890
  }
19719
19891
  return s0;
@@ -21034,7 +21206,7 @@ function compile_rule_handler(rule) {
21034
21206
  'graph_layout', 'start_states', 'end_states', 'failed_outputs', 'machine_name', 'machine_version',
21035
21207
  'machine_comment', 'machine_author', 'machine_contributor', 'machine_definition',
21036
21208
  'machine_reference', 'machine_license', 'fsl_version', 'state_config', 'theme',
21037
- 'flow', 'dot_preamble', 'allows_override', 'default_state_config',
21209
+ 'flow', 'dot_preamble', 'allows_override', 'allow_islands', 'default_state_config',
21038
21210
  'default_start_state_config', 'default_end_state_config',
21039
21211
  'default_hooked_state_config', 'default_active_state_config',
21040
21212
  'default_terminal_state_config', 'npm_name'
@@ -21129,7 +21301,8 @@ function compile(tree) {
21129
21301
  default_terminal_state_config: [],
21130
21302
  default_start_state_config: [],
21131
21303
  default_end_state_config: [],
21132
- allows_override: []
21304
+ allows_override: [],
21305
+ allow_islands: []
21133
21306
  };
21134
21307
  tree.map((tr) => {
21135
21308
  const rule = compile_rule_handler(tr), agg_as = rule.agg_as, val = rule.val; // TODO FIXME no any
@@ -21150,7 +21323,7 @@ function compile(tree) {
21150
21323
  const oneOnlyKeys = [
21151
21324
  'graph_layout', 'machine_name', 'machine_version', 'machine_comment',
21152
21325
  'fsl_version', 'machine_license', 'machine_definition', 'machine_language',
21153
- 'flow', 'dot_preamble', 'allows_override', 'npm_name'
21326
+ 'flow', 'dot_preamble', 'allows_override', 'allow_islands', 'npm_name'
21154
21327
  ];
21155
21328
  oneOnlyKeys.map((oneOnlyKey) => {
21156
21329
  if (results[oneOnlyKey].length > 1) {
@@ -21665,7 +21838,7 @@ var constants = /*#__PURE__*/Object.freeze({
21665
21838
  * Useful for runtime diagnostics and for embedding in serialized machine
21666
21839
  * snapshots so that deserializers can detect version-skew.
21667
21840
  */
21668
- const version = "5.142.2";
21841
+ const version = "5.142.3";
21669
21842
 
21670
21843
  // whargarbl lots of these return arrays could/should be sets
21671
21844
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -21855,9 +22028,56 @@ function state_style_condense(jssk, machine) {
21855
22028
  * `.data()`. Defaults to `undefined` when no data is used.
21856
22029
  *
21857
22030
  */
22031
+ /*********
22032
+ *
22033
+ * Partition a state graph into its connected components using an undirected
22034
+ * BFS over state names. Each edge (from, to) is treated as bidirectional so
22035
+ * that island membership is topology-based rather than flow-based.
22036
+ *
22037
+ * Used at construction time to enforce the `allow_islands` constraint.
22038
+ *
22039
+ * @param states The machine's state map (keys are state names).
22040
+ * @param edges The machine's edge list; only `from` and `to` are used.
22041
+ * @returns An array of components, each component an array of state names.
22042
+ *
22043
+ */
22044
+ function find_connected_components(states, edges) {
22045
+ // Build undirected adjacency list
22046
+ const adj = new Map();
22047
+ for (const name of states.keys()) {
22048
+ adj.set(name, new Set());
22049
+ }
22050
+ for (const edge of edges) {
22051
+ adj.get(edge.from).add(edge.to);
22052
+ adj.get(edge.to).add(edge.from);
22053
+ }
22054
+ const visited = new Set();
22055
+ const result = [];
22056
+ for (const start of states.keys()) {
22057
+ if (visited.has(start)) {
22058
+ continue;
22059
+ }
22060
+ // BFS to collect this component
22061
+ const component = [];
22062
+ const queue = [start];
22063
+ visited.add(start);
22064
+ while (queue.length > 0) {
22065
+ const node = queue.shift();
22066
+ component.push(node);
22067
+ for (const neighbor of adj.get(node)) {
22068
+ if (!visited.has(neighbor)) {
22069
+ visited.add(neighbor);
22070
+ queue.push(neighbor);
22071
+ }
22072
+ }
22073
+ }
22074
+ result.push(component);
22075
+ }
22076
+ return result;
22077
+ }
21858
22078
  class Machine {
21859
22079
  // whargarbl this badly needs to be broken up, monolith master
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 }) {
22080
+ 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, allow_islands, rng_seed, time_source, timeout_source, clear_timeout_source }) {
21861
22081
  this._time_source = () => new Date().getTime();
21862
22082
  this._create_started = this._time_source();
21863
22083
  this._instance_name = instance_name;
@@ -21922,6 +22142,7 @@ class Machine {
21922
22142
  // no need for a boolean for single hooks, just test for undefinedness
21923
22143
  this._code_allows_override = allows_override;
21924
22144
  this._config_allows_override = config_allows_override;
22145
+ this._allow_islands = allow_islands !== null && allow_islands !== void 0 ? allow_islands : true;
21925
22146
  if ((allows_override === false) && (config_allows_override === true)) {
21926
22147
  throw new JssmError(undefined, "Code specifies no override, but config tries to permit; config may not be less strict than code");
21927
22148
  }
@@ -22180,6 +22401,24 @@ class Machine {
22180
22401
  if (!(start_states.length === this._start_states.size)) {
22181
22402
  throw new JssmError(this, `Start states cannot be repeated`);
22182
22403
  }
22404
+ // assert connectivity constraints imposed by allow_islands
22405
+ if (this._allow_islands !== true) {
22406
+ const components = find_connected_components(this._states, this._edges);
22407
+ if (this._allow_islands === false) {
22408
+ if (components.length > 1) {
22409
+ throw new JssmError(this, `allow_islands is false but the state graph has ${components.length} disconnected components`);
22410
+ }
22411
+ }
22412
+ else {
22413
+ // 'with_start': every component must contain at least one start state
22414
+ for (const component of components) {
22415
+ const has_start = component.some(s => this._start_states.has(s));
22416
+ if (!has_start) {
22417
+ throw new JssmError(this, `allow_islands is 'with_start' but a connected component has no start state: [${[...component].join(', ')}]`);
22418
+ }
22419
+ }
22420
+ }
22421
+ }
22183
22422
  this._created = this._time_source();
22184
22423
  this.auto_set_state_timeout();
22185
22424
  this._arrange_declaration.forEach((arrange_pair) => arrange_pair.forEach((possibleState) => {
@@ -22900,6 +23139,19 @@ class Machine {
22900
23139
  return false;
22901
23140
  }
22902
23141
  }
23142
+ /*********
23143
+ *
23144
+ * Return the effective island policy for this machine. `true` means
23145
+ * disconnected components are allowed (the default), `false` requires a
23146
+ * single connected component, and `'with_start'` allows islands only when
23147
+ * every component contains at least one start state.
23148
+ *
23149
+ * @returns The island policy stored in the machine.
23150
+ *
23151
+ */
23152
+ get allow_islands() {
23153
+ return this._allow_islands;
23154
+ }
22903
23155
  /** List all available theme names.
22904
23156
  * @returns An array of theme name strings.
22905
23157
  */