jssm 5.142.4 → 5.143.0

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.
@@ -32,6 +32,12 @@ class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){th
32
32
  * machine context (current state, instance name) and an optional
33
33
  * `requested_state` so that error messages are self-describing.
34
34
  *
35
+ * When a semantic error is detected during `compile()` and the parse tree
36
+ * was produced with `parse(input, { locations: true })`, the thrown error
37
+ * also carries a `source_location` field — the FSL source span of the
38
+ * offending statement — so downstream tooling can map the error to a precise
39
+ * position in the original source text without additional scanning.
40
+ *
35
41
  * ```typescript
36
42
  * throw new JssmError(machine, 'no such state', { requested_state: 'Blue' });
37
43
  * // JssmError: [[my-light]]: no such state (at "Red", requested "Blue")
@@ -42,13 +48,16 @@ class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){th
42
48
  * read `state()` and `instance_name()` for context.
43
49
  * @param message - A human-readable description of the error.
44
50
  * @param JEEI - Optional {@link JssmErrorExtendedInfo} with extra
45
- * context such as `requested_state`.
51
+ * context such as `requested_state` and/or
52
+ * `source_location` (the FSL source span of the
53
+ * offending statement, present when the error
54
+ * originated from a located parse tree).
46
55
  *
47
56
  */
48
57
  class JssmError extends Error {
49
58
  constructor(machine, message, JEEI) {
50
- const { requested_state } = (JEEI === undefined)
51
- ? { requested_state: undefined }
59
+ const { requested_state, source_location } = (JEEI === undefined)
60
+ ? { requested_state: undefined, source_location: undefined }
52
61
  : JEEI;
53
62
  const follow_ups = [];
54
63
  if (machine) {
@@ -69,6 +78,7 @@ class JssmError extends Error {
69
78
  this.message = complex_msg;
70
79
  this.base_message = message;
71
80
  this.requested_state = requested_state;
81
+ this.source_location = source_location;
72
82
  }
73
83
  }
74
84
 
@@ -335,12 +345,16 @@ function peg$parse(input, options) {
335
345
  }, peg$c445 = "0o", peg$c446 = peg$literalExpectation("0o", true), peg$c447 = function (digits) {
336
346
  return parseInt(digits, 8);
337
347
  }, peg$c448 = function (major, minor, patch) {
338
- return {
348
+ const node = {
339
349
  major: parseInt(major, 10),
340
350
  minor: parseInt(minor, 10),
341
351
  patch: parseInt(patch, 10),
342
352
  full: text()
343
353
  };
354
+ if (options.locations) {
355
+ node.loc = location();
356
+ }
357
+ return node;
344
358
  }, peg$c459 = "http://", peg$c460 = peg$literalExpectation("http://", false), peg$c461 = "https://", peg$c462 = peg$literalExpectation("https://", false), peg$c463 = /^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/, peg$c464 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "!", "*", "'", "(", ")", ":", ";", "@", "&", "=", "+", "$", ",", "/", "?", "#", "[", "]", "_", ".", "~", "-"], false, false), peg$c465 = function (protocol) { return text(); }, peg$c466 = "aliceblue", peg$c467 = peg$literalExpectation("aliceblue", false), peg$c468 = function () { return '#f0f8ffff'; }, peg$c469 = "AliceBlue", peg$c470 = peg$literalExpectation("AliceBlue", false), peg$c471 = "antiquewhite", peg$c472 = peg$literalExpectation("antiquewhite", false), peg$c473 = function () { return '#faebd7ff'; }, peg$c474 = "AntiqueWhite", peg$c475 = peg$literalExpectation("AntiqueWhite", false), peg$c476 = "aquamarine", peg$c477 = peg$literalExpectation("aquamarine", false), peg$c478 = function () { return '#7fffd4ff'; }, peg$c479 = "Aquamarine", peg$c480 = peg$literalExpectation("Aquamarine", false), peg$c481 = "aqua", peg$c482 = peg$literalExpectation("aqua", false), peg$c483 = function () { return '#00ffffff'; }, peg$c484 = "Aqua", peg$c485 = peg$literalExpectation("Aqua", false), peg$c486 = "azure", peg$c487 = peg$literalExpectation("azure", false), peg$c488 = function () { return '#f0ffffff'; }, peg$c489 = "Azure", peg$c490 = peg$literalExpectation("Azure", false), peg$c491 = "beige", peg$c492 = peg$literalExpectation("beige", false), peg$c493 = function () { return '#f5f5dcff'; }, peg$c494 = "Beige", peg$c495 = peg$literalExpectation("Beige", false), peg$c496 = "bisque", peg$c497 = peg$literalExpectation("bisque", false), peg$c498 = function () { return '#ffe4c4ff'; }, peg$c499 = "Bisque", peg$c500 = peg$literalExpectation("Bisque", false), peg$c501 = "black", peg$c502 = peg$literalExpectation("black", false), peg$c503 = function () { return '#000000ff'; }, peg$c504 = "Black", peg$c505 = peg$literalExpectation("Black", false), peg$c506 = "blanchedalmond", peg$c507 = peg$literalExpectation("blanchedalmond", false), peg$c508 = function () { return '#ffebcdff'; }, peg$c509 = "BlanchedAlmond", peg$c510 = peg$literalExpectation("BlanchedAlmond", false), peg$c511 = "blueviolet", peg$c512 = peg$literalExpectation("blueviolet", false), peg$c513 = function () { return '#8a2be2ff'; }, peg$c514 = "BlueViolet", peg$c515 = peg$literalExpectation("BlueViolet", false), peg$c516 = "blue", peg$c517 = peg$literalExpectation("blue", false), peg$c518 = function () { return '#0000ffff'; }, peg$c519 = "Blue", peg$c520 = peg$literalExpectation("Blue", false), peg$c521 = "brown", peg$c522 = peg$literalExpectation("brown", false), peg$c523 = function () { return '#a52a2aff'; }, peg$c524 = "Brown", peg$c525 = peg$literalExpectation("Brown", false), peg$c526 = "burlywood", peg$c527 = peg$literalExpectation("burlywood", false), peg$c528 = function () { return '#deb887ff'; }, peg$c529 = "BurlyWood", peg$c530 = peg$literalExpectation("BurlyWood", false), peg$c531 = "cadetblue", peg$c532 = peg$literalExpectation("cadetblue", false), peg$c533 = function () { return '#5f9ea0ff'; }, peg$c534 = "CadetBlue", peg$c535 = peg$literalExpectation("CadetBlue", false), peg$c536 = "chartreuse", peg$c537 = peg$literalExpectation("chartreuse", false), peg$c538 = function () { return '#7fff00ff'; }, peg$c539 = "Chartreuse", peg$c540 = peg$literalExpectation("Chartreuse", false), peg$c541 = "chocolate", peg$c542 = peg$literalExpectation("chocolate", false), peg$c543 = function () { return '#d2691eff'; }, peg$c544 = "Chocolate", peg$c545 = peg$literalExpectation("Chocolate", false), peg$c546 = "coral", peg$c547 = peg$literalExpectation("coral", false), peg$c548 = function () { return '#ff7f50ff'; }, peg$c549 = "Coral", peg$c550 = peg$literalExpectation("Coral", false), peg$c551 = "cornflowerblue", peg$c552 = peg$literalExpectation("cornflowerblue", false), peg$c553 = function () { return '#6495edff'; }, peg$c554 = "CornflowerBlue", peg$c555 = peg$literalExpectation("CornflowerBlue", false), peg$c556 = "cornsilk", peg$c557 = peg$literalExpectation("cornsilk", false), peg$c558 = function () { return '#fff8dcff'; }, peg$c559 = "Cornsilk", peg$c560 = peg$literalExpectation("Cornsilk", false), peg$c561 = "crimson", peg$c562 = peg$literalExpectation("crimson", false), peg$c563 = function () { return '#dc143cff'; }, peg$c564 = "Crimson", peg$c565 = peg$literalExpectation("Crimson", false), peg$c566 = "cyan", peg$c567 = peg$literalExpectation("cyan", false), peg$c568 = "Cyan", peg$c569 = peg$literalExpectation("Cyan", false), peg$c570 = "darkblue", peg$c571 = peg$literalExpectation("darkblue", false), peg$c572 = function () { return '#00008bff'; }, peg$c573 = "DarkBlue", peg$c574 = peg$literalExpectation("DarkBlue", false), peg$c575 = "darkcyan", peg$c576 = peg$literalExpectation("darkcyan", false), peg$c577 = function () { return '#008b8bff'; }, peg$c578 = "DarkCyan", peg$c579 = peg$literalExpectation("DarkCyan", false), peg$c580 = "darkgoldenrod", peg$c581 = peg$literalExpectation("darkgoldenrod", false), peg$c582 = function () { return '#b8860bff'; }, peg$c583 = "DarkGoldenRod", peg$c584 = peg$literalExpectation("DarkGoldenRod", false), peg$c585 = "darkgray", peg$c586 = peg$literalExpectation("darkgray", false), peg$c587 = function () { return '#a9a9a9ff'; }, peg$c588 = "DarkGray", peg$c589 = peg$literalExpectation("DarkGray", false), peg$c590 = "darkgrey", peg$c591 = peg$literalExpectation("darkgrey", false), peg$c592 = "DarkGrey", peg$c593 = peg$literalExpectation("DarkGrey", false), peg$c594 = "darkgreen", peg$c595 = peg$literalExpectation("darkgreen", false), peg$c596 = function () { return '#006400ff'; }, peg$c597 = "DarkGreen", peg$c598 = peg$literalExpectation("DarkGreen", false), peg$c599 = "darkkhaki", peg$c600 = peg$literalExpectation("darkkhaki", false), peg$c601 = function () { return '#bdb76bff'; }, peg$c602 = "DarkKhaki", peg$c603 = peg$literalExpectation("DarkKhaki", false), peg$c604 = "darkmagenta", peg$c605 = peg$literalExpectation("darkmagenta", false), peg$c606 = function () { return '#8b008bff'; }, peg$c607 = "DarkMagenta", peg$c608 = peg$literalExpectation("DarkMagenta", false), peg$c609 = "darkolivegreen", peg$c610 = peg$literalExpectation("darkolivegreen", false), peg$c611 = function () { return '#556b2fff'; }, peg$c612 = "DarkOliveGreen", peg$c613 = peg$literalExpectation("DarkOliveGreen", false), peg$c614 = "darkorange", peg$c615 = peg$literalExpectation("darkorange", false), peg$c616 = function () { return '#ff8c00ff'; }, peg$c617 = "Darkorange", peg$c618 = peg$literalExpectation("Darkorange", false), peg$c619 = "darkorchid", peg$c620 = peg$literalExpectation("darkorchid", false), peg$c621 = function () { return '#9932ccff'; }, peg$c622 = "DarkOrchid", peg$c623 = peg$literalExpectation("DarkOrchid", false), peg$c624 = "darkred", peg$c625 = peg$literalExpectation("darkred", false), peg$c626 = function () { return '#8b0000ff'; }, peg$c627 = "DarkRed", peg$c628 = peg$literalExpectation("DarkRed", false), peg$c629 = "darksalmon", peg$c630 = peg$literalExpectation("darksalmon", false), peg$c631 = function () { return '#e9967aff'; }, peg$c632 = "DarkSalmon", peg$c633 = peg$literalExpectation("DarkSalmon", false), peg$c634 = "darkseagreen", peg$c635 = peg$literalExpectation("darkseagreen", false), peg$c636 = function () { return '#8fbc8fff'; }, peg$c637 = "DarkSeaGreen", peg$c638 = peg$literalExpectation("DarkSeaGreen", false), peg$c639 = "darkslateblue", peg$c640 = peg$literalExpectation("darkslateblue", false), peg$c641 = function () { return '#483d8bff'; }, peg$c642 = "DarkSlateBlue", peg$c643 = peg$literalExpectation("DarkSlateBlue", false), peg$c644 = "darkslategray", peg$c645 = peg$literalExpectation("darkslategray", false), peg$c646 = function () { return '#2f4f4fff'; }, peg$c647 = "DarkSlateGray", peg$c648 = peg$literalExpectation("DarkSlateGray", false), peg$c649 = "darkslategrey", peg$c650 = peg$literalExpectation("darkslategrey", false), peg$c651 = "DarkSlateGrey", peg$c652 = peg$literalExpectation("DarkSlateGrey", false), peg$c653 = "darkturquoise", peg$c654 = peg$literalExpectation("darkturquoise", false), peg$c655 = function () { return '#00ced1ff'; }, peg$c656 = "DarkTurquoise", peg$c657 = peg$literalExpectation("DarkTurquoise", false), peg$c658 = "darkviolet", peg$c659 = peg$literalExpectation("darkviolet", false), peg$c660 = function () { return '#9400d3ff'; }, peg$c661 = "DarkViolet", peg$c662 = peg$literalExpectation("DarkViolet", false), peg$c663 = "deeppink", peg$c664 = peg$literalExpectation("deeppink", false), peg$c665 = function () { return '#ff1493ff'; }, peg$c666 = "DeepPink", peg$c667 = peg$literalExpectation("DeepPink", false), peg$c668 = "deepskyblue", peg$c669 = peg$literalExpectation("deepskyblue", false), peg$c670 = function () { return '#00bfffff'; }, peg$c671 = "DeepSkyBlue", peg$c672 = peg$literalExpectation("DeepSkyBlue", false), peg$c673 = "dimgray", peg$c674 = peg$literalExpectation("dimgray", false), peg$c675 = function () { return '#696969ff'; }, peg$c676 = "DimGray", peg$c677 = peg$literalExpectation("DimGray", false), peg$c678 = "dimgrey", peg$c679 = peg$literalExpectation("dimgrey", false), peg$c680 = "DimGrey", peg$c681 = peg$literalExpectation("DimGrey", false), peg$c682 = "dodgerblue", peg$c683 = peg$literalExpectation("dodgerblue", false), peg$c684 = function () { return '#1e90ffff'; }, peg$c685 = "DodgerBlue", peg$c686 = peg$literalExpectation("DodgerBlue", false), peg$c687 = "firebrick", peg$c688 = peg$literalExpectation("firebrick", false), peg$c689 = function () { return '#b22222ff'; }, peg$c690 = "FireBrick", peg$c691 = peg$literalExpectation("FireBrick", false), peg$c692 = "floralwhite", peg$c693 = peg$literalExpectation("floralwhite", false), peg$c694 = function () { return '#fffaf0ff'; }, peg$c695 = "FloralWhite", peg$c696 = peg$literalExpectation("FloralWhite", false), peg$c697 = "forestgreen", peg$c698 = peg$literalExpectation("forestgreen", false), peg$c699 = function () { return '#228b22ff'; }, peg$c700 = "ForestGreen", peg$c701 = peg$literalExpectation("ForestGreen", false), peg$c702 = "fuchsia", peg$c703 = peg$literalExpectation("fuchsia", false), peg$c704 = function () { return '#ff00ffff'; }, peg$c705 = "Fuchsia", peg$c706 = peg$literalExpectation("Fuchsia", false), peg$c707 = "gainsboro", peg$c708 = peg$literalExpectation("gainsboro", false), peg$c709 = function () { return '#dcdcdcff'; }, peg$c710 = "Gainsboro", peg$c711 = peg$literalExpectation("Gainsboro", false), peg$c712 = "ghostwhite", peg$c713 = peg$literalExpectation("ghostwhite", false), peg$c714 = function () { return '#f8f8ffff'; }, peg$c715 = "GhostWhite", peg$c716 = peg$literalExpectation("GhostWhite", false), peg$c717 = "goldenrod", peg$c718 = peg$literalExpectation("goldenrod", false), peg$c719 = function () { return '#daa520ff'; }, peg$c720 = "GoldenRod", peg$c721 = peg$literalExpectation("GoldenRod", false), peg$c722 = "gold", peg$c723 = peg$literalExpectation("gold", false), peg$c724 = function () { return '#ffd700ff'; }, peg$c725 = "Gold", peg$c726 = peg$literalExpectation("Gold", false), peg$c727 = "gray", peg$c728 = peg$literalExpectation("gray", false), peg$c729 = function () { return '#808080ff'; }, peg$c730 = "Gray", peg$c731 = peg$literalExpectation("Gray", false), peg$c732 = "grey", peg$c733 = peg$literalExpectation("grey", false), peg$c734 = "Grey", peg$c735 = peg$literalExpectation("Grey", false), peg$c736 = "greenyellow", peg$c737 = peg$literalExpectation("greenyellow", false), peg$c738 = function () { return '#adff2fff'; }, peg$c739 = "GreenYellow", peg$c740 = peg$literalExpectation("GreenYellow", false), peg$c741 = "green", peg$c742 = peg$literalExpectation("green", false), peg$c743 = function () { return '#008000ff'; }, peg$c744 = "Green", peg$c745 = peg$literalExpectation("Green", false), peg$c746 = "honeydew", peg$c747 = peg$literalExpectation("honeydew", false), peg$c748 = function () { return '#f0fff0ff'; }, peg$c749 = "HoneyDew", peg$c750 = peg$literalExpectation("HoneyDew", false), peg$c751 = "hotpink", peg$c752 = peg$literalExpectation("hotpink", false), peg$c753 = function () { return '#ff69b4ff'; }, peg$c754 = "HotPink", peg$c755 = peg$literalExpectation("HotPink", false), peg$c756 = "indianred", peg$c757 = peg$literalExpectation("indianred", false), peg$c758 = function () { return '#cd5c5cff'; }, peg$c759 = "IndianRed", peg$c760 = peg$literalExpectation("IndianRed", false), peg$c761 = "indigo", peg$c762 = peg$literalExpectation("indigo", false), peg$c763 = function () { return '#4b0082ff'; }, peg$c764 = "Indigo", peg$c765 = peg$literalExpectation("Indigo", false), peg$c766 = "ivory", peg$c767 = peg$literalExpectation("ivory", false), peg$c768 = function () { return '#fffff0ff'; }, peg$c769 = "Ivory", peg$c770 = peg$literalExpectation("Ivory", false), peg$c771 = "khaki", peg$c772 = peg$literalExpectation("khaki", false), peg$c773 = function () { return '#f0e68cff'; }, peg$c774 = "Khaki", peg$c775 = peg$literalExpectation("Khaki", false), peg$c776 = "lavenderblush", peg$c777 = peg$literalExpectation("lavenderblush", false), peg$c778 = function () { return '#fff0f5ff'; }, peg$c779 = "LavenderBlush", peg$c780 = peg$literalExpectation("LavenderBlush", false), peg$c781 = "lavender", peg$c782 = peg$literalExpectation("lavender", false), peg$c783 = function () { return '#e6e6faff'; }, peg$c784 = "Lavender", peg$c785 = peg$literalExpectation("Lavender", false), peg$c786 = "lawngreen", peg$c787 = peg$literalExpectation("lawngreen", false), peg$c788 = function () { return '#7cfc00ff'; }, peg$c789 = "LawnGreen", peg$c790 = peg$literalExpectation("LawnGreen", false), peg$c791 = "lemonchiffon", peg$c792 = peg$literalExpectation("lemonchiffon", false), peg$c793 = function () { return '#fffacdff'; }, peg$c794 = "LemonChiffon", peg$c795 = peg$literalExpectation("LemonChiffon", false), peg$c796 = "lightblue", peg$c797 = peg$literalExpectation("lightblue", false), peg$c798 = function () { return '#add8e6ff'; }, peg$c799 = "LightBlue", peg$c800 = peg$literalExpectation("LightBlue", false), peg$c801 = "lightcoral", peg$c802 = peg$literalExpectation("lightcoral", false), peg$c803 = function () { return '#f08080ff'; }, peg$c804 = "LightCoral", peg$c805 = peg$literalExpectation("LightCoral", false), peg$c806 = "lightcyan", peg$c807 = peg$literalExpectation("lightcyan", false), peg$c808 = function () { return '#e0ffffff'; }, peg$c809 = "LightCyan", peg$c810 = peg$literalExpectation("LightCyan", false), peg$c811 = "lightgoldenrodyellow", peg$c812 = peg$literalExpectation("lightgoldenrodyellow", false), peg$c813 = function () { return '#fafad2ff'; }, peg$c814 = "LightGoldenRodYellow", peg$c815 = peg$literalExpectation("LightGoldenRodYellow", false), peg$c816 = "lightgray", peg$c817 = peg$literalExpectation("lightgray", false), peg$c818 = function () { return '#d3d3d3ff'; }, peg$c819 = "LightGray", peg$c820 = peg$literalExpectation("LightGray", false), peg$c821 = "lightgrey", peg$c822 = peg$literalExpectation("lightgrey", false), peg$c823 = "LightGrey", peg$c824 = peg$literalExpectation("LightGrey", false), peg$c825 = "lightgreen", peg$c826 = peg$literalExpectation("lightgreen", false), peg$c827 = function () { return '#90ee90ff'; }, peg$c828 = "LightGreen", peg$c829 = peg$literalExpectation("LightGreen", false), peg$c830 = "lightpink", peg$c831 = peg$literalExpectation("lightpink", false), peg$c832 = function () { return '#ffb6c1ff'; }, peg$c833 = "LightPink", peg$c834 = peg$literalExpectation("LightPink", false), peg$c835 = "lightsalmon", peg$c836 = peg$literalExpectation("lightsalmon", false), peg$c837 = function () { return '#ffa07aff'; }, peg$c838 = "LightSalmon", peg$c839 = peg$literalExpectation("LightSalmon", false), peg$c840 = "lightseagreen", peg$c841 = peg$literalExpectation("lightseagreen", false), peg$c842 = function () { return '#20b2aaff'; }, peg$c843 = "LightSeaGreen", peg$c844 = peg$literalExpectation("LightSeaGreen", false), peg$c845 = "lightskyblue", peg$c846 = peg$literalExpectation("lightskyblue", false), peg$c847 = function () { return '#87cefaff'; }, peg$c848 = "LightSkyBlue", peg$c849 = peg$literalExpectation("LightSkyBlue", false), peg$c850 = "lightslategray", peg$c851 = peg$literalExpectation("lightslategray", false), peg$c852 = function () { return '#778899ff'; }, peg$c853 = "LightSlateGray", peg$c854 = peg$literalExpectation("LightSlateGray", false), peg$c855 = "lightslategrey", peg$c856 = peg$literalExpectation("lightslategrey", false), peg$c857 = "LightSlateGrey", peg$c858 = peg$literalExpectation("LightSlateGrey", false), peg$c859 = "lightsteelblue", peg$c860 = peg$literalExpectation("lightsteelblue", false), peg$c861 = function () { return '#b0c4deff'; }, peg$c862 = "LightSteelBlue", peg$c863 = peg$literalExpectation("LightSteelBlue", false), peg$c864 = "lightyellow", peg$c865 = peg$literalExpectation("lightyellow", false), peg$c866 = function () { return '#ffffe0ff'; }, peg$c867 = "LightYellow", peg$c868 = peg$literalExpectation("LightYellow", false), peg$c869 = "limegreen", peg$c870 = peg$literalExpectation("limegreen", false), peg$c871 = function () { return '#32cd32ff'; }, peg$c872 = "LimeGreen", peg$c873 = peg$literalExpectation("LimeGreen", false), peg$c874 = "lime", peg$c875 = peg$literalExpectation("lime", false), peg$c876 = function () { return '#00ff00ff'; }, peg$c877 = "Lime", peg$c878 = peg$literalExpectation("Lime", false), peg$c879 = "linen", peg$c880 = peg$literalExpectation("linen", false), peg$c881 = function () { return '#faf0e6ff'; }, peg$c882 = "Linen", peg$c883 = peg$literalExpectation("Linen", false), peg$c884 = "magenta", peg$c885 = peg$literalExpectation("magenta", false), peg$c886 = "Magenta", peg$c887 = peg$literalExpectation("Magenta", false), peg$c888 = "maroon", peg$c889 = peg$literalExpectation("maroon", false), peg$c890 = function () { return '#800000ff'; }, peg$c891 = "Maroon", peg$c892 = peg$literalExpectation("Maroon", false), peg$c893 = "mediumaquamarine", peg$c894 = peg$literalExpectation("mediumaquamarine", false), peg$c895 = function () { return '#66cdaaff'; }, peg$c896 = "MediumAquaMarine", peg$c897 = peg$literalExpectation("MediumAquaMarine", false), peg$c898 = "mediumblue", peg$c899 = peg$literalExpectation("mediumblue", false), peg$c900 = function () { return '#0000cdff'; }, peg$c901 = "MediumBlue", peg$c902 = peg$literalExpectation("MediumBlue", false), peg$c903 = "mediumorchid", peg$c904 = peg$literalExpectation("mediumorchid", false), peg$c905 = function () { return '#ba55d3ff'; }, peg$c906 = "MediumOrchid", peg$c907 = peg$literalExpectation("MediumOrchid", false), peg$c908 = "mediumpurple", peg$c909 = peg$literalExpectation("mediumpurple", false), peg$c910 = function () { return '#9370d8ff'; }, peg$c911 = "MediumPurple", peg$c912 = peg$literalExpectation("MediumPurple", false), peg$c913 = "mediumseagreen", peg$c914 = peg$literalExpectation("mediumseagreen", false), peg$c915 = function () { return '#3cb371ff'; }, peg$c916 = "MediumSeaGreen", peg$c917 = peg$literalExpectation("MediumSeaGreen", false), peg$c918 = "mediumslateblue", peg$c919 = peg$literalExpectation("mediumslateblue", false), peg$c920 = function () { return '#7b68eeff'; }, peg$c921 = "MediumSlateBlue", peg$c922 = peg$literalExpectation("MediumSlateBlue", false), peg$c923 = "mediumspringgreen", peg$c924 = peg$literalExpectation("mediumspringgreen", false), peg$c925 = function () { return '#00fa9aff'; }, peg$c926 = "MediumSpringGreen", peg$c927 = peg$literalExpectation("MediumSpringGreen", false), peg$c928 = "mediumturquoise", peg$c929 = peg$literalExpectation("mediumturquoise", false), peg$c930 = function () { return '#48d1ccff'; }, peg$c931 = "MediumTurquoise", peg$c932 = peg$literalExpectation("MediumTurquoise", false), peg$c933 = "mediumvioletred", peg$c934 = peg$literalExpectation("mediumvioletred", false), peg$c935 = function () { return '#c71585ff'; }, peg$c936 = "MediumVioletRed", peg$c937 = peg$literalExpectation("MediumVioletRed", false), peg$c938 = "midnightblue", peg$c939 = peg$literalExpectation("midnightblue", false), peg$c940 = function () { return '#191970ff'; }, peg$c941 = "MidnightBlue", peg$c942 = peg$literalExpectation("MidnightBlue", false), peg$c943 = "mintcream", peg$c944 = peg$literalExpectation("mintcream", false), peg$c945 = function () { return '#f5fffaff'; }, peg$c946 = "MintCream", peg$c947 = peg$literalExpectation("MintCream", false), peg$c948 = "mistyrose", peg$c949 = peg$literalExpectation("mistyrose", false), peg$c950 = function () { return '#ffe4e1ff'; }, peg$c951 = "MistyRose", peg$c952 = peg$literalExpectation("MistyRose", false), peg$c953 = "moccasin", peg$c954 = peg$literalExpectation("moccasin", false), peg$c955 = function () { return '#ffe4b5ff'; }, peg$c956 = "Moccasin", peg$c957 = peg$literalExpectation("Moccasin", false), peg$c958 = "navajowhite", peg$c959 = peg$literalExpectation("navajowhite", false), peg$c960 = function () { return '#ffdeadff'; }, peg$c961 = "NavajoWhite", peg$c962 = peg$literalExpectation("NavajoWhite", false), peg$c963 = "navy", peg$c964 = peg$literalExpectation("navy", false), peg$c965 = function () { return '#000080ff'; }, peg$c966 = "Navy", peg$c967 = peg$literalExpectation("Navy", false), peg$c968 = "oldlace", peg$c969 = peg$literalExpectation("oldlace", false), peg$c970 = function () { return '#fdf5e6ff'; }, peg$c971 = "OldLace", peg$c972 = peg$literalExpectation("OldLace", false), peg$c973 = "olivedrab", peg$c974 = peg$literalExpectation("olivedrab", false), peg$c975 = function () { return '#6b8e23ff'; }, peg$c976 = "OliveDrab", peg$c977 = peg$literalExpectation("OliveDrab", false), peg$c978 = "olive", peg$c979 = peg$literalExpectation("olive", false), peg$c980 = function () { return '#808000ff'; }, peg$c981 = "Olive", peg$c982 = peg$literalExpectation("Olive", false), peg$c983 = "orangered", peg$c984 = peg$literalExpectation("orangered", false), peg$c985 = function () { return '#ff4500ff'; }, peg$c986 = "OrangeRed", peg$c987 = peg$literalExpectation("OrangeRed", false), peg$c988 = "orange", peg$c989 = peg$literalExpectation("orange", false), peg$c990 = function () { return '#ffa500ff'; }, peg$c991 = "Orange", peg$c992 = peg$literalExpectation("Orange", false), peg$c993 = "orchid", peg$c994 = peg$literalExpectation("orchid", false), peg$c995 = function () { return '#da70d6ff'; }, peg$c996 = "Orchid", peg$c997 = peg$literalExpectation("Orchid", false), peg$c998 = "palegoldenrod", peg$c999 = peg$literalExpectation("palegoldenrod", false), peg$c1000 = function () { return '#eee8aaff'; }, peg$c1001 = "PaleGoldenRod", peg$c1002 = peg$literalExpectation("PaleGoldenRod", false), peg$c1003 = "palegreen", peg$c1004 = peg$literalExpectation("palegreen", false), peg$c1005 = function () { return '#98fb98ff'; }, peg$c1006 = "PaleGreen", peg$c1007 = peg$literalExpectation("PaleGreen", false), peg$c1008 = "paleturquoise", peg$c1009 = peg$literalExpectation("paleturquoise", false), peg$c1010 = function () { return '#afeeeeff'; }, peg$c1011 = "PaleTurquoise", peg$c1012 = peg$literalExpectation("PaleTurquoise", false), peg$c1013 = "palevioletred", peg$c1014 = peg$literalExpectation("palevioletred", false), peg$c1015 = function () { return '#d87093ff'; }, peg$c1016 = "PaleVioletRed", peg$c1017 = peg$literalExpectation("PaleVioletRed", false), peg$c1018 = "papayawhip", peg$c1019 = peg$literalExpectation("papayawhip", false), peg$c1020 = function () { return '#ffefd5ff'; }, peg$c1021 = "PapayaWhip", peg$c1022 = peg$literalExpectation("PapayaWhip", false), peg$c1023 = "peachpuff", peg$c1024 = peg$literalExpectation("peachpuff", false), peg$c1025 = function () { return '#ffdab9ff'; }, peg$c1026 = "PeachPuff", peg$c1027 = peg$literalExpectation("PeachPuff", false), peg$c1028 = "peru", peg$c1029 = peg$literalExpectation("peru", false), peg$c1030 = function () { return '#cd853fff'; }, peg$c1031 = "Peru", peg$c1032 = peg$literalExpectation("Peru", false), peg$c1033 = "pink", peg$c1034 = peg$literalExpectation("pink", false), peg$c1035 = function () { return '#ffc0cbff'; }, peg$c1036 = "Pink", peg$c1037 = peg$literalExpectation("Pink", false), peg$c1038 = "plum", peg$c1039 = peg$literalExpectation("plum", false), peg$c1040 = function () { return '#dda0ddff'; }, peg$c1041 = "Plum", peg$c1042 = peg$literalExpectation("Plum", false), peg$c1043 = "powderblue", peg$c1044 = peg$literalExpectation("powderblue", false), peg$c1045 = function () { return '#b0e0e6ff'; }, peg$c1046 = "PowderBlue", peg$c1047 = peg$literalExpectation("PowderBlue", false), peg$c1048 = "purple", peg$c1049 = peg$literalExpectation("purple", false), peg$c1050 = function () { return '#800080ff'; }, peg$c1051 = "Purple", peg$c1052 = peg$literalExpectation("Purple", false), peg$c1053 = "red", peg$c1054 = peg$literalExpectation("red", false), peg$c1055 = function () { return '#ff0000ff'; }, peg$c1056 = "Red", peg$c1057 = peg$literalExpectation("Red", false), peg$c1058 = "rosybrown", peg$c1059 = peg$literalExpectation("rosybrown", false), peg$c1060 = function () { return '#bc8f8fff'; }, peg$c1061 = "RosyBrown", peg$c1062 = peg$literalExpectation("RosyBrown", false), peg$c1063 = "royalblue", peg$c1064 = peg$literalExpectation("royalblue", false), peg$c1065 = function () { return '#4169e1ff'; }, peg$c1066 = "RoyalBlue", peg$c1067 = peg$literalExpectation("RoyalBlue", false), peg$c1068 = "saddlebrown", peg$c1069 = peg$literalExpectation("saddlebrown", false), peg$c1070 = function () { return '#8b4513ff'; }, peg$c1071 = "SaddleBrown", peg$c1072 = peg$literalExpectation("SaddleBrown", false), peg$c1073 = "salmon", peg$c1074 = peg$literalExpectation("salmon", false), peg$c1075 = function () { return '#fa8072ff'; }, peg$c1076 = "Salmon", peg$c1077 = peg$literalExpectation("Salmon", false), peg$c1078 = "sandybrown", peg$c1079 = peg$literalExpectation("sandybrown", false), peg$c1080 = function () { return '#f4a460ff'; }, peg$c1081 = "SandyBrown", peg$c1082 = peg$literalExpectation("SandyBrown", false), peg$c1083 = "seagreen", peg$c1084 = peg$literalExpectation("seagreen", false), peg$c1085 = function () { return '#2e8b57ff'; }, peg$c1086 = "SeaGreen", peg$c1087 = peg$literalExpectation("SeaGreen", false), peg$c1088 = "seashell", peg$c1089 = peg$literalExpectation("seashell", false), peg$c1090 = function () { return '#fff5eeff'; }, peg$c1091 = "SeaShell", peg$c1092 = peg$literalExpectation("SeaShell", false), peg$c1093 = "sienna", peg$c1094 = peg$literalExpectation("sienna", false), peg$c1095 = function () { return '#a0522dff'; }, peg$c1096 = "Sienna", peg$c1097 = peg$literalExpectation("Sienna", false), peg$c1098 = "silver", peg$c1099 = peg$literalExpectation("silver", false), peg$c1100 = function () { return '#c0c0c0ff'; }, peg$c1101 = "Silver", peg$c1102 = peg$literalExpectation("Silver", false), peg$c1103 = "skyblue", peg$c1104 = peg$literalExpectation("skyblue", false), peg$c1105 = function () { return '#87ceebff'; }, peg$c1106 = "SkyBlue", peg$c1107 = peg$literalExpectation("SkyBlue", false), peg$c1108 = "slateblue", peg$c1109 = peg$literalExpectation("slateblue", false), peg$c1110 = function () { return '#6a5acdff'; }, peg$c1111 = "SlateBlue", peg$c1112 = peg$literalExpectation("SlateBlue", false), peg$c1113 = "slategray", peg$c1114 = peg$literalExpectation("slategray", false), peg$c1115 = function () { return '#708090ff'; }, peg$c1116 = "SlateGray", peg$c1117 = peg$literalExpectation("SlateGray", false), peg$c1118 = "slategrey", peg$c1119 = peg$literalExpectation("slategrey", false), peg$c1120 = "SlateGrey", peg$c1121 = peg$literalExpectation("SlateGrey", false), peg$c1122 = "snow", peg$c1123 = peg$literalExpectation("snow", false), peg$c1124 = function () { return '#fffafaff'; }, peg$c1125 = "Snow", peg$c1126 = peg$literalExpectation("Snow", false), peg$c1127 = "springgreen", peg$c1128 = peg$literalExpectation("springgreen", false), peg$c1129 = function () { return '#00ff7fff'; }, peg$c1130 = "SpringGreen", peg$c1131 = peg$literalExpectation("SpringGreen", false), peg$c1132 = "steelblue", peg$c1133 = peg$literalExpectation("steelblue", false), peg$c1134 = function () { return '#4682b4ff'; }, peg$c1135 = "SteelBlue", peg$c1136 = peg$literalExpectation("SteelBlue", false), peg$c1137 = "tan", peg$c1138 = peg$literalExpectation("tan", false), peg$c1139 = function () { return '#d2b48cff'; }, peg$c1140 = "Tan", peg$c1141 = peg$literalExpectation("Tan", false), peg$c1142 = "teal", peg$c1143 = peg$literalExpectation("teal", false), peg$c1144 = function () { return '#008080ff'; }, peg$c1145 = "Teal", peg$c1146 = peg$literalExpectation("Teal", false), peg$c1147 = "thistle", peg$c1148 = peg$literalExpectation("thistle", false), peg$c1149 = function () { return '#d8bfd8ff'; }, peg$c1150 = "Thistle", peg$c1151 = peg$literalExpectation("Thistle", false), peg$c1152 = "tomato", peg$c1153 = peg$literalExpectation("tomato", false), peg$c1154 = function () { return '#ff6347ff'; }, peg$c1155 = "Tomato", peg$c1156 = peg$literalExpectation("Tomato", false), peg$c1157 = "turquoise", peg$c1158 = peg$literalExpectation("turquoise", false), peg$c1159 = function () { return '#40e0d0ff'; }, peg$c1160 = "Turquoise", peg$c1161 = peg$literalExpectation("Turquoise", false), peg$c1162 = "violet", peg$c1163 = peg$literalExpectation("violet", false), peg$c1164 = function () { return '#ee82eeff'; }, peg$c1165 = "Violet", peg$c1166 = peg$literalExpectation("Violet", false), peg$c1167 = "wheat", peg$c1168 = peg$literalExpectation("wheat", false), peg$c1169 = function () { return '#f5deb3ff'; }, peg$c1170 = "Wheat", peg$c1171 = peg$literalExpectation("Wheat", false), peg$c1172 = "whitesmoke", peg$c1173 = peg$literalExpectation("whitesmoke", false), peg$c1174 = function () { return '#f5f5f5ff'; }, peg$c1175 = "WhiteSmoke", peg$c1176 = peg$literalExpectation("WhiteSmoke", false), peg$c1177 = "white", peg$c1178 = peg$literalExpectation("white", false), peg$c1179 = function () { return '#ffffffff'; }, peg$c1180 = "White", peg$c1181 = peg$literalExpectation("White", false), peg$c1182 = "yellowgreen", peg$c1183 = peg$literalExpectation("yellowgreen", false), peg$c1184 = function () { return '#9acd32ff'; }, peg$c1185 = "YellowGreen", peg$c1186 = peg$literalExpectation("YellowGreen", false), peg$c1187 = "yellow", peg$c1188 = peg$literalExpectation("yellow", false), peg$c1189 = function () { return '#ffff00ff'; }, peg$c1190 = "Yellow", peg$c1191 = peg$literalExpectation("Yellow", false), peg$c1192 = function (lab) { return lab; }, peg$c1193 = "#", peg$c1194 = peg$literalExpectation("#", false), peg$c1195 = function (r, g, b) {
345
359
  return `#${r}${r}${g}${g}${b}${b}ff`;
346
360
  }, peg$c1196 = function (r1, r2, g1, g2, b1, b2) {
@@ -349,10 +363,67 @@ function peg$parse(input, options) {
349
363
  return `#${r}${r}${g}${g}${b}${b}${a}${a}`;
350
364
  }, peg$c1198 = function (r1, r2, g1, g2, b1, b2, a1, a2) {
351
365
  return `#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`;
352
- }, peg$c1199 = peg$otherExpectation("color"), peg$c1200 = "arc_label", peg$c1201 = peg$literalExpectation("arc_label", false), peg$c1202 = "head_label", peg$c1203 = peg$literalExpectation("head_label", false), peg$c1204 = "tail_label", peg$c1205 = peg$literalExpectation("tail_label", false), peg$c1206 = ":", peg$c1207 = peg$literalExpectation(":", false), peg$c1208 = ";", peg$c1209 = peg$literalExpectation(";", false), peg$c1210 = function (key, value) { return { key: key, value: value }; }, peg$c1211 = peg$otherExpectation("single edge color"), peg$c1212 = "edge-color", peg$c1213 = peg$literalExpectation("edge-color", false), peg$c1214 = function (value) { return { key: 'single_edge_color', value: value }; }, peg$c1215 = "edge_color", peg$c1216 = peg$literalExpectation("edge_color", false), peg$c1217 = peg$otherExpectation("transition line style"), peg$c1218 = "line-style", peg$c1219 = peg$literalExpectation("line-style", false), peg$c1220 = function (value) { return { key: 'transition_line_style', value: value }; }, peg$c1221 = "{", peg$c1222 = peg$literalExpectation("{", false), peg$c1223 = "}", peg$c1224 = peg$literalExpectation("}", false), peg$c1225 = function (items) { return items; }, peg$c1226 = "%", peg$c1227 = peg$literalExpectation("%", false), peg$c1228 = function (value) { return { key: 'arrow probability', value: value }; }, peg$c1229 = "milliseconds", peg$c1230 = peg$literalExpectation("milliseconds", false), peg$c1231 = function () { return 1; }, peg$c1232 = "millisecond", peg$c1233 = peg$literalExpectation("millisecond", false), peg$c1234 = "msecs", peg$c1235 = peg$literalExpectation("msecs", false), peg$c1236 = "msec", peg$c1237 = peg$literalExpectation("msec", false), peg$c1238 = "ms", peg$c1239 = peg$literalExpectation("ms", false), peg$c1240 = "seconds", peg$c1241 = peg$literalExpectation("seconds", false), peg$c1242 = function () { return 1000; }, peg$c1243 = "second", peg$c1244 = peg$literalExpectation("second", false), peg$c1245 = "secs", peg$c1246 = peg$literalExpectation("secs", false), peg$c1247 = "sec", peg$c1248 = peg$literalExpectation("sec", false), peg$c1249 = "s", peg$c1250 = peg$literalExpectation("s", false), peg$c1251 = "minutes", peg$c1252 = peg$literalExpectation("minutes", false), peg$c1253 = function () { return 1000 * 60; }, peg$c1254 = "minute", peg$c1255 = peg$literalExpectation("minute", false), peg$c1256 = "mins", peg$c1257 = peg$literalExpectation("mins", false), peg$c1258 = "min", peg$c1259 = peg$literalExpectation("min", false), peg$c1260 = "m", peg$c1261 = peg$literalExpectation("m", false), peg$c1262 = "hours", peg$c1263 = peg$literalExpectation("hours", false), peg$c1264 = function () { return 1000 * 60 * 60; }, peg$c1265 = "hour", peg$c1266 = peg$literalExpectation("hour", false), peg$c1267 = "hrs", peg$c1268 = peg$literalExpectation("hrs", false), peg$c1269 = "hr", peg$c1270 = peg$literalExpectation("hr", false), peg$c1271 = "h", peg$c1272 = peg$literalExpectation("h", false), peg$c1273 = "days", peg$c1274 = peg$literalExpectation("days", false), peg$c1275 = function () { return 1000 * 60 * 60 * 24; }, peg$c1276 = "day", peg$c1277 = peg$literalExpectation("day", false), peg$c1278 = "d", peg$c1279 = peg$literalExpectation("d", false), peg$c1280 = "weeks", peg$c1281 = peg$literalExpectation("weeks", false), peg$c1282 = function () { return 1000 * 60 * 60 * 24 * 7; }, peg$c1283 = "week", peg$c1284 = peg$literalExpectation("week", false), peg$c1285 = "wks", peg$c1286 = peg$literalExpectation("wks", false), peg$c1287 = "wk", peg$c1288 = peg$literalExpectation("wk", false), peg$c1289 = "w", peg$c1290 = peg$literalExpectation("w", false), peg$c1291 = "after", peg$c1292 = peg$literalExpectation("after", false), peg$c1293 = function (value, timescale) { return value * (timescale || 1000); }, peg$c1294 = function (names) { return names.map(i => i[0]); }, peg$c1295 = "+|", peg$c1296 = peg$literalExpectation("+|", false), peg$c1297 = function (n) { return { key: 'stripe', value: parseInt(n, 10) }; }, peg$c1298 = "-|", peg$c1299 = peg$literalExpectation("-|", false), peg$c1300 = function (n) { return { key: 'stripe', value: -1 * parseInt(n, 10) }; }, peg$c1301 = "+", peg$c1302 = peg$literalExpectation("+", false), peg$c1303 = function (n) { return { key: 'cycle', value: parseInt(n, 10) }; }, peg$c1304 = "-", peg$c1305 = peg$literalExpectation("-", false), peg$c1306 = function (n) { return { key: 'cycle', value: -1 * parseInt(n, 10) }; }, peg$c1307 = "+0", peg$c1308 = peg$literalExpectation("+0", false), peg$c1309 = function () { return { key: 'cycle', value: 0 }; }, peg$c1310 = function (v) { return { _kind: 'after', v: v }; }, peg$c1311 = function (v) { return { _kind: 'action', v: v }; }, peg$c1312 = function (v) { return { _kind: 'prob', v: v }; }, peg$c1313 = function (v) { return { _kind: 'desc', v: v }; }, peg$c1314 = function (d) { return d; }, peg$c1315 = function (pre, arrow, post, label, tail) {
366
+ }, peg$c1199 = peg$otherExpectation("color"), peg$c1200 = "arc_label", peg$c1201 = peg$literalExpectation("arc_label", false), peg$c1202 = "head_label", peg$c1203 = peg$literalExpectation("head_label", false), peg$c1204 = "tail_label", peg$c1205 = peg$literalExpectation("tail_label", false), peg$c1206 = ":", peg$c1207 = peg$literalExpectation(":", false), peg$c1208 = ";", peg$c1209 = peg$literalExpectation(";", false), peg$c1210 = function (key, value) {
367
+ const node = { key: key, value: value };
368
+ if (options.locations) {
369
+ node.loc = location();
370
+ }
371
+ return node;
372
+ }, peg$c1211 = peg$otherExpectation("single edge color"), peg$c1212 = "edge-color", peg$c1213 = peg$literalExpectation("edge-color", false), peg$c1214 = function (v) { return options.locations ? { __v: v, __loc: location() } : v; }, peg$c1215 = function (value) {
373
+ const raw = options.locations ? value.__v : value;
374
+ const node = { key: 'single_edge_color', value: raw };
375
+ if (options.locations) {
376
+ node.loc = location();
377
+ node.value_loc = value.__loc;
378
+ }
379
+ return node;
380
+ }, peg$c1216 = "edge_color", peg$c1217 = peg$literalExpectation("edge_color", false), peg$c1218 = peg$otherExpectation("transition line style"), peg$c1219 = "line-style", peg$c1220 = peg$literalExpectation("line-style", false), peg$c1221 = function (value) {
381
+ const node = { key: 'transition_line_style', value: value };
382
+ if (options.locations) {
383
+ node.loc = location();
384
+ }
385
+ return node;
386
+ }, peg$c1222 = "{", peg$c1223 = peg$literalExpectation("{", false), peg$c1224 = "}", peg$c1225 = peg$literalExpectation("}", false), peg$c1226 = function (items) { return items; }, peg$c1227 = "%", peg$c1228 = peg$literalExpectation("%", false), peg$c1229 = function (value) {
387
+ const node = { key: 'arrow probability', value: value };
388
+ if (options.locations) {
389
+ node.loc = location();
390
+ }
391
+ return node;
392
+ }, peg$c1230 = "milliseconds", peg$c1231 = peg$literalExpectation("milliseconds", false), peg$c1232 = function () { return 1; }, peg$c1233 = "millisecond", peg$c1234 = peg$literalExpectation("millisecond", false), peg$c1235 = "msecs", peg$c1236 = peg$literalExpectation("msecs", false), peg$c1237 = "msec", peg$c1238 = peg$literalExpectation("msec", false), peg$c1239 = "ms", peg$c1240 = peg$literalExpectation("ms", false), peg$c1241 = "seconds", peg$c1242 = peg$literalExpectation("seconds", false), peg$c1243 = function () { return 1000; }, peg$c1244 = "second", peg$c1245 = peg$literalExpectation("second", false), peg$c1246 = "secs", peg$c1247 = peg$literalExpectation("secs", false), peg$c1248 = "sec", peg$c1249 = peg$literalExpectation("sec", false), peg$c1250 = "s", peg$c1251 = peg$literalExpectation("s", false), peg$c1252 = "minutes", peg$c1253 = peg$literalExpectation("minutes", false), peg$c1254 = function () { return 1000 * 60; }, peg$c1255 = "minute", peg$c1256 = peg$literalExpectation("minute", false), peg$c1257 = "mins", peg$c1258 = peg$literalExpectation("mins", false), peg$c1259 = "min", peg$c1260 = peg$literalExpectation("min", false), peg$c1261 = "m", peg$c1262 = peg$literalExpectation("m", false), peg$c1263 = "hours", peg$c1264 = peg$literalExpectation("hours", false), peg$c1265 = function () { return 1000 * 60 * 60; }, peg$c1266 = "hour", peg$c1267 = peg$literalExpectation("hour", false), peg$c1268 = "hrs", peg$c1269 = peg$literalExpectation("hrs", false), peg$c1270 = "hr", peg$c1271 = peg$literalExpectation("hr", false), peg$c1272 = "h", peg$c1273 = peg$literalExpectation("h", false), peg$c1274 = "days", peg$c1275 = peg$literalExpectation("days", false), peg$c1276 = function () { return 1000 * 60 * 60 * 24; }, peg$c1277 = "day", peg$c1278 = peg$literalExpectation("day", false), peg$c1279 = "d", peg$c1280 = peg$literalExpectation("d", false), peg$c1281 = "weeks", peg$c1282 = peg$literalExpectation("weeks", false), peg$c1283 = function () { return 1000 * 60 * 60 * 24 * 7; }, peg$c1284 = "week", peg$c1285 = peg$literalExpectation("week", false), peg$c1286 = "wks", peg$c1287 = peg$literalExpectation("wks", false), peg$c1288 = "wk", peg$c1289 = peg$literalExpectation("wk", false), peg$c1290 = "w", peg$c1291 = peg$literalExpectation("w", false), peg$c1292 = "after", peg$c1293 = peg$literalExpectation("after", false), peg$c1294 = function (value, timescale) { return value * (timescale || 1000); }, peg$c1295 = function (names) { return names.map(i => i[0]); }, peg$c1296 = "+|", peg$c1297 = peg$literalExpectation("+|", false), peg$c1298 = function (n) {
393
+ const node = { key: 'stripe', value: parseInt(n, 10) };
394
+ if (options.locations) {
395
+ node.loc = location();
396
+ }
397
+ return node;
398
+ }, peg$c1299 = "-|", peg$c1300 = peg$literalExpectation("-|", false), peg$c1301 = function (n) {
399
+ const node = { key: 'stripe', value: -1 * parseInt(n, 10) };
400
+ if (options.locations) {
401
+ node.loc = location();
402
+ }
403
+ return node;
404
+ }, peg$c1302 = "+", peg$c1303 = peg$literalExpectation("+", false), peg$c1304 = function (n) {
405
+ const node = { key: 'cycle', value: parseInt(n, 10) };
406
+ if (options.locations) {
407
+ node.loc = location();
408
+ }
409
+ return node;
410
+ }, peg$c1305 = "-", peg$c1306 = peg$literalExpectation("-", false), peg$c1307 = function (n) {
411
+ const node = { key: 'cycle', value: -1 * parseInt(n, 10) };
412
+ if (options.locations) {
413
+ node.loc = location();
414
+ }
415
+ return node;
416
+ }, peg$c1308 = "+0", peg$c1309 = peg$literalExpectation("+0", false), peg$c1310 = function () {
417
+ const node = { key: 'cycle', value: 0 };
418
+ if (options.locations) {
419
+ node.loc = location();
420
+ }
421
+ return node;
422
+ }, peg$c1311 = function (v) { return { _kind: 'after', v: v }; }, peg$c1312 = function (v) { return { _kind: 'action', v: v, loc: location() }; }, peg$c1313 = function (v) { return { _kind: 'prob', v: v }; }, peg$c1314 = function (v) { return { _kind: 'desc', v: v }; }, peg$c1315 = function (d) { return d; }, peg$c1316 = function (pre, arrow, post, l) { return options.locations ? { __v: l, __loc: location() } : l; }, peg$c1317 = function (pre, arrow, post, label, tail) {
353
423
  // Reminder: remove this type and the one in Exp if you want to work in pegjs online
354
424
  // TODO: properly type this
355
- const base = { kind: arrow, to: label };
425
+ const toVal = options.locations ? label.__v : label;
426
+ const base = { kind: arrow, to: toVal };
356
427
  // AST field-name conventions inherited from the original
357
428
  // fixed-order rule:
358
429
  // pre-arrow: after→r_after action→r_action prob→r_probability desc→l_desc
@@ -372,6 +443,9 @@ function peg$parse(input, options) {
372
443
  }
373
444
  if (d._kind === 'action' && d.v != null) {
374
445
  base.r_action = d.v;
446
+ if (options.locations) {
447
+ base.r_action_loc = d.loc;
448
+ }
375
449
  }
376
450
  if (d._kind === 'prob' && d.v != null) {
377
451
  base.r_probability = d.v.value;
@@ -390,6 +464,9 @@ function peg$parse(input, options) {
390
464
  }
391
465
  if (d._kind === 'action' && d.v != null) {
392
466
  base.l_action = d.v;
467
+ if (options.locations) {
468
+ base.l_action_loc = d.loc;
469
+ }
393
470
  }
394
471
  if (d._kind === 'prob' && d.v != null) {
395
472
  base.l_probability = d.v.value;
@@ -401,38 +478,417 @@ function peg$parse(input, options) {
401
478
  if (tail) {
402
479
  base.se = tail;
403
480
  }
481
+ if (options.locations) {
482
+ base.loc = location();
483
+ base.to_loc = label.__loc;
484
+ }
404
485
  return base;
405
- }, peg$c1316 = function (label, se) {
486
+ }, peg$c1318 = function (l) { return options.locations ? { __v: l, __loc: location() } : l; }, peg$c1319 = function (label, se) {
406
487
  // Reminder: remove this type and the one in subexp if you want to work in pegjs online
407
488
  // TODO: properly type this
408
- const base = { key: 'transition', from: label };
489
+ const fromVal = options.locations ? label.__v : label;
490
+ const base = { key: 'transition', from: fromVal };
409
491
  if (se) {
410
492
  base.se = se;
411
493
  }
494
+ if (options.locations) {
495
+ base.loc = location();
496
+ base.from_loc = label.__loc;
497
+ }
412
498
  return base;
413
- }, peg$c1317 = "whargarbl", peg$c1318 = peg$literalExpectation("whargarbl", false), peg$c1319 = "todo", peg$c1320 = peg$literalExpectation("todo", false), peg$c1321 = function (validationkey, value) { return { key: validationkey, value: value }; }, peg$c1322 = "validation", peg$c1323 = peg$literalExpectation("validation", false), peg$c1324 = "};", peg$c1325 = peg$literalExpectation("};", false), peg$c1326 = function (validation_items) {
414
- return { config_kind: "validation", config_items: validation_items || [] };
415
- }, peg$c1327 = "dot", peg$c1328 = peg$literalExpectation("dot", false), peg$c1329 = "circo", peg$c1330 = peg$literalExpectation("circo", false), peg$c1331 = "fdp", peg$c1332 = peg$literalExpectation("fdp", false), peg$c1333 = "neato", peg$c1334 = peg$literalExpectation("neato", false), peg$c1335 = "twopi", peg$c1336 = peg$literalExpectation("twopi", false), peg$c1337 = "state", peg$c1338 = peg$literalExpectation("state", false), peg$c1339 = function (state_items) {
416
- return { key: "default_state_config", value: state_items || [] };
417
- }, peg$c1340 = "start_state", peg$c1341 = peg$literalExpectation("start_state", false), peg$c1342 = function (state_items) {
418
- return { key: "default_start_state_config", value: state_items || [] };
419
- }, peg$c1343 = "end_state", peg$c1344 = peg$literalExpectation("end_state", false), peg$c1345 = function (state_items) {
420
- return { key: "default_end_state_config", value: state_items || [] };
421
- }, peg$c1346 = "active_state", peg$c1347 = peg$literalExpectation("active_state", false), peg$c1348 = function (state_items) {
422
- return { key: "default_active_state_config", value: state_items || [] };
423
- }, peg$c1349 = "terminal_state", peg$c1350 = peg$literalExpectation("terminal_state", false), peg$c1351 = function (state_items) {
424
- return { key: "default_terminal_state_config", value: state_items || [] };
425
- }, peg$c1352 = "hooked_state", peg$c1353 = peg$literalExpectation("hooked_state", false), peg$c1354 = function (state_items) {
426
- return { key: "default_hooked_state_config", value: state_items || [] };
427
- }, peg$c1355 = function (actionkey, value) { return { key: actionkey, value: value }; }, peg$c1356 = "action", peg$c1357 = peg$literalExpectation("action", false), peg$c1358 = function (action_items) {
428
- return { config_kind: "action", config_items: action_items || [] };
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
- 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 = "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 = "height", peg$c1476 = peg$literalExpectation("height", false), peg$c1477 = function (n) { return { height: n }; }, peg$c1478 = function (w, h) { return { width: w, height: h }; }, peg$c1479 = function (w) { return { width: w }; }, peg$c1480 = "default_size", peg$c1481 = peg$literalExpectation("default_size", false), peg$c1482 = function (value) { return { key: "default_size", value }; }, peg$c1483 = peg$otherExpectation("machine attribute"), peg$c1484 = "label", peg$c1485 = peg$literalExpectation("label", false), peg$c1486 = function (value) { return { key: 'state-label', value }; }, peg$c1487 = "color", peg$c1488 = peg$literalExpectation("color", false), peg$c1489 = function (value) { return { key: 'color', value }; }, peg$c1490 = peg$otherExpectation("text color"), peg$c1491 = "text-color", peg$c1492 = peg$literalExpectation("text-color", false), peg$c1493 = function (value) { return { key: 'text-color', value }; }, peg$c1494 = peg$otherExpectation("background color"), peg$c1495 = "background-color", peg$c1496 = peg$literalExpectation("background-color", false), peg$c1497 = function (value) { return { key: 'background-color', value }; }, peg$c1498 = peg$otherExpectation("border color"), peg$c1499 = "border-color", peg$c1500 = peg$literalExpectation("border-color", false), peg$c1501 = function (value) { return { key: 'border-color', value }; }, peg$c1502 = peg$otherExpectation("shape"), peg$c1503 = "shape", peg$c1504 = peg$literalExpectation("shape", false), peg$c1505 = function (value) { return { key: 'shape', value }; }, peg$c1506 = peg$otherExpectation("corners"), peg$c1507 = "corners", peg$c1508 = peg$literalExpectation("corners", false), peg$c1509 = function (value) { return { key: 'corners', value }; }, peg$c1510 = peg$otherExpectation("linestyle"), peg$c1511 = function (value) { return { key: 'line-style', value }; }, peg$c1512 = "linestyle", peg$c1513 = peg$literalExpectation("linestyle", false), peg$c1514 = peg$otherExpectation("image"), peg$c1515 = "image", peg$c1516 = peg$literalExpectation("image", false), peg$c1517 = function (value) { return { key: 'image', value }; }, peg$c1518 = peg$otherExpectation("url"), peg$c1519 = "url", peg$c1520 = peg$literalExpectation("url", false), peg$c1521 = function (value) { return { key: 'url', value }; }, peg$c1522 = peg$otherExpectation("state property"), peg$c1523 = "property", peg$c1524 = peg$literalExpectation("property", false), peg$c1525 = function (name, value) {
432
- return { key: 'state_property', name, value };
433
- }, peg$c1526 = "required", peg$c1527 = peg$literalExpectation("required", false), peg$c1528 = function (name, value) {
434
- return { key: 'state_property', name, value, required: true };
435
- }, peg$c1529 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1530 = "&", peg$c1531 = peg$literalExpectation("&", false), peg$c1532 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1533 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1534 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1535 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1536 = function (name) { return { key: 'property_definition', name }; }, peg$c1537 = "arrange", peg$c1538 = peg$literalExpectation("arrange", false), peg$c1539 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1540 = "arrange-start", peg$c1541 = peg$literalExpectation("arrange-start", false), peg$c1542 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1543 = "arrange-end", peg$c1544 = peg$literalExpectation("arrange-end", false), peg$c1545 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1546 = 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;
499
+ }, peg$c1320 = "whargarbl", peg$c1321 = peg$literalExpectation("whargarbl", false), peg$c1322 = "todo", peg$c1323 = peg$literalExpectation("todo", false), peg$c1324 = function (validationkey, value) {
500
+ const node = { key: validationkey, value: value };
501
+ if (options.locations) {
502
+ node.loc = location();
503
+ }
504
+ return node;
505
+ }, peg$c1325 = "validation", peg$c1326 = peg$literalExpectation("validation", false), peg$c1327 = "};", peg$c1328 = peg$literalExpectation("};", false), peg$c1329 = function (validation_items) {
506
+ const node = { config_kind: "validation", config_items: validation_items || [] };
507
+ if (options.locations) {
508
+ node.loc = location();
509
+ }
510
+ return node;
511
+ }, peg$c1330 = "dot", peg$c1331 = peg$literalExpectation("dot", false), peg$c1332 = "circo", peg$c1333 = peg$literalExpectation("circo", false), peg$c1334 = "fdp", peg$c1335 = peg$literalExpectation("fdp", false), peg$c1336 = "neato", peg$c1337 = peg$literalExpectation("neato", false), peg$c1338 = "twopi", peg$c1339 = peg$literalExpectation("twopi", false), peg$c1340 = "state", peg$c1341 = peg$literalExpectation("state", false), peg$c1342 = function (state_items) {
512
+ const node = { key: "default_state_config", value: state_items || [] };
513
+ if (options.locations) {
514
+ node.loc = location();
515
+ }
516
+ return node;
517
+ }, peg$c1343 = "start_state", peg$c1344 = peg$literalExpectation("start_state", false), peg$c1345 = function (state_items) {
518
+ const node = { key: "default_start_state_config", value: state_items || [] };
519
+ if (options.locations) {
520
+ node.loc = location();
521
+ }
522
+ return node;
523
+ }, peg$c1346 = "end_state", peg$c1347 = peg$literalExpectation("end_state", false), peg$c1348 = function (state_items) {
524
+ const node = { key: "default_end_state_config", value: state_items || [] };
525
+ if (options.locations) {
526
+ node.loc = location();
527
+ }
528
+ return node;
529
+ }, peg$c1349 = "active_state", peg$c1350 = peg$literalExpectation("active_state", false), peg$c1351 = function (state_items) {
530
+ const node = { key: "default_active_state_config", value: state_items || [] };
531
+ if (options.locations) {
532
+ node.loc = location();
533
+ }
534
+ return node;
535
+ }, peg$c1352 = "terminal_state", peg$c1353 = peg$literalExpectation("terminal_state", false), peg$c1354 = function (state_items) {
536
+ const node = { key: "default_terminal_state_config", value: state_items || [] };
537
+ if (options.locations) {
538
+ node.loc = location();
539
+ }
540
+ return node;
541
+ }, peg$c1355 = "hooked_state", peg$c1356 = peg$literalExpectation("hooked_state", false), peg$c1357 = function (state_items) {
542
+ const node = { key: "default_hooked_state_config", value: state_items || [] };
543
+ if (options.locations) {
544
+ node.loc = location();
545
+ }
546
+ return node;
547
+ }, peg$c1358 = function (actionkey, value) {
548
+ const node = { key: actionkey, value: value };
549
+ if (options.locations) {
550
+ node.loc = location();
551
+ }
552
+ return node;
553
+ }, peg$c1359 = "action", peg$c1360 = peg$literalExpectation("action", false), peg$c1361 = function (action_items) {
554
+ const node = { config_kind: "action", config_items: action_items || [] };
555
+ if (options.locations) {
556
+ node.loc = location();
557
+ }
558
+ return node;
559
+ }, peg$c1362 = function (key, value) {
560
+ const node = { key, value };
561
+ if (options.locations) {
562
+ node.loc = location();
563
+ }
564
+ return node;
565
+ }, peg$c1363 = peg$otherExpectation("graph default edge color"), peg$c1364 = function (value) {
566
+ const raw = options.locations ? value.__v : value;
567
+ const node = { key: 'graph_default_edge_color', value: raw };
568
+ if (options.locations) {
569
+ node.loc = location();
570
+ node.value_loc = value.__loc;
571
+ }
572
+ return node;
573
+ }, peg$c1365 = "transition", peg$c1366 = peg$literalExpectation("transition", false), peg$c1367 = function (transition_items) {
574
+ const node = { config_kind: "transition", config_items: transition_items || [] };
575
+ if (options.locations) {
576
+ node.loc = location();
577
+ }
578
+ return node;
579
+ }, peg$c1368 = "graph_layout", peg$c1369 = peg$literalExpectation("graph_layout", false), peg$c1370 = function (value) {
580
+ const node = { key: "graph_layout", value: value };
581
+ if (options.locations) {
582
+ node.loc = location();
583
+ }
584
+ return node;
585
+ }, peg$c1371 = "start_states", peg$c1372 = peg$literalExpectation("start_states", false), peg$c1373 = function (value) {
586
+ const node = { key: "start_states", value: value };
587
+ if (options.locations) {
588
+ node.loc = location();
589
+ }
590
+ return node;
591
+ }, peg$c1374 = "end_states", peg$c1375 = peg$literalExpectation("end_states", false), peg$c1376 = function (value) {
592
+ const node = { key: "end_states", value: value };
593
+ if (options.locations) {
594
+ node.loc = location();
595
+ }
596
+ return node;
597
+ }, peg$c1377 = "failed_outputs", peg$c1378 = peg$literalExpectation("failed_outputs", false), peg$c1379 = function (value) {
598
+ const raw = options.locations ? value.__v : value;
599
+ const node = { key: "failed_outputs", value: typeof raw === 'string' ? [raw] : raw };
600
+ if (options.locations) {
601
+ node.loc = location();
602
+ node.value_loc = value.__loc;
603
+ }
604
+ return node;
605
+ }, peg$c1380 = "graph_bg_color", peg$c1381 = peg$literalExpectation("graph_bg_color", false), peg$c1382 = function (value) {
606
+ const raw = options.locations ? value.__v : value;
607
+ const node = { key: "graph_bg_color", value: raw };
608
+ if (options.locations) {
609
+ node.loc = location();
610
+ node.value_loc = value.__loc;
611
+ }
612
+ return node;
613
+ }, peg$c1383 = "allows_override", peg$c1384 = peg$literalExpectation("allows_override", false), peg$c1385 = function (value) {
614
+ const node = { key: "allows_override", value: value };
615
+ if (options.locations) {
616
+ node.loc = location();
617
+ }
618
+ return node;
619
+ }, peg$c1386 = "allow_islands", peg$c1387 = peg$literalExpectation("allow_islands", false), peg$c1388 = function (value) {
620
+ const raw = options.locations ? value.__v : value;
621
+ const node = { key: "allow_islands", value: raw };
622
+ if (options.locations) {
623
+ node.loc = location();
624
+ node.value_loc = value.__loc;
625
+ }
626
+ return node;
627
+ }, peg$c1389 = function () { return true; }, peg$c1390 = function () { return false; }, peg$c1391 = "with_start", peg$c1392 = peg$literalExpectation("with_start", false), peg$c1393 = function () { return 'with_start'; }, peg$c1394 = function () { return true; }, peg$c1395 = function () { return false; }, peg$c1396 = peg$otherExpectation("configuration"), peg$c1397 = "MIT", peg$c1398 = peg$literalExpectation("MIT", false), peg$c1399 = "BSD 2-clause", peg$c1400 = peg$literalExpectation("BSD 2-clause", false), peg$c1401 = "BSD 3-clause", peg$c1402 = peg$literalExpectation("BSD 3-clause", false), peg$c1403 = "Apache 2.0", peg$c1404 = peg$literalExpectation("Apache 2.0", false), peg$c1405 = "Mozilla 2.0", peg$c1406 = peg$literalExpectation("Mozilla 2.0", false), peg$c1407 = "Public domain", peg$c1408 = peg$literalExpectation("Public domain", false), peg$c1409 = "GPL v2", peg$c1410 = peg$literalExpectation("GPL v2", false), peg$c1411 = "GPL v3", peg$c1412 = peg$literalExpectation("GPL v3", false), peg$c1413 = "LGPL v2.1", peg$c1414 = peg$literalExpectation("LGPL v2.1", false), peg$c1415 = "LGPL v3.0", peg$c1416 = peg$literalExpectation("LGPL v3.0", false), peg$c1417 = "Unknown", peg$c1418 = peg$literalExpectation("Unknown", false), peg$c1419 = peg$otherExpectation("direction"), peg$c1420 = "up", peg$c1421 = peg$literalExpectation("up", false), peg$c1422 = "right", peg$c1423 = peg$literalExpectation("right", false), peg$c1424 = "down", peg$c1425 = peg$literalExpectation("down", false), peg$c1426 = "left", peg$c1427 = peg$literalExpectation("left", false), peg$c1428 = peg$otherExpectation("hook definition (open/closed)"), peg$c1429 = "open", peg$c1430 = peg$literalExpectation("open", false), peg$c1431 = "closed", peg$c1432 = peg$literalExpectation("closed", false), peg$c1433 = "machine_author", peg$c1434 = peg$literalExpectation("machine_author", false), peg$c1435 = function (value) {
628
+ const raw = options.locations ? value.__v : value;
629
+ const node = { key: "machine_author", value: raw };
630
+ if (options.locations) {
631
+ node.loc = location();
632
+ node.value_loc = value.__loc;
633
+ }
634
+ return node;
635
+ }, peg$c1436 = "machine_contributor", peg$c1437 = peg$literalExpectation("machine_contributor", false), peg$c1438 = function (value) {
636
+ const raw = options.locations ? value.__v : value;
637
+ const node = { key: "machine_contributor", value: raw };
638
+ if (options.locations) {
639
+ node.loc = location();
640
+ node.value_loc = value.__loc;
641
+ }
642
+ return node;
643
+ }, peg$c1439 = "machine_comment", peg$c1440 = peg$literalExpectation("machine_comment", false), peg$c1441 = function (value) {
644
+ const raw = options.locations ? value.__v : value;
645
+ const node = { key: "machine_comment", value: raw };
646
+ if (options.locations) {
647
+ node.loc = location();
648
+ node.value_loc = value.__loc;
649
+ }
650
+ return node;
651
+ }, peg$c1442 = "machine_definition", peg$c1443 = peg$literalExpectation("machine_definition", false), peg$c1444 = function (value) {
652
+ const raw = options.locations ? value.__v : value;
653
+ const node = { key: "machine_definition", value: raw };
654
+ if (options.locations) {
655
+ node.loc = location();
656
+ node.value_loc = value.__loc;
657
+ }
658
+ return node;
659
+ }, peg$c1445 = "machine_name", peg$c1446 = peg$literalExpectation("machine_name", false), peg$c1447 = function (value) {
660
+ const raw = options.locations ? value.__v : value;
661
+ const node = { key: "machine_name", value: raw };
662
+ if (options.locations) {
663
+ node.loc = location();
664
+ node.value_loc = value.__loc;
665
+ }
666
+ return node;
667
+ }, peg$c1448 = "npm_name", peg$c1449 = peg$literalExpectation("npm_name", false), peg$c1450 = function (value) {
668
+ const raw = options.locations ? value.__v : value;
669
+ const node = { key: "npm_name", value: raw };
670
+ if (options.locations) {
671
+ node.loc = location();
672
+ node.value_loc = value.__loc;
673
+ }
674
+ return node;
675
+ }, peg$c1451 = "machine_reference", peg$c1452 = peg$literalExpectation("machine_reference", false), peg$c1453 = function (value) {
676
+ const raw = options.locations ? value.__v : value;
677
+ const node = { key: "machine_reference", value: raw };
678
+ if (options.locations) {
679
+ node.loc = location();
680
+ node.value_loc = value.__loc;
681
+ }
682
+ return node;
683
+ }, peg$c1454 = "machine_version", peg$c1455 = peg$literalExpectation("machine_version", false), peg$c1456 = function (value) {
684
+ const raw = options.locations ? value.__v : value;
685
+ const node = { key: "machine_version", value: raw };
686
+ if (options.locations) {
687
+ node.loc = location();
688
+ node.value_loc = value.__loc;
689
+ }
690
+ return node;
691
+ }, peg$c1457 = "machine_license", peg$c1458 = peg$literalExpectation("machine_license", false), peg$c1459 = function (value) {
692
+ const raw = options.locations ? value.__v : value;
693
+ const node = { key: "machine_license", value: raw };
694
+ if (options.locations) {
695
+ node.loc = location();
696
+ node.value_loc = value.__loc;
697
+ }
698
+ return node;
699
+ }, peg$c1460 = "machine_language", peg$c1461 = peg$literalExpectation("machine_language", false), peg$c1462 = function (value) {
700
+ const raw = options.locations ? value.__v : value;
701
+ const node = { key: "machine_language", value: raw };
702
+ if (options.locations) {
703
+ node.loc = location();
704
+ node.value_loc = value.__loc;
705
+ }
706
+ return node;
707
+ }, peg$c1463 = "fsl_version", peg$c1464 = peg$literalExpectation("fsl_version", false), peg$c1465 = function (value) {
708
+ const raw = options.locations ? value.__v : value;
709
+ const node = { key: "fsl_version", value: raw };
710
+ if (options.locations) {
711
+ node.loc = location();
712
+ node.value_loc = value.__loc;
713
+ }
714
+ return node;
715
+ }, peg$c1466 = "theme", peg$c1467 = peg$literalExpectation("theme", false), peg$c1468 = function (value) {
716
+ const raw = options.locations ? value.__v : value;
717
+ const node = { key: "theme", value: raw };
718
+ if (options.locations) {
719
+ node.loc = location();
720
+ node.value_loc = value.__loc;
721
+ }
722
+ return node;
723
+ }, peg$c1469 = "flow", peg$c1470 = peg$literalExpectation("flow", false), peg$c1471 = function (value) {
724
+ const raw = options.locations ? value.__v : value;
725
+ const node = { key: "flow", value: raw };
726
+ if (options.locations) {
727
+ node.loc = location();
728
+ node.value_loc = value.__loc;
729
+ }
730
+ return node;
731
+ }, peg$c1472 = "hooks", peg$c1473 = peg$literalExpectation("hooks", false), peg$c1474 = function (value) {
732
+ const raw = options.locations ? value.__v : value;
733
+ const node = { key: "hook_definition", value: raw };
734
+ if (options.locations) {
735
+ node.loc = location();
736
+ node.value_loc = value.__loc;
737
+ }
738
+ return node;
739
+ }, peg$c1475 = "dot_preamble", peg$c1476 = peg$literalExpectation("dot_preamble", false), peg$c1477 = function (value) {
740
+ const raw = options.locations ? value.__v : value;
741
+ const node = { key: "dot_preamble", value: raw };
742
+ if (options.locations) {
743
+ node.loc = location();
744
+ node.value_loc = value.__loc;
745
+ }
746
+ return node;
747
+ }, peg$c1478 = "height", peg$c1479 = peg$literalExpectation("height", false), peg$c1480 = function (n) { return { height: n }; }, peg$c1481 = function (w, h) { return { width: w, height: h }; }, peg$c1482 = function (w) { return { width: w }; }, peg$c1483 = "default_size", peg$c1484 = peg$literalExpectation("default_size", false), peg$c1485 = function (value) {
748
+ const raw = options.locations ? value.__v : value;
749
+ const node = { key: "default_size", value: raw };
750
+ if (options.locations) {
751
+ node.loc = location();
752
+ node.value_loc = value.__loc;
753
+ }
754
+ return node;
755
+ }, peg$c1486 = peg$otherExpectation("machine attribute"), peg$c1487 = "label", peg$c1488 = peg$literalExpectation("label", false), peg$c1489 = function (value) {
756
+ const node = { key: 'state-label', value };
757
+ if (options.locations) {
758
+ node.loc = location();
759
+ }
760
+ return node;
761
+ }, peg$c1490 = "color", peg$c1491 = peg$literalExpectation("color", false), peg$c1492 = function (value) {
762
+ const raw = options.locations ? value.__v : value;
763
+ const node = { key: 'color', value: raw };
764
+ if (options.locations) {
765
+ node.loc = location();
766
+ node.value_loc = value.__loc;
767
+ }
768
+ return node;
769
+ }, peg$c1493 = peg$otherExpectation("text color"), peg$c1494 = "text-color", peg$c1495 = peg$literalExpectation("text-color", false), peg$c1496 = function (value) {
770
+ const raw = options.locations ? value.__v : value;
771
+ const node = { key: 'text-color', value: raw };
772
+ if (options.locations) {
773
+ node.loc = location();
774
+ node.value_loc = value.__loc;
775
+ }
776
+ return node;
777
+ }, peg$c1497 = peg$otherExpectation("background color"), peg$c1498 = "background-color", peg$c1499 = peg$literalExpectation("background-color", false), peg$c1500 = function (value) {
778
+ const raw = options.locations ? value.__v : value;
779
+ const node = { key: 'background-color', value: raw };
780
+ if (options.locations) {
781
+ node.loc = location();
782
+ node.value_loc = value.__loc;
783
+ }
784
+ return node;
785
+ }, peg$c1501 = peg$otherExpectation("border color"), peg$c1502 = "border-color", peg$c1503 = peg$literalExpectation("border-color", false), peg$c1504 = function (value) {
786
+ const raw = options.locations ? value.__v : value;
787
+ const node = { key: 'border-color', value: raw };
788
+ if (options.locations) {
789
+ node.loc = location();
790
+ node.value_loc = value.__loc;
791
+ }
792
+ return node;
793
+ }, peg$c1505 = peg$otherExpectation("shape"), peg$c1506 = "shape", peg$c1507 = peg$literalExpectation("shape", false), peg$c1508 = function (value) {
794
+ const node = { key: 'shape', value };
795
+ if (options.locations) {
796
+ node.loc = location();
797
+ }
798
+ return node;
799
+ }, peg$c1509 = peg$otherExpectation("corners"), peg$c1510 = "corners", peg$c1511 = peg$literalExpectation("corners", false), peg$c1512 = function (value) {
800
+ const node = { key: 'corners', value };
801
+ if (options.locations) {
802
+ node.loc = location();
803
+ }
804
+ return node;
805
+ }, peg$c1513 = peg$otherExpectation("linestyle"), peg$c1514 = function (value) {
806
+ const node = { key: 'line-style', value };
807
+ if (options.locations) {
808
+ node.loc = location();
809
+ }
810
+ return node;
811
+ }, peg$c1515 = "linestyle", peg$c1516 = peg$literalExpectation("linestyle", false), peg$c1517 = peg$otherExpectation("image"), peg$c1518 = "image", peg$c1519 = peg$literalExpectation("image", false), peg$c1520 = function (value) {
812
+ const node = { key: 'image', value };
813
+ if (options.locations) {
814
+ node.loc = location();
815
+ }
816
+ return node;
817
+ }, peg$c1521 = peg$otherExpectation("url"), peg$c1522 = "url", peg$c1523 = peg$literalExpectation("url", false), peg$c1524 = function (value) {
818
+ const node = { key: 'url', value };
819
+ if (options.locations) {
820
+ node.loc = location();
821
+ }
822
+ return node;
823
+ }, peg$c1525 = peg$otherExpectation("state property"), peg$c1526 = "property", peg$c1527 = peg$literalExpectation("property", false), peg$c1528 = function (name, value) {
824
+ const node = { key: 'state_property', name, value };
825
+ if (options.locations) {
826
+ node.loc = location();
827
+ }
828
+ return node;
829
+ }, peg$c1529 = "required", peg$c1530 = peg$literalExpectation("required", false), peg$c1531 = function (name, value) {
830
+ const node = { key: 'state_property', name, value, required: true };
831
+ if (options.locations) {
832
+ node.loc = location();
833
+ }
834
+ return node;
835
+ }, peg$c1532 = function (n) { return options.locations ? { __v: n, __loc: location() } : n; }, peg$c1533 = function (name, value) {
836
+ const raw = options.locations ? name.__v : name;
837
+ const node = { key: 'state_declaration', name: raw, value };
838
+ if (options.locations) {
839
+ node.loc = location();
840
+ node.name_loc = name.__loc;
841
+ }
842
+ return node;
843
+ }, peg$c1534 = "&", peg$c1535 = peg$literalExpectation("&", false), peg$c1536 = function (name, value) {
844
+ const node = { key: 'named_list', name, value };
845
+ if (options.locations) {
846
+ node.loc = location();
847
+ }
848
+ return node;
849
+ }, peg$c1537 = function (name, default_value) {
850
+ const node = { key: 'property_definition', name, default_value, required: true };
851
+ if (options.locations) {
852
+ node.loc = location();
853
+ }
854
+ return node;
855
+ }, peg$c1538 = function (name) {
856
+ const node = { key: 'property_definition', name, required: true };
857
+ if (options.locations) {
858
+ node.loc = location();
859
+ }
860
+ return node;
861
+ }, peg$c1539 = function (name, default_value) {
862
+ const node = { key: 'property_definition', name, default_value };
863
+ if (options.locations) {
864
+ node.loc = location();
865
+ }
866
+ return node;
867
+ }, peg$c1540 = function (name) {
868
+ const node = { key: 'property_definition', name };
869
+ if (options.locations) {
870
+ node.loc = location();
871
+ }
872
+ return node;
873
+ }, peg$c1541 = "arrange", peg$c1542 = peg$literalExpectation("arrange", false), peg$c1543 = function (value) {
874
+ const node = { key: 'arrange_declaration', value };
875
+ if (options.locations) {
876
+ node.loc = location();
877
+ }
878
+ return node;
879
+ }, peg$c1544 = "arrange-start", peg$c1545 = peg$literalExpectation("arrange-start", false), peg$c1546 = function (value) {
880
+ const node = { key: 'arrange_start_declaration', value };
881
+ if (options.locations) {
882
+ node.loc = location();
883
+ }
884
+ return node;
885
+ }, peg$c1547 = "arrange-end", peg$c1548 = peg$literalExpectation("arrange-end", false), peg$c1549 = function (value) {
886
+ const node = { key: 'arrange_end_declaration', value };
887
+ if (options.locations) {
888
+ node.loc = location();
889
+ }
890
+ return node;
891
+ }, peg$c1550 = 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
892
  if ("startRule" in options) {
437
893
  if (!(options.startRule in peg$startRuleFunctions)) {
438
894
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -10775,7 +11231,13 @@ function peg$parse(input, options) {
10775
11231
  s5 = null;
10776
11232
  }
10777
11233
  if (s5 !== peg$FAILED) {
10778
- s6 = peg$parseColor();
11234
+ s6 = peg$currPos;
11235
+ s7 = peg$parseColor();
11236
+ if (s7 !== peg$FAILED) {
11237
+ peg$savedPos = s6;
11238
+ s7 = peg$c1214(s7);
11239
+ }
11240
+ s6 = s7;
10779
11241
  if (s6 !== peg$FAILED) {
10780
11242
  s7 = peg$parseWS();
10781
11243
  if (s7 === peg$FAILED) {
@@ -10799,7 +11261,7 @@ function peg$parse(input, options) {
10799
11261
  }
10800
11262
  if (s9 !== peg$FAILED) {
10801
11263
  peg$savedPos = s0;
10802
- s1 = peg$c1214(s6);
11264
+ s1 = peg$c1215(s6);
10803
11265
  s0 = s1;
10804
11266
  }
10805
11267
  else {
@@ -10853,14 +11315,14 @@ function peg$parse(input, options) {
10853
11315
  s1 = null;
10854
11316
  }
10855
11317
  if (s1 !== peg$FAILED) {
10856
- if (input.substr(peg$currPos, 10) === peg$c1215) {
10857
- s2 = peg$c1215;
11318
+ if (input.substr(peg$currPos, 10) === peg$c1216) {
11319
+ s2 = peg$c1216;
10858
11320
  peg$currPos += 10;
10859
11321
  }
10860
11322
  else {
10861
11323
  s2 = peg$FAILED;
10862
11324
  if (peg$silentFails === 0) {
10863
- peg$fail(peg$c1216);
11325
+ peg$fail(peg$c1217);
10864
11326
  }
10865
11327
  }
10866
11328
  if (s2 !== peg$FAILED) {
@@ -10885,7 +11347,13 @@ function peg$parse(input, options) {
10885
11347
  s5 = null;
10886
11348
  }
10887
11349
  if (s5 !== peg$FAILED) {
10888
- s6 = peg$parseColor();
11350
+ s6 = peg$currPos;
11351
+ s7 = peg$parseColor();
11352
+ if (s7 !== peg$FAILED) {
11353
+ peg$savedPos = s6;
11354
+ s7 = peg$c1214(s7);
11355
+ }
11356
+ s6 = s7;
10889
11357
  if (s6 !== peg$FAILED) {
10890
11358
  s7 = peg$parseWS();
10891
11359
  if (s7 === peg$FAILED) {
@@ -10909,7 +11377,7 @@ function peg$parse(input, options) {
10909
11377
  }
10910
11378
  if (s9 !== peg$FAILED) {
10911
11379
  peg$savedPos = s0;
10912
- s1 = peg$c1214(s6);
11380
+ s1 = peg$c1215(s6);
10913
11381
  s0 = s1;
10914
11382
  }
10915
11383
  else {
@@ -10975,14 +11443,14 @@ function peg$parse(input, options) {
10975
11443
  s1 = null;
10976
11444
  }
10977
11445
  if (s1 !== peg$FAILED) {
10978
- if (input.substr(peg$currPos, 10) === peg$c1218) {
10979
- s2 = peg$c1218;
11446
+ if (input.substr(peg$currPos, 10) === peg$c1219) {
11447
+ s2 = peg$c1219;
10980
11448
  peg$currPos += 10;
10981
11449
  }
10982
11450
  else {
10983
11451
  s2 = peg$FAILED;
10984
11452
  if (peg$silentFails === 0) {
10985
- peg$fail(peg$c1219);
11453
+ peg$fail(peg$c1220);
10986
11454
  }
10987
11455
  }
10988
11456
  if (s2 !== peg$FAILED) {
@@ -11031,7 +11499,7 @@ function peg$parse(input, options) {
11031
11499
  }
11032
11500
  if (s9 !== peg$FAILED) {
11033
11501
  peg$savedPos = s0;
11034
- s1 = peg$c1220(s6);
11502
+ s1 = peg$c1221(s6);
11035
11503
  s0 = s1;
11036
11504
  }
11037
11505
  else {
@@ -11082,7 +11550,7 @@ function peg$parse(input, options) {
11082
11550
  if (s0 === peg$FAILED) {
11083
11551
  s1 = peg$FAILED;
11084
11552
  if (peg$silentFails === 0) {
11085
- peg$fail(peg$c1217);
11553
+ peg$fail(peg$c1218);
11086
11554
  }
11087
11555
  }
11088
11556
  return s0;
@@ -11112,13 +11580,13 @@ function peg$parse(input, options) {
11112
11580
  var s0, s1, s2, s3, s4, s5;
11113
11581
  s0 = peg$currPos;
11114
11582
  if (input.charCodeAt(peg$currPos) === 123) {
11115
- s1 = peg$c1221;
11583
+ s1 = peg$c1222;
11116
11584
  peg$currPos++;
11117
11585
  }
11118
11586
  else {
11119
11587
  s1 = peg$FAILED;
11120
11588
  if (peg$silentFails === 0) {
11121
- peg$fail(peg$c1222);
11589
+ peg$fail(peg$c1223);
11122
11590
  }
11123
11591
  }
11124
11592
  if (s1 !== peg$FAILED) {
@@ -11138,18 +11606,18 @@ function peg$parse(input, options) {
11138
11606
  }
11139
11607
  if (s4 !== peg$FAILED) {
11140
11608
  if (input.charCodeAt(peg$currPos) === 125) {
11141
- s5 = peg$c1223;
11609
+ s5 = peg$c1224;
11142
11610
  peg$currPos++;
11143
11611
  }
11144
11612
  else {
11145
11613
  s5 = peg$FAILED;
11146
11614
  if (peg$silentFails === 0) {
11147
- peg$fail(peg$c1224);
11615
+ peg$fail(peg$c1225);
11148
11616
  }
11149
11617
  }
11150
11618
  if (s5 !== peg$FAILED) {
11151
11619
  peg$savedPos = s0;
11152
- s1 = peg$c1225(s3);
11620
+ s1 = peg$c1226(s3);
11153
11621
  s0 = s1;
11154
11622
  }
11155
11623
  else {
@@ -11184,18 +11652,18 @@ function peg$parse(input, options) {
11184
11652
  s1 = peg$parseNonNegNumber();
11185
11653
  if (s1 !== peg$FAILED) {
11186
11654
  if (input.charCodeAt(peg$currPos) === 37) {
11187
- s2 = peg$c1226;
11655
+ s2 = peg$c1227;
11188
11656
  peg$currPos++;
11189
11657
  }
11190
11658
  else {
11191
11659
  s2 = peg$FAILED;
11192
11660
  if (peg$silentFails === 0) {
11193
- peg$fail(peg$c1227);
11661
+ peg$fail(peg$c1228);
11194
11662
  }
11195
11663
  }
11196
11664
  if (s2 !== peg$FAILED) {
11197
11665
  peg$savedPos = s0;
11198
- s1 = peg$c1228(s1);
11666
+ s1 = peg$c1229(s1);
11199
11667
  s0 = s1;
11200
11668
  }
11201
11669
  else {
@@ -11212,478 +11680,478 @@ function peg$parse(input, options) {
11212
11680
  function peg$parseTimeType() {
11213
11681
  var s0, s1;
11214
11682
  s0 = peg$currPos;
11215
- if (input.substr(peg$currPos, 12) === peg$c1229) {
11216
- s1 = peg$c1229;
11683
+ if (input.substr(peg$currPos, 12) === peg$c1230) {
11684
+ s1 = peg$c1230;
11217
11685
  peg$currPos += 12;
11218
11686
  }
11219
11687
  else {
11220
11688
  s1 = peg$FAILED;
11221
11689
  if (peg$silentFails === 0) {
11222
- peg$fail(peg$c1230);
11690
+ peg$fail(peg$c1231);
11223
11691
  }
11224
11692
  }
11225
11693
  if (s1 !== peg$FAILED) {
11226
11694
  peg$savedPos = s0;
11227
- s1 = peg$c1231();
11695
+ s1 = peg$c1232();
11228
11696
  }
11229
11697
  s0 = s1;
11230
11698
  if (s0 === peg$FAILED) {
11231
11699
  s0 = peg$currPos;
11232
- if (input.substr(peg$currPos, 11) === peg$c1232) {
11233
- s1 = peg$c1232;
11700
+ if (input.substr(peg$currPos, 11) === peg$c1233) {
11701
+ s1 = peg$c1233;
11234
11702
  peg$currPos += 11;
11235
11703
  }
11236
11704
  else {
11237
11705
  s1 = peg$FAILED;
11238
11706
  if (peg$silentFails === 0) {
11239
- peg$fail(peg$c1233);
11707
+ peg$fail(peg$c1234);
11240
11708
  }
11241
11709
  }
11242
11710
  if (s1 !== peg$FAILED) {
11243
11711
  peg$savedPos = s0;
11244
- s1 = peg$c1231();
11712
+ s1 = peg$c1232();
11245
11713
  }
11246
11714
  s0 = s1;
11247
11715
  if (s0 === peg$FAILED) {
11248
11716
  s0 = peg$currPos;
11249
- if (input.substr(peg$currPos, 5) === peg$c1234) {
11250
- s1 = peg$c1234;
11717
+ if (input.substr(peg$currPos, 5) === peg$c1235) {
11718
+ s1 = peg$c1235;
11251
11719
  peg$currPos += 5;
11252
11720
  }
11253
11721
  else {
11254
11722
  s1 = peg$FAILED;
11255
11723
  if (peg$silentFails === 0) {
11256
- peg$fail(peg$c1235);
11724
+ peg$fail(peg$c1236);
11257
11725
  }
11258
11726
  }
11259
11727
  if (s1 !== peg$FAILED) {
11260
11728
  peg$savedPos = s0;
11261
- s1 = peg$c1231();
11729
+ s1 = peg$c1232();
11262
11730
  }
11263
11731
  s0 = s1;
11264
11732
  if (s0 === peg$FAILED) {
11265
11733
  s0 = peg$currPos;
11266
- if (input.substr(peg$currPos, 4) === peg$c1236) {
11267
- s1 = peg$c1236;
11734
+ if (input.substr(peg$currPos, 4) === peg$c1237) {
11735
+ s1 = peg$c1237;
11268
11736
  peg$currPos += 4;
11269
11737
  }
11270
11738
  else {
11271
11739
  s1 = peg$FAILED;
11272
11740
  if (peg$silentFails === 0) {
11273
- peg$fail(peg$c1237);
11741
+ peg$fail(peg$c1238);
11274
11742
  }
11275
11743
  }
11276
11744
  if (s1 !== peg$FAILED) {
11277
11745
  peg$savedPos = s0;
11278
- s1 = peg$c1231();
11746
+ s1 = peg$c1232();
11279
11747
  }
11280
11748
  s0 = s1;
11281
11749
  if (s0 === peg$FAILED) {
11282
11750
  s0 = peg$currPos;
11283
- if (input.substr(peg$currPos, 2) === peg$c1238) {
11284
- s1 = peg$c1238;
11751
+ if (input.substr(peg$currPos, 2) === peg$c1239) {
11752
+ s1 = peg$c1239;
11285
11753
  peg$currPos += 2;
11286
11754
  }
11287
11755
  else {
11288
11756
  s1 = peg$FAILED;
11289
11757
  if (peg$silentFails === 0) {
11290
- peg$fail(peg$c1239);
11758
+ peg$fail(peg$c1240);
11291
11759
  }
11292
11760
  }
11293
11761
  if (s1 !== peg$FAILED) {
11294
11762
  peg$savedPos = s0;
11295
- s1 = peg$c1231();
11763
+ s1 = peg$c1232();
11296
11764
  }
11297
11765
  s0 = s1;
11298
11766
  if (s0 === peg$FAILED) {
11299
11767
  s0 = peg$currPos;
11300
- if (input.substr(peg$currPos, 7) === peg$c1240) {
11301
- s1 = peg$c1240;
11768
+ if (input.substr(peg$currPos, 7) === peg$c1241) {
11769
+ s1 = peg$c1241;
11302
11770
  peg$currPos += 7;
11303
11771
  }
11304
11772
  else {
11305
11773
  s1 = peg$FAILED;
11306
11774
  if (peg$silentFails === 0) {
11307
- peg$fail(peg$c1241);
11775
+ peg$fail(peg$c1242);
11308
11776
  }
11309
11777
  }
11310
11778
  if (s1 !== peg$FAILED) {
11311
11779
  peg$savedPos = s0;
11312
- s1 = peg$c1242();
11780
+ s1 = peg$c1243();
11313
11781
  }
11314
11782
  s0 = s1;
11315
11783
  if (s0 === peg$FAILED) {
11316
11784
  s0 = peg$currPos;
11317
- if (input.substr(peg$currPos, 6) === peg$c1243) {
11318
- s1 = peg$c1243;
11785
+ if (input.substr(peg$currPos, 6) === peg$c1244) {
11786
+ s1 = peg$c1244;
11319
11787
  peg$currPos += 6;
11320
11788
  }
11321
11789
  else {
11322
11790
  s1 = peg$FAILED;
11323
11791
  if (peg$silentFails === 0) {
11324
- peg$fail(peg$c1244);
11792
+ peg$fail(peg$c1245);
11325
11793
  }
11326
11794
  }
11327
11795
  if (s1 !== peg$FAILED) {
11328
11796
  peg$savedPos = s0;
11329
- s1 = peg$c1242();
11797
+ s1 = peg$c1243();
11330
11798
  }
11331
11799
  s0 = s1;
11332
11800
  if (s0 === peg$FAILED) {
11333
11801
  s0 = peg$currPos;
11334
- if (input.substr(peg$currPos, 4) === peg$c1245) {
11335
- s1 = peg$c1245;
11802
+ if (input.substr(peg$currPos, 4) === peg$c1246) {
11803
+ s1 = peg$c1246;
11336
11804
  peg$currPos += 4;
11337
11805
  }
11338
11806
  else {
11339
11807
  s1 = peg$FAILED;
11340
11808
  if (peg$silentFails === 0) {
11341
- peg$fail(peg$c1246);
11809
+ peg$fail(peg$c1247);
11342
11810
  }
11343
11811
  }
11344
11812
  if (s1 !== peg$FAILED) {
11345
11813
  peg$savedPos = s0;
11346
- s1 = peg$c1242();
11814
+ s1 = peg$c1243();
11347
11815
  }
11348
11816
  s0 = s1;
11349
11817
  if (s0 === peg$FAILED) {
11350
11818
  s0 = peg$currPos;
11351
- if (input.substr(peg$currPos, 3) === peg$c1247) {
11352
- s1 = peg$c1247;
11819
+ if (input.substr(peg$currPos, 3) === peg$c1248) {
11820
+ s1 = peg$c1248;
11353
11821
  peg$currPos += 3;
11354
11822
  }
11355
11823
  else {
11356
11824
  s1 = peg$FAILED;
11357
11825
  if (peg$silentFails === 0) {
11358
- peg$fail(peg$c1248);
11826
+ peg$fail(peg$c1249);
11359
11827
  }
11360
11828
  }
11361
11829
  if (s1 !== peg$FAILED) {
11362
11830
  peg$savedPos = s0;
11363
- s1 = peg$c1242();
11831
+ s1 = peg$c1243();
11364
11832
  }
11365
11833
  s0 = s1;
11366
11834
  if (s0 === peg$FAILED) {
11367
11835
  s0 = peg$currPos;
11368
11836
  if (input.charCodeAt(peg$currPos) === 115) {
11369
- s1 = peg$c1249;
11837
+ s1 = peg$c1250;
11370
11838
  peg$currPos++;
11371
11839
  }
11372
11840
  else {
11373
11841
  s1 = peg$FAILED;
11374
11842
  if (peg$silentFails === 0) {
11375
- peg$fail(peg$c1250);
11843
+ peg$fail(peg$c1251);
11376
11844
  }
11377
11845
  }
11378
11846
  if (s1 !== peg$FAILED) {
11379
11847
  peg$savedPos = s0;
11380
- s1 = peg$c1242();
11848
+ s1 = peg$c1243();
11381
11849
  }
11382
11850
  s0 = s1;
11383
11851
  if (s0 === peg$FAILED) {
11384
11852
  s0 = peg$currPos;
11385
- if (input.substr(peg$currPos, 7) === peg$c1251) {
11386
- s1 = peg$c1251;
11853
+ if (input.substr(peg$currPos, 7) === peg$c1252) {
11854
+ s1 = peg$c1252;
11387
11855
  peg$currPos += 7;
11388
11856
  }
11389
11857
  else {
11390
11858
  s1 = peg$FAILED;
11391
11859
  if (peg$silentFails === 0) {
11392
- peg$fail(peg$c1252);
11860
+ peg$fail(peg$c1253);
11393
11861
  }
11394
11862
  }
11395
11863
  if (s1 !== peg$FAILED) {
11396
11864
  peg$savedPos = s0;
11397
- s1 = peg$c1253();
11865
+ s1 = peg$c1254();
11398
11866
  }
11399
11867
  s0 = s1;
11400
11868
  if (s0 === peg$FAILED) {
11401
11869
  s0 = peg$currPos;
11402
- if (input.substr(peg$currPos, 6) === peg$c1254) {
11403
- s1 = peg$c1254;
11870
+ if (input.substr(peg$currPos, 6) === peg$c1255) {
11871
+ s1 = peg$c1255;
11404
11872
  peg$currPos += 6;
11405
11873
  }
11406
11874
  else {
11407
11875
  s1 = peg$FAILED;
11408
11876
  if (peg$silentFails === 0) {
11409
- peg$fail(peg$c1255);
11877
+ peg$fail(peg$c1256);
11410
11878
  }
11411
11879
  }
11412
11880
  if (s1 !== peg$FAILED) {
11413
11881
  peg$savedPos = s0;
11414
- s1 = peg$c1253();
11882
+ s1 = peg$c1254();
11415
11883
  }
11416
11884
  s0 = s1;
11417
11885
  if (s0 === peg$FAILED) {
11418
11886
  s0 = peg$currPos;
11419
- if (input.substr(peg$currPos, 4) === peg$c1256) {
11420
- s1 = peg$c1256;
11887
+ if (input.substr(peg$currPos, 4) === peg$c1257) {
11888
+ s1 = peg$c1257;
11421
11889
  peg$currPos += 4;
11422
11890
  }
11423
11891
  else {
11424
11892
  s1 = peg$FAILED;
11425
11893
  if (peg$silentFails === 0) {
11426
- peg$fail(peg$c1257);
11894
+ peg$fail(peg$c1258);
11427
11895
  }
11428
11896
  }
11429
11897
  if (s1 !== peg$FAILED) {
11430
11898
  peg$savedPos = s0;
11431
- s1 = peg$c1253();
11899
+ s1 = peg$c1254();
11432
11900
  }
11433
11901
  s0 = s1;
11434
11902
  if (s0 === peg$FAILED) {
11435
11903
  s0 = peg$currPos;
11436
- if (input.substr(peg$currPos, 3) === peg$c1258) {
11437
- s1 = peg$c1258;
11904
+ if (input.substr(peg$currPos, 3) === peg$c1259) {
11905
+ s1 = peg$c1259;
11438
11906
  peg$currPos += 3;
11439
11907
  }
11440
11908
  else {
11441
11909
  s1 = peg$FAILED;
11442
11910
  if (peg$silentFails === 0) {
11443
- peg$fail(peg$c1259);
11911
+ peg$fail(peg$c1260);
11444
11912
  }
11445
11913
  }
11446
11914
  if (s1 !== peg$FAILED) {
11447
11915
  peg$savedPos = s0;
11448
- s1 = peg$c1253();
11916
+ s1 = peg$c1254();
11449
11917
  }
11450
11918
  s0 = s1;
11451
11919
  if (s0 === peg$FAILED) {
11452
11920
  s0 = peg$currPos;
11453
11921
  if (input.charCodeAt(peg$currPos) === 109) {
11454
- s1 = peg$c1260;
11922
+ s1 = peg$c1261;
11455
11923
  peg$currPos++;
11456
11924
  }
11457
11925
  else {
11458
11926
  s1 = peg$FAILED;
11459
11927
  if (peg$silentFails === 0) {
11460
- peg$fail(peg$c1261);
11928
+ peg$fail(peg$c1262);
11461
11929
  }
11462
11930
  }
11463
11931
  if (s1 !== peg$FAILED) {
11464
11932
  peg$savedPos = s0;
11465
- s1 = peg$c1253();
11933
+ s1 = peg$c1254();
11466
11934
  }
11467
11935
  s0 = s1;
11468
11936
  if (s0 === peg$FAILED) {
11469
11937
  s0 = peg$currPos;
11470
- if (input.substr(peg$currPos, 5) === peg$c1262) {
11471
- s1 = peg$c1262;
11938
+ if (input.substr(peg$currPos, 5) === peg$c1263) {
11939
+ s1 = peg$c1263;
11472
11940
  peg$currPos += 5;
11473
11941
  }
11474
11942
  else {
11475
11943
  s1 = peg$FAILED;
11476
11944
  if (peg$silentFails === 0) {
11477
- peg$fail(peg$c1263);
11945
+ peg$fail(peg$c1264);
11478
11946
  }
11479
11947
  }
11480
11948
  if (s1 !== peg$FAILED) {
11481
11949
  peg$savedPos = s0;
11482
- s1 = peg$c1264();
11950
+ s1 = peg$c1265();
11483
11951
  }
11484
11952
  s0 = s1;
11485
11953
  if (s0 === peg$FAILED) {
11486
11954
  s0 = peg$currPos;
11487
- if (input.substr(peg$currPos, 4) === peg$c1265) {
11488
- s1 = peg$c1265;
11955
+ if (input.substr(peg$currPos, 4) === peg$c1266) {
11956
+ s1 = peg$c1266;
11489
11957
  peg$currPos += 4;
11490
11958
  }
11491
11959
  else {
11492
11960
  s1 = peg$FAILED;
11493
11961
  if (peg$silentFails === 0) {
11494
- peg$fail(peg$c1266);
11962
+ peg$fail(peg$c1267);
11495
11963
  }
11496
11964
  }
11497
11965
  if (s1 !== peg$FAILED) {
11498
11966
  peg$savedPos = s0;
11499
- s1 = peg$c1264();
11967
+ s1 = peg$c1265();
11500
11968
  }
11501
11969
  s0 = s1;
11502
11970
  if (s0 === peg$FAILED) {
11503
11971
  s0 = peg$currPos;
11504
- if (input.substr(peg$currPos, 3) === peg$c1267) {
11505
- s1 = peg$c1267;
11972
+ if (input.substr(peg$currPos, 3) === peg$c1268) {
11973
+ s1 = peg$c1268;
11506
11974
  peg$currPos += 3;
11507
11975
  }
11508
11976
  else {
11509
11977
  s1 = peg$FAILED;
11510
11978
  if (peg$silentFails === 0) {
11511
- peg$fail(peg$c1268);
11979
+ peg$fail(peg$c1269);
11512
11980
  }
11513
11981
  }
11514
11982
  if (s1 !== peg$FAILED) {
11515
11983
  peg$savedPos = s0;
11516
- s1 = peg$c1264();
11984
+ s1 = peg$c1265();
11517
11985
  }
11518
11986
  s0 = s1;
11519
11987
  if (s0 === peg$FAILED) {
11520
11988
  s0 = peg$currPos;
11521
- if (input.substr(peg$currPos, 2) === peg$c1269) {
11522
- s1 = peg$c1269;
11989
+ if (input.substr(peg$currPos, 2) === peg$c1270) {
11990
+ s1 = peg$c1270;
11523
11991
  peg$currPos += 2;
11524
11992
  }
11525
11993
  else {
11526
11994
  s1 = peg$FAILED;
11527
11995
  if (peg$silentFails === 0) {
11528
- peg$fail(peg$c1270);
11996
+ peg$fail(peg$c1271);
11529
11997
  }
11530
11998
  }
11531
11999
  if (s1 !== peg$FAILED) {
11532
12000
  peg$savedPos = s0;
11533
- s1 = peg$c1264();
12001
+ s1 = peg$c1265();
11534
12002
  }
11535
12003
  s0 = s1;
11536
12004
  if (s0 === peg$FAILED) {
11537
12005
  s0 = peg$currPos;
11538
12006
  if (input.charCodeAt(peg$currPos) === 104) {
11539
- s1 = peg$c1271;
12007
+ s1 = peg$c1272;
11540
12008
  peg$currPos++;
11541
12009
  }
11542
12010
  else {
11543
12011
  s1 = peg$FAILED;
11544
12012
  if (peg$silentFails === 0) {
11545
- peg$fail(peg$c1272);
12013
+ peg$fail(peg$c1273);
11546
12014
  }
11547
12015
  }
11548
12016
  if (s1 !== peg$FAILED) {
11549
12017
  peg$savedPos = s0;
11550
- s1 = peg$c1264();
12018
+ s1 = peg$c1265();
11551
12019
  }
11552
12020
  s0 = s1;
11553
12021
  if (s0 === peg$FAILED) {
11554
12022
  s0 = peg$currPos;
11555
- if (input.substr(peg$currPos, 4) === peg$c1273) {
11556
- s1 = peg$c1273;
12023
+ if (input.substr(peg$currPos, 4) === peg$c1274) {
12024
+ s1 = peg$c1274;
11557
12025
  peg$currPos += 4;
11558
12026
  }
11559
12027
  else {
11560
12028
  s1 = peg$FAILED;
11561
12029
  if (peg$silentFails === 0) {
11562
- peg$fail(peg$c1274);
12030
+ peg$fail(peg$c1275);
11563
12031
  }
11564
12032
  }
11565
12033
  if (s1 !== peg$FAILED) {
11566
12034
  peg$savedPos = s0;
11567
- s1 = peg$c1275();
12035
+ s1 = peg$c1276();
11568
12036
  }
11569
12037
  s0 = s1;
11570
12038
  if (s0 === peg$FAILED) {
11571
12039
  s0 = peg$currPos;
11572
- if (input.substr(peg$currPos, 3) === peg$c1276) {
11573
- s1 = peg$c1276;
12040
+ if (input.substr(peg$currPos, 3) === peg$c1277) {
12041
+ s1 = peg$c1277;
11574
12042
  peg$currPos += 3;
11575
12043
  }
11576
12044
  else {
11577
12045
  s1 = peg$FAILED;
11578
12046
  if (peg$silentFails === 0) {
11579
- peg$fail(peg$c1277);
12047
+ peg$fail(peg$c1278);
11580
12048
  }
11581
12049
  }
11582
12050
  if (s1 !== peg$FAILED) {
11583
12051
  peg$savedPos = s0;
11584
- s1 = peg$c1275();
12052
+ s1 = peg$c1276();
11585
12053
  }
11586
12054
  s0 = s1;
11587
12055
  if (s0 === peg$FAILED) {
11588
12056
  s0 = peg$currPos;
11589
12057
  if (input.charCodeAt(peg$currPos) === 100) {
11590
- s1 = peg$c1278;
12058
+ s1 = peg$c1279;
11591
12059
  peg$currPos++;
11592
12060
  }
11593
12061
  else {
11594
12062
  s1 = peg$FAILED;
11595
12063
  if (peg$silentFails === 0) {
11596
- peg$fail(peg$c1279);
12064
+ peg$fail(peg$c1280);
11597
12065
  }
11598
12066
  }
11599
12067
  if (s1 !== peg$FAILED) {
11600
12068
  peg$savedPos = s0;
11601
- s1 = peg$c1275();
12069
+ s1 = peg$c1276();
11602
12070
  }
11603
12071
  s0 = s1;
11604
12072
  if (s0 === peg$FAILED) {
11605
12073
  s0 = peg$currPos;
11606
- if (input.substr(peg$currPos, 5) === peg$c1280) {
11607
- s1 = peg$c1280;
12074
+ if (input.substr(peg$currPos, 5) === peg$c1281) {
12075
+ s1 = peg$c1281;
11608
12076
  peg$currPos += 5;
11609
12077
  }
11610
12078
  else {
11611
12079
  s1 = peg$FAILED;
11612
12080
  if (peg$silentFails === 0) {
11613
- peg$fail(peg$c1281);
12081
+ peg$fail(peg$c1282);
11614
12082
  }
11615
12083
  }
11616
12084
  if (s1 !== peg$FAILED) {
11617
12085
  peg$savedPos = s0;
11618
- s1 = peg$c1282();
12086
+ s1 = peg$c1283();
11619
12087
  }
11620
12088
  s0 = s1;
11621
12089
  if (s0 === peg$FAILED) {
11622
12090
  s0 = peg$currPos;
11623
- if (input.substr(peg$currPos, 4) === peg$c1283) {
11624
- s1 = peg$c1283;
12091
+ if (input.substr(peg$currPos, 4) === peg$c1284) {
12092
+ s1 = peg$c1284;
11625
12093
  peg$currPos += 4;
11626
12094
  }
11627
12095
  else {
11628
12096
  s1 = peg$FAILED;
11629
12097
  if (peg$silentFails === 0) {
11630
- peg$fail(peg$c1284);
12098
+ peg$fail(peg$c1285);
11631
12099
  }
11632
12100
  }
11633
12101
  if (s1 !== peg$FAILED) {
11634
12102
  peg$savedPos = s0;
11635
- s1 = peg$c1282();
12103
+ s1 = peg$c1283();
11636
12104
  }
11637
12105
  s0 = s1;
11638
12106
  if (s0 === peg$FAILED) {
11639
12107
  s0 = peg$currPos;
11640
- if (input.substr(peg$currPos, 3) === peg$c1285) {
11641
- s1 = peg$c1285;
12108
+ if (input.substr(peg$currPos, 3) === peg$c1286) {
12109
+ s1 = peg$c1286;
11642
12110
  peg$currPos += 3;
11643
12111
  }
11644
12112
  else {
11645
12113
  s1 = peg$FAILED;
11646
12114
  if (peg$silentFails === 0) {
11647
- peg$fail(peg$c1286);
12115
+ peg$fail(peg$c1287);
11648
12116
  }
11649
12117
  }
11650
12118
  if (s1 !== peg$FAILED) {
11651
12119
  peg$savedPos = s0;
11652
- s1 = peg$c1282();
12120
+ s1 = peg$c1283();
11653
12121
  }
11654
12122
  s0 = s1;
11655
12123
  if (s0 === peg$FAILED) {
11656
12124
  s0 = peg$currPos;
11657
- if (input.substr(peg$currPos, 2) === peg$c1287) {
11658
- s1 = peg$c1287;
12125
+ if (input.substr(peg$currPos, 2) === peg$c1288) {
12126
+ s1 = peg$c1288;
11659
12127
  peg$currPos += 2;
11660
12128
  }
11661
12129
  else {
11662
12130
  s1 = peg$FAILED;
11663
12131
  if (peg$silentFails === 0) {
11664
- peg$fail(peg$c1288);
12132
+ peg$fail(peg$c1289);
11665
12133
  }
11666
12134
  }
11667
12135
  if (s1 !== peg$FAILED) {
11668
12136
  peg$savedPos = s0;
11669
- s1 = peg$c1282();
12137
+ s1 = peg$c1283();
11670
12138
  }
11671
12139
  s0 = s1;
11672
12140
  if (s0 === peg$FAILED) {
11673
12141
  s0 = peg$currPos;
11674
12142
  if (input.charCodeAt(peg$currPos) === 119) {
11675
- s1 = peg$c1289;
12143
+ s1 = peg$c1290;
11676
12144
  peg$currPos++;
11677
12145
  }
11678
12146
  else {
11679
12147
  s1 = peg$FAILED;
11680
12148
  if (peg$silentFails === 0) {
11681
- peg$fail(peg$c1290);
12149
+ peg$fail(peg$c1291);
11682
12150
  }
11683
12151
  }
11684
12152
  if (s1 !== peg$FAILED) {
11685
12153
  peg$savedPos = s0;
11686
- s1 = peg$c1282();
12154
+ s1 = peg$c1283();
11687
12155
  }
11688
12156
  s0 = s1;
11689
12157
  }
@@ -11718,14 +12186,14 @@ function peg$parse(input, options) {
11718
12186
  function peg$parseArrowAfter() {
11719
12187
  var s0, s1, s2, s3, s4, s5;
11720
12188
  s0 = peg$currPos;
11721
- if (input.substr(peg$currPos, 5) === peg$c1291) {
11722
- s1 = peg$c1291;
12189
+ if (input.substr(peg$currPos, 5) === peg$c1292) {
12190
+ s1 = peg$c1292;
11723
12191
  peg$currPos += 5;
11724
12192
  }
11725
12193
  else {
11726
12194
  s1 = peg$FAILED;
11727
12195
  if (peg$silentFails === 0) {
11728
- peg$fail(peg$c1292);
12196
+ peg$fail(peg$c1293);
11729
12197
  }
11730
12198
  }
11731
12199
  if (s1 !== peg$FAILED) {
@@ -11744,7 +12212,7 @@ function peg$parse(input, options) {
11744
12212
  }
11745
12213
  if (s5 !== peg$FAILED) {
11746
12214
  peg$savedPos = s0;
11747
- s1 = peg$c1293(s3, s5);
12215
+ s1 = peg$c1294(s3, s5);
11748
12216
  s0 = s1;
11749
12217
  }
11750
12218
  else {
@@ -11849,7 +12317,7 @@ function peg$parse(input, options) {
11849
12317
  }
11850
12318
  if (s4 !== peg$FAILED) {
11851
12319
  peg$savedPos = s0;
11852
- s1 = peg$c1294(s3);
12320
+ s1 = peg$c1295(s3);
11853
12321
  s0 = s1;
11854
12322
  }
11855
12323
  else {
@@ -11884,14 +12352,14 @@ function peg$parse(input, options) {
11884
12352
  function peg$parseStripe() {
11885
12353
  var s0, s1, s2, s3, s4, s5, s6;
11886
12354
  s0 = peg$currPos;
11887
- if (input.substr(peg$currPos, 2) === peg$c1295) {
11888
- s1 = peg$c1295;
12355
+ if (input.substr(peg$currPos, 2) === peg$c1296) {
12356
+ s1 = peg$c1296;
11889
12357
  peg$currPos += 2;
11890
12358
  }
11891
12359
  else {
11892
12360
  s1 = peg$FAILED;
11893
12361
  if (peg$silentFails === 0) {
11894
- peg$fail(peg$c1296);
12362
+ peg$fail(peg$c1297);
11895
12363
  }
11896
12364
  }
11897
12365
  if (s1 !== peg$FAILED) {
@@ -11926,7 +12394,7 @@ function peg$parse(input, options) {
11926
12394
  }
11927
12395
  if (s2 !== peg$FAILED) {
11928
12396
  peg$savedPos = s0;
11929
- s1 = peg$c1297(s2);
12397
+ s1 = peg$c1298(s2);
11930
12398
  s0 = s1;
11931
12399
  }
11932
12400
  else {
@@ -11940,14 +12408,14 @@ function peg$parse(input, options) {
11940
12408
  }
11941
12409
  if (s0 === peg$FAILED) {
11942
12410
  s0 = peg$currPos;
11943
- if (input.substr(peg$currPos, 2) === peg$c1298) {
11944
- s1 = peg$c1298;
12411
+ if (input.substr(peg$currPos, 2) === peg$c1299) {
12412
+ s1 = peg$c1299;
11945
12413
  peg$currPos += 2;
11946
12414
  }
11947
12415
  else {
11948
12416
  s1 = peg$FAILED;
11949
12417
  if (peg$silentFails === 0) {
11950
- peg$fail(peg$c1299);
12418
+ peg$fail(peg$c1300);
11951
12419
  }
11952
12420
  }
11953
12421
  if (s1 !== peg$FAILED) {
@@ -11982,7 +12450,7 @@ function peg$parse(input, options) {
11982
12450
  }
11983
12451
  if (s2 !== peg$FAILED) {
11984
12452
  peg$savedPos = s0;
11985
- s1 = peg$c1300(s2);
12453
+ s1 = peg$c1301(s2);
11986
12454
  s0 = s1;
11987
12455
  }
11988
12456
  else {
@@ -12001,13 +12469,13 @@ function peg$parse(input, options) {
12001
12469
  var s0, s1, s2, s3, s4, s5, s6;
12002
12470
  s0 = peg$currPos;
12003
12471
  if (input.charCodeAt(peg$currPos) === 43) {
12004
- s1 = peg$c1301;
12472
+ s1 = peg$c1302;
12005
12473
  peg$currPos++;
12006
12474
  }
12007
12475
  else {
12008
12476
  s1 = peg$FAILED;
12009
12477
  if (peg$silentFails === 0) {
12010
- peg$fail(peg$c1302);
12478
+ peg$fail(peg$c1303);
12011
12479
  }
12012
12480
  }
12013
12481
  if (s1 !== peg$FAILED) {
@@ -12042,7 +12510,7 @@ function peg$parse(input, options) {
12042
12510
  }
12043
12511
  if (s2 !== peg$FAILED) {
12044
12512
  peg$savedPos = s0;
12045
- s1 = peg$c1303(s2);
12513
+ s1 = peg$c1304(s2);
12046
12514
  s0 = s1;
12047
12515
  }
12048
12516
  else {
@@ -12057,13 +12525,13 @@ function peg$parse(input, options) {
12057
12525
  if (s0 === peg$FAILED) {
12058
12526
  s0 = peg$currPos;
12059
12527
  if (input.charCodeAt(peg$currPos) === 45) {
12060
- s1 = peg$c1304;
12528
+ s1 = peg$c1305;
12061
12529
  peg$currPos++;
12062
12530
  }
12063
12531
  else {
12064
12532
  s1 = peg$FAILED;
12065
12533
  if (peg$silentFails === 0) {
12066
- peg$fail(peg$c1305);
12534
+ peg$fail(peg$c1306);
12067
12535
  }
12068
12536
  }
12069
12537
  if (s1 !== peg$FAILED) {
@@ -12098,7 +12566,7 @@ function peg$parse(input, options) {
12098
12566
  }
12099
12567
  if (s2 !== peg$FAILED) {
12100
12568
  peg$savedPos = s0;
12101
- s1 = peg$c1306(s2);
12569
+ s1 = peg$c1307(s2);
12102
12570
  s0 = s1;
12103
12571
  }
12104
12572
  else {
@@ -12112,19 +12580,19 @@ function peg$parse(input, options) {
12112
12580
  }
12113
12581
  if (s0 === peg$FAILED) {
12114
12582
  s0 = peg$currPos;
12115
- if (input.substr(peg$currPos, 2) === peg$c1307) {
12116
- s1 = peg$c1307;
12583
+ if (input.substr(peg$currPos, 2) === peg$c1308) {
12584
+ s1 = peg$c1308;
12117
12585
  peg$currPos += 2;
12118
12586
  }
12119
12587
  else {
12120
12588
  s1 = peg$FAILED;
12121
12589
  if (peg$silentFails === 0) {
12122
- peg$fail(peg$c1308);
12590
+ peg$fail(peg$c1309);
12123
12591
  }
12124
12592
  }
12125
12593
  if (s1 !== peg$FAILED) {
12126
12594
  peg$savedPos = s0;
12127
- s1 = peg$c1309();
12595
+ s1 = peg$c1310();
12128
12596
  }
12129
12597
  s0 = s1;
12130
12598
  }
@@ -12151,7 +12619,7 @@ function peg$parse(input, options) {
12151
12619
  s1 = peg$parseArrowAfter();
12152
12620
  if (s1 !== peg$FAILED) {
12153
12621
  peg$savedPos = s0;
12154
- s1 = peg$c1310(s1);
12622
+ s1 = peg$c1311(s1);
12155
12623
  }
12156
12624
  s0 = s1;
12157
12625
  if (s0 === peg$FAILED) {
@@ -12159,7 +12627,7 @@ function peg$parse(input, options) {
12159
12627
  s1 = peg$parseActionLabel();
12160
12628
  if (s1 !== peg$FAILED) {
12161
12629
  peg$savedPos = s0;
12162
- s1 = peg$c1311(s1);
12630
+ s1 = peg$c1312(s1);
12163
12631
  }
12164
12632
  s0 = s1;
12165
12633
  if (s0 === peg$FAILED) {
@@ -12167,7 +12635,7 @@ function peg$parse(input, options) {
12167
12635
  s1 = peg$parseArrowProbability();
12168
12636
  if (s1 !== peg$FAILED) {
12169
12637
  peg$savedPos = s0;
12170
- s1 = peg$c1312(s1);
12638
+ s1 = peg$c1313(s1);
12171
12639
  }
12172
12640
  s0 = s1;
12173
12641
  if (s0 === peg$FAILED) {
@@ -12175,7 +12643,7 @@ function peg$parse(input, options) {
12175
12643
  s1 = peg$parseArrowDesc();
12176
12644
  if (s1 !== peg$FAILED) {
12177
12645
  peg$savedPos = s0;
12178
- s1 = peg$c1313(s1);
12646
+ s1 = peg$c1314(s1);
12179
12647
  }
12180
12648
  s0 = s1;
12181
12649
  }
@@ -12195,7 +12663,7 @@ function peg$parse(input, options) {
12195
12663
  }
12196
12664
  if (s3 !== peg$FAILED) {
12197
12665
  peg$savedPos = s1;
12198
- s2 = peg$c1314(s2);
12666
+ s2 = peg$c1315(s2);
12199
12667
  s1 = s2;
12200
12668
  }
12201
12669
  else {
@@ -12218,7 +12686,7 @@ function peg$parse(input, options) {
12218
12686
  }
12219
12687
  if (s3 !== peg$FAILED) {
12220
12688
  peg$savedPos = s1;
12221
- s2 = peg$c1314(s2);
12689
+ s2 = peg$c1315(s2);
12222
12690
  s1 = s2;
12223
12691
  }
12224
12692
  else {
@@ -12262,7 +12730,13 @@ function peg$parse(input, options) {
12262
12730
  s7 = null;
12263
12731
  }
12264
12732
  if (s7 !== peg$FAILED) {
12265
- s8 = peg$parseArrowTarget();
12733
+ s8 = peg$currPos;
12734
+ s9 = peg$parseArrowTarget();
12735
+ if (s9 !== peg$FAILED) {
12736
+ peg$savedPos = s8;
12737
+ s9 = peg$c1316(s2, s4, s6, s9);
12738
+ }
12739
+ s8 = s9;
12266
12740
  if (s8 !== peg$FAILED) {
12267
12741
  s9 = peg$parseWS();
12268
12742
  if (s9 === peg$FAILED) {
@@ -12275,7 +12749,7 @@ function peg$parse(input, options) {
12275
12749
  }
12276
12750
  if (s10 !== peg$FAILED) {
12277
12751
  peg$savedPos = s0;
12278
- s1 = peg$c1315(s2, s4, s6, s8, s10);
12752
+ s1 = peg$c1317(s2, s4, s6, s8, s10);
12279
12753
  s0 = s1;
12280
12754
  }
12281
12755
  else {
@@ -12332,7 +12806,13 @@ function peg$parse(input, options) {
12332
12806
  function peg$parseExp() {
12333
12807
  var s0, s1, s2, s3, s4, s5;
12334
12808
  s0 = peg$currPos;
12335
- s1 = peg$parseArrowTarget();
12809
+ s1 = peg$currPos;
12810
+ s2 = peg$parseArrowTarget();
12811
+ if (s2 !== peg$FAILED) {
12812
+ peg$savedPos = s1;
12813
+ s2 = peg$c1318(s2);
12814
+ }
12815
+ s1 = s2;
12336
12816
  if (s1 !== peg$FAILED) {
12337
12817
  s2 = peg$parseSubexp();
12338
12818
  if (s2 !== peg$FAILED) {
@@ -12358,7 +12838,7 @@ function peg$parse(input, options) {
12358
12838
  }
12359
12839
  if (s5 !== peg$FAILED) {
12360
12840
  peg$savedPos = s0;
12361
- s1 = peg$c1316(s1, s2);
12841
+ s1 = peg$c1319(s1, s2);
12362
12842
  s0 = s1;
12363
12843
  }
12364
12844
  else {
@@ -12389,25 +12869,25 @@ function peg$parse(input, options) {
12389
12869
  }
12390
12870
  function peg$parseValidationKey() {
12391
12871
  var s0;
12392
- if (input.substr(peg$currPos, 9) === peg$c1317) {
12393
- s0 = peg$c1317;
12872
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
12873
+ s0 = peg$c1320;
12394
12874
  peg$currPos += 9;
12395
12875
  }
12396
12876
  else {
12397
12877
  s0 = peg$FAILED;
12398
12878
  if (peg$silentFails === 0) {
12399
- peg$fail(peg$c1318);
12879
+ peg$fail(peg$c1321);
12400
12880
  }
12401
12881
  }
12402
12882
  if (s0 === peg$FAILED) {
12403
- if (input.substr(peg$currPos, 4) === peg$c1319) {
12404
- s0 = peg$c1319;
12883
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
12884
+ s0 = peg$c1322;
12405
12885
  peg$currPos += 4;
12406
12886
  }
12407
12887
  else {
12408
12888
  s0 = peg$FAILED;
12409
12889
  if (peg$silentFails === 0) {
12410
- peg$fail(peg$c1320);
12890
+ peg$fail(peg$c1323);
12411
12891
  }
12412
12892
  }
12413
12893
  }
@@ -12443,7 +12923,7 @@ function peg$parse(input, options) {
12443
12923
  }
12444
12924
  if (s4 !== peg$FAILED) {
12445
12925
  peg$savedPos = s0;
12446
- s1 = peg$c1321(s1, s3);
12926
+ s1 = peg$c1324(s1, s3);
12447
12927
  s0 = s1;
12448
12928
  }
12449
12929
  else {
@@ -12490,14 +12970,14 @@ function peg$parse(input, options) {
12490
12970
  s1 = null;
12491
12971
  }
12492
12972
  if (s1 !== peg$FAILED) {
12493
- if (input.substr(peg$currPos, 10) === peg$c1322) {
12494
- s2 = peg$c1322;
12973
+ if (input.substr(peg$currPos, 10) === peg$c1325) {
12974
+ s2 = peg$c1325;
12495
12975
  peg$currPos += 10;
12496
12976
  }
12497
12977
  else {
12498
12978
  s2 = peg$FAILED;
12499
12979
  if (peg$silentFails === 0) {
12500
- peg$fail(peg$c1323);
12980
+ peg$fail(peg$c1326);
12501
12981
  }
12502
12982
  }
12503
12983
  if (s2 !== peg$FAILED) {
@@ -12523,13 +13003,13 @@ function peg$parse(input, options) {
12523
13003
  }
12524
13004
  if (s5 !== peg$FAILED) {
12525
13005
  if (input.charCodeAt(peg$currPos) === 123) {
12526
- s6 = peg$c1221;
13006
+ s6 = peg$c1222;
12527
13007
  peg$currPos++;
12528
13008
  }
12529
13009
  else {
12530
13010
  s6 = peg$FAILED;
12531
13011
  if (peg$silentFails === 0) {
12532
- peg$fail(peg$c1222);
13012
+ peg$fail(peg$c1223);
12533
13013
  }
12534
13014
  }
12535
13015
  if (s6 !== peg$FAILED) {
@@ -12548,14 +13028,14 @@ function peg$parse(input, options) {
12548
13028
  s9 = null;
12549
13029
  }
12550
13030
  if (s9 !== peg$FAILED) {
12551
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12552
- s10 = peg$c1324;
13031
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13032
+ s10 = peg$c1327;
12553
13033
  peg$currPos += 2;
12554
13034
  }
12555
13035
  else {
12556
13036
  s10 = peg$FAILED;
12557
13037
  if (peg$silentFails === 0) {
12558
- peg$fail(peg$c1325);
13038
+ peg$fail(peg$c1328);
12559
13039
  }
12560
13040
  }
12561
13041
  if (s10 !== peg$FAILED) {
@@ -12565,7 +13045,7 @@ function peg$parse(input, options) {
12565
13045
  }
12566
13046
  if (s11 !== peg$FAILED) {
12567
13047
  peg$savedPos = s0;
12568
- s1 = peg$c1326(s8);
13048
+ s1 = peg$c1329(s8);
12569
13049
  s0 = s1;
12570
13050
  }
12571
13051
  else {
@@ -12626,58 +13106,58 @@ function peg$parse(input, options) {
12626
13106
  }
12627
13107
  function peg$parseGvizLayout() {
12628
13108
  var s0;
12629
- if (input.substr(peg$currPos, 3) === peg$c1327) {
12630
- s0 = peg$c1327;
13109
+ if (input.substr(peg$currPos, 3) === peg$c1330) {
13110
+ s0 = peg$c1330;
12631
13111
  peg$currPos += 3;
12632
13112
  }
12633
13113
  else {
12634
13114
  s0 = peg$FAILED;
12635
13115
  if (peg$silentFails === 0) {
12636
- peg$fail(peg$c1328);
13116
+ peg$fail(peg$c1331);
12637
13117
  }
12638
13118
  }
12639
13119
  if (s0 === peg$FAILED) {
12640
- if (input.substr(peg$currPos, 5) === peg$c1329) {
12641
- s0 = peg$c1329;
13120
+ if (input.substr(peg$currPos, 5) === peg$c1332) {
13121
+ s0 = peg$c1332;
12642
13122
  peg$currPos += 5;
12643
13123
  }
12644
13124
  else {
12645
13125
  s0 = peg$FAILED;
12646
13126
  if (peg$silentFails === 0) {
12647
- peg$fail(peg$c1330);
13127
+ peg$fail(peg$c1333);
12648
13128
  }
12649
13129
  }
12650
13130
  if (s0 === peg$FAILED) {
12651
- if (input.substr(peg$currPos, 3) === peg$c1331) {
12652
- s0 = peg$c1331;
13131
+ if (input.substr(peg$currPos, 3) === peg$c1334) {
13132
+ s0 = peg$c1334;
12653
13133
  peg$currPos += 3;
12654
13134
  }
12655
13135
  else {
12656
13136
  s0 = peg$FAILED;
12657
13137
  if (peg$silentFails === 0) {
12658
- peg$fail(peg$c1332);
13138
+ peg$fail(peg$c1335);
12659
13139
  }
12660
13140
  }
12661
13141
  if (s0 === peg$FAILED) {
12662
- if (input.substr(peg$currPos, 5) === peg$c1333) {
12663
- s0 = peg$c1333;
13142
+ if (input.substr(peg$currPos, 5) === peg$c1336) {
13143
+ s0 = peg$c1336;
12664
13144
  peg$currPos += 5;
12665
13145
  }
12666
13146
  else {
12667
13147
  s0 = peg$FAILED;
12668
13148
  if (peg$silentFails === 0) {
12669
- peg$fail(peg$c1334);
13149
+ peg$fail(peg$c1337);
12670
13150
  }
12671
13151
  }
12672
13152
  if (s0 === peg$FAILED) {
12673
- if (input.substr(peg$currPos, 5) === peg$c1335) {
12674
- s0 = peg$c1335;
13153
+ if (input.substr(peg$currPos, 5) === peg$c1338) {
13154
+ s0 = peg$c1338;
12675
13155
  peg$currPos += 5;
12676
13156
  }
12677
13157
  else {
12678
13158
  s0 = peg$FAILED;
12679
13159
  if (peg$silentFails === 0) {
12680
- peg$fail(peg$c1336);
13160
+ peg$fail(peg$c1339);
12681
13161
  }
12682
13162
  }
12683
13163
  }
@@ -12709,14 +13189,14 @@ function peg$parse(input, options) {
12709
13189
  s1 = null;
12710
13190
  }
12711
13191
  if (s1 !== peg$FAILED) {
12712
- if (input.substr(peg$currPos, 5) === peg$c1337) {
12713
- s2 = peg$c1337;
13192
+ if (input.substr(peg$currPos, 5) === peg$c1340) {
13193
+ s2 = peg$c1340;
12714
13194
  peg$currPos += 5;
12715
13195
  }
12716
13196
  else {
12717
13197
  s2 = peg$FAILED;
12718
13198
  if (peg$silentFails === 0) {
12719
- peg$fail(peg$c1338);
13199
+ peg$fail(peg$c1341);
12720
13200
  }
12721
13201
  }
12722
13202
  if (s2 !== peg$FAILED) {
@@ -12742,13 +13222,13 @@ function peg$parse(input, options) {
12742
13222
  }
12743
13223
  if (s5 !== peg$FAILED) {
12744
13224
  if (input.charCodeAt(peg$currPos) === 123) {
12745
- s6 = peg$c1221;
13225
+ s6 = peg$c1222;
12746
13226
  peg$currPos++;
12747
13227
  }
12748
13228
  else {
12749
13229
  s6 = peg$FAILED;
12750
13230
  if (peg$silentFails === 0) {
12751
- peg$fail(peg$c1222);
13231
+ peg$fail(peg$c1223);
12752
13232
  }
12753
13233
  }
12754
13234
  if (s6 !== peg$FAILED) {
@@ -12767,14 +13247,14 @@ function peg$parse(input, options) {
12767
13247
  s9 = null;
12768
13248
  }
12769
13249
  if (s9 !== peg$FAILED) {
12770
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12771
- s10 = peg$c1324;
13250
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13251
+ s10 = peg$c1327;
12772
13252
  peg$currPos += 2;
12773
13253
  }
12774
13254
  else {
12775
13255
  s10 = peg$FAILED;
12776
13256
  if (peg$silentFails === 0) {
12777
- peg$fail(peg$c1325);
13257
+ peg$fail(peg$c1328);
12778
13258
  }
12779
13259
  }
12780
13260
  if (s10 !== peg$FAILED) {
@@ -12784,7 +13264,7 @@ function peg$parse(input, options) {
12784
13264
  }
12785
13265
  if (s11 !== peg$FAILED) {
12786
13266
  peg$savedPos = s0;
12787
- s1 = peg$c1339(s8);
13267
+ s1 = peg$c1342(s8);
12788
13268
  s0 = s1;
12789
13269
  }
12790
13270
  else {
@@ -12851,14 +13331,14 @@ function peg$parse(input, options) {
12851
13331
  s1 = null;
12852
13332
  }
12853
13333
  if (s1 !== peg$FAILED) {
12854
- if (input.substr(peg$currPos, 11) === peg$c1340) {
12855
- s2 = peg$c1340;
13334
+ if (input.substr(peg$currPos, 11) === peg$c1343) {
13335
+ s2 = peg$c1343;
12856
13336
  peg$currPos += 11;
12857
13337
  }
12858
13338
  else {
12859
13339
  s2 = peg$FAILED;
12860
13340
  if (peg$silentFails === 0) {
12861
- peg$fail(peg$c1341);
13341
+ peg$fail(peg$c1344);
12862
13342
  }
12863
13343
  }
12864
13344
  if (s2 !== peg$FAILED) {
@@ -12884,13 +13364,13 @@ function peg$parse(input, options) {
12884
13364
  }
12885
13365
  if (s5 !== peg$FAILED) {
12886
13366
  if (input.charCodeAt(peg$currPos) === 123) {
12887
- s6 = peg$c1221;
13367
+ s6 = peg$c1222;
12888
13368
  peg$currPos++;
12889
13369
  }
12890
13370
  else {
12891
13371
  s6 = peg$FAILED;
12892
13372
  if (peg$silentFails === 0) {
12893
- peg$fail(peg$c1222);
13373
+ peg$fail(peg$c1223);
12894
13374
  }
12895
13375
  }
12896
13376
  if (s6 !== peg$FAILED) {
@@ -12909,14 +13389,14 @@ function peg$parse(input, options) {
12909
13389
  s9 = null;
12910
13390
  }
12911
13391
  if (s9 !== peg$FAILED) {
12912
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12913
- s10 = peg$c1324;
13392
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13393
+ s10 = peg$c1327;
12914
13394
  peg$currPos += 2;
12915
13395
  }
12916
13396
  else {
12917
13397
  s10 = peg$FAILED;
12918
13398
  if (peg$silentFails === 0) {
12919
- peg$fail(peg$c1325);
13399
+ peg$fail(peg$c1328);
12920
13400
  }
12921
13401
  }
12922
13402
  if (s10 !== peg$FAILED) {
@@ -12926,7 +13406,7 @@ function peg$parse(input, options) {
12926
13406
  }
12927
13407
  if (s11 !== peg$FAILED) {
12928
13408
  peg$savedPos = s0;
12929
- s1 = peg$c1342(s8);
13409
+ s1 = peg$c1345(s8);
12930
13410
  s0 = s1;
12931
13411
  }
12932
13412
  else {
@@ -12993,14 +13473,14 @@ function peg$parse(input, options) {
12993
13473
  s1 = null;
12994
13474
  }
12995
13475
  if (s1 !== peg$FAILED) {
12996
- if (input.substr(peg$currPos, 9) === peg$c1343) {
12997
- s2 = peg$c1343;
13476
+ if (input.substr(peg$currPos, 9) === peg$c1346) {
13477
+ s2 = peg$c1346;
12998
13478
  peg$currPos += 9;
12999
13479
  }
13000
13480
  else {
13001
13481
  s2 = peg$FAILED;
13002
13482
  if (peg$silentFails === 0) {
13003
- peg$fail(peg$c1344);
13483
+ peg$fail(peg$c1347);
13004
13484
  }
13005
13485
  }
13006
13486
  if (s2 !== peg$FAILED) {
@@ -13026,13 +13506,13 @@ function peg$parse(input, options) {
13026
13506
  }
13027
13507
  if (s5 !== peg$FAILED) {
13028
13508
  if (input.charCodeAt(peg$currPos) === 123) {
13029
- s6 = peg$c1221;
13509
+ s6 = peg$c1222;
13030
13510
  peg$currPos++;
13031
13511
  }
13032
13512
  else {
13033
13513
  s6 = peg$FAILED;
13034
13514
  if (peg$silentFails === 0) {
13035
- peg$fail(peg$c1222);
13515
+ peg$fail(peg$c1223);
13036
13516
  }
13037
13517
  }
13038
13518
  if (s6 !== peg$FAILED) {
@@ -13051,14 +13531,14 @@ function peg$parse(input, options) {
13051
13531
  s9 = null;
13052
13532
  }
13053
13533
  if (s9 !== peg$FAILED) {
13054
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13055
- s10 = peg$c1324;
13534
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13535
+ s10 = peg$c1327;
13056
13536
  peg$currPos += 2;
13057
13537
  }
13058
13538
  else {
13059
13539
  s10 = peg$FAILED;
13060
13540
  if (peg$silentFails === 0) {
13061
- peg$fail(peg$c1325);
13541
+ peg$fail(peg$c1328);
13062
13542
  }
13063
13543
  }
13064
13544
  if (s10 !== peg$FAILED) {
@@ -13068,7 +13548,7 @@ function peg$parse(input, options) {
13068
13548
  }
13069
13549
  if (s11 !== peg$FAILED) {
13070
13550
  peg$savedPos = s0;
13071
- s1 = peg$c1345(s8);
13551
+ s1 = peg$c1348(s8);
13072
13552
  s0 = s1;
13073
13553
  }
13074
13554
  else {
@@ -13135,14 +13615,14 @@ function peg$parse(input, options) {
13135
13615
  s1 = null;
13136
13616
  }
13137
13617
  if (s1 !== peg$FAILED) {
13138
- if (input.substr(peg$currPos, 12) === peg$c1346) {
13139
- s2 = peg$c1346;
13618
+ if (input.substr(peg$currPos, 12) === peg$c1349) {
13619
+ s2 = peg$c1349;
13140
13620
  peg$currPos += 12;
13141
13621
  }
13142
13622
  else {
13143
13623
  s2 = peg$FAILED;
13144
13624
  if (peg$silentFails === 0) {
13145
- peg$fail(peg$c1347);
13625
+ peg$fail(peg$c1350);
13146
13626
  }
13147
13627
  }
13148
13628
  if (s2 !== peg$FAILED) {
@@ -13168,13 +13648,13 @@ function peg$parse(input, options) {
13168
13648
  }
13169
13649
  if (s5 !== peg$FAILED) {
13170
13650
  if (input.charCodeAt(peg$currPos) === 123) {
13171
- s6 = peg$c1221;
13651
+ s6 = peg$c1222;
13172
13652
  peg$currPos++;
13173
13653
  }
13174
13654
  else {
13175
13655
  s6 = peg$FAILED;
13176
13656
  if (peg$silentFails === 0) {
13177
- peg$fail(peg$c1222);
13657
+ peg$fail(peg$c1223);
13178
13658
  }
13179
13659
  }
13180
13660
  if (s6 !== peg$FAILED) {
@@ -13193,14 +13673,14 @@ function peg$parse(input, options) {
13193
13673
  s9 = null;
13194
13674
  }
13195
13675
  if (s9 !== peg$FAILED) {
13196
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13197
- s10 = peg$c1324;
13676
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13677
+ s10 = peg$c1327;
13198
13678
  peg$currPos += 2;
13199
13679
  }
13200
13680
  else {
13201
13681
  s10 = peg$FAILED;
13202
13682
  if (peg$silentFails === 0) {
13203
- peg$fail(peg$c1325);
13683
+ peg$fail(peg$c1328);
13204
13684
  }
13205
13685
  }
13206
13686
  if (s10 !== peg$FAILED) {
@@ -13210,7 +13690,7 @@ function peg$parse(input, options) {
13210
13690
  }
13211
13691
  if (s11 !== peg$FAILED) {
13212
13692
  peg$savedPos = s0;
13213
- s1 = peg$c1348(s8);
13693
+ s1 = peg$c1351(s8);
13214
13694
  s0 = s1;
13215
13695
  }
13216
13696
  else {
@@ -13277,14 +13757,14 @@ function peg$parse(input, options) {
13277
13757
  s1 = null;
13278
13758
  }
13279
13759
  if (s1 !== peg$FAILED) {
13280
- if (input.substr(peg$currPos, 14) === peg$c1349) {
13281
- s2 = peg$c1349;
13760
+ if (input.substr(peg$currPos, 14) === peg$c1352) {
13761
+ s2 = peg$c1352;
13282
13762
  peg$currPos += 14;
13283
13763
  }
13284
13764
  else {
13285
13765
  s2 = peg$FAILED;
13286
13766
  if (peg$silentFails === 0) {
13287
- peg$fail(peg$c1350);
13767
+ peg$fail(peg$c1353);
13288
13768
  }
13289
13769
  }
13290
13770
  if (s2 !== peg$FAILED) {
@@ -13310,13 +13790,13 @@ function peg$parse(input, options) {
13310
13790
  }
13311
13791
  if (s5 !== peg$FAILED) {
13312
13792
  if (input.charCodeAt(peg$currPos) === 123) {
13313
- s6 = peg$c1221;
13793
+ s6 = peg$c1222;
13314
13794
  peg$currPos++;
13315
13795
  }
13316
13796
  else {
13317
13797
  s6 = peg$FAILED;
13318
13798
  if (peg$silentFails === 0) {
13319
- peg$fail(peg$c1222);
13799
+ peg$fail(peg$c1223);
13320
13800
  }
13321
13801
  }
13322
13802
  if (s6 !== peg$FAILED) {
@@ -13335,14 +13815,14 @@ function peg$parse(input, options) {
13335
13815
  s9 = null;
13336
13816
  }
13337
13817
  if (s9 !== peg$FAILED) {
13338
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13339
- s10 = peg$c1324;
13818
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13819
+ s10 = peg$c1327;
13340
13820
  peg$currPos += 2;
13341
13821
  }
13342
13822
  else {
13343
13823
  s10 = peg$FAILED;
13344
13824
  if (peg$silentFails === 0) {
13345
- peg$fail(peg$c1325);
13825
+ peg$fail(peg$c1328);
13346
13826
  }
13347
13827
  }
13348
13828
  if (s10 !== peg$FAILED) {
@@ -13352,7 +13832,7 @@ function peg$parse(input, options) {
13352
13832
  }
13353
13833
  if (s11 !== peg$FAILED) {
13354
13834
  peg$savedPos = s0;
13355
- s1 = peg$c1351(s8);
13835
+ s1 = peg$c1354(s8);
13356
13836
  s0 = s1;
13357
13837
  }
13358
13838
  else {
@@ -13419,14 +13899,14 @@ function peg$parse(input, options) {
13419
13899
  s1 = null;
13420
13900
  }
13421
13901
  if (s1 !== peg$FAILED) {
13422
- if (input.substr(peg$currPos, 12) === peg$c1352) {
13423
- s2 = peg$c1352;
13902
+ if (input.substr(peg$currPos, 12) === peg$c1355) {
13903
+ s2 = peg$c1355;
13424
13904
  peg$currPos += 12;
13425
13905
  }
13426
13906
  else {
13427
13907
  s2 = peg$FAILED;
13428
13908
  if (peg$silentFails === 0) {
13429
- peg$fail(peg$c1353);
13909
+ peg$fail(peg$c1356);
13430
13910
  }
13431
13911
  }
13432
13912
  if (s2 !== peg$FAILED) {
@@ -13452,13 +13932,13 @@ function peg$parse(input, options) {
13452
13932
  }
13453
13933
  if (s5 !== peg$FAILED) {
13454
13934
  if (input.charCodeAt(peg$currPos) === 123) {
13455
- s6 = peg$c1221;
13935
+ s6 = peg$c1222;
13456
13936
  peg$currPos++;
13457
13937
  }
13458
13938
  else {
13459
13939
  s6 = peg$FAILED;
13460
13940
  if (peg$silentFails === 0) {
13461
- peg$fail(peg$c1222);
13941
+ peg$fail(peg$c1223);
13462
13942
  }
13463
13943
  }
13464
13944
  if (s6 !== peg$FAILED) {
@@ -13477,14 +13957,14 @@ function peg$parse(input, options) {
13477
13957
  s9 = null;
13478
13958
  }
13479
13959
  if (s9 !== peg$FAILED) {
13480
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13481
- s10 = peg$c1324;
13960
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13961
+ s10 = peg$c1327;
13482
13962
  peg$currPos += 2;
13483
13963
  }
13484
13964
  else {
13485
13965
  s10 = peg$FAILED;
13486
13966
  if (peg$silentFails === 0) {
13487
- peg$fail(peg$c1325);
13967
+ peg$fail(peg$c1328);
13488
13968
  }
13489
13969
  }
13490
13970
  if (s10 !== peg$FAILED) {
@@ -13494,7 +13974,7 @@ function peg$parse(input, options) {
13494
13974
  }
13495
13975
  if (s11 !== peg$FAILED) {
13496
13976
  peg$savedPos = s0;
13497
- s1 = peg$c1354(s8);
13977
+ s1 = peg$c1357(s8);
13498
13978
  s0 = s1;
13499
13979
  }
13500
13980
  else {
@@ -13575,25 +14055,25 @@ function peg$parse(input, options) {
13575
14055
  }
13576
14056
  function peg$parseActionKey() {
13577
14057
  var s0;
13578
- if (input.substr(peg$currPos, 9) === peg$c1317) {
13579
- s0 = peg$c1317;
14058
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
14059
+ s0 = peg$c1320;
13580
14060
  peg$currPos += 9;
13581
14061
  }
13582
14062
  else {
13583
14063
  s0 = peg$FAILED;
13584
14064
  if (peg$silentFails === 0) {
13585
- peg$fail(peg$c1318);
14065
+ peg$fail(peg$c1321);
13586
14066
  }
13587
14067
  }
13588
14068
  if (s0 === peg$FAILED) {
13589
- if (input.substr(peg$currPos, 4) === peg$c1319) {
13590
- s0 = peg$c1319;
14069
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
14070
+ s0 = peg$c1322;
13591
14071
  peg$currPos += 4;
13592
14072
  }
13593
14073
  else {
13594
14074
  s0 = peg$FAILED;
13595
14075
  if (peg$silentFails === 0) {
13596
- peg$fail(peg$c1320);
14076
+ peg$fail(peg$c1323);
13597
14077
  }
13598
14078
  }
13599
14079
  }
@@ -13629,7 +14109,7 @@ function peg$parse(input, options) {
13629
14109
  }
13630
14110
  if (s4 !== peg$FAILED) {
13631
14111
  peg$savedPos = s0;
13632
- s1 = peg$c1355(s1, s3);
14112
+ s1 = peg$c1358(s1, s3);
13633
14113
  s0 = s1;
13634
14114
  }
13635
14115
  else {
@@ -13676,14 +14156,14 @@ function peg$parse(input, options) {
13676
14156
  s1 = null;
13677
14157
  }
13678
14158
  if (s1 !== peg$FAILED) {
13679
- if (input.substr(peg$currPos, 6) === peg$c1356) {
13680
- s2 = peg$c1356;
14159
+ if (input.substr(peg$currPos, 6) === peg$c1359) {
14160
+ s2 = peg$c1359;
13681
14161
  peg$currPos += 6;
13682
14162
  }
13683
14163
  else {
13684
14164
  s2 = peg$FAILED;
13685
14165
  if (peg$silentFails === 0) {
13686
- peg$fail(peg$c1357);
14166
+ peg$fail(peg$c1360);
13687
14167
  }
13688
14168
  }
13689
14169
  if (s2 !== peg$FAILED) {
@@ -13709,13 +14189,13 @@ function peg$parse(input, options) {
13709
14189
  }
13710
14190
  if (s5 !== peg$FAILED) {
13711
14191
  if (input.charCodeAt(peg$currPos) === 123) {
13712
- s6 = peg$c1221;
14192
+ s6 = peg$c1222;
13713
14193
  peg$currPos++;
13714
14194
  }
13715
14195
  else {
13716
14196
  s6 = peg$FAILED;
13717
14197
  if (peg$silentFails === 0) {
13718
- peg$fail(peg$c1222);
14198
+ peg$fail(peg$c1223);
13719
14199
  }
13720
14200
  }
13721
14201
  if (s6 !== peg$FAILED) {
@@ -13734,14 +14214,14 @@ function peg$parse(input, options) {
13734
14214
  s9 = null;
13735
14215
  }
13736
14216
  if (s9 !== peg$FAILED) {
13737
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13738
- s10 = peg$c1324;
14217
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
14218
+ s10 = peg$c1327;
13739
14219
  peg$currPos += 2;
13740
14220
  }
13741
14221
  else {
13742
14222
  s10 = peg$FAILED;
13743
14223
  if (peg$silentFails === 0) {
13744
- peg$fail(peg$c1325);
14224
+ peg$fail(peg$c1328);
13745
14225
  }
13746
14226
  }
13747
14227
  if (s10 !== peg$FAILED) {
@@ -13751,7 +14231,7 @@ function peg$parse(input, options) {
13751
14231
  }
13752
14232
  if (s11 !== peg$FAILED) {
13753
14233
  peg$savedPos = s0;
13754
- s1 = peg$c1358(s8);
14234
+ s1 = peg$c1361(s8);
13755
14235
  s0 = s1;
13756
14236
  }
13757
14237
  else {
@@ -13812,25 +14292,25 @@ function peg$parse(input, options) {
13812
14292
  }
13813
14293
  function peg$parseTransitionKey() {
13814
14294
  var s0;
13815
- if (input.substr(peg$currPos, 9) === peg$c1317) {
13816
- s0 = peg$c1317;
14295
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
14296
+ s0 = peg$c1320;
13817
14297
  peg$currPos += 9;
13818
14298
  }
13819
14299
  else {
13820
14300
  s0 = peg$FAILED;
13821
14301
  if (peg$silentFails === 0) {
13822
- peg$fail(peg$c1318);
14302
+ peg$fail(peg$c1321);
13823
14303
  }
13824
14304
  }
13825
14305
  if (s0 === peg$FAILED) {
13826
- if (input.substr(peg$currPos, 4) === peg$c1319) {
13827
- s0 = peg$c1319;
14306
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
14307
+ s0 = peg$c1322;
13828
14308
  peg$currPos += 4;
13829
14309
  }
13830
14310
  else {
13831
14311
  s0 = peg$FAILED;
13832
14312
  if (peg$silentFails === 0) {
13833
- peg$fail(peg$c1320);
14313
+ peg$fail(peg$c1323);
13834
14314
  }
13835
14315
  }
13836
14316
  }
@@ -13866,7 +14346,7 @@ function peg$parse(input, options) {
13866
14346
  }
13867
14347
  if (s4 !== peg$FAILED) {
13868
14348
  peg$savedPos = s0;
13869
- s1 = peg$c1359(s1, s3);
14349
+ s1 = peg$c1362(s1, s3);
13870
14350
  s0 = s1;
13871
14351
  }
13872
14352
  else {
@@ -13949,7 +14429,13 @@ function peg$parse(input, options) {
13949
14429
  s5 = null;
13950
14430
  }
13951
14431
  if (s5 !== peg$FAILED) {
13952
- s6 = peg$parseColor();
14432
+ s6 = peg$currPos;
14433
+ s7 = peg$parseColor();
14434
+ if (s7 !== peg$FAILED) {
14435
+ peg$savedPos = s6;
14436
+ s7 = peg$c1214(s7);
14437
+ }
14438
+ s6 = s7;
13953
14439
  if (s6 !== peg$FAILED) {
13954
14440
  s7 = peg$parseWS();
13955
14441
  if (s7 === peg$FAILED) {
@@ -13973,7 +14459,7 @@ function peg$parse(input, options) {
13973
14459
  }
13974
14460
  if (s9 !== peg$FAILED) {
13975
14461
  peg$savedPos = s0;
13976
- s1 = peg$c1361(s6);
14462
+ s1 = peg$c1364(s6);
13977
14463
  s0 = s1;
13978
14464
  }
13979
14465
  else {
@@ -14027,14 +14513,14 @@ function peg$parse(input, options) {
14027
14513
  s1 = null;
14028
14514
  }
14029
14515
  if (s1 !== peg$FAILED) {
14030
- if (input.substr(peg$currPos, 10) === peg$c1215) {
14031
- s2 = peg$c1215;
14516
+ if (input.substr(peg$currPos, 10) === peg$c1216) {
14517
+ s2 = peg$c1216;
14032
14518
  peg$currPos += 10;
14033
14519
  }
14034
14520
  else {
14035
14521
  s2 = peg$FAILED;
14036
14522
  if (peg$silentFails === 0) {
14037
- peg$fail(peg$c1216);
14523
+ peg$fail(peg$c1217);
14038
14524
  }
14039
14525
  }
14040
14526
  if (s2 !== peg$FAILED) {
@@ -14059,7 +14545,13 @@ function peg$parse(input, options) {
14059
14545
  s5 = null;
14060
14546
  }
14061
14547
  if (s5 !== peg$FAILED) {
14062
- s6 = peg$parseColor();
14548
+ s6 = peg$currPos;
14549
+ s7 = peg$parseColor();
14550
+ if (s7 !== peg$FAILED) {
14551
+ peg$savedPos = s6;
14552
+ s7 = peg$c1214(s7);
14553
+ }
14554
+ s6 = s7;
14063
14555
  if (s6 !== peg$FAILED) {
14064
14556
  s7 = peg$parseWS();
14065
14557
  if (s7 === peg$FAILED) {
@@ -14083,7 +14575,7 @@ function peg$parse(input, options) {
14083
14575
  }
14084
14576
  if (s9 !== peg$FAILED) {
14085
14577
  peg$savedPos = s0;
14086
- s1 = peg$c1361(s6);
14578
+ s1 = peg$c1364(s6);
14087
14579
  s0 = s1;
14088
14580
  }
14089
14581
  else {
@@ -14135,7 +14627,7 @@ function peg$parse(input, options) {
14135
14627
  if (s0 === peg$FAILED) {
14136
14628
  s1 = peg$FAILED;
14137
14629
  if (peg$silentFails === 0) {
14138
- peg$fail(peg$c1360);
14630
+ peg$fail(peg$c1363);
14139
14631
  }
14140
14632
  }
14141
14633
  return s0;
@@ -14148,14 +14640,14 @@ function peg$parse(input, options) {
14148
14640
  s1 = null;
14149
14641
  }
14150
14642
  if (s1 !== peg$FAILED) {
14151
- if (input.substr(peg$currPos, 10) === peg$c1362) {
14152
- s2 = peg$c1362;
14643
+ if (input.substr(peg$currPos, 10) === peg$c1365) {
14644
+ s2 = peg$c1365;
14153
14645
  peg$currPos += 10;
14154
14646
  }
14155
14647
  else {
14156
14648
  s2 = peg$FAILED;
14157
14649
  if (peg$silentFails === 0) {
14158
- peg$fail(peg$c1363);
14650
+ peg$fail(peg$c1366);
14159
14651
  }
14160
14652
  }
14161
14653
  if (s2 !== peg$FAILED) {
@@ -14181,13 +14673,13 @@ function peg$parse(input, options) {
14181
14673
  }
14182
14674
  if (s5 !== peg$FAILED) {
14183
14675
  if (input.charCodeAt(peg$currPos) === 123) {
14184
- s6 = peg$c1221;
14676
+ s6 = peg$c1222;
14185
14677
  peg$currPos++;
14186
14678
  }
14187
14679
  else {
14188
14680
  s6 = peg$FAILED;
14189
14681
  if (peg$silentFails === 0) {
14190
- peg$fail(peg$c1222);
14682
+ peg$fail(peg$c1223);
14191
14683
  }
14192
14684
  }
14193
14685
  if (s6 !== peg$FAILED) {
@@ -14206,14 +14698,14 @@ function peg$parse(input, options) {
14206
14698
  s9 = null;
14207
14699
  }
14208
14700
  if (s9 !== peg$FAILED) {
14209
- if (input.substr(peg$currPos, 2) === peg$c1324) {
14210
- s10 = peg$c1324;
14701
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
14702
+ s10 = peg$c1327;
14211
14703
  peg$currPos += 2;
14212
14704
  }
14213
14705
  else {
14214
14706
  s10 = peg$FAILED;
14215
14707
  if (peg$silentFails === 0) {
14216
- peg$fail(peg$c1325);
14708
+ peg$fail(peg$c1328);
14217
14709
  }
14218
14710
  }
14219
14711
  if (s10 !== peg$FAILED) {
@@ -14223,7 +14715,7 @@ function peg$parse(input, options) {
14223
14715
  }
14224
14716
  if (s11 !== peg$FAILED) {
14225
14717
  peg$savedPos = s0;
14226
- s1 = peg$c1364(s8);
14718
+ s1 = peg$c1367(s8);
14227
14719
  s0 = s1;
14228
14720
  }
14229
14721
  else {
@@ -14290,14 +14782,14 @@ function peg$parse(input, options) {
14290
14782
  s1 = null;
14291
14783
  }
14292
14784
  if (s1 !== peg$FAILED) {
14293
- if (input.substr(peg$currPos, 12) === peg$c1365) {
14294
- s2 = peg$c1365;
14785
+ if (input.substr(peg$currPos, 12) === peg$c1368) {
14786
+ s2 = peg$c1368;
14295
14787
  peg$currPos += 12;
14296
14788
  }
14297
14789
  else {
14298
14790
  s2 = peg$FAILED;
14299
14791
  if (peg$silentFails === 0) {
14300
- peg$fail(peg$c1366);
14792
+ peg$fail(peg$c1369);
14301
14793
  }
14302
14794
  }
14303
14795
  if (s2 !== peg$FAILED) {
@@ -14346,7 +14838,7 @@ function peg$parse(input, options) {
14346
14838
  }
14347
14839
  if (s9 !== peg$FAILED) {
14348
14840
  peg$savedPos = s0;
14349
- s1 = peg$c1367(s6);
14841
+ s1 = peg$c1370(s6);
14350
14842
  s0 = s1;
14351
14843
  }
14352
14844
  else {
@@ -14403,14 +14895,14 @@ function peg$parse(input, options) {
14403
14895
  s1 = null;
14404
14896
  }
14405
14897
  if (s1 !== peg$FAILED) {
14406
- if (input.substr(peg$currPos, 12) === peg$c1368) {
14407
- s2 = peg$c1368;
14898
+ if (input.substr(peg$currPos, 12) === peg$c1371) {
14899
+ s2 = peg$c1371;
14408
14900
  peg$currPos += 12;
14409
14901
  }
14410
14902
  else {
14411
14903
  s2 = peg$FAILED;
14412
14904
  if (peg$silentFails === 0) {
14413
- peg$fail(peg$c1369);
14905
+ peg$fail(peg$c1372);
14414
14906
  }
14415
14907
  }
14416
14908
  if (s2 !== peg$FAILED) {
@@ -14459,7 +14951,7 @@ function peg$parse(input, options) {
14459
14951
  }
14460
14952
  if (s9 !== peg$FAILED) {
14461
14953
  peg$savedPos = s0;
14462
- s1 = peg$c1370(s6);
14954
+ s1 = peg$c1373(s6);
14463
14955
  s0 = s1;
14464
14956
  }
14465
14957
  else {
@@ -14516,14 +15008,14 @@ function peg$parse(input, options) {
14516
15008
  s1 = null;
14517
15009
  }
14518
15010
  if (s1 !== peg$FAILED) {
14519
- if (input.substr(peg$currPos, 10) === peg$c1371) {
14520
- s2 = peg$c1371;
15011
+ if (input.substr(peg$currPos, 10) === peg$c1374) {
15012
+ s2 = peg$c1374;
14521
15013
  peg$currPos += 10;
14522
15014
  }
14523
15015
  else {
14524
15016
  s2 = peg$FAILED;
14525
15017
  if (peg$silentFails === 0) {
14526
- peg$fail(peg$c1372);
15018
+ peg$fail(peg$c1375);
14527
15019
  }
14528
15020
  }
14529
15021
  if (s2 !== peg$FAILED) {
@@ -14572,7 +15064,7 @@ function peg$parse(input, options) {
14572
15064
  }
14573
15065
  if (s9 !== peg$FAILED) {
14574
15066
  peg$savedPos = s0;
14575
- s1 = peg$c1373(s6);
15067
+ s1 = peg$c1376(s6);
14576
15068
  s0 = s1;
14577
15069
  }
14578
15070
  else {
@@ -14629,14 +15121,14 @@ function peg$parse(input, options) {
14629
15121
  s1 = null;
14630
15122
  }
14631
15123
  if (s1 !== peg$FAILED) {
14632
- if (input.substr(peg$currPos, 14) === peg$c1374) {
14633
- s2 = peg$c1374;
15124
+ if (input.substr(peg$currPos, 14) === peg$c1377) {
15125
+ s2 = peg$c1377;
14634
15126
  peg$currPos += 14;
14635
15127
  }
14636
15128
  else {
14637
15129
  s2 = peg$FAILED;
14638
15130
  if (peg$silentFails === 0) {
14639
- peg$fail(peg$c1375);
15131
+ peg$fail(peg$c1378);
14640
15132
  }
14641
15133
  }
14642
15134
  if (s2 !== peg$FAILED) {
@@ -14661,7 +15153,13 @@ function peg$parse(input, options) {
14661
15153
  s5 = null;
14662
15154
  }
14663
15155
  if (s5 !== peg$FAILED) {
14664
- s6 = peg$parseLabelOrLabelList();
15156
+ s6 = peg$currPos;
15157
+ s7 = peg$parseLabelOrLabelList();
15158
+ if (s7 !== peg$FAILED) {
15159
+ peg$savedPos = s6;
15160
+ s7 = peg$c1214(s7);
15161
+ }
15162
+ s6 = s7;
14665
15163
  if (s6 !== peg$FAILED) {
14666
15164
  s7 = peg$parseWS();
14667
15165
  if (s7 === peg$FAILED) {
@@ -14685,7 +15183,7 @@ function peg$parse(input, options) {
14685
15183
  }
14686
15184
  if (s9 !== peg$FAILED) {
14687
15185
  peg$savedPos = s0;
14688
- s1 = peg$c1376(s6);
15186
+ s1 = peg$c1379(s6);
14689
15187
  s0 = s1;
14690
15188
  }
14691
15189
  else {
@@ -14742,14 +15240,14 @@ function peg$parse(input, options) {
14742
15240
  s1 = null;
14743
15241
  }
14744
15242
  if (s1 !== peg$FAILED) {
14745
- if (input.substr(peg$currPos, 14) === peg$c1377) {
14746
- s2 = peg$c1377;
15243
+ if (input.substr(peg$currPos, 14) === peg$c1380) {
15244
+ s2 = peg$c1380;
14747
15245
  peg$currPos += 14;
14748
15246
  }
14749
15247
  else {
14750
15248
  s2 = peg$FAILED;
14751
15249
  if (peg$silentFails === 0) {
14752
- peg$fail(peg$c1378);
15250
+ peg$fail(peg$c1381);
14753
15251
  }
14754
15252
  }
14755
15253
  if (s2 !== peg$FAILED) {
@@ -14774,7 +15272,13 @@ function peg$parse(input, options) {
14774
15272
  s5 = null;
14775
15273
  }
14776
15274
  if (s5 !== peg$FAILED) {
14777
- s6 = peg$parseColor();
15275
+ s6 = peg$currPos;
15276
+ s7 = peg$parseColor();
15277
+ if (s7 !== peg$FAILED) {
15278
+ peg$savedPos = s6;
15279
+ s7 = peg$c1214(s7);
15280
+ }
15281
+ s6 = s7;
14778
15282
  if (s6 !== peg$FAILED) {
14779
15283
  s7 = peg$parseWS();
14780
15284
  if (s7 === peg$FAILED) {
@@ -14798,7 +15302,7 @@ function peg$parse(input, options) {
14798
15302
  }
14799
15303
  if (s9 !== peg$FAILED) {
14800
15304
  peg$savedPos = s0;
14801
- s1 = peg$c1379(s6);
15305
+ s1 = peg$c1382(s6);
14802
15306
  s0 = s1;
14803
15307
  }
14804
15308
  else {
@@ -14855,14 +15359,14 @@ function peg$parse(input, options) {
14855
15359
  s1 = null;
14856
15360
  }
14857
15361
  if (s1 !== peg$FAILED) {
14858
- if (input.substr(peg$currPos, 15) === peg$c1380) {
14859
- s2 = peg$c1380;
15362
+ if (input.substr(peg$currPos, 15) === peg$c1383) {
15363
+ s2 = peg$c1383;
14860
15364
  peg$currPos += 15;
14861
15365
  }
14862
15366
  else {
14863
15367
  s2 = peg$FAILED;
14864
15368
  if (peg$silentFails === 0) {
14865
- peg$fail(peg$c1381);
15369
+ peg$fail(peg$c1384);
14866
15370
  }
14867
15371
  }
14868
15372
  if (s2 !== peg$FAILED) {
@@ -14911,7 +15415,7 @@ function peg$parse(input, options) {
14911
15415
  }
14912
15416
  if (s9 !== peg$FAILED) {
14913
15417
  peg$savedPos = s0;
14914
- s1 = peg$c1382(s6);
15418
+ s1 = peg$c1385(s6);
14915
15419
  s0 = s1;
14916
15420
  }
14917
15421
  else {
@@ -14968,14 +15472,14 @@ function peg$parse(input, options) {
14968
15472
  s1 = null;
14969
15473
  }
14970
15474
  if (s1 !== peg$FAILED) {
14971
- if (input.substr(peg$currPos, 13) === peg$c1383) {
14972
- s2 = peg$c1383;
15475
+ if (input.substr(peg$currPos, 13) === peg$c1386) {
15476
+ s2 = peg$c1386;
14973
15477
  peg$currPos += 13;
14974
15478
  }
14975
15479
  else {
14976
15480
  s2 = peg$FAILED;
14977
15481
  if (peg$silentFails === 0) {
14978
- peg$fail(peg$c1384);
15482
+ peg$fail(peg$c1387);
14979
15483
  }
14980
15484
  }
14981
15485
  if (s2 !== peg$FAILED) {
@@ -15000,7 +15504,13 @@ function peg$parse(input, options) {
15000
15504
  s5 = null;
15001
15505
  }
15002
15506
  if (s5 !== peg$FAILED) {
15003
- s6 = peg$parseIslandsT();
15507
+ s6 = peg$currPos;
15508
+ s7 = peg$parseIslandsT();
15509
+ if (s7 !== peg$FAILED) {
15510
+ peg$savedPos = s6;
15511
+ s7 = peg$c1214(s7);
15512
+ }
15513
+ s6 = s7;
15004
15514
  if (s6 !== peg$FAILED) {
15005
15515
  s7 = peg$parseWS();
15006
15516
  if (s7 === peg$FAILED) {
@@ -15024,7 +15534,7 @@ function peg$parse(input, options) {
15024
15534
  }
15025
15535
  if (s9 !== peg$FAILED) {
15026
15536
  peg$savedPos = s0;
15027
- s1 = peg$c1385(s6);
15537
+ s1 = peg$c1388(s6);
15028
15538
  s0 = s1;
15029
15539
  }
15030
15540
  else {
@@ -15088,7 +15598,7 @@ function peg$parse(input, options) {
15088
15598
  }
15089
15599
  if (s1 !== peg$FAILED) {
15090
15600
  peg$savedPos = s0;
15091
- s1 = peg$c1386();
15601
+ s1 = peg$c1389();
15092
15602
  }
15093
15603
  s0 = s1;
15094
15604
  if (s0 === peg$FAILED) {
@@ -15105,7 +15615,7 @@ function peg$parse(input, options) {
15105
15615
  }
15106
15616
  if (s1 !== peg$FAILED) {
15107
15617
  peg$savedPos = s0;
15108
- s1 = peg$c1387();
15618
+ s1 = peg$c1390();
15109
15619
  }
15110
15620
  s0 = s1;
15111
15621
  if (s0 === peg$FAILED) {
@@ -15132,19 +15642,19 @@ function peg$parse(input, options) {
15132
15642
  function peg$parseIslandsT() {
15133
15643
  var s0, s1;
15134
15644
  s0 = peg$currPos;
15135
- if (input.substr(peg$currPos, 10) === peg$c1388) {
15136
- s1 = peg$c1388;
15645
+ if (input.substr(peg$currPos, 10) === peg$c1391) {
15646
+ s1 = peg$c1391;
15137
15647
  peg$currPos += 10;
15138
15648
  }
15139
15649
  else {
15140
15650
  s1 = peg$FAILED;
15141
15651
  if (peg$silentFails === 0) {
15142
- peg$fail(peg$c1389);
15652
+ peg$fail(peg$c1392);
15143
15653
  }
15144
15654
  }
15145
15655
  if (s1 !== peg$FAILED) {
15146
15656
  peg$savedPos = s0;
15147
- s1 = peg$c1390();
15657
+ s1 = peg$c1393();
15148
15658
  }
15149
15659
  s0 = s1;
15150
15660
  if (s0 === peg$FAILED) {
@@ -15161,7 +15671,7 @@ function peg$parse(input, options) {
15161
15671
  }
15162
15672
  if (s1 !== peg$FAILED) {
15163
15673
  peg$savedPos = s0;
15164
- s1 = peg$c1391();
15674
+ s1 = peg$c1394();
15165
15675
  }
15166
15676
  s0 = s1;
15167
15677
  if (s0 === peg$FAILED) {
@@ -15178,7 +15688,7 @@ function peg$parse(input, options) {
15178
15688
  }
15179
15689
  if (s1 !== peg$FAILED) {
15180
15690
  peg$savedPos = s0;
15181
- s1 = peg$c1392();
15691
+ s1 = peg$c1395();
15182
15692
  }
15183
15693
  s0 = s1;
15184
15694
  }
@@ -15222,131 +15732,131 @@ function peg$parse(input, options) {
15222
15732
  peg$silentFails--;
15223
15733
  if (s0 === peg$FAILED) {
15224
15734
  if (peg$silentFails === 0) {
15225
- peg$fail(peg$c1393);
15735
+ peg$fail(peg$c1396);
15226
15736
  }
15227
15737
  }
15228
15738
  return s0;
15229
15739
  }
15230
15740
  function peg$parseLicenseOrLabelOrList() {
15231
15741
  var s0;
15232
- if (input.substr(peg$currPos, 3) === peg$c1394) {
15233
- s0 = peg$c1394;
15742
+ if (input.substr(peg$currPos, 3) === peg$c1397) {
15743
+ s0 = peg$c1397;
15234
15744
  peg$currPos += 3;
15235
15745
  }
15236
15746
  else {
15237
15747
  s0 = peg$FAILED;
15238
15748
  if (peg$silentFails === 0) {
15239
- peg$fail(peg$c1395);
15749
+ peg$fail(peg$c1398);
15240
15750
  }
15241
15751
  }
15242
15752
  if (s0 === peg$FAILED) {
15243
- if (input.substr(peg$currPos, 12) === peg$c1396) {
15244
- s0 = peg$c1396;
15753
+ if (input.substr(peg$currPos, 12) === peg$c1399) {
15754
+ s0 = peg$c1399;
15245
15755
  peg$currPos += 12;
15246
15756
  }
15247
15757
  else {
15248
15758
  s0 = peg$FAILED;
15249
15759
  if (peg$silentFails === 0) {
15250
- peg$fail(peg$c1397);
15760
+ peg$fail(peg$c1400);
15251
15761
  }
15252
15762
  }
15253
15763
  if (s0 === peg$FAILED) {
15254
- if (input.substr(peg$currPos, 12) === peg$c1398) {
15255
- s0 = peg$c1398;
15764
+ if (input.substr(peg$currPos, 12) === peg$c1401) {
15765
+ s0 = peg$c1401;
15256
15766
  peg$currPos += 12;
15257
15767
  }
15258
15768
  else {
15259
15769
  s0 = peg$FAILED;
15260
15770
  if (peg$silentFails === 0) {
15261
- peg$fail(peg$c1399);
15771
+ peg$fail(peg$c1402);
15262
15772
  }
15263
15773
  }
15264
15774
  if (s0 === peg$FAILED) {
15265
- if (input.substr(peg$currPos, 10) === peg$c1400) {
15266
- s0 = peg$c1400;
15775
+ if (input.substr(peg$currPos, 10) === peg$c1403) {
15776
+ s0 = peg$c1403;
15267
15777
  peg$currPos += 10;
15268
15778
  }
15269
15779
  else {
15270
15780
  s0 = peg$FAILED;
15271
15781
  if (peg$silentFails === 0) {
15272
- peg$fail(peg$c1401);
15782
+ peg$fail(peg$c1404);
15273
15783
  }
15274
15784
  }
15275
15785
  if (s0 === peg$FAILED) {
15276
- if (input.substr(peg$currPos, 11) === peg$c1402) {
15277
- s0 = peg$c1402;
15786
+ if (input.substr(peg$currPos, 11) === peg$c1405) {
15787
+ s0 = peg$c1405;
15278
15788
  peg$currPos += 11;
15279
15789
  }
15280
15790
  else {
15281
15791
  s0 = peg$FAILED;
15282
15792
  if (peg$silentFails === 0) {
15283
- peg$fail(peg$c1403);
15793
+ peg$fail(peg$c1406);
15284
15794
  }
15285
15795
  }
15286
15796
  if (s0 === peg$FAILED) {
15287
- if (input.substr(peg$currPos, 13) === peg$c1404) {
15288
- s0 = peg$c1404;
15797
+ if (input.substr(peg$currPos, 13) === peg$c1407) {
15798
+ s0 = peg$c1407;
15289
15799
  peg$currPos += 13;
15290
15800
  }
15291
15801
  else {
15292
15802
  s0 = peg$FAILED;
15293
15803
  if (peg$silentFails === 0) {
15294
- peg$fail(peg$c1405);
15804
+ peg$fail(peg$c1408);
15295
15805
  }
15296
15806
  }
15297
15807
  if (s0 === peg$FAILED) {
15298
- if (input.substr(peg$currPos, 6) === peg$c1406) {
15299
- s0 = peg$c1406;
15808
+ if (input.substr(peg$currPos, 6) === peg$c1409) {
15809
+ s0 = peg$c1409;
15300
15810
  peg$currPos += 6;
15301
15811
  }
15302
15812
  else {
15303
15813
  s0 = peg$FAILED;
15304
15814
  if (peg$silentFails === 0) {
15305
- peg$fail(peg$c1407);
15815
+ peg$fail(peg$c1410);
15306
15816
  }
15307
15817
  }
15308
15818
  if (s0 === peg$FAILED) {
15309
- if (input.substr(peg$currPos, 6) === peg$c1408) {
15310
- s0 = peg$c1408;
15819
+ if (input.substr(peg$currPos, 6) === peg$c1411) {
15820
+ s0 = peg$c1411;
15311
15821
  peg$currPos += 6;
15312
15822
  }
15313
15823
  else {
15314
15824
  s0 = peg$FAILED;
15315
15825
  if (peg$silentFails === 0) {
15316
- peg$fail(peg$c1409);
15826
+ peg$fail(peg$c1412);
15317
15827
  }
15318
15828
  }
15319
15829
  if (s0 === peg$FAILED) {
15320
- if (input.substr(peg$currPos, 9) === peg$c1410) {
15321
- s0 = peg$c1410;
15830
+ if (input.substr(peg$currPos, 9) === peg$c1413) {
15831
+ s0 = peg$c1413;
15322
15832
  peg$currPos += 9;
15323
15833
  }
15324
15834
  else {
15325
15835
  s0 = peg$FAILED;
15326
15836
  if (peg$silentFails === 0) {
15327
- peg$fail(peg$c1411);
15837
+ peg$fail(peg$c1414);
15328
15838
  }
15329
15839
  }
15330
15840
  if (s0 === peg$FAILED) {
15331
- if (input.substr(peg$currPos, 9) === peg$c1412) {
15332
- s0 = peg$c1412;
15841
+ if (input.substr(peg$currPos, 9) === peg$c1415) {
15842
+ s0 = peg$c1415;
15333
15843
  peg$currPos += 9;
15334
15844
  }
15335
15845
  else {
15336
15846
  s0 = peg$FAILED;
15337
15847
  if (peg$silentFails === 0) {
15338
- peg$fail(peg$c1413);
15848
+ peg$fail(peg$c1416);
15339
15849
  }
15340
15850
  }
15341
15851
  if (s0 === peg$FAILED) {
15342
- if (input.substr(peg$currPos, 7) === peg$c1414) {
15343
- s0 = peg$c1414;
15852
+ if (input.substr(peg$currPos, 7) === peg$c1417) {
15853
+ s0 = peg$c1417;
15344
15854
  peg$currPos += 7;
15345
15855
  }
15346
15856
  else {
15347
15857
  s0 = peg$FAILED;
15348
15858
  if (peg$silentFails === 0) {
15349
- peg$fail(peg$c1415);
15859
+ peg$fail(peg$c1418);
15350
15860
  }
15351
15861
  }
15352
15862
  if (s0 === peg$FAILED) {
@@ -15370,47 +15880,47 @@ function peg$parse(input, options) {
15370
15880
  function peg$parseDirection() {
15371
15881
  var s0;
15372
15882
  peg$silentFails++;
15373
- if (input.substr(peg$currPos, 2) === peg$c1417) {
15374
- s0 = peg$c1417;
15883
+ if (input.substr(peg$currPos, 2) === peg$c1420) {
15884
+ s0 = peg$c1420;
15375
15885
  peg$currPos += 2;
15376
15886
  }
15377
15887
  else {
15378
15888
  s0 = peg$FAILED;
15379
15889
  if (peg$silentFails === 0) {
15380
- peg$fail(peg$c1418);
15890
+ peg$fail(peg$c1421);
15381
15891
  }
15382
15892
  }
15383
15893
  if (s0 === peg$FAILED) {
15384
- if (input.substr(peg$currPos, 5) === peg$c1419) {
15385
- s0 = peg$c1419;
15894
+ if (input.substr(peg$currPos, 5) === peg$c1422) {
15895
+ s0 = peg$c1422;
15386
15896
  peg$currPos += 5;
15387
15897
  }
15388
15898
  else {
15389
15899
  s0 = peg$FAILED;
15390
15900
  if (peg$silentFails === 0) {
15391
- peg$fail(peg$c1420);
15901
+ peg$fail(peg$c1423);
15392
15902
  }
15393
15903
  }
15394
15904
  if (s0 === peg$FAILED) {
15395
- if (input.substr(peg$currPos, 4) === peg$c1421) {
15396
- s0 = peg$c1421;
15905
+ if (input.substr(peg$currPos, 4) === peg$c1424) {
15906
+ s0 = peg$c1424;
15397
15907
  peg$currPos += 4;
15398
15908
  }
15399
15909
  else {
15400
15910
  s0 = peg$FAILED;
15401
15911
  if (peg$silentFails === 0) {
15402
- peg$fail(peg$c1422);
15912
+ peg$fail(peg$c1425);
15403
15913
  }
15404
15914
  }
15405
15915
  if (s0 === peg$FAILED) {
15406
- if (input.substr(peg$currPos, 4) === peg$c1423) {
15407
- s0 = peg$c1423;
15916
+ if (input.substr(peg$currPos, 4) === peg$c1426) {
15917
+ s0 = peg$c1426;
15408
15918
  peg$currPos += 4;
15409
15919
  }
15410
15920
  else {
15411
15921
  s0 = peg$FAILED;
15412
15922
  if (peg$silentFails === 0) {
15413
- peg$fail(peg$c1424);
15923
+ peg$fail(peg$c1427);
15414
15924
  }
15415
15925
  }
15416
15926
  }
@@ -15419,7 +15929,7 @@ function peg$parse(input, options) {
15419
15929
  peg$silentFails--;
15420
15930
  if (s0 === peg$FAILED) {
15421
15931
  if (peg$silentFails === 0) {
15422
- peg$fail(peg$c1416);
15932
+ peg$fail(peg$c1419);
15423
15933
  }
15424
15934
  }
15425
15935
  return s0;
@@ -15427,32 +15937,32 @@ function peg$parse(input, options) {
15427
15937
  function peg$parseHookDefinition() {
15428
15938
  var s0;
15429
15939
  peg$silentFails++;
15430
- if (input.substr(peg$currPos, 4) === peg$c1426) {
15431
- s0 = peg$c1426;
15940
+ if (input.substr(peg$currPos, 4) === peg$c1429) {
15941
+ s0 = peg$c1429;
15432
15942
  peg$currPos += 4;
15433
15943
  }
15434
15944
  else {
15435
15945
  s0 = peg$FAILED;
15436
15946
  if (peg$silentFails === 0) {
15437
- peg$fail(peg$c1427);
15947
+ peg$fail(peg$c1430);
15438
15948
  }
15439
15949
  }
15440
15950
  if (s0 === peg$FAILED) {
15441
- if (input.substr(peg$currPos, 6) === peg$c1428) {
15442
- s0 = peg$c1428;
15951
+ if (input.substr(peg$currPos, 6) === peg$c1431) {
15952
+ s0 = peg$c1431;
15443
15953
  peg$currPos += 6;
15444
15954
  }
15445
15955
  else {
15446
15956
  s0 = peg$FAILED;
15447
15957
  if (peg$silentFails === 0) {
15448
- peg$fail(peg$c1429);
15958
+ peg$fail(peg$c1432);
15449
15959
  }
15450
15960
  }
15451
15961
  }
15452
15962
  peg$silentFails--;
15453
15963
  if (s0 === peg$FAILED) {
15454
15964
  if (peg$silentFails === 0) {
15455
- peg$fail(peg$c1425);
15965
+ peg$fail(peg$c1428);
15456
15966
  }
15457
15967
  }
15458
15968
  return s0;
@@ -15465,14 +15975,14 @@ function peg$parse(input, options) {
15465
15975
  s1 = null;
15466
15976
  }
15467
15977
  if (s1 !== peg$FAILED) {
15468
- if (input.substr(peg$currPos, 14) === peg$c1430) {
15469
- s2 = peg$c1430;
15978
+ if (input.substr(peg$currPos, 14) === peg$c1433) {
15979
+ s2 = peg$c1433;
15470
15980
  peg$currPos += 14;
15471
15981
  }
15472
15982
  else {
15473
15983
  s2 = peg$FAILED;
15474
15984
  if (peg$silentFails === 0) {
15475
- peg$fail(peg$c1431);
15985
+ peg$fail(peg$c1434);
15476
15986
  }
15477
15987
  }
15478
15988
  if (s2 !== peg$FAILED) {
@@ -15497,7 +16007,13 @@ function peg$parse(input, options) {
15497
16007
  s5 = null;
15498
16008
  }
15499
16009
  if (s5 !== peg$FAILED) {
15500
- s6 = peg$parseLabelOrLabelList();
16010
+ s6 = peg$currPos;
16011
+ s7 = peg$parseLabelOrLabelList();
16012
+ if (s7 !== peg$FAILED) {
16013
+ peg$savedPos = s6;
16014
+ s7 = peg$c1214(s7);
16015
+ }
16016
+ s6 = s7;
15501
16017
  if (s6 !== peg$FAILED) {
15502
16018
  s7 = peg$parseWS();
15503
16019
  if (s7 === peg$FAILED) {
@@ -15521,7 +16037,7 @@ function peg$parse(input, options) {
15521
16037
  }
15522
16038
  if (s9 !== peg$FAILED) {
15523
16039
  peg$savedPos = s0;
15524
- s1 = peg$c1432(s6);
16040
+ s1 = peg$c1435(s6);
15525
16041
  s0 = s1;
15526
16042
  }
15527
16043
  else {
@@ -15578,14 +16094,14 @@ function peg$parse(input, options) {
15578
16094
  s1 = null;
15579
16095
  }
15580
16096
  if (s1 !== peg$FAILED) {
15581
- if (input.substr(peg$currPos, 19) === peg$c1433) {
15582
- s2 = peg$c1433;
16097
+ if (input.substr(peg$currPos, 19) === peg$c1436) {
16098
+ s2 = peg$c1436;
15583
16099
  peg$currPos += 19;
15584
16100
  }
15585
16101
  else {
15586
16102
  s2 = peg$FAILED;
15587
16103
  if (peg$silentFails === 0) {
15588
- peg$fail(peg$c1434);
16104
+ peg$fail(peg$c1437);
15589
16105
  }
15590
16106
  }
15591
16107
  if (s2 !== peg$FAILED) {
@@ -15610,7 +16126,13 @@ function peg$parse(input, options) {
15610
16126
  s5 = null;
15611
16127
  }
15612
16128
  if (s5 !== peg$FAILED) {
15613
- s6 = peg$parseLabelOrLabelList();
16129
+ s6 = peg$currPos;
16130
+ s7 = peg$parseLabelOrLabelList();
16131
+ if (s7 !== peg$FAILED) {
16132
+ peg$savedPos = s6;
16133
+ s7 = peg$c1214(s7);
16134
+ }
16135
+ s6 = s7;
15614
16136
  if (s6 !== peg$FAILED) {
15615
16137
  s7 = peg$parseWS();
15616
16138
  if (s7 === peg$FAILED) {
@@ -15634,7 +16156,7 @@ function peg$parse(input, options) {
15634
16156
  }
15635
16157
  if (s9 !== peg$FAILED) {
15636
16158
  peg$savedPos = s0;
15637
- s1 = peg$c1435(s6);
16159
+ s1 = peg$c1438(s6);
15638
16160
  s0 = s1;
15639
16161
  }
15640
16162
  else {
@@ -15691,14 +16213,14 @@ function peg$parse(input, options) {
15691
16213
  s1 = null;
15692
16214
  }
15693
16215
  if (s1 !== peg$FAILED) {
15694
- if (input.substr(peg$currPos, 15) === peg$c1436) {
15695
- s2 = peg$c1436;
16216
+ if (input.substr(peg$currPos, 15) === peg$c1439) {
16217
+ s2 = peg$c1439;
15696
16218
  peg$currPos += 15;
15697
16219
  }
15698
16220
  else {
15699
16221
  s2 = peg$FAILED;
15700
16222
  if (peg$silentFails === 0) {
15701
- peg$fail(peg$c1437);
16223
+ peg$fail(peg$c1440);
15702
16224
  }
15703
16225
  }
15704
16226
  if (s2 !== peg$FAILED) {
@@ -15723,7 +16245,13 @@ function peg$parse(input, options) {
15723
16245
  s5 = null;
15724
16246
  }
15725
16247
  if (s5 !== peg$FAILED) {
15726
- s6 = peg$parseLabelOrLabelList();
16248
+ s6 = peg$currPos;
16249
+ s7 = peg$parseLabelOrLabelList();
16250
+ if (s7 !== peg$FAILED) {
16251
+ peg$savedPos = s6;
16252
+ s7 = peg$c1214(s7);
16253
+ }
16254
+ s6 = s7;
15727
16255
  if (s6 !== peg$FAILED) {
15728
16256
  s7 = peg$parseWS();
15729
16257
  if (s7 === peg$FAILED) {
@@ -15747,7 +16275,7 @@ function peg$parse(input, options) {
15747
16275
  }
15748
16276
  if (s9 !== peg$FAILED) {
15749
16277
  peg$savedPos = s0;
15750
- s1 = peg$c1438(s6);
16278
+ s1 = peg$c1441(s6);
15751
16279
  s0 = s1;
15752
16280
  }
15753
16281
  else {
@@ -15804,14 +16332,14 @@ function peg$parse(input, options) {
15804
16332
  s1 = null;
15805
16333
  }
15806
16334
  if (s1 !== peg$FAILED) {
15807
- if (input.substr(peg$currPos, 18) === peg$c1439) {
15808
- s2 = peg$c1439;
16335
+ if (input.substr(peg$currPos, 18) === peg$c1442) {
16336
+ s2 = peg$c1442;
15809
16337
  peg$currPos += 18;
15810
16338
  }
15811
16339
  else {
15812
16340
  s2 = peg$FAILED;
15813
16341
  if (peg$silentFails === 0) {
15814
- peg$fail(peg$c1440);
16342
+ peg$fail(peg$c1443);
15815
16343
  }
15816
16344
  }
15817
16345
  if (s2 !== peg$FAILED) {
@@ -15836,7 +16364,13 @@ function peg$parse(input, options) {
15836
16364
  s5 = null;
15837
16365
  }
15838
16366
  if (s5 !== peg$FAILED) {
15839
- s6 = peg$parseURL();
16367
+ s6 = peg$currPos;
16368
+ s7 = peg$parseURL();
16369
+ if (s7 !== peg$FAILED) {
16370
+ peg$savedPos = s6;
16371
+ s7 = peg$c1214(s7);
16372
+ }
16373
+ s6 = s7;
15840
16374
  if (s6 !== peg$FAILED) {
15841
16375
  s7 = peg$parseWS();
15842
16376
  if (s7 === peg$FAILED) {
@@ -15860,7 +16394,7 @@ function peg$parse(input, options) {
15860
16394
  }
15861
16395
  if (s9 !== peg$FAILED) {
15862
16396
  peg$savedPos = s0;
15863
- s1 = peg$c1441(s6);
16397
+ s1 = peg$c1444(s6);
15864
16398
  s0 = s1;
15865
16399
  }
15866
16400
  else {
@@ -15917,14 +16451,14 @@ function peg$parse(input, options) {
15917
16451
  s1 = null;
15918
16452
  }
15919
16453
  if (s1 !== peg$FAILED) {
15920
- if (input.substr(peg$currPos, 12) === peg$c1442) {
15921
- s2 = peg$c1442;
16454
+ if (input.substr(peg$currPos, 12) === peg$c1445) {
16455
+ s2 = peg$c1445;
15922
16456
  peg$currPos += 12;
15923
16457
  }
15924
16458
  else {
15925
16459
  s2 = peg$FAILED;
15926
16460
  if (peg$silentFails === 0) {
15927
- peg$fail(peg$c1443);
16461
+ peg$fail(peg$c1446);
15928
16462
  }
15929
16463
  }
15930
16464
  if (s2 !== peg$FAILED) {
@@ -15949,7 +16483,13 @@ function peg$parse(input, options) {
15949
16483
  s5 = null;
15950
16484
  }
15951
16485
  if (s5 !== peg$FAILED) {
15952
- s6 = peg$parseLabel();
16486
+ s6 = peg$currPos;
16487
+ s7 = peg$parseLabel();
16488
+ if (s7 !== peg$FAILED) {
16489
+ peg$savedPos = s6;
16490
+ s7 = peg$c1214(s7);
16491
+ }
16492
+ s6 = s7;
15953
16493
  if (s6 !== peg$FAILED) {
15954
16494
  s7 = peg$parseWS();
15955
16495
  if (s7 === peg$FAILED) {
@@ -15973,7 +16513,7 @@ function peg$parse(input, options) {
15973
16513
  }
15974
16514
  if (s9 !== peg$FAILED) {
15975
16515
  peg$savedPos = s0;
15976
- s1 = peg$c1444(s6);
16516
+ s1 = peg$c1447(s6);
15977
16517
  s0 = s1;
15978
16518
  }
15979
16519
  else {
@@ -16030,14 +16570,14 @@ function peg$parse(input, options) {
16030
16570
  s1 = null;
16031
16571
  }
16032
16572
  if (s1 !== peg$FAILED) {
16033
- if (input.substr(peg$currPos, 8) === peg$c1445) {
16034
- s2 = peg$c1445;
16573
+ if (input.substr(peg$currPos, 8) === peg$c1448) {
16574
+ s2 = peg$c1448;
16035
16575
  peg$currPos += 8;
16036
16576
  }
16037
16577
  else {
16038
16578
  s2 = peg$FAILED;
16039
16579
  if (peg$silentFails === 0) {
16040
- peg$fail(peg$c1446);
16580
+ peg$fail(peg$c1449);
16041
16581
  }
16042
16582
  }
16043
16583
  if (s2 !== peg$FAILED) {
@@ -16062,7 +16602,13 @@ function peg$parse(input, options) {
16062
16602
  s5 = null;
16063
16603
  }
16064
16604
  if (s5 !== peg$FAILED) {
16065
- s6 = peg$parseLabel();
16605
+ s6 = peg$currPos;
16606
+ s7 = peg$parseLabel();
16607
+ if (s7 !== peg$FAILED) {
16608
+ peg$savedPos = s6;
16609
+ s7 = peg$c1214(s7);
16610
+ }
16611
+ s6 = s7;
16066
16612
  if (s6 !== peg$FAILED) {
16067
16613
  s7 = peg$parseWS();
16068
16614
  if (s7 === peg$FAILED) {
@@ -16086,7 +16632,7 @@ function peg$parse(input, options) {
16086
16632
  }
16087
16633
  if (s9 !== peg$FAILED) {
16088
16634
  peg$savedPos = s0;
16089
- s1 = peg$c1447(s6);
16635
+ s1 = peg$c1450(s6);
16090
16636
  s0 = s1;
16091
16637
  }
16092
16638
  else {
@@ -16143,14 +16689,14 @@ function peg$parse(input, options) {
16143
16689
  s1 = null;
16144
16690
  }
16145
16691
  if (s1 !== peg$FAILED) {
16146
- if (input.substr(peg$currPos, 17) === peg$c1448) {
16147
- s2 = peg$c1448;
16692
+ if (input.substr(peg$currPos, 17) === peg$c1451) {
16693
+ s2 = peg$c1451;
16148
16694
  peg$currPos += 17;
16149
16695
  }
16150
16696
  else {
16151
16697
  s2 = peg$FAILED;
16152
16698
  if (peg$silentFails === 0) {
16153
- peg$fail(peg$c1449);
16699
+ peg$fail(peg$c1452);
16154
16700
  }
16155
16701
  }
16156
16702
  if (s2 !== peg$FAILED) {
@@ -16175,7 +16721,13 @@ function peg$parse(input, options) {
16175
16721
  s5 = null;
16176
16722
  }
16177
16723
  if (s5 !== peg$FAILED) {
16178
- s6 = peg$parseLabelOrLabelList();
16724
+ s6 = peg$currPos;
16725
+ s7 = peg$parseLabelOrLabelList();
16726
+ if (s7 !== peg$FAILED) {
16727
+ peg$savedPos = s6;
16728
+ s7 = peg$c1214(s7);
16729
+ }
16730
+ s6 = s7;
16179
16731
  if (s6 !== peg$FAILED) {
16180
16732
  s7 = peg$parseWS();
16181
16733
  if (s7 === peg$FAILED) {
@@ -16199,7 +16751,7 @@ function peg$parse(input, options) {
16199
16751
  }
16200
16752
  if (s9 !== peg$FAILED) {
16201
16753
  peg$savedPos = s0;
16202
- s1 = peg$c1450(s6);
16754
+ s1 = peg$c1453(s6);
16203
16755
  s0 = s1;
16204
16756
  }
16205
16757
  else {
@@ -16256,14 +16808,14 @@ function peg$parse(input, options) {
16256
16808
  s1 = null;
16257
16809
  }
16258
16810
  if (s1 !== peg$FAILED) {
16259
- if (input.substr(peg$currPos, 15) === peg$c1451) {
16260
- s2 = peg$c1451;
16811
+ if (input.substr(peg$currPos, 15) === peg$c1454) {
16812
+ s2 = peg$c1454;
16261
16813
  peg$currPos += 15;
16262
16814
  }
16263
16815
  else {
16264
16816
  s2 = peg$FAILED;
16265
16817
  if (peg$silentFails === 0) {
16266
- peg$fail(peg$c1452);
16818
+ peg$fail(peg$c1455);
16267
16819
  }
16268
16820
  }
16269
16821
  if (s2 !== peg$FAILED) {
@@ -16288,7 +16840,13 @@ function peg$parse(input, options) {
16288
16840
  s5 = null;
16289
16841
  }
16290
16842
  if (s5 !== peg$FAILED) {
16291
- s6 = peg$parseSemVer();
16843
+ s6 = peg$currPos;
16844
+ s7 = peg$parseSemVer();
16845
+ if (s7 !== peg$FAILED) {
16846
+ peg$savedPos = s6;
16847
+ s7 = peg$c1214(s7);
16848
+ }
16849
+ s6 = s7;
16292
16850
  if (s6 !== peg$FAILED) {
16293
16851
  s7 = peg$parseWS();
16294
16852
  if (s7 === peg$FAILED) {
@@ -16312,7 +16870,7 @@ function peg$parse(input, options) {
16312
16870
  }
16313
16871
  if (s9 !== peg$FAILED) {
16314
16872
  peg$savedPos = s0;
16315
- s1 = peg$c1453(s6);
16873
+ s1 = peg$c1456(s6);
16316
16874
  s0 = s1;
16317
16875
  }
16318
16876
  else {
@@ -16369,14 +16927,14 @@ function peg$parse(input, options) {
16369
16927
  s1 = null;
16370
16928
  }
16371
16929
  if (s1 !== peg$FAILED) {
16372
- if (input.substr(peg$currPos, 15) === peg$c1454) {
16373
- s2 = peg$c1454;
16930
+ if (input.substr(peg$currPos, 15) === peg$c1457) {
16931
+ s2 = peg$c1457;
16374
16932
  peg$currPos += 15;
16375
16933
  }
16376
16934
  else {
16377
16935
  s2 = peg$FAILED;
16378
16936
  if (peg$silentFails === 0) {
16379
- peg$fail(peg$c1455);
16937
+ peg$fail(peg$c1458);
16380
16938
  }
16381
16939
  }
16382
16940
  if (s2 !== peg$FAILED) {
@@ -16401,7 +16959,13 @@ function peg$parse(input, options) {
16401
16959
  s5 = null;
16402
16960
  }
16403
16961
  if (s5 !== peg$FAILED) {
16404
- s6 = peg$parseLicenseOrLabelOrList();
16962
+ s6 = peg$currPos;
16963
+ s7 = peg$parseLicenseOrLabelOrList();
16964
+ if (s7 !== peg$FAILED) {
16965
+ peg$savedPos = s6;
16966
+ s7 = peg$c1214(s7);
16967
+ }
16968
+ s6 = s7;
16405
16969
  if (s6 !== peg$FAILED) {
16406
16970
  s7 = peg$parseWS();
16407
16971
  if (s7 === peg$FAILED) {
@@ -16425,7 +16989,7 @@ function peg$parse(input, options) {
16425
16989
  }
16426
16990
  if (s9 !== peg$FAILED) {
16427
16991
  peg$savedPos = s0;
16428
- s1 = peg$c1456(s6);
16992
+ s1 = peg$c1459(s6);
16429
16993
  s0 = s1;
16430
16994
  }
16431
16995
  else {
@@ -16482,14 +17046,14 @@ function peg$parse(input, options) {
16482
17046
  s1 = null;
16483
17047
  }
16484
17048
  if (s1 !== peg$FAILED) {
16485
- if (input.substr(peg$currPos, 16) === peg$c1457) {
16486
- s2 = peg$c1457;
17049
+ if (input.substr(peg$currPos, 16) === peg$c1460) {
17050
+ s2 = peg$c1460;
16487
17051
  peg$currPos += 16;
16488
17052
  }
16489
17053
  else {
16490
17054
  s2 = peg$FAILED;
16491
17055
  if (peg$silentFails === 0) {
16492
- peg$fail(peg$c1458);
17056
+ peg$fail(peg$c1461);
16493
17057
  }
16494
17058
  }
16495
17059
  if (s2 !== peg$FAILED) {
@@ -16514,7 +17078,13 @@ function peg$parse(input, options) {
16514
17078
  s5 = null;
16515
17079
  }
16516
17080
  if (s5 !== peg$FAILED) {
16517
- s6 = peg$parseLabel();
17081
+ s6 = peg$currPos;
17082
+ s7 = peg$parseLabel();
17083
+ if (s7 !== peg$FAILED) {
17084
+ peg$savedPos = s6;
17085
+ s7 = peg$c1214(s7);
17086
+ }
17087
+ s6 = s7;
16518
17088
  if (s6 !== peg$FAILED) {
16519
17089
  s7 = peg$parseWS();
16520
17090
  if (s7 === peg$FAILED) {
@@ -16538,7 +17108,7 @@ function peg$parse(input, options) {
16538
17108
  }
16539
17109
  if (s9 !== peg$FAILED) {
16540
17110
  peg$savedPos = s0;
16541
- s1 = peg$c1459(s6);
17111
+ s1 = peg$c1462(s6);
16542
17112
  s0 = s1;
16543
17113
  }
16544
17114
  else {
@@ -16595,14 +17165,14 @@ function peg$parse(input, options) {
16595
17165
  s1 = null;
16596
17166
  }
16597
17167
  if (s1 !== peg$FAILED) {
16598
- if (input.substr(peg$currPos, 11) === peg$c1460) {
16599
- s2 = peg$c1460;
17168
+ if (input.substr(peg$currPos, 11) === peg$c1463) {
17169
+ s2 = peg$c1463;
16600
17170
  peg$currPos += 11;
16601
17171
  }
16602
17172
  else {
16603
17173
  s2 = peg$FAILED;
16604
17174
  if (peg$silentFails === 0) {
16605
- peg$fail(peg$c1461);
17175
+ peg$fail(peg$c1464);
16606
17176
  }
16607
17177
  }
16608
17178
  if (s2 !== peg$FAILED) {
@@ -16627,7 +17197,13 @@ function peg$parse(input, options) {
16627
17197
  s5 = null;
16628
17198
  }
16629
17199
  if (s5 !== peg$FAILED) {
16630
- s6 = peg$parseSemVer();
17200
+ s6 = peg$currPos;
17201
+ s7 = peg$parseSemVer();
17202
+ if (s7 !== peg$FAILED) {
17203
+ peg$savedPos = s6;
17204
+ s7 = peg$c1214(s7);
17205
+ }
17206
+ s6 = s7;
16631
17207
  if (s6 !== peg$FAILED) {
16632
17208
  s7 = peg$parseWS();
16633
17209
  if (s7 === peg$FAILED) {
@@ -16651,7 +17227,7 @@ function peg$parse(input, options) {
16651
17227
  }
16652
17228
  if (s9 !== peg$FAILED) {
16653
17229
  peg$savedPos = s0;
16654
- s1 = peg$c1462(s6);
17230
+ s1 = peg$c1465(s6);
16655
17231
  s0 = s1;
16656
17232
  }
16657
17233
  else {
@@ -16708,14 +17284,14 @@ function peg$parse(input, options) {
16708
17284
  s1 = null;
16709
17285
  }
16710
17286
  if (s1 !== peg$FAILED) {
16711
- if (input.substr(peg$currPos, 5) === peg$c1463) {
16712
- s2 = peg$c1463;
17287
+ if (input.substr(peg$currPos, 5) === peg$c1466) {
17288
+ s2 = peg$c1466;
16713
17289
  peg$currPos += 5;
16714
17290
  }
16715
17291
  else {
16716
17292
  s2 = peg$FAILED;
16717
17293
  if (peg$silentFails === 0) {
16718
- peg$fail(peg$c1464);
17294
+ peg$fail(peg$c1467);
16719
17295
  }
16720
17296
  }
16721
17297
  if (s2 !== peg$FAILED) {
@@ -16740,7 +17316,13 @@ function peg$parse(input, options) {
16740
17316
  s5 = null;
16741
17317
  }
16742
17318
  if (s5 !== peg$FAILED) {
16743
- s6 = peg$parseThemeOrThemeList();
17319
+ s6 = peg$currPos;
17320
+ s7 = peg$parseThemeOrThemeList();
17321
+ if (s7 !== peg$FAILED) {
17322
+ peg$savedPos = s6;
17323
+ s7 = peg$c1214(s7);
17324
+ }
17325
+ s6 = s7;
16744
17326
  if (s6 !== peg$FAILED) {
16745
17327
  s7 = peg$parseWS();
16746
17328
  if (s7 === peg$FAILED) {
@@ -16764,7 +17346,7 @@ function peg$parse(input, options) {
16764
17346
  }
16765
17347
  if (s9 !== peg$FAILED) {
16766
17348
  peg$savedPos = s0;
16767
- s1 = peg$c1465(s6);
17349
+ s1 = peg$c1468(s6);
16768
17350
  s0 = s1;
16769
17351
  }
16770
17352
  else {
@@ -16821,14 +17403,14 @@ function peg$parse(input, options) {
16821
17403
  s1 = null;
16822
17404
  }
16823
17405
  if (s1 !== peg$FAILED) {
16824
- if (input.substr(peg$currPos, 4) === peg$c1466) {
16825
- s2 = peg$c1466;
17406
+ if (input.substr(peg$currPos, 4) === peg$c1469) {
17407
+ s2 = peg$c1469;
16826
17408
  peg$currPos += 4;
16827
17409
  }
16828
17410
  else {
16829
17411
  s2 = peg$FAILED;
16830
17412
  if (peg$silentFails === 0) {
16831
- peg$fail(peg$c1467);
17413
+ peg$fail(peg$c1470);
16832
17414
  }
16833
17415
  }
16834
17416
  if (s2 !== peg$FAILED) {
@@ -16853,7 +17435,13 @@ function peg$parse(input, options) {
16853
17435
  s5 = null;
16854
17436
  }
16855
17437
  if (s5 !== peg$FAILED) {
16856
- s6 = peg$parseDirection();
17438
+ s6 = peg$currPos;
17439
+ s7 = peg$parseDirection();
17440
+ if (s7 !== peg$FAILED) {
17441
+ peg$savedPos = s6;
17442
+ s7 = peg$c1214(s7);
17443
+ }
17444
+ s6 = s7;
16857
17445
  if (s6 !== peg$FAILED) {
16858
17446
  s7 = peg$parseWS();
16859
17447
  if (s7 === peg$FAILED) {
@@ -16877,7 +17465,7 @@ function peg$parse(input, options) {
16877
17465
  }
16878
17466
  if (s9 !== peg$FAILED) {
16879
17467
  peg$savedPos = s0;
16880
- s1 = peg$c1468(s6);
17468
+ s1 = peg$c1471(s6);
16881
17469
  s0 = s1;
16882
17470
  }
16883
17471
  else {
@@ -16934,14 +17522,14 @@ function peg$parse(input, options) {
16934
17522
  s1 = null;
16935
17523
  }
16936
17524
  if (s1 !== peg$FAILED) {
16937
- if (input.substr(peg$currPos, 5) === peg$c1469) {
16938
- s2 = peg$c1469;
17525
+ if (input.substr(peg$currPos, 5) === peg$c1472) {
17526
+ s2 = peg$c1472;
16939
17527
  peg$currPos += 5;
16940
17528
  }
16941
17529
  else {
16942
17530
  s2 = peg$FAILED;
16943
17531
  if (peg$silentFails === 0) {
16944
- peg$fail(peg$c1470);
17532
+ peg$fail(peg$c1473);
16945
17533
  }
16946
17534
  }
16947
17535
  if (s2 !== peg$FAILED) {
@@ -16966,7 +17554,13 @@ function peg$parse(input, options) {
16966
17554
  s5 = null;
16967
17555
  }
16968
17556
  if (s5 !== peg$FAILED) {
16969
- s6 = peg$parseHookDefinition();
17557
+ s6 = peg$currPos;
17558
+ s7 = peg$parseHookDefinition();
17559
+ if (s7 !== peg$FAILED) {
17560
+ peg$savedPos = s6;
17561
+ s7 = peg$c1214(s7);
17562
+ }
17563
+ s6 = s7;
16970
17564
  if (s6 !== peg$FAILED) {
16971
17565
  s7 = peg$parseWS();
16972
17566
  if (s7 === peg$FAILED) {
@@ -16990,7 +17584,7 @@ function peg$parse(input, options) {
16990
17584
  }
16991
17585
  if (s9 !== peg$FAILED) {
16992
17586
  peg$savedPos = s0;
16993
- s1 = peg$c1471(s6);
17587
+ s1 = peg$c1474(s6);
16994
17588
  s0 = s1;
16995
17589
  }
16996
17590
  else {
@@ -17047,14 +17641,14 @@ function peg$parse(input, options) {
17047
17641
  s1 = null;
17048
17642
  }
17049
17643
  if (s1 !== peg$FAILED) {
17050
- if (input.substr(peg$currPos, 12) === peg$c1472) {
17051
- s2 = peg$c1472;
17644
+ if (input.substr(peg$currPos, 12) === peg$c1475) {
17645
+ s2 = peg$c1475;
17052
17646
  peg$currPos += 12;
17053
17647
  }
17054
17648
  else {
17055
17649
  s2 = peg$FAILED;
17056
17650
  if (peg$silentFails === 0) {
17057
- peg$fail(peg$c1473);
17651
+ peg$fail(peg$c1476);
17058
17652
  }
17059
17653
  }
17060
17654
  if (s2 !== peg$FAILED) {
@@ -17079,7 +17673,13 @@ function peg$parse(input, options) {
17079
17673
  s5 = null;
17080
17674
  }
17081
17675
  if (s5 !== peg$FAILED) {
17082
- s6 = peg$parseString();
17676
+ s6 = peg$currPos;
17677
+ s7 = peg$parseString();
17678
+ if (s7 !== peg$FAILED) {
17679
+ peg$savedPos = s6;
17680
+ s7 = peg$c1214(s7);
17681
+ }
17682
+ s6 = s7;
17083
17683
  if (s6 !== peg$FAILED) {
17084
17684
  s7 = peg$parseWS();
17085
17685
  if (s7 === peg$FAILED) {
@@ -17103,7 +17703,7 @@ function peg$parse(input, options) {
17103
17703
  }
17104
17704
  if (s9 !== peg$FAILED) {
17105
17705
  peg$savedPos = s0;
17106
- s1 = peg$c1474(s6);
17706
+ s1 = peg$c1477(s6);
17107
17707
  s0 = s1;
17108
17708
  }
17109
17709
  else {
@@ -17155,14 +17755,14 @@ function peg$parse(input, options) {
17155
17755
  function peg$parseDefaultSizeVal() {
17156
17756
  var s0, s1, s2, s3;
17157
17757
  s0 = peg$currPos;
17158
- if (input.substr(peg$currPos, 6) === peg$c1475) {
17159
- s1 = peg$c1475;
17758
+ if (input.substr(peg$currPos, 6) === peg$c1478) {
17759
+ s1 = peg$c1478;
17160
17760
  peg$currPos += 6;
17161
17761
  }
17162
17762
  else {
17163
17763
  s1 = peg$FAILED;
17164
17764
  if (peg$silentFails === 0) {
17165
- peg$fail(peg$c1476);
17765
+ peg$fail(peg$c1479);
17166
17766
  }
17167
17767
  }
17168
17768
  if (s1 !== peg$FAILED) {
@@ -17171,7 +17771,7 @@ function peg$parse(input, options) {
17171
17771
  s3 = peg$parseNonNegNumber();
17172
17772
  if (s3 !== peg$FAILED) {
17173
17773
  peg$savedPos = s0;
17174
- s1 = peg$c1477(s3);
17774
+ s1 = peg$c1480(s3);
17175
17775
  s0 = s1;
17176
17776
  }
17177
17777
  else {
@@ -17195,7 +17795,7 @@ function peg$parse(input, options) {
17195
17795
  s2 = peg$parseNonNegNumber();
17196
17796
  if (s2 !== peg$FAILED) {
17197
17797
  peg$savedPos = s0;
17198
- s1 = peg$c1478(s1, s2);
17798
+ s1 = peg$c1481(s1, s2);
17199
17799
  s0 = s1;
17200
17800
  }
17201
17801
  else {
@@ -17212,7 +17812,7 @@ function peg$parse(input, options) {
17212
17812
  s1 = peg$parseNonNegNumber();
17213
17813
  if (s1 !== peg$FAILED) {
17214
17814
  peg$savedPos = s0;
17215
- s1 = peg$c1479(s1);
17815
+ s1 = peg$c1482(s1);
17216
17816
  }
17217
17817
  s0 = s1;
17218
17818
  }
@@ -17227,14 +17827,14 @@ function peg$parse(input, options) {
17227
17827
  s1 = null;
17228
17828
  }
17229
17829
  if (s1 !== peg$FAILED) {
17230
- if (input.substr(peg$currPos, 12) === peg$c1480) {
17231
- s2 = peg$c1480;
17830
+ if (input.substr(peg$currPos, 12) === peg$c1483) {
17831
+ s2 = peg$c1483;
17232
17832
  peg$currPos += 12;
17233
17833
  }
17234
17834
  else {
17235
17835
  s2 = peg$FAILED;
17236
17836
  if (peg$silentFails === 0) {
17237
- peg$fail(peg$c1481);
17837
+ peg$fail(peg$c1484);
17238
17838
  }
17239
17839
  }
17240
17840
  if (s2 !== peg$FAILED) {
@@ -17259,7 +17859,13 @@ function peg$parse(input, options) {
17259
17859
  s5 = null;
17260
17860
  }
17261
17861
  if (s5 !== peg$FAILED) {
17262
- s6 = peg$parseDefaultSizeVal();
17862
+ s6 = peg$currPos;
17863
+ s7 = peg$parseDefaultSizeVal();
17864
+ if (s7 !== peg$FAILED) {
17865
+ peg$savedPos = s6;
17866
+ s7 = peg$c1214(s7);
17867
+ }
17868
+ s6 = s7;
17263
17869
  if (s6 !== peg$FAILED) {
17264
17870
  s7 = peg$parseWS();
17265
17871
  if (s7 === peg$FAILED) {
@@ -17283,7 +17889,7 @@ function peg$parse(input, options) {
17283
17889
  }
17284
17890
  if (s9 !== peg$FAILED) {
17285
17891
  peg$savedPos = s0;
17286
- s1 = peg$c1482(s6);
17892
+ s1 = peg$c1485(s6);
17287
17893
  s0 = s1;
17288
17894
  }
17289
17895
  else {
@@ -17384,7 +17990,7 @@ function peg$parse(input, options) {
17384
17990
  peg$silentFails--;
17385
17991
  if (s0 === peg$FAILED) {
17386
17992
  if (peg$silentFails === 0) {
17387
- peg$fail(peg$c1483);
17993
+ peg$fail(peg$c1486);
17388
17994
  }
17389
17995
  }
17390
17996
  return s0;
@@ -17415,14 +18021,14 @@ function peg$parse(input, options) {
17415
18021
  s1 = null;
17416
18022
  }
17417
18023
  if (s1 !== peg$FAILED) {
17418
- if (input.substr(peg$currPos, 5) === peg$c1484) {
17419
- s2 = peg$c1484;
18024
+ if (input.substr(peg$currPos, 5) === peg$c1487) {
18025
+ s2 = peg$c1487;
17420
18026
  peg$currPos += 5;
17421
18027
  }
17422
18028
  else {
17423
18029
  s2 = peg$FAILED;
17424
18030
  if (peg$silentFails === 0) {
17425
- peg$fail(peg$c1485);
18031
+ peg$fail(peg$c1488);
17426
18032
  }
17427
18033
  }
17428
18034
  if (s2 !== peg$FAILED) {
@@ -17471,7 +18077,7 @@ function peg$parse(input, options) {
17471
18077
  }
17472
18078
  if (s9 !== peg$FAILED) {
17473
18079
  peg$savedPos = s0;
17474
- s1 = peg$c1486(s6);
18080
+ s1 = peg$c1489(s6);
17475
18081
  s0 = s1;
17476
18082
  }
17477
18083
  else {
@@ -17536,14 +18142,14 @@ function peg$parse(input, options) {
17536
18142
  s1 = null;
17537
18143
  }
17538
18144
  if (s1 !== peg$FAILED) {
17539
- if (input.substr(peg$currPos, 5) === peg$c1487) {
17540
- s2 = peg$c1487;
18145
+ if (input.substr(peg$currPos, 5) === peg$c1490) {
18146
+ s2 = peg$c1490;
17541
18147
  peg$currPos += 5;
17542
18148
  }
17543
18149
  else {
17544
18150
  s2 = peg$FAILED;
17545
18151
  if (peg$silentFails === 0) {
17546
- peg$fail(peg$c1488);
18152
+ peg$fail(peg$c1491);
17547
18153
  }
17548
18154
  }
17549
18155
  if (s2 !== peg$FAILED) {
@@ -17568,7 +18174,13 @@ function peg$parse(input, options) {
17568
18174
  s5 = null;
17569
18175
  }
17570
18176
  if (s5 !== peg$FAILED) {
17571
- s6 = peg$parseColor();
18177
+ s6 = peg$currPos;
18178
+ s7 = peg$parseColor();
18179
+ if (s7 !== peg$FAILED) {
18180
+ peg$savedPos = s6;
18181
+ s7 = peg$c1214(s7);
18182
+ }
18183
+ s6 = s7;
17572
18184
  if (s6 !== peg$FAILED) {
17573
18185
  s7 = peg$parseWS();
17574
18186
  if (s7 === peg$FAILED) {
@@ -17592,7 +18204,7 @@ function peg$parse(input, options) {
17592
18204
  }
17593
18205
  if (s9 !== peg$FAILED) {
17594
18206
  peg$savedPos = s0;
17595
- s1 = peg$c1489(s6);
18207
+ s1 = peg$c1492(s6);
17596
18208
  s0 = s1;
17597
18209
  }
17598
18210
  else {
@@ -17657,14 +18269,14 @@ function peg$parse(input, options) {
17657
18269
  s1 = null;
17658
18270
  }
17659
18271
  if (s1 !== peg$FAILED) {
17660
- if (input.substr(peg$currPos, 10) === peg$c1491) {
17661
- s2 = peg$c1491;
18272
+ if (input.substr(peg$currPos, 10) === peg$c1494) {
18273
+ s2 = peg$c1494;
17662
18274
  peg$currPos += 10;
17663
18275
  }
17664
18276
  else {
17665
18277
  s2 = peg$FAILED;
17666
18278
  if (peg$silentFails === 0) {
17667
- peg$fail(peg$c1492);
18279
+ peg$fail(peg$c1495);
17668
18280
  }
17669
18281
  }
17670
18282
  if (s2 !== peg$FAILED) {
@@ -17689,7 +18301,13 @@ function peg$parse(input, options) {
17689
18301
  s5 = null;
17690
18302
  }
17691
18303
  if (s5 !== peg$FAILED) {
17692
- s6 = peg$parseColor();
18304
+ s6 = peg$currPos;
18305
+ s7 = peg$parseColor();
18306
+ if (s7 !== peg$FAILED) {
18307
+ peg$savedPos = s6;
18308
+ s7 = peg$c1214(s7);
18309
+ }
18310
+ s6 = s7;
17693
18311
  if (s6 !== peg$FAILED) {
17694
18312
  s7 = peg$parseWS();
17695
18313
  if (s7 === peg$FAILED) {
@@ -17713,7 +18331,7 @@ function peg$parse(input, options) {
17713
18331
  }
17714
18332
  if (s9 !== peg$FAILED) {
17715
18333
  peg$savedPos = s0;
17716
- s1 = peg$c1493(s6);
18334
+ s1 = peg$c1496(s6);
17717
18335
  s0 = s1;
17718
18336
  }
17719
18337
  else {
@@ -17764,7 +18382,7 @@ function peg$parse(input, options) {
17764
18382
  if (s0 === peg$FAILED) {
17765
18383
  s1 = peg$FAILED;
17766
18384
  if (peg$silentFails === 0) {
17767
- peg$fail(peg$c1490);
18385
+ peg$fail(peg$c1493);
17768
18386
  }
17769
18387
  }
17770
18388
  return s0;
@@ -17778,14 +18396,14 @@ function peg$parse(input, options) {
17778
18396
  s1 = null;
17779
18397
  }
17780
18398
  if (s1 !== peg$FAILED) {
17781
- if (input.substr(peg$currPos, 16) === peg$c1495) {
17782
- s2 = peg$c1495;
18399
+ if (input.substr(peg$currPos, 16) === peg$c1498) {
18400
+ s2 = peg$c1498;
17783
18401
  peg$currPos += 16;
17784
18402
  }
17785
18403
  else {
17786
18404
  s2 = peg$FAILED;
17787
18405
  if (peg$silentFails === 0) {
17788
- peg$fail(peg$c1496);
18406
+ peg$fail(peg$c1499);
17789
18407
  }
17790
18408
  }
17791
18409
  if (s2 !== peg$FAILED) {
@@ -17810,7 +18428,13 @@ function peg$parse(input, options) {
17810
18428
  s5 = null;
17811
18429
  }
17812
18430
  if (s5 !== peg$FAILED) {
17813
- s6 = peg$parseColor();
18431
+ s6 = peg$currPos;
18432
+ s7 = peg$parseColor();
18433
+ if (s7 !== peg$FAILED) {
18434
+ peg$savedPos = s6;
18435
+ s7 = peg$c1214(s7);
18436
+ }
18437
+ s6 = s7;
17814
18438
  if (s6 !== peg$FAILED) {
17815
18439
  s7 = peg$parseWS();
17816
18440
  if (s7 === peg$FAILED) {
@@ -17834,7 +18458,7 @@ function peg$parse(input, options) {
17834
18458
  }
17835
18459
  if (s9 !== peg$FAILED) {
17836
18460
  peg$savedPos = s0;
17837
- s1 = peg$c1497(s6);
18461
+ s1 = peg$c1500(s6);
17838
18462
  s0 = s1;
17839
18463
  }
17840
18464
  else {
@@ -17885,7 +18509,7 @@ function peg$parse(input, options) {
17885
18509
  if (s0 === peg$FAILED) {
17886
18510
  s1 = peg$FAILED;
17887
18511
  if (peg$silentFails === 0) {
17888
- peg$fail(peg$c1494);
18512
+ peg$fail(peg$c1497);
17889
18513
  }
17890
18514
  }
17891
18515
  return s0;
@@ -17899,14 +18523,14 @@ function peg$parse(input, options) {
17899
18523
  s1 = null;
17900
18524
  }
17901
18525
  if (s1 !== peg$FAILED) {
17902
- if (input.substr(peg$currPos, 12) === peg$c1499) {
17903
- s2 = peg$c1499;
18526
+ if (input.substr(peg$currPos, 12) === peg$c1502) {
18527
+ s2 = peg$c1502;
17904
18528
  peg$currPos += 12;
17905
18529
  }
17906
18530
  else {
17907
18531
  s2 = peg$FAILED;
17908
18532
  if (peg$silentFails === 0) {
17909
- peg$fail(peg$c1500);
18533
+ peg$fail(peg$c1503);
17910
18534
  }
17911
18535
  }
17912
18536
  if (s2 !== peg$FAILED) {
@@ -17931,7 +18555,13 @@ function peg$parse(input, options) {
17931
18555
  s5 = null;
17932
18556
  }
17933
18557
  if (s5 !== peg$FAILED) {
17934
- s6 = peg$parseColor();
18558
+ s6 = peg$currPos;
18559
+ s7 = peg$parseColor();
18560
+ if (s7 !== peg$FAILED) {
18561
+ peg$savedPos = s6;
18562
+ s7 = peg$c1214(s7);
18563
+ }
18564
+ s6 = s7;
17935
18565
  if (s6 !== peg$FAILED) {
17936
18566
  s7 = peg$parseWS();
17937
18567
  if (s7 === peg$FAILED) {
@@ -17955,7 +18585,7 @@ function peg$parse(input, options) {
17955
18585
  }
17956
18586
  if (s9 !== peg$FAILED) {
17957
18587
  peg$savedPos = s0;
17958
- s1 = peg$c1501(s6);
18588
+ s1 = peg$c1504(s6);
17959
18589
  s0 = s1;
17960
18590
  }
17961
18591
  else {
@@ -18006,7 +18636,7 @@ function peg$parse(input, options) {
18006
18636
  if (s0 === peg$FAILED) {
18007
18637
  s1 = peg$FAILED;
18008
18638
  if (peg$silentFails === 0) {
18009
- peg$fail(peg$c1498);
18639
+ peg$fail(peg$c1501);
18010
18640
  }
18011
18641
  }
18012
18642
  return s0;
@@ -18020,14 +18650,14 @@ function peg$parse(input, options) {
18020
18650
  s1 = null;
18021
18651
  }
18022
18652
  if (s1 !== peg$FAILED) {
18023
- if (input.substr(peg$currPos, 5) === peg$c1503) {
18024
- s2 = peg$c1503;
18653
+ if (input.substr(peg$currPos, 5) === peg$c1506) {
18654
+ s2 = peg$c1506;
18025
18655
  peg$currPos += 5;
18026
18656
  }
18027
18657
  else {
18028
18658
  s2 = peg$FAILED;
18029
18659
  if (peg$silentFails === 0) {
18030
- peg$fail(peg$c1504);
18660
+ peg$fail(peg$c1507);
18031
18661
  }
18032
18662
  }
18033
18663
  if (s2 !== peg$FAILED) {
@@ -18076,7 +18706,7 @@ function peg$parse(input, options) {
18076
18706
  }
18077
18707
  if (s9 !== peg$FAILED) {
18078
18708
  peg$savedPos = s0;
18079
- s1 = peg$c1505(s6);
18709
+ s1 = peg$c1508(s6);
18080
18710
  s0 = s1;
18081
18711
  }
18082
18712
  else {
@@ -18127,7 +18757,7 @@ function peg$parse(input, options) {
18127
18757
  if (s0 === peg$FAILED) {
18128
18758
  s1 = peg$FAILED;
18129
18759
  if (peg$silentFails === 0) {
18130
- peg$fail(peg$c1502);
18760
+ peg$fail(peg$c1505);
18131
18761
  }
18132
18762
  }
18133
18763
  return s0;
@@ -18141,14 +18771,14 @@ function peg$parse(input, options) {
18141
18771
  s1 = null;
18142
18772
  }
18143
18773
  if (s1 !== peg$FAILED) {
18144
- if (input.substr(peg$currPos, 7) === peg$c1507) {
18145
- s2 = peg$c1507;
18774
+ if (input.substr(peg$currPos, 7) === peg$c1510) {
18775
+ s2 = peg$c1510;
18146
18776
  peg$currPos += 7;
18147
18777
  }
18148
18778
  else {
18149
18779
  s2 = peg$FAILED;
18150
18780
  if (peg$silentFails === 0) {
18151
- peg$fail(peg$c1508);
18781
+ peg$fail(peg$c1511);
18152
18782
  }
18153
18783
  }
18154
18784
  if (s2 !== peg$FAILED) {
@@ -18197,7 +18827,7 @@ function peg$parse(input, options) {
18197
18827
  }
18198
18828
  if (s9 !== peg$FAILED) {
18199
18829
  peg$savedPos = s0;
18200
- s1 = peg$c1509(s6);
18830
+ s1 = peg$c1512(s6);
18201
18831
  s0 = s1;
18202
18832
  }
18203
18833
  else {
@@ -18248,7 +18878,7 @@ function peg$parse(input, options) {
18248
18878
  if (s0 === peg$FAILED) {
18249
18879
  s1 = peg$FAILED;
18250
18880
  if (peg$silentFails === 0) {
18251
- peg$fail(peg$c1506);
18881
+ peg$fail(peg$c1509);
18252
18882
  }
18253
18883
  }
18254
18884
  return s0;
@@ -18262,14 +18892,14 @@ function peg$parse(input, options) {
18262
18892
  s1 = null;
18263
18893
  }
18264
18894
  if (s1 !== peg$FAILED) {
18265
- if (input.substr(peg$currPos, 10) === peg$c1218) {
18266
- s2 = peg$c1218;
18895
+ if (input.substr(peg$currPos, 10) === peg$c1219) {
18896
+ s2 = peg$c1219;
18267
18897
  peg$currPos += 10;
18268
18898
  }
18269
18899
  else {
18270
18900
  s2 = peg$FAILED;
18271
18901
  if (peg$silentFails === 0) {
18272
- peg$fail(peg$c1219);
18902
+ peg$fail(peg$c1220);
18273
18903
  }
18274
18904
  }
18275
18905
  if (s2 !== peg$FAILED) {
@@ -18318,7 +18948,7 @@ function peg$parse(input, options) {
18318
18948
  }
18319
18949
  if (s9 !== peg$FAILED) {
18320
18950
  peg$savedPos = s0;
18321
- s1 = peg$c1511(s6);
18951
+ s1 = peg$c1514(s6);
18322
18952
  s0 = s1;
18323
18953
  }
18324
18954
  else {
@@ -18372,14 +19002,14 @@ function peg$parse(input, options) {
18372
19002
  s1 = null;
18373
19003
  }
18374
19004
  if (s1 !== peg$FAILED) {
18375
- if (input.substr(peg$currPos, 9) === peg$c1512) {
18376
- s2 = peg$c1512;
19005
+ if (input.substr(peg$currPos, 9) === peg$c1515) {
19006
+ s2 = peg$c1515;
18377
19007
  peg$currPos += 9;
18378
19008
  }
18379
19009
  else {
18380
19010
  s2 = peg$FAILED;
18381
19011
  if (peg$silentFails === 0) {
18382
- peg$fail(peg$c1513);
19012
+ peg$fail(peg$c1516);
18383
19013
  }
18384
19014
  }
18385
19015
  if (s2 !== peg$FAILED) {
@@ -18428,7 +19058,7 @@ function peg$parse(input, options) {
18428
19058
  }
18429
19059
  if (s9 !== peg$FAILED) {
18430
19060
  peg$savedPos = s0;
18431
- s1 = peg$c1511(s6);
19061
+ s1 = peg$c1514(s6);
18432
19062
  s0 = s1;
18433
19063
  }
18434
19064
  else {
@@ -18480,7 +19110,7 @@ function peg$parse(input, options) {
18480
19110
  if (s0 === peg$FAILED) {
18481
19111
  s1 = peg$FAILED;
18482
19112
  if (peg$silentFails === 0) {
18483
- peg$fail(peg$c1510);
19113
+ peg$fail(peg$c1513);
18484
19114
  }
18485
19115
  }
18486
19116
  return s0;
@@ -18494,14 +19124,14 @@ function peg$parse(input, options) {
18494
19124
  s1 = null;
18495
19125
  }
18496
19126
  if (s1 !== peg$FAILED) {
18497
- if (input.substr(peg$currPos, 5) === peg$c1515) {
18498
- s2 = peg$c1515;
19127
+ if (input.substr(peg$currPos, 5) === peg$c1518) {
19128
+ s2 = peg$c1518;
18499
19129
  peg$currPos += 5;
18500
19130
  }
18501
19131
  else {
18502
19132
  s2 = peg$FAILED;
18503
19133
  if (peg$silentFails === 0) {
18504
- peg$fail(peg$c1516);
19134
+ peg$fail(peg$c1519);
18505
19135
  }
18506
19136
  }
18507
19137
  if (s2 !== peg$FAILED) {
@@ -18550,7 +19180,7 @@ function peg$parse(input, options) {
18550
19180
  }
18551
19181
  if (s9 !== peg$FAILED) {
18552
19182
  peg$savedPos = s0;
18553
- s1 = peg$c1517(s6);
19183
+ s1 = peg$c1520(s6);
18554
19184
  s0 = s1;
18555
19185
  }
18556
19186
  else {
@@ -18601,7 +19231,7 @@ function peg$parse(input, options) {
18601
19231
  if (s0 === peg$FAILED) {
18602
19232
  s1 = peg$FAILED;
18603
19233
  if (peg$silentFails === 0) {
18604
- peg$fail(peg$c1514);
19234
+ peg$fail(peg$c1517);
18605
19235
  }
18606
19236
  }
18607
19237
  return s0;
@@ -18615,14 +19245,14 @@ function peg$parse(input, options) {
18615
19245
  s1 = null;
18616
19246
  }
18617
19247
  if (s1 !== peg$FAILED) {
18618
- if (input.substr(peg$currPos, 3) === peg$c1519) {
18619
- s2 = peg$c1519;
19248
+ if (input.substr(peg$currPos, 3) === peg$c1522) {
19249
+ s2 = peg$c1522;
18620
19250
  peg$currPos += 3;
18621
19251
  }
18622
19252
  else {
18623
19253
  s2 = peg$FAILED;
18624
19254
  if (peg$silentFails === 0) {
18625
- peg$fail(peg$c1520);
19255
+ peg$fail(peg$c1523);
18626
19256
  }
18627
19257
  }
18628
19258
  if (s2 !== peg$FAILED) {
@@ -18671,7 +19301,7 @@ function peg$parse(input, options) {
18671
19301
  }
18672
19302
  if (s9 !== peg$FAILED) {
18673
19303
  peg$savedPos = s0;
18674
- s1 = peg$c1521(s6);
19304
+ s1 = peg$c1524(s6);
18675
19305
  s0 = s1;
18676
19306
  }
18677
19307
  else {
@@ -18722,7 +19352,7 @@ function peg$parse(input, options) {
18722
19352
  if (s0 === peg$FAILED) {
18723
19353
  s1 = peg$FAILED;
18724
19354
  if (peg$silentFails === 0) {
18725
- peg$fail(peg$c1518);
19355
+ peg$fail(peg$c1521);
18726
19356
  }
18727
19357
  }
18728
19358
  return s0;
@@ -18736,14 +19366,14 @@ function peg$parse(input, options) {
18736
19366
  s1 = null;
18737
19367
  }
18738
19368
  if (s1 !== peg$FAILED) {
18739
- if (input.substr(peg$currPos, 8) === peg$c1523) {
18740
- s2 = peg$c1523;
19369
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
19370
+ s2 = peg$c1526;
18741
19371
  peg$currPos += 8;
18742
19372
  }
18743
19373
  else {
18744
19374
  s2 = peg$FAILED;
18745
19375
  if (peg$silentFails === 0) {
18746
- peg$fail(peg$c1524);
19376
+ peg$fail(peg$c1527);
18747
19377
  }
18748
19378
  }
18749
19379
  if (s2 !== peg$FAILED) {
@@ -18796,7 +19426,7 @@ function peg$parse(input, options) {
18796
19426
  }
18797
19427
  if (s11 !== peg$FAILED) {
18798
19428
  peg$savedPos = s0;
18799
- s1 = peg$c1525(s6, s8);
19429
+ s1 = peg$c1528(s6, s8);
18800
19430
  s0 = s1;
18801
19431
  }
18802
19432
  else {
@@ -18860,14 +19490,14 @@ function peg$parse(input, options) {
18860
19490
  s1 = null;
18861
19491
  }
18862
19492
  if (s1 !== peg$FAILED) {
18863
- if (input.substr(peg$currPos, 8) === peg$c1523) {
18864
- s2 = peg$c1523;
19493
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
19494
+ s2 = peg$c1526;
18865
19495
  peg$currPos += 8;
18866
19496
  }
18867
19497
  else {
18868
19498
  s2 = peg$FAILED;
18869
19499
  if (peg$silentFails === 0) {
18870
- peg$fail(peg$c1524);
19500
+ peg$fail(peg$c1527);
18871
19501
  }
18872
19502
  }
18873
19503
  if (s2 !== peg$FAILED) {
@@ -18900,14 +19530,14 @@ function peg$parse(input, options) {
18900
19530
  if (s8 !== peg$FAILED) {
18901
19531
  s9 = peg$parseWS();
18902
19532
  if (s9 !== peg$FAILED) {
18903
- if (input.substr(peg$currPos, 8) === peg$c1526) {
18904
- s10 = peg$c1526;
19533
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
19534
+ s10 = peg$c1529;
18905
19535
  peg$currPos += 8;
18906
19536
  }
18907
19537
  else {
18908
19538
  s10 = peg$FAILED;
18909
19539
  if (peg$silentFails === 0) {
18910
- peg$fail(peg$c1527);
19540
+ peg$fail(peg$c1530);
18911
19541
  }
18912
19542
  }
18913
19543
  if (s10 !== peg$FAILED) {
@@ -18933,7 +19563,7 @@ function peg$parse(input, options) {
18933
19563
  }
18934
19564
  if (s13 !== peg$FAILED) {
18935
19565
  peg$savedPos = s0;
18936
- s1 = peg$c1528(s6, s8);
19566
+ s1 = peg$c1531(s6, s8);
18937
19567
  s0 = s1;
18938
19568
  }
18939
19569
  else {
@@ -19005,7 +19635,7 @@ function peg$parse(input, options) {
19005
19635
  if (s0 === peg$FAILED) {
19006
19636
  s1 = peg$FAILED;
19007
19637
  if (peg$silentFails === 0) {
19008
- peg$fail(peg$c1522);
19638
+ peg$fail(peg$c1525);
19009
19639
  }
19010
19640
  }
19011
19641
  return s0;
@@ -19049,13 +19679,13 @@ function peg$parse(input, options) {
19049
19679
  var s0, s1, s2, s3, s4, s5;
19050
19680
  s0 = peg$currPos;
19051
19681
  if (input.charCodeAt(peg$currPos) === 123) {
19052
- s1 = peg$c1221;
19682
+ s1 = peg$c1222;
19053
19683
  peg$currPos++;
19054
19684
  }
19055
19685
  else {
19056
19686
  s1 = peg$FAILED;
19057
19687
  if (peg$silentFails === 0) {
19058
- peg$fail(peg$c1222);
19688
+ peg$fail(peg$c1223);
19059
19689
  }
19060
19690
  }
19061
19691
  if (s1 !== peg$FAILED) {
@@ -19077,18 +19707,18 @@ function peg$parse(input, options) {
19077
19707
  }
19078
19708
  if (s4 !== peg$FAILED) {
19079
19709
  if (input.charCodeAt(peg$currPos) === 125) {
19080
- s5 = peg$c1223;
19710
+ s5 = peg$c1224;
19081
19711
  peg$currPos++;
19082
19712
  }
19083
19713
  else {
19084
19714
  s5 = peg$FAILED;
19085
19715
  if (peg$silentFails === 0) {
19086
- peg$fail(peg$c1224);
19716
+ peg$fail(peg$c1225);
19087
19717
  }
19088
19718
  }
19089
19719
  if (s5 !== peg$FAILED) {
19090
19720
  peg$savedPos = s0;
19091
- s1 = peg$c1225(s3);
19721
+ s1 = peg$c1226(s3);
19092
19722
  s0 = s1;
19093
19723
  }
19094
19724
  else {
@@ -19125,20 +19755,26 @@ function peg$parse(input, options) {
19125
19755
  s1 = null;
19126
19756
  }
19127
19757
  if (s1 !== peg$FAILED) {
19128
- if (input.substr(peg$currPos, 5) === peg$c1337) {
19129
- s2 = peg$c1337;
19758
+ if (input.substr(peg$currPos, 5) === peg$c1340) {
19759
+ s2 = peg$c1340;
19130
19760
  peg$currPos += 5;
19131
19761
  }
19132
19762
  else {
19133
19763
  s2 = peg$FAILED;
19134
19764
  if (peg$silentFails === 0) {
19135
- peg$fail(peg$c1338);
19765
+ peg$fail(peg$c1341);
19136
19766
  }
19137
19767
  }
19138
19768
  if (s2 !== peg$FAILED) {
19139
19769
  s3 = peg$parseWS();
19140
19770
  if (s3 !== peg$FAILED) {
19141
- s4 = peg$parseLabel();
19771
+ s4 = peg$currPos;
19772
+ s5 = peg$parseLabel();
19773
+ if (s5 !== peg$FAILED) {
19774
+ peg$savedPos = s4;
19775
+ s5 = peg$c1532(s5);
19776
+ }
19777
+ s4 = s5;
19142
19778
  if (s4 !== peg$FAILED) {
19143
19779
  s5 = peg$parseWS();
19144
19780
  if (s5 === peg$FAILED) {
@@ -19185,7 +19821,7 @@ function peg$parse(input, options) {
19185
19821
  }
19186
19822
  if (s11 !== peg$FAILED) {
19187
19823
  peg$savedPos = s0;
19188
- s1 = peg$c1529(s4, s8);
19824
+ s1 = peg$c1533(s4, s8);
19189
19825
  s0 = s1;
19190
19826
  }
19191
19827
  else {
@@ -19253,13 +19889,13 @@ function peg$parse(input, options) {
19253
19889
  }
19254
19890
  if (s1 !== peg$FAILED) {
19255
19891
  if (input.charCodeAt(peg$currPos) === 38) {
19256
- s2 = peg$c1530;
19892
+ s2 = peg$c1534;
19257
19893
  peg$currPos++;
19258
19894
  }
19259
19895
  else {
19260
19896
  s2 = peg$FAILED;
19261
19897
  if (peg$silentFails === 0) {
19262
- peg$fail(peg$c1531);
19898
+ peg$fail(peg$c1535);
19263
19899
  }
19264
19900
  }
19265
19901
  if (s2 !== peg$FAILED) {
@@ -19315,7 +19951,7 @@ function peg$parse(input, options) {
19315
19951
  }
19316
19952
  if (s11 !== peg$FAILED) {
19317
19953
  peg$savedPos = s0;
19318
- s1 = peg$c1532(s4, s8);
19954
+ s1 = peg$c1536(s4, s8);
19319
19955
  s0 = s1;
19320
19956
  }
19321
19957
  else {
@@ -19382,14 +20018,14 @@ function peg$parse(input, options) {
19382
20018
  s1 = null;
19383
20019
  }
19384
20020
  if (s1 !== peg$FAILED) {
19385
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19386
- s2 = peg$c1523;
20021
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20022
+ s2 = peg$c1526;
19387
20023
  peg$currPos += 8;
19388
20024
  }
19389
20025
  else {
19390
20026
  s2 = peg$FAILED;
19391
20027
  if (peg$silentFails === 0) {
19392
- peg$fail(peg$c1524);
20028
+ peg$fail(peg$c1527);
19393
20029
  }
19394
20030
  }
19395
20031
  if (s2 !== peg$FAILED) {
@@ -19416,14 +20052,14 @@ function peg$parse(input, options) {
19416
20052
  if (s8 !== peg$FAILED) {
19417
20053
  s9 = peg$parseWS();
19418
20054
  if (s9 !== peg$FAILED) {
19419
- if (input.substr(peg$currPos, 8) === peg$c1526) {
19420
- s10 = peg$c1526;
20055
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
20056
+ s10 = peg$c1529;
19421
20057
  peg$currPos += 8;
19422
20058
  }
19423
20059
  else {
19424
20060
  s10 = peg$FAILED;
19425
20061
  if (peg$silentFails === 0) {
19426
- peg$fail(peg$c1527);
20062
+ peg$fail(peg$c1530);
19427
20063
  }
19428
20064
  }
19429
20065
  if (s10 !== peg$FAILED) {
@@ -19449,7 +20085,7 @@ function peg$parse(input, options) {
19449
20085
  }
19450
20086
  if (s13 !== peg$FAILED) {
19451
20087
  peg$savedPos = s0;
19452
- s1 = peg$c1533(s4, s8);
20088
+ s1 = peg$c1537(s4, s8);
19453
20089
  s0 = s1;
19454
20090
  }
19455
20091
  else {
@@ -19523,14 +20159,14 @@ function peg$parse(input, options) {
19523
20159
  s1 = null;
19524
20160
  }
19525
20161
  if (s1 !== peg$FAILED) {
19526
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19527
- s2 = peg$c1523;
20162
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20163
+ s2 = peg$c1526;
19528
20164
  peg$currPos += 8;
19529
20165
  }
19530
20166
  else {
19531
20167
  s2 = peg$FAILED;
19532
20168
  if (peg$silentFails === 0) {
19533
- peg$fail(peg$c1524);
20169
+ peg$fail(peg$c1527);
19534
20170
  }
19535
20171
  }
19536
20172
  if (s2 !== peg$FAILED) {
@@ -19540,14 +20176,14 @@ function peg$parse(input, options) {
19540
20176
  if (s4 !== peg$FAILED) {
19541
20177
  s5 = peg$parseWS();
19542
20178
  if (s5 !== peg$FAILED) {
19543
- if (input.substr(peg$currPos, 8) === peg$c1526) {
19544
- s6 = peg$c1526;
20179
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
20180
+ s6 = peg$c1529;
19545
20181
  peg$currPos += 8;
19546
20182
  }
19547
20183
  else {
19548
20184
  s6 = peg$FAILED;
19549
20185
  if (peg$silentFails === 0) {
19550
- peg$fail(peg$c1527);
20186
+ peg$fail(peg$c1530);
19551
20187
  }
19552
20188
  }
19553
20189
  if (s6 !== peg$FAILED) {
@@ -19573,7 +20209,7 @@ function peg$parse(input, options) {
19573
20209
  }
19574
20210
  if (s9 !== peg$FAILED) {
19575
20211
  peg$savedPos = s0;
19576
- s1 = peg$c1534(s4);
20212
+ s1 = peg$c1538(s4);
19577
20213
  s0 = s1;
19578
20214
  }
19579
20215
  else {
@@ -19627,14 +20263,14 @@ function peg$parse(input, options) {
19627
20263
  s1 = null;
19628
20264
  }
19629
20265
  if (s1 !== peg$FAILED) {
19630
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19631
- s2 = peg$c1523;
20266
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20267
+ s2 = peg$c1526;
19632
20268
  peg$currPos += 8;
19633
20269
  }
19634
20270
  else {
19635
20271
  s2 = peg$FAILED;
19636
20272
  if (peg$silentFails === 0) {
19637
- peg$fail(peg$c1524);
20273
+ peg$fail(peg$c1527);
19638
20274
  }
19639
20275
  }
19640
20276
  if (s2 !== peg$FAILED) {
@@ -19681,7 +20317,7 @@ function peg$parse(input, options) {
19681
20317
  }
19682
20318
  if (s11 !== peg$FAILED) {
19683
20319
  peg$savedPos = s0;
19684
- s1 = peg$c1535(s4, s8);
20320
+ s1 = peg$c1539(s4, s8);
19685
20321
  s0 = s1;
19686
20322
  }
19687
20323
  else {
@@ -19745,14 +20381,14 @@ function peg$parse(input, options) {
19745
20381
  s1 = null;
19746
20382
  }
19747
20383
  if (s1 !== peg$FAILED) {
19748
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19749
- s2 = peg$c1523;
20384
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20385
+ s2 = peg$c1526;
19750
20386
  peg$currPos += 8;
19751
20387
  }
19752
20388
  else {
19753
20389
  s2 = peg$FAILED;
19754
20390
  if (peg$silentFails === 0) {
19755
- peg$fail(peg$c1524);
20391
+ peg$fail(peg$c1527);
19756
20392
  }
19757
20393
  }
19758
20394
  if (s2 !== peg$FAILED) {
@@ -19782,7 +20418,7 @@ function peg$parse(input, options) {
19782
20418
  }
19783
20419
  if (s7 !== peg$FAILED) {
19784
20420
  peg$savedPos = s0;
19785
- s1 = peg$c1536(s4);
20421
+ s1 = peg$c1540(s4);
19786
20422
  s0 = s1;
19787
20423
  }
19788
20424
  else {
@@ -19827,14 +20463,14 @@ function peg$parse(input, options) {
19827
20463
  function peg$parseRegularArrangeDeclaration() {
19828
20464
  var s0, s1, s2, s3, s4, s5, s6;
19829
20465
  s0 = peg$currPos;
19830
- if (input.substr(peg$currPos, 7) === peg$c1537) {
19831
- s1 = peg$c1537;
20466
+ if (input.substr(peg$currPos, 7) === peg$c1541) {
20467
+ s1 = peg$c1541;
19832
20468
  peg$currPos += 7;
19833
20469
  }
19834
20470
  else {
19835
20471
  s1 = peg$FAILED;
19836
20472
  if (peg$silentFails === 0) {
19837
- peg$fail(peg$c1538);
20473
+ peg$fail(peg$c1542);
19838
20474
  }
19839
20475
  }
19840
20476
  if (s1 !== peg$FAILED) {
@@ -19867,7 +20503,7 @@ function peg$parse(input, options) {
19867
20503
  }
19868
20504
  if (s6 !== peg$FAILED) {
19869
20505
  peg$savedPos = s0;
19870
- s1 = peg$c1539(s3);
20506
+ s1 = peg$c1543(s3);
19871
20507
  s0 = s1;
19872
20508
  }
19873
20509
  else {
@@ -19904,14 +20540,14 @@ function peg$parse(input, options) {
19904
20540
  function peg$parseArrangeStartDeclaration() {
19905
20541
  var s0, s1, s2, s3, s4, s5, s6;
19906
20542
  s0 = peg$currPos;
19907
- if (input.substr(peg$currPos, 13) === peg$c1540) {
19908
- s1 = peg$c1540;
20543
+ if (input.substr(peg$currPos, 13) === peg$c1544) {
20544
+ s1 = peg$c1544;
19909
20545
  peg$currPos += 13;
19910
20546
  }
19911
20547
  else {
19912
20548
  s1 = peg$FAILED;
19913
20549
  if (peg$silentFails === 0) {
19914
- peg$fail(peg$c1541);
20550
+ peg$fail(peg$c1545);
19915
20551
  }
19916
20552
  }
19917
20553
  if (s1 !== peg$FAILED) {
@@ -19944,7 +20580,7 @@ function peg$parse(input, options) {
19944
20580
  }
19945
20581
  if (s6 !== peg$FAILED) {
19946
20582
  peg$savedPos = s0;
19947
- s1 = peg$c1542(s3);
20583
+ s1 = peg$c1546(s3);
19948
20584
  s0 = s1;
19949
20585
  }
19950
20586
  else {
@@ -19981,14 +20617,14 @@ function peg$parse(input, options) {
19981
20617
  function peg$parseArrangeEndDeclaration() {
19982
20618
  var s0, s1, s2, s3, s4, s5, s6;
19983
20619
  s0 = peg$currPos;
19984
- if (input.substr(peg$currPos, 11) === peg$c1543) {
19985
- s1 = peg$c1543;
20620
+ if (input.substr(peg$currPos, 11) === peg$c1547) {
20621
+ s1 = peg$c1547;
19986
20622
  peg$currPos += 11;
19987
20623
  }
19988
20624
  else {
19989
20625
  s1 = peg$FAILED;
19990
20626
  if (peg$silentFails === 0) {
19991
- peg$fail(peg$c1544);
20627
+ peg$fail(peg$c1548);
19992
20628
  }
19993
20629
  }
19994
20630
  if (s1 !== peg$FAILED) {
@@ -20021,7 +20657,7 @@ function peg$parse(input, options) {
20021
20657
  }
20022
20658
  if (s6 !== peg$FAILED) {
20023
20659
  peg$savedPos = s0;
20024
- s1 = peg$c1545(s3);
20660
+ s1 = peg$c1549(s3);
20025
20661
  s0 = s1;
20026
20662
  }
20027
20663
  else {
@@ -20068,7 +20704,7 @@ function peg$parse(input, options) {
20068
20704
  peg$silentFails--;
20069
20705
  if (s0 === peg$FAILED) {
20070
20706
  if (peg$silentFails === 0) {
20071
- peg$fail(peg$c1546);
20707
+ peg$fail(peg$c1550);
20072
20708
  }
20073
20709
  }
20074
20710
  return s0;
@@ -21185,6 +21821,35 @@ function reduce(from) {
21185
21821
  return reductions[from.toLowerCase()];
21186
21822
  }
21187
21823
 
21824
+ /*********
21825
+ *
21826
+ * Returns the source span of the `n`-th parse-tree node (1-based) matching
21827
+ * `predicate`, or `undefined` if there are fewer than `n` matches or the
21828
+ * matched node carries no location. Used to point semantic compile errors
21829
+ * at the offending statement when the tree was produced with
21830
+ * `parse(input, { locations: true })`.
21831
+ *
21832
+ * @internal
21833
+ *
21834
+ * @param tree The parse tree to scan.
21835
+ * @param predicate Node test.
21836
+ * @param n 1-based ordinal of the matching node to return.
21837
+ *
21838
+ * @returns The matching node's `loc`, or `undefined`.
21839
+ *
21840
+ */
21841
+ function nth_matching_loc(tree, predicate, n) {
21842
+ let count = 0;
21843
+ for (const node of tree) {
21844
+ if (predicate(node)) {
21845
+ count++;
21846
+ if (count === n) {
21847
+ return node.loc;
21848
+ }
21849
+ }
21850
+ }
21851
+ return undefined;
21852
+ }
21188
21853
  /*********
21189
21854
  *
21190
21855
  * Internal method meant to perform factory assembly of an edge. Not meant for
@@ -21269,6 +21934,34 @@ function makeTransition(this_se, from, to, isRight, _wasList, _wasIndex) {
21269
21934
  * This method is mostly for plugin and intermediate tool authors, or people
21270
21935
  * who need to work with the machine's intermediate representation.
21271
21936
  *
21937
+ * ## Opt-in source locations
21938
+ *
21939
+ * Pass `{ locations: true }` to attach source-span information to every
21940
+ * object node in the AST. Each node gains a `loc` field of type
21941
+ * {@link FslSourceLocation} covering its full statement span. Selected nodes
21942
+ * also gain curated sub-span fields that pinpoint individual tokens within the
21943
+ * statement:
21944
+ *
21945
+ * - Transition nodes: `from_loc` (source state), `to_loc` (target state, on
21946
+ * the nested `se` object), `l_action_loc` / `r_action_loc` (action labels).
21947
+ * - State-declaration nodes: `name_loc` (state name), plus `value_loc` on
21948
+ * each color-bearing item inside the declaration block.
21949
+ * - Machine-attribute nodes (`machine_name`, `fsl_version`, etc.): `value_loc`
21950
+ * (the attribute value token).
21951
+ *
21952
+ * Without `{ locations: true }` the AST is byte-for-byte identical to the
21953
+ * default output; no `loc` or `*_loc` fields are present.
21954
+ *
21955
+ * ```typescript
21956
+ * const tree = wrap_parse('a -> b;', { locations: true });
21957
+ * // tree[0].loc === { start: { offset: 0, line: 1, column: 1 },
21958
+ * // end: { offset: 7, line: 1, column: 8 } }
21959
+ * // tree[0].from_loc.start.offset === 0 // 'a'
21960
+ * // tree[0].se.to_loc.start.offset === 5 // 'b'
21961
+ * ```
21962
+ *
21963
+ * @see {@link FslSourceLocation}
21964
+ *
21272
21965
  * # Hey!
21273
21966
  *
21274
21967
  * Most people looking at this want either the `sm` operator or method `from`,
@@ -21297,7 +21990,9 @@ function makeTransition(this_se, from, to, isRight, _wasList, _wasIndex) {
21297
21990
  *
21298
21991
  * @param input The FSL code to be evaluated
21299
21992
  *
21300
- * @param options Things to control about the instance
21993
+ * @param options Things to control about the instance. Pass
21994
+ * `{ locations: true }` to enable opt-in source location
21995
+ * tracking on every AST node.
21301
21996
  *
21302
21997
  */
21303
21998
  function wrap_parse(input, options) {
@@ -21376,7 +22071,7 @@ function compile_rule_handler(rule) {
21376
22071
  // state properties are in here
21377
22072
  if (rule.key === 'state_declaration') {
21378
22073
  if (!rule.name) {
21379
- throw new JssmError(undefined, 'State declarations must have a name');
22074
+ throw new JssmError(undefined, 'State declarations must have a name', { source_location: rule.loc });
21380
22075
  }
21381
22076
  return { agg_as: 'state_declaration', val: { state: rule.name, declarations: rule.value } };
21382
22077
  }
@@ -21422,6 +22117,31 @@ function compile_rule_handler(rule) {
21422
22117
  * This method is mostly for plugin and intermediate tool authors, or people
21423
22118
  * who need to work with the machine's intermediate representation.
21424
22119
  *
22120
+ * ## Source-location-aware error reporting
22121
+ *
22122
+ * `compile()` ignores `loc` and `*_loc` fields during machine construction —
22123
+ * the resulting config is identical whether or not the tree was parsed with
22124
+ * `{ locations: true }`. However, when those fields are present, `compile()`
22125
+ * attaches the offending node's source span to any semantic {@link JssmError}
22126
+ * it throws, via the error's `source_location` field
22127
+ * (type {@link FslSourceLocation}). This lets downstream tooling (e.g. a
22128
+ * CodeMirror 6 linter) map the error to a precise editor range without any
22129
+ * additional source-scanning.
22130
+ *
22131
+ * ```typescript
22132
+ * import { parse, compile } from 'jssm';
22133
+ *
22134
+ * try {
22135
+ * compile(parse('fsl_version: 1.0.0;\nfsl_version: 2.0.0;\na -> b;',
22136
+ * { locations: true }));
22137
+ * } catch (err) {
22138
+ * // err.source_location.start.offset points at the second fsl_version line
22139
+ * console.log(err.source_location);
22140
+ * }
22141
+ * ```
22142
+ *
22143
+ * @see {@link FslSourceLocation}
22144
+ *
21425
22145
  * # Hey!
21426
22146
  *
21427
22147
  * Most people looking at this want either the `sm` operator or method `from`,
@@ -21447,7 +22167,10 @@ function compile_rule_handler(rule) {
21447
22167
  *
21448
22168
  * @typeparam mDT The type of the machine data member; usually omitted
21449
22169
  *
21450
- * @param tree The parse tree to be boiled down into a machine config
22170
+ * @param tree The parse tree to be boiled down into a machine config. If the
22171
+ * tree was produced with `parse(input, { locations: true })`, any
22172
+ * semantic error thrown will carry a `source_location` span
22173
+ * pointing at the offending statement.
21451
22174
  *
21452
22175
  */
21453
22176
  function compile(tree) {
@@ -21494,7 +22217,8 @@ function compile(tree) {
21494
22217
  });
21495
22218
  const property_keys = results['property_definition'].map(pd => pd.name), repeat_props = find_repeated(property_keys);
21496
22219
  if (repeat_props.length) {
21497
- throw new JssmError(undefined, `Cannot repeat property definitions. Saw ${JSON.stringify(repeat_props)}`);
22220
+ const dup = repeat_props[0][0];
22221
+ throw new JssmError(undefined, `Cannot repeat property definitions. Saw ${JSON.stringify(repeat_props)}`, { source_location: nth_matching_loc(tree, (n) => n.key === 'property_definition' && n.name === dup, 2) });
21498
22222
  }
21499
22223
  const assembled_transitions = [].concat(...results['transition']);
21500
22224
  const result_cfg = {
@@ -21511,7 +22235,7 @@ function compile(tree) {
21511
22235
  ];
21512
22236
  oneOnlyKeys.map((oneOnlyKey) => {
21513
22237
  if (results[oneOnlyKey].length > 1) {
21514
- throw new JssmError(undefined, `May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`);
22238
+ throw new JssmError(undefined, `May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`, { source_location: nth_matching_loc(tree, (n) => n.key === oneOnlyKey, 2) });
21515
22239
  }
21516
22240
  else {
21517
22241
  if (results[oneOnlyKey].length) {
@@ -21536,7 +22260,7 @@ function compile(tree) {
21536
22260
  if (decl.key === 'state_property') {
21537
22261
  const label = name_bind_prop_and_state(decl.name, sd.state);
21538
22262
  if (result_cfg.state_property.findIndex(c => c.name === label) !== -1) {
21539
- throw new JssmError(undefined, `A state may only bind a property once (${sd.state} re-binds ${decl.name})`);
22263
+ throw new JssmError(undefined, `A state may only bind a property once (${sd.state} re-binds ${decl.name})`, { source_location: nth_matching_loc(tree, (n) => n.key === 'state_declaration' && n.name === sd.state, 1) });
21540
22264
  }
21541
22265
  else {
21542
22266
  result_cfg.state_property.push({ name: label, default_value: decl.value });
@@ -22022,7 +22746,7 @@ var constants = /*#__PURE__*/Object.freeze({
22022
22746
  * Useful for runtime diagnostics and for embedding in serialized machine
22023
22747
  * snapshots so that deserializers can detect version-skew.
22024
22748
  */
22025
- const version = "5.142.4";
22749
+ const version = "5.143.0";
22026
22750
 
22027
22751
  // whargarbl lots of these return arrays could/should be sets
22028
22752
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;