jssm 5.141.6 → 5.141.9

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.
package/dist/cdn/viz.js CHANGED
@@ -240,6 +240,7 @@ function arrow_right_kind(arrow) {
240
240
  }
241
241
  }
242
242
 
243
+ // @ts-nocheck
243
244
  /*
244
245
  * Generated by PEG.js 0.10.0.
245
246
  *
@@ -351,7 +352,7 @@ function peg$parse(input, options) {
351
352
  var peg$FAILED = {}, peg$startRuleFunctions = { Document: peg$parseDocument }, peg$startRuleFunction = peg$parseDocument, peg$c0 = function (e) { return e; }, peg$c1 = "default", peg$c2 = peg$literalExpectation("default", false), peg$c3 = "ocean", peg$c4 = peg$literalExpectation("ocean", false), peg$c5 = "modern", peg$c6 = peg$literalExpectation("modern", false), peg$c7 = "plain", peg$c8 = peg$literalExpectation("plain", false), peg$c9 = "bold", peg$c10 = peg$literalExpectation("bold", false), peg$c11 = "[", peg$c12 = peg$literalExpectation("[", false), peg$c13 = "]", peg$c14 = peg$literalExpectation("]", false), peg$c15 = function (ths, th) { const themes = ths.map(t => t[0]); if (th)
352
353
  themes.push(th); return themes; }, peg$c16 = function (th) { return [th]; }, peg$c17 = "box3d", peg$c18 = peg$literalExpectation("box3d", false), peg$c19 = "polygon", peg$c20 = peg$literalExpectation("polygon", false), peg$c21 = "ellipse", peg$c22 = peg$literalExpectation("ellipse", false), peg$c23 = "oval", peg$c24 = peg$literalExpectation("oval", false), peg$c25 = "circle", peg$c26 = peg$literalExpectation("circle", false), peg$c27 = "point", peg$c28 = peg$literalExpectation("point", false), peg$c29 = "egg", peg$c30 = peg$literalExpectation("egg", false), peg$c31 = "triangle", peg$c32 = peg$literalExpectation("triangle", false), peg$c33 = "plaintext", peg$c34 = peg$literalExpectation("plaintext", false), peg$c35 = "diamond", peg$c36 = peg$literalExpectation("diamond", false), peg$c37 = "trapezium", peg$c38 = peg$literalExpectation("trapezium", false), peg$c39 = "parallelogram", peg$c40 = peg$literalExpectation("parallelogram", false), peg$c41 = "house", peg$c42 = peg$literalExpectation("house", false), peg$c43 = "pentagon", peg$c44 = peg$literalExpectation("pentagon", false), peg$c45 = "hexagon", peg$c46 = peg$literalExpectation("hexagon", false), peg$c47 = "septagon", peg$c48 = peg$literalExpectation("septagon", false), peg$c49 = "octagon", peg$c50 = peg$literalExpectation("octagon", false), peg$c51 = "doublecircle", peg$c52 = peg$literalExpectation("doublecircle", false), peg$c53 = "doubleoctagon", peg$c54 = peg$literalExpectation("doubleoctagon", false), peg$c55 = "tripleoctagon", peg$c56 = peg$literalExpectation("tripleoctagon", false), peg$c57 = "invtriangle", peg$c58 = peg$literalExpectation("invtriangle", false), peg$c59 = "invtrapezium", peg$c60 = peg$literalExpectation("invtrapezium", false), peg$c61 = "invhouse", peg$c62 = peg$literalExpectation("invhouse", false), peg$c63 = "Mdiamond", peg$c64 = peg$literalExpectation("Mdiamond", false), peg$c65 = "Msquare", peg$c66 = peg$literalExpectation("Msquare", false), peg$c67 = "Mcircle", peg$c68 = peg$literalExpectation("Mcircle", false), peg$c69 = "rectangle", peg$c70 = peg$literalExpectation("rectangle", false), peg$c71 = "rect", peg$c72 = peg$literalExpectation("rect", false), peg$c73 = "square", peg$c74 = peg$literalExpectation("square", false), peg$c75 = "star", peg$c76 = peg$literalExpectation("star", false), peg$c77 = "none", peg$c78 = peg$literalExpectation("none", false), peg$c79 = "underline", peg$c80 = peg$literalExpectation("underline", false), peg$c81 = "cylinder", peg$c82 = peg$literalExpectation("cylinder", false), peg$c83 = "note", peg$c84 = peg$literalExpectation("note", false), peg$c85 = "tab", peg$c86 = peg$literalExpectation("tab", false), peg$c87 = "folder", peg$c88 = peg$literalExpectation("folder", false), peg$c89 = "box", peg$c90 = peg$literalExpectation("box", false), peg$c91 = "component", peg$c92 = peg$literalExpectation("component", false), peg$c93 = "promoter", peg$c94 = peg$literalExpectation("promoter", false), peg$c95 = "cds", peg$c96 = peg$literalExpectation("cds", false), peg$c97 = "terminator", peg$c98 = peg$literalExpectation("terminator", false), peg$c99 = "utr", peg$c100 = peg$literalExpectation("utr", false), peg$c101 = "primersite", peg$c102 = peg$literalExpectation("primersite", false), peg$c103 = "restrictionsite", peg$c104 = peg$literalExpectation("restrictionsite", false), peg$c105 = "fivepoverhang", peg$c106 = peg$literalExpectation("fivepoverhang", false), peg$c107 = "threepoverhang", peg$c108 = peg$literalExpectation("threepoverhang", false), peg$c109 = "noverhang", peg$c110 = peg$literalExpectation("noverhang", false), peg$c111 = "assembly", peg$c112 = peg$literalExpectation("assembly", false), peg$c113 = "signature", peg$c114 = peg$literalExpectation("signature", false), peg$c115 = "insulator", peg$c116 = peg$literalExpectation("insulator", false), peg$c117 = "ribosite", peg$c118 = peg$literalExpectation("ribosite", false), peg$c119 = "rnastab", peg$c120 = peg$literalExpectation("rnastab", false), peg$c121 = "proteasesite", peg$c122 = peg$literalExpectation("proteasesite", false), peg$c123 = "proteinstab", peg$c124 = peg$literalExpectation("proteinstab", false), peg$c125 = "rpromoter", peg$c126 = peg$literalExpectation("rpromoter", false), peg$c127 = "rarrow", peg$c128 = peg$literalExpectation("rarrow", false), peg$c129 = "larrow", peg$c130 = peg$literalExpectation("larrow", false), peg$c131 = "lpromoter", peg$c132 = peg$literalExpectation("lpromoter", false), peg$c133 = "record", peg$c134 = peg$literalExpectation("record", false), peg$c135 = peg$otherExpectation("forward light arrow ->"), peg$c136 = "->", peg$c137 = peg$literalExpectation("->", false), peg$c138 = "\u2192", peg$c139 = peg$literalExpectation("\u2192", false), peg$c140 = function () { return "->"; }, peg$c141 = peg$otherExpectation("two way light arrow <->"), peg$c142 = "<->", peg$c143 = peg$literalExpectation("<->", false), peg$c144 = "\u2194", peg$c145 = peg$literalExpectation("\u2194", false), peg$c146 = function () { return "<->"; }, peg$c147 = peg$otherExpectation("back light arrow <-"), peg$c148 = "<-", peg$c149 = peg$literalExpectation("<-", false), peg$c150 = "\u2190", peg$c151 = peg$literalExpectation("\u2190", false), peg$c152 = function () { return "<-"; }, peg$c153 = peg$otherExpectation("forward fat arrow =>"), peg$c154 = "=>", peg$c155 = peg$literalExpectation("=>", false), peg$c156 = "\u21D2", peg$c157 = peg$literalExpectation("\u21D2", false), peg$c158 = function () { return "=>"; }, peg$c159 = peg$otherExpectation("two way fat arrow <=>"), peg$c160 = "<=>", peg$c161 = peg$literalExpectation("<=>", false), peg$c162 = "\u21D4", peg$c163 = peg$literalExpectation("\u21D4", false), peg$c164 = function () { return "<=>"; }, peg$c165 = peg$otherExpectation("back fat arrow <="), peg$c166 = "<=", peg$c167 = peg$literalExpectation("<=", false), peg$c168 = "\u21D0", peg$c169 = peg$literalExpectation("\u21D0", false), peg$c170 = function () { return "<="; }, peg$c171 = peg$otherExpectation("forward tilde arrow ~>"), peg$c172 = "~>", peg$c173 = peg$literalExpectation("~>", false), peg$c174 = "\u219B", peg$c175 = peg$literalExpectation("\u219B", false), peg$c176 = function () { return "~>"; }, peg$c177 = peg$otherExpectation("two way tilde arrow <~>"), peg$c178 = "<~>", peg$c179 = peg$literalExpectation("<~>", false), peg$c180 = "\u21AE", peg$c181 = peg$literalExpectation("\u21AE", false), peg$c182 = function () { return "<~>"; }, peg$c183 = peg$otherExpectation("back tilde arrow <~"), peg$c184 = "<~", peg$c185 = peg$literalExpectation("<~", false), peg$c186 = "\u219A", peg$c187 = peg$literalExpectation("\u219A", false), peg$c188 = function () { return "<~"; }, peg$c189 = peg$otherExpectation("light fat arrow <-=>"), peg$c190 = "<-=>", peg$c191 = peg$literalExpectation("<-=>", false), peg$c192 = "\u2190\u21D2", peg$c193 = peg$literalExpectation("\u2190\u21D2", false), peg$c194 = function () { return "<-=>"; }, peg$c195 = peg$otherExpectation("light tilde arrow <-~>"), peg$c196 = "<-~>", peg$c197 = peg$literalExpectation("<-~>", false), peg$c198 = "\u2190\u219B", peg$c199 = peg$literalExpectation("\u2190\u219B", false), peg$c200 = function () { return "<-~>"; }, peg$c201 = peg$otherExpectation("fat light arrow <=->"), peg$c202 = "<=->", peg$c203 = peg$literalExpectation("<=->", false), peg$c204 = "\u21D0\u2192", peg$c205 = peg$literalExpectation("\u21D0\u2192", false), peg$c206 = function () { return "<=->"; }, peg$c207 = peg$otherExpectation("fat tilde arrow <=~>"), peg$c208 = "<=~>", peg$c209 = peg$literalExpectation("<=~>", false), peg$c210 = "\u21D0\u219B", peg$c211 = peg$literalExpectation("\u21D0\u219B", false), peg$c212 = function () { return "<=~>"; }, peg$c213 = peg$otherExpectation("tilde light arrow <~->"), peg$c214 = "<~->", peg$c215 = peg$literalExpectation("<~->", false), peg$c216 = "\u219A\u2192", peg$c217 = peg$literalExpectation("\u219A\u2192", false), peg$c218 = function () { return "<~->"; }, peg$c219 = peg$otherExpectation("tilde fat arrow <~=>"), peg$c220 = "<~=>", peg$c221 = peg$literalExpectation("<~=>", false), peg$c222 = "\u219A\u21D2", peg$c223 = peg$literalExpectation("\u219A\u21D2", false), peg$c224 = function () { return "<~=>"; }, peg$c225 = peg$otherExpectation("light arrow"), peg$c226 = peg$otherExpectation("fat arrow"), peg$c227 = peg$otherExpectation("tilde arrow"), peg$c228 = peg$otherExpectation("mixed arrow"), peg$c229 = peg$otherExpectation("arrow"), peg$c230 = "true", peg$c231 = peg$literalExpectation("true", false), peg$c232 = function () { return true; }, peg$c233 = "false", peg$c234 = peg$literalExpectation("false", false), peg$c235 = function () { return false; }, peg$c236 = "regular", peg$c237 = peg$literalExpectation("regular", false), peg$c238 = "rounded", peg$c239 = peg$literalExpectation("rounded", false), peg$c240 = "lined", peg$c241 = peg$literalExpectation("lined", false), peg$c242 = "solid", peg$c243 = peg$literalExpectation("solid", false), peg$c244 = "dotted", peg$c245 = peg$literalExpectation("dotted", false), peg$c246 = "dashed", peg$c247 = peg$literalExpectation("dashed", false), peg$c248 = "\"", peg$c249 = peg$literalExpectation("\"", false), peg$c250 = "\\", peg$c251 = peg$literalExpectation("\\", false), peg$c252 = "/", peg$c253 = peg$literalExpectation("/", false), peg$c254 = "b", peg$c255 = peg$literalExpectation("b", false), peg$c256 = function () { return "\b"; }, peg$c257 = "f", peg$c258 = peg$literalExpectation("f", false), peg$c259 = function () { return "\f"; }, peg$c260 = "n", peg$c261 = peg$literalExpectation("n", false), peg$c262 = function () { return "\n"; }, peg$c263 = "r", peg$c264 = peg$literalExpectation("r", false), peg$c265 = function () { return "\r"; }, peg$c266 = "t", peg$c267 = peg$literalExpectation("t", false), peg$c268 = function () { return "\t"; }, peg$c269 = "v", peg$c270 = peg$literalExpectation("v", false), peg$c271 = function () { return "\v"; }, peg$c272 = "u", peg$c273 = peg$literalExpectation("u", false), peg$c274 = function (digits) {
353
354
  return String.fromCharCode(parseInt(digits, 16));
354
- }, peg$c275 = function (Sequence) { return Sequence; }, peg$c276 = "null", peg$c277 = peg$literalExpectation("null", false), peg$c278 = function () { return null; }, peg$c279 = "undefined", peg$c280 = peg$literalExpectation("undefined", false), peg$c281 = function () { return undefined; }, peg$c282 = /^[\0-!#-[\]-\uFFFF]/, peg$c283 = peg$classExpectation([["\0", "!"], ["#", "["], ["]", "\uFFFF"]], false, false), peg$c284 = "'", peg$c285 = peg$literalExpectation("'", false), peg$c286 = /^[ -&(-[\]-\uFFFF]/, peg$c287 = peg$classExpectation([[" ", "&"], ["(", "["], ["]", "\uFFFF"]], false, false), peg$c288 = peg$otherExpectation("action label"), peg$c289 = function (chars) { return chars.join(""); }, peg$c290 = /^[\n\r\u2028\u2029]/, peg$c291 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false), peg$c292 = "*/", peg$c293 = peg$literalExpectation("*/", false), peg$c294 = peg$anyExpectation(), peg$c295 = peg$otherExpectation("block comment"), peg$c296 = "/*", peg$c297 = peg$literalExpectation("/*", false), peg$c298 = peg$otherExpectation("line comment"), peg$c299 = "//", peg$c300 = peg$literalExpectation("//", false), peg$c301 = peg$otherExpectation("whitespace"), peg$c302 = /^[ \t\r\n\x0B]/, peg$c303 = peg$classExpectation([" ", "\t", "\r", "\n", "\x0B"], false, false), peg$c304 = peg$otherExpectation("string"), peg$c305 = /^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/, peg$c306 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "_", "!", "$", "^", "*", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c307 = /^[0-9a-zA-Z.+_\^()*&$#@!?,\x80-\uFFFF]/, peg$c308 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "+", "_", "^", "(", ")", "*", "&", "$", "#", "@", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c309 = peg$otherExpectation("atom"), peg$c310 = function (firstletter, text) {
355
+ }, peg$c275 = function (Sequence) { return Sequence; }, peg$c276 = "null", peg$c277 = peg$literalExpectation("null", false), peg$c278 = function () { return null; }, peg$c279 = "undefined", peg$c280 = peg$literalExpectation("undefined", false), peg$c281 = function () { return undefined; }, peg$c282 = /^[\0-!#-[\]-\uFFFF]/, peg$c283 = peg$classExpectation([["\0", "!"], ["#", "["], ["]", "\uFFFF"]], false, false), peg$c284 = "'", peg$c285 = peg$literalExpectation("'", false), peg$c286 = /^[ -&(-[\]-\uFFFF]/, peg$c287 = peg$classExpectation([[" ", "&"], ["(", "["], ["]", "\uFFFF"]], false, false), peg$c288 = peg$otherExpectation("action label"), peg$c289 = function (chars) { return chars.join(""); }, peg$c290 = /^[\n\r\u2028\u2029]/, peg$c291 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], false, false), peg$c292 = peg$otherExpectation("block comment"), peg$c293 = "/*", peg$c294 = peg$literalExpectation("/*", false), peg$c295 = "*/", peg$c296 = peg$literalExpectation("*/", false), peg$c297 = peg$anyExpectation(), peg$c298 = peg$otherExpectation("line comment"), peg$c299 = "//", peg$c300 = peg$literalExpectation("//", false), peg$c301 = peg$otherExpectation("whitespace"), peg$c302 = /^[ \t\r\n\x0B]/, peg$c303 = peg$classExpectation([" ", "\t", "\r", "\n", "\x0B"], false, false), peg$c304 = peg$otherExpectation("string"), peg$c305 = /^[0-9a-zA-Z._!$\^*!?,\x80-\uFFFF]/, peg$c306 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "_", "!", "$", "^", "*", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c307 = /^[0-9a-zA-Z.+_\^()*&$#@!?,\x80-\uFFFF]/, peg$c308 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], ".", "+", "_", "^", "(", ")", "*", "&", "$", "#", "@", "!", "?", ",", ["\x80", "\uFFFF"]], false, false), peg$c309 = peg$otherExpectation("atom"), peg$c310 = function (firstletter, text) {
355
356
  return firstletter + ((text || []).join(''));
356
357
  }, peg$c311 = peg$otherExpectation("label"), peg$c312 = "0", peg$c313 = peg$literalExpectation("0", false), peg$c314 = /^[0-9]/, peg$c315 = peg$classExpectation([["0", "9"]], false, false), peg$c316 = /^[1-9]/, peg$c317 = peg$classExpectation([["1", "9"]], false, false), peg$c318 = /^[0-9a-f]/i, peg$c319 = peg$classExpectation([["0", "9"], ["a", "f"]], false, true), peg$c320 = /^[0-1]/, peg$c321 = peg$classExpectation([["0", "1"]], false, false), peg$c322 = /^[0-7]/, peg$c323 = peg$classExpectation([["0", "7"]], false, false), peg$c324 = peg$otherExpectation("nonneg number"), peg$c325 = ".", peg$c326 = peg$literalExpectation(".", false), peg$c327 = function () { return parseFloat(text()); }, peg$c328 = peg$otherExpectation("number"), peg$c329 = function (literal) { return literal; }, peg$c330 = "NaN", peg$c331 = peg$literalExpectation("NaN", false), peg$c332 = function () { return NaN; }, peg$c333 = "NegativeInfinity", peg$c334 = peg$literalExpectation("NegativeInfinity", false), peg$c335 = function () { return Number.NEGATIVE_INFINITY; }, peg$c336 = "NegativeInf", peg$c337 = peg$literalExpectation("NegativeInf", false), peg$c338 = "NegInfinity", peg$c339 = peg$literalExpectation("NegInfinity", false), peg$c340 = "NegInf", peg$c341 = peg$literalExpectation("NegInf", false), peg$c342 = "NInfinity", peg$c343 = peg$literalExpectation("NInfinity", false), peg$c344 = "NInf", peg$c345 = peg$literalExpectation("NInf", false), peg$c346 = "-\u221E", peg$c347 = peg$literalExpectation("-\u221E", false), peg$c348 = "PInfinity", peg$c349 = peg$literalExpectation("PInfinity", false), peg$c350 = function () { return Number.POSITIVE_INFINITY; }, peg$c351 = "Infinity", peg$c352 = peg$literalExpectation("Infinity", false), peg$c353 = "PInf", peg$c354 = peg$literalExpectation("PInf", false), peg$c355 = "Inf", peg$c356 = peg$literalExpectation("Inf", false), peg$c357 = "\u221E", peg$c358 = peg$literalExpectation("\u221E", false), peg$c359 = "Epsilon", peg$c360 = peg$literalExpectation("Epsilon", false), peg$c361 = function () { return Number.EPSILON; }, peg$c362 = "\uD835\uDF00", peg$c363 = peg$literalExpectation("\uD835\uDF00", false), peg$c364 = "\u03B5", peg$c365 = peg$literalExpectation("\u03B5", false), peg$c366 = "Pi", peg$c367 = peg$literalExpectation("Pi", false), peg$c368 = function () { return Math.PI; }, peg$c369 = "\uD835\uDF0B", peg$c370 = peg$literalExpectation("\uD835\uDF0B", false), peg$c371 = "\u03C0", peg$c372 = peg$literalExpectation("\u03C0", false), peg$c373 = "EulerNumber", peg$c374 = peg$literalExpectation("EulerNumber", false), peg$c375 = function () { return Math.E; }, peg$c376 = "E", peg$c377 = peg$literalExpectation("E", false), peg$c378 = "e", peg$c379 = peg$literalExpectation("e", false), peg$c380 = "\u0190", peg$c381 = peg$literalExpectation("\u0190", false), peg$c382 = "\u2107", peg$c383 = peg$literalExpectation("\u2107", false), peg$c384 = "Root2", peg$c385 = peg$literalExpectation("Root2", false), peg$c386 = function () { return Math.SQRT2; }, peg$c387 = "RootHalf", peg$c388 = peg$literalExpectation("RootHalf", false), peg$c389 = function () { return Math.SQRT1_2; }, peg$c390 = "Ln2", peg$c391 = peg$literalExpectation("Ln2", false), peg$c392 = function () { return Math.LN2; }, peg$c393 = "NatLog2", peg$c394 = peg$literalExpectation("NatLog2", false), peg$c395 = "Ln10", peg$c396 = peg$literalExpectation("Ln10", false), peg$c397 = function () { return Math.LN10; }, peg$c398 = "NatLog10", peg$c399 = peg$literalExpectation("NatLog10", false), peg$c400 = "Log2E", peg$c401 = peg$literalExpectation("Log2E", false), peg$c402 = function () { return Math.LOG2E; }, peg$c403 = "Log10E", peg$c404 = peg$literalExpectation("Log10E", false), peg$c405 = function () { return Math.LOG10E; }, peg$c406 = "MaxSafeInt", peg$c407 = peg$literalExpectation("MaxSafeInt", false), peg$c408 = function () { return Number.MAX_SAFE_INTEGER; }, peg$c409 = "MinSafeInt", peg$c410 = peg$literalExpectation("MinSafeInt", false), peg$c411 = function () { return Number.MIN_SAFE_INTEGER; }, peg$c412 = "MaxPosNum", peg$c413 = peg$literalExpectation("MaxPosNum", false), peg$c414 = function () { return Number.MAX_VALUE; }, peg$c415 = "MinPosNum", peg$c416 = peg$literalExpectation("MinPosNum", false), peg$c417 = function () { return Number.MIN_VALUE; }, peg$c418 = "Phi", peg$c419 = peg$literalExpectation("Phi", false), peg$c420 = function () { return 1.61803398874989484820; }, peg$c421 = "\uD835\uDF11", peg$c422 = peg$literalExpectation("\uD835\uDF11", false), peg$c423 = "\uD835\uDF19", peg$c424 = peg$literalExpectation("\uD835\uDF19", false), peg$c425 = "\u03D5", peg$c426 = peg$literalExpectation("\u03D5", false), peg$c427 = "\u03C6", peg$c428 = peg$literalExpectation("\u03C6", false), peg$c429 = "EulerConstant", peg$c430 = peg$literalExpectation("EulerConstant", false), peg$c431 = function () { return 0.57721566490153286060; }, peg$c432 = "\u03B3", peg$c433 = peg$literalExpectation("\u03B3", false), peg$c434 = "\uD835\uDEFE", peg$c435 = peg$literalExpectation("\uD835\uDEFE", false), peg$c436 = peg$literalExpectation("e", true), peg$c437 = /^[+\-]/, peg$c438 = peg$classExpectation(["+", "-"], false, false), peg$c439 = "0x", peg$c440 = peg$literalExpectation("0x", true), peg$c441 = function (digits) {
357
358
  return parseInt(digits, 16);
@@ -457,7 +458,7 @@ function peg$parse(input, options) {
457
458
  return { key: 'state_property', name, value };
458
459
  }, peg$c1504 = "required", peg$c1505 = peg$literalExpectation("required", false), peg$c1506 = function (name, value) {
459
460
  return { key: 'state_property', name, value, required: true };
460
- }, peg$c1507 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1508 = "&", peg$c1509 = peg$literalExpectation("&", false), peg$c1510 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1511 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1512 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1513 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1514 = function (name) { return { key: 'property_definition', name }; }, peg$c1515 = "arrange", peg$c1516 = peg$literalExpectation("arrange", false), peg$c1517 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1518 = "arrange-start", peg$c1519 = peg$literalExpectation("arrange-start", false), peg$c1520 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1521 = "arrange-end", peg$c1522 = peg$literalExpectation("arrange-end", false), peg$c1523 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1524 = 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;
461
+ }, peg$c1507 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1508 = "&", peg$c1509 = peg$literalExpectation("&", false), peg$c1510 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1511 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1512 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1513 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1514 = function (name) { return { key: 'property_definition', name }; }, peg$c1515 = "arrange", peg$c1516 = peg$literalExpectation("arrange", false), peg$c1517 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1518 = "arrange-start", peg$c1519 = peg$literalExpectation("arrange-start", false), peg$c1520 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1521 = "arrange-end", peg$c1522 = peg$literalExpectation("arrange-end", false), peg$c1523 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1524 = 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$resultsCache = {}, peg$result;
461
462
  if ("startRule" in options) {
462
463
  if (!(options.startRule in peg$startRuleFunctions)) {
463
464
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -551,6 +552,11 @@ function peg$parse(input, options) {
551
552
  }
552
553
  function peg$parseDocument() {
553
554
  var s0, s1, s2, s3;
555
+ var key = peg$currPos * 164 + 0, cached = peg$resultsCache[key];
556
+ if (cached) {
557
+ peg$currPos = cached.nextPos;
558
+ return cached.result;
559
+ }
554
560
  s0 = peg$currPos;
555
561
  s1 = peg$parseWS();
556
562
  if (s1 === peg$FAILED) {
@@ -582,10 +588,16 @@ function peg$parse(input, options) {
582
588
  peg$currPos = s0;
583
589
  s0 = peg$FAILED;
584
590
  }
591
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
585
592
  return s0;
586
593
  }
587
594
  function peg$parseTheme() {
588
595
  var s0;
596
+ var key = peg$currPos * 164 + 1, cached = peg$resultsCache[key];
597
+ if (cached) {
598
+ peg$currPos = cached.nextPos;
599
+ return cached.result;
600
+ }
589
601
  if (input.substr(peg$currPos, 7) === peg$c1) {
590
602
  s0 = peg$c1;
591
603
  peg$currPos += 7;
@@ -644,10 +656,16 @@ function peg$parse(input, options) {
644
656
  }
645
657
  }
646
658
  }
659
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
647
660
  return s0;
648
661
  }
649
662
  function peg$parseThemeOrThemeList() {
650
663
  var s0, s1, s2, s3, s4, s5, s6;
664
+ var key = peg$currPos * 164 + 2, cached = peg$resultsCache[key];
665
+ if (cached) {
666
+ peg$currPos = cached.nextPos;
667
+ return cached.result;
668
+ }
651
669
  s0 = peg$currPos;
652
670
  if (input.charCodeAt(peg$currPos) === 91) {
653
671
  s1 = peg$c11;
@@ -757,10 +775,16 @@ function peg$parse(input, options) {
757
775
  }
758
776
  s0 = s1;
759
777
  }
778
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
760
779
  return s0;
761
780
  }
762
781
  function peg$parseGvizShape() {
763
782
  var s0;
783
+ var key = peg$currPos * 164 + 3, cached = peg$resultsCache[key];
784
+ if (cached) {
785
+ peg$currPos = cached.nextPos;
786
+ return cached.result;
787
+ }
764
788
  if (input.substr(peg$currPos, 5) === peg$c17) {
765
789
  s0 = peg$c17;
766
790
  peg$currPos += 5;
@@ -1479,10 +1503,16 @@ function peg$parse(input, options) {
1479
1503
  }
1480
1504
  }
1481
1505
  }
1506
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1482
1507
  return s0;
1483
1508
  }
1484
1509
  function peg$parseForwardLightArrow() {
1485
1510
  var s0, s1;
1511
+ var key = peg$currPos * 164 + 4, cached = peg$resultsCache[key];
1512
+ if (cached) {
1513
+ peg$currPos = cached.nextPos;
1514
+ return cached.result;
1515
+ }
1486
1516
  peg$silentFails++;
1487
1517
  if (input.substr(peg$currPos, 2) === peg$c136) {
1488
1518
  s0 = peg$c136;
@@ -1519,10 +1549,16 @@ function peg$parse(input, options) {
1519
1549
  peg$fail(peg$c135);
1520
1550
  }
1521
1551
  }
1552
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1522
1553
  return s0;
1523
1554
  }
1524
1555
  function peg$parseTwoWayLightArrow() {
1525
1556
  var s0, s1;
1557
+ var key = peg$currPos * 164 + 5, cached = peg$resultsCache[key];
1558
+ if (cached) {
1559
+ peg$currPos = cached.nextPos;
1560
+ return cached.result;
1561
+ }
1526
1562
  peg$silentFails++;
1527
1563
  if (input.substr(peg$currPos, 3) === peg$c142) {
1528
1564
  s0 = peg$c142;
@@ -1559,10 +1595,16 @@ function peg$parse(input, options) {
1559
1595
  peg$fail(peg$c141);
1560
1596
  }
1561
1597
  }
1598
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1562
1599
  return s0;
1563
1600
  }
1564
1601
  function peg$parseBackLightArrow() {
1565
1602
  var s0, s1;
1603
+ var key = peg$currPos * 164 + 6, cached = peg$resultsCache[key];
1604
+ if (cached) {
1605
+ peg$currPos = cached.nextPos;
1606
+ return cached.result;
1607
+ }
1566
1608
  peg$silentFails++;
1567
1609
  if (input.substr(peg$currPos, 2) === peg$c148) {
1568
1610
  s0 = peg$c148;
@@ -1599,10 +1641,16 @@ function peg$parse(input, options) {
1599
1641
  peg$fail(peg$c147);
1600
1642
  }
1601
1643
  }
1644
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1602
1645
  return s0;
1603
1646
  }
1604
1647
  function peg$parseForwardFatArrow() {
1605
1648
  var s0, s1;
1649
+ var key = peg$currPos * 164 + 7, cached = peg$resultsCache[key];
1650
+ if (cached) {
1651
+ peg$currPos = cached.nextPos;
1652
+ return cached.result;
1653
+ }
1606
1654
  peg$silentFails++;
1607
1655
  if (input.substr(peg$currPos, 2) === peg$c154) {
1608
1656
  s0 = peg$c154;
@@ -1639,10 +1687,16 @@ function peg$parse(input, options) {
1639
1687
  peg$fail(peg$c153);
1640
1688
  }
1641
1689
  }
1690
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1642
1691
  return s0;
1643
1692
  }
1644
1693
  function peg$parseTwoWayFatArrow() {
1645
1694
  var s0, s1;
1695
+ var key = peg$currPos * 164 + 8, cached = peg$resultsCache[key];
1696
+ if (cached) {
1697
+ peg$currPos = cached.nextPos;
1698
+ return cached.result;
1699
+ }
1646
1700
  peg$silentFails++;
1647
1701
  if (input.substr(peg$currPos, 3) === peg$c160) {
1648
1702
  s0 = peg$c160;
@@ -1679,10 +1733,16 @@ function peg$parse(input, options) {
1679
1733
  peg$fail(peg$c159);
1680
1734
  }
1681
1735
  }
1736
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1682
1737
  return s0;
1683
1738
  }
1684
1739
  function peg$parseBackFatArrow() {
1685
1740
  var s0, s1;
1741
+ var key = peg$currPos * 164 + 9, cached = peg$resultsCache[key];
1742
+ if (cached) {
1743
+ peg$currPos = cached.nextPos;
1744
+ return cached.result;
1745
+ }
1686
1746
  peg$silentFails++;
1687
1747
  if (input.substr(peg$currPos, 2) === peg$c166) {
1688
1748
  s0 = peg$c166;
@@ -1719,10 +1779,16 @@ function peg$parse(input, options) {
1719
1779
  peg$fail(peg$c165);
1720
1780
  }
1721
1781
  }
1782
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1722
1783
  return s0;
1723
1784
  }
1724
1785
  function peg$parseForwardTildeArrow() {
1725
1786
  var s0, s1;
1787
+ var key = peg$currPos * 164 + 10, cached = peg$resultsCache[key];
1788
+ if (cached) {
1789
+ peg$currPos = cached.nextPos;
1790
+ return cached.result;
1791
+ }
1726
1792
  peg$silentFails++;
1727
1793
  if (input.substr(peg$currPos, 2) === peg$c172) {
1728
1794
  s0 = peg$c172;
@@ -1759,10 +1825,16 @@ function peg$parse(input, options) {
1759
1825
  peg$fail(peg$c171);
1760
1826
  }
1761
1827
  }
1828
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1762
1829
  return s0;
1763
1830
  }
1764
1831
  function peg$parseTwoWayTildeArrow() {
1765
1832
  var s0, s1;
1833
+ var key = peg$currPos * 164 + 11, cached = peg$resultsCache[key];
1834
+ if (cached) {
1835
+ peg$currPos = cached.nextPos;
1836
+ return cached.result;
1837
+ }
1766
1838
  peg$silentFails++;
1767
1839
  if (input.substr(peg$currPos, 3) === peg$c178) {
1768
1840
  s0 = peg$c178;
@@ -1799,10 +1871,16 @@ function peg$parse(input, options) {
1799
1871
  peg$fail(peg$c177);
1800
1872
  }
1801
1873
  }
1874
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1802
1875
  return s0;
1803
1876
  }
1804
1877
  function peg$parseBackTildeArrow() {
1805
1878
  var s0, s1;
1879
+ var key = peg$currPos * 164 + 12, cached = peg$resultsCache[key];
1880
+ if (cached) {
1881
+ peg$currPos = cached.nextPos;
1882
+ return cached.result;
1883
+ }
1806
1884
  peg$silentFails++;
1807
1885
  if (input.substr(peg$currPos, 2) === peg$c184) {
1808
1886
  s0 = peg$c184;
@@ -1839,10 +1917,16 @@ function peg$parse(input, options) {
1839
1917
  peg$fail(peg$c183);
1840
1918
  }
1841
1919
  }
1920
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1842
1921
  return s0;
1843
1922
  }
1844
1923
  function peg$parseLightFatArrow() {
1845
1924
  var s0, s1;
1925
+ var key = peg$currPos * 164 + 13, cached = peg$resultsCache[key];
1926
+ if (cached) {
1927
+ peg$currPos = cached.nextPos;
1928
+ return cached.result;
1929
+ }
1846
1930
  peg$silentFails++;
1847
1931
  if (input.substr(peg$currPos, 4) === peg$c190) {
1848
1932
  s0 = peg$c190;
@@ -1879,10 +1963,16 @@ function peg$parse(input, options) {
1879
1963
  peg$fail(peg$c189);
1880
1964
  }
1881
1965
  }
1966
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1882
1967
  return s0;
1883
1968
  }
1884
1969
  function peg$parseLightTildeArrow() {
1885
1970
  var s0, s1;
1971
+ var key = peg$currPos * 164 + 14, cached = peg$resultsCache[key];
1972
+ if (cached) {
1973
+ peg$currPos = cached.nextPos;
1974
+ return cached.result;
1975
+ }
1886
1976
  peg$silentFails++;
1887
1977
  if (input.substr(peg$currPos, 4) === peg$c196) {
1888
1978
  s0 = peg$c196;
@@ -1919,10 +2009,16 @@ function peg$parse(input, options) {
1919
2009
  peg$fail(peg$c195);
1920
2010
  }
1921
2011
  }
2012
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1922
2013
  return s0;
1923
2014
  }
1924
2015
  function peg$parseFatLightArrow() {
1925
2016
  var s0, s1;
2017
+ var key = peg$currPos * 164 + 15, cached = peg$resultsCache[key];
2018
+ if (cached) {
2019
+ peg$currPos = cached.nextPos;
2020
+ return cached.result;
2021
+ }
1926
2022
  peg$silentFails++;
1927
2023
  if (input.substr(peg$currPos, 4) === peg$c202) {
1928
2024
  s0 = peg$c202;
@@ -1959,10 +2055,16 @@ function peg$parse(input, options) {
1959
2055
  peg$fail(peg$c201);
1960
2056
  }
1961
2057
  }
2058
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
1962
2059
  return s0;
1963
2060
  }
1964
2061
  function peg$parseFatTildeArrow() {
1965
2062
  var s0, s1;
2063
+ var key = peg$currPos * 164 + 16, cached = peg$resultsCache[key];
2064
+ if (cached) {
2065
+ peg$currPos = cached.nextPos;
2066
+ return cached.result;
2067
+ }
1966
2068
  peg$silentFails++;
1967
2069
  if (input.substr(peg$currPos, 4) === peg$c208) {
1968
2070
  s0 = peg$c208;
@@ -1999,10 +2101,16 @@ function peg$parse(input, options) {
1999
2101
  peg$fail(peg$c207);
2000
2102
  }
2001
2103
  }
2104
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2002
2105
  return s0;
2003
2106
  }
2004
2107
  function peg$parseTildeLightArrow() {
2005
2108
  var s0, s1;
2109
+ var key = peg$currPos * 164 + 17, cached = peg$resultsCache[key];
2110
+ if (cached) {
2111
+ peg$currPos = cached.nextPos;
2112
+ return cached.result;
2113
+ }
2006
2114
  peg$silentFails++;
2007
2115
  if (input.substr(peg$currPos, 4) === peg$c214) {
2008
2116
  s0 = peg$c214;
@@ -2039,10 +2147,16 @@ function peg$parse(input, options) {
2039
2147
  peg$fail(peg$c213);
2040
2148
  }
2041
2149
  }
2150
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2042
2151
  return s0;
2043
2152
  }
2044
2153
  function peg$parseTildeFatArrow() {
2045
2154
  var s0, s1;
2155
+ var key = peg$currPos * 164 + 18, cached = peg$resultsCache[key];
2156
+ if (cached) {
2157
+ peg$currPos = cached.nextPos;
2158
+ return cached.result;
2159
+ }
2046
2160
  peg$silentFails++;
2047
2161
  if (input.substr(peg$currPos, 4) === peg$c220) {
2048
2162
  s0 = peg$c220;
@@ -2079,10 +2193,16 @@ function peg$parse(input, options) {
2079
2193
  peg$fail(peg$c219);
2080
2194
  }
2081
2195
  }
2196
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2082
2197
  return s0;
2083
2198
  }
2084
2199
  function peg$parseLightArrow() {
2085
2200
  var s0;
2201
+ var key = peg$currPos * 164 + 19, cached = peg$resultsCache[key];
2202
+ if (cached) {
2203
+ peg$currPos = cached.nextPos;
2204
+ return cached.result;
2205
+ }
2086
2206
  peg$silentFails++;
2087
2207
  s0 = peg$parseForwardLightArrow();
2088
2208
  if (s0 === peg$FAILED) {
@@ -2097,10 +2217,16 @@ function peg$parse(input, options) {
2097
2217
  peg$fail(peg$c225);
2098
2218
  }
2099
2219
  }
2220
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2100
2221
  return s0;
2101
2222
  }
2102
2223
  function peg$parseFatArrow() {
2103
2224
  var s0;
2225
+ var key = peg$currPos * 164 + 20, cached = peg$resultsCache[key];
2226
+ if (cached) {
2227
+ peg$currPos = cached.nextPos;
2228
+ return cached.result;
2229
+ }
2104
2230
  peg$silentFails++;
2105
2231
  s0 = peg$parseForwardFatArrow();
2106
2232
  if (s0 === peg$FAILED) {
@@ -2115,10 +2241,16 @@ function peg$parse(input, options) {
2115
2241
  peg$fail(peg$c226);
2116
2242
  }
2117
2243
  }
2244
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2118
2245
  return s0;
2119
2246
  }
2120
2247
  function peg$parseTildeArrow() {
2121
2248
  var s0;
2249
+ var key = peg$currPos * 164 + 21, cached = peg$resultsCache[key];
2250
+ if (cached) {
2251
+ peg$currPos = cached.nextPos;
2252
+ return cached.result;
2253
+ }
2122
2254
  peg$silentFails++;
2123
2255
  s0 = peg$parseForwardTildeArrow();
2124
2256
  if (s0 === peg$FAILED) {
@@ -2133,10 +2265,16 @@ function peg$parse(input, options) {
2133
2265
  peg$fail(peg$c227);
2134
2266
  }
2135
2267
  }
2268
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2136
2269
  return s0;
2137
2270
  }
2138
2271
  function peg$parseMixedArrow() {
2139
2272
  var s0;
2273
+ var key = peg$currPos * 164 + 22, cached = peg$resultsCache[key];
2274
+ if (cached) {
2275
+ peg$currPos = cached.nextPos;
2276
+ return cached.result;
2277
+ }
2140
2278
  peg$silentFails++;
2141
2279
  s0 = peg$parseLightFatArrow();
2142
2280
  if (s0 === peg$FAILED) {
@@ -2160,10 +2298,16 @@ function peg$parse(input, options) {
2160
2298
  peg$fail(peg$c228);
2161
2299
  }
2162
2300
  }
2301
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2163
2302
  return s0;
2164
2303
  }
2165
2304
  function peg$parseArrow() {
2166
2305
  var s0;
2306
+ var key = peg$currPos * 164 + 23, cached = peg$resultsCache[key];
2307
+ if (cached) {
2308
+ peg$currPos = cached.nextPos;
2309
+ return cached.result;
2310
+ }
2167
2311
  peg$silentFails++;
2168
2312
  s0 = peg$parseMixedArrow();
2169
2313
  if (s0 === peg$FAILED) {
@@ -2181,10 +2325,16 @@ function peg$parse(input, options) {
2181
2325
  peg$fail(peg$c229);
2182
2326
  }
2183
2327
  }
2328
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2184
2329
  return s0;
2185
2330
  }
2186
2331
  function peg$parseBoolean() {
2187
2332
  var s0, s1;
2333
+ var key = peg$currPos * 164 + 24, cached = peg$resultsCache[key];
2334
+ if (cached) {
2335
+ peg$currPos = cached.nextPos;
2336
+ return cached.result;
2337
+ }
2188
2338
  s0 = peg$currPos;
2189
2339
  if (input.substr(peg$currPos, 4) === peg$c230) {
2190
2340
  s1 = peg$c230;
@@ -2219,10 +2369,16 @@ function peg$parse(input, options) {
2219
2369
  }
2220
2370
  s0 = s1;
2221
2371
  }
2372
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2222
2373
  return s0;
2223
2374
  }
2224
2375
  function peg$parseCorners() {
2225
2376
  var s0;
2377
+ var key = peg$currPos * 164 + 25, cached = peg$resultsCache[key];
2378
+ if (cached) {
2379
+ peg$currPos = cached.nextPos;
2380
+ return cached.result;
2381
+ }
2226
2382
  if (input.substr(peg$currPos, 7) === peg$c236) {
2227
2383
  s0 = peg$c236;
2228
2384
  peg$currPos += 7;
@@ -2257,10 +2413,16 @@ function peg$parse(input, options) {
2257
2413
  }
2258
2414
  }
2259
2415
  }
2416
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2260
2417
  return s0;
2261
2418
  }
2262
2419
  function peg$parseLineStyle() {
2263
2420
  var s0;
2421
+ var key = peg$currPos * 164 + 26, cached = peg$resultsCache[key];
2422
+ if (cached) {
2423
+ peg$currPos = cached.nextPos;
2424
+ return cached.result;
2425
+ }
2264
2426
  if (input.substr(peg$currPos, 5) === peg$c242) {
2265
2427
  s0 = peg$c242;
2266
2428
  peg$currPos += 5;
@@ -2295,10 +2457,16 @@ function peg$parse(input, options) {
2295
2457
  }
2296
2458
  }
2297
2459
  }
2460
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2298
2461
  return s0;
2299
2462
  }
2300
2463
  function peg$parseChar() {
2301
2464
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2465
+ var key = peg$currPos * 164 + 27, cached = peg$resultsCache[key];
2466
+ if (cached) {
2467
+ peg$currPos = cached.nextPos;
2468
+ return cached.result;
2469
+ }
2302
2470
  s0 = peg$parseUnescaped();
2303
2471
  if (s0 === peg$FAILED) {
2304
2472
  s0 = peg$currPos;
@@ -2527,10 +2695,16 @@ function peg$parse(input, options) {
2527
2695
  s0 = peg$FAILED;
2528
2696
  }
2529
2697
  }
2698
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2530
2699
  return s0;
2531
2700
  }
2532
2701
  function peg$parseNull() {
2533
2702
  var s0, s1;
2703
+ var key = peg$currPos * 164 + 28, cached = peg$resultsCache[key];
2704
+ if (cached) {
2705
+ peg$currPos = cached.nextPos;
2706
+ return cached.result;
2707
+ }
2534
2708
  s0 = peg$currPos;
2535
2709
  if (input.substr(peg$currPos, 4) === peg$c276) {
2536
2710
  s1 = peg$c276;
@@ -2547,10 +2721,16 @@ function peg$parse(input, options) {
2547
2721
  s1 = peg$c278();
2548
2722
  }
2549
2723
  s0 = s1;
2724
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2550
2725
  return s0;
2551
2726
  }
2552
2727
  function peg$parseUndefined() {
2553
2728
  var s0, s1;
2729
+ var key = peg$currPos * 164 + 29, cached = peg$resultsCache[key];
2730
+ if (cached) {
2731
+ peg$currPos = cached.nextPos;
2732
+ return cached.result;
2733
+ }
2554
2734
  s0 = peg$currPos;
2555
2735
  if (input.substr(peg$currPos, 9) === peg$c279) {
2556
2736
  s1 = peg$c279;
@@ -2567,10 +2747,16 @@ function peg$parse(input, options) {
2567
2747
  s1 = peg$c281();
2568
2748
  }
2569
2749
  s0 = s1;
2750
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2570
2751
  return s0;
2571
2752
  }
2572
2753
  function peg$parseEscape() {
2573
2754
  var s0;
2755
+ var key = peg$currPos * 164 + 30, cached = peg$resultsCache[key];
2756
+ if (cached) {
2757
+ peg$currPos = cached.nextPos;
2758
+ return cached.result;
2759
+ }
2574
2760
  if (input.charCodeAt(peg$currPos) === 92) {
2575
2761
  s0 = peg$c250;
2576
2762
  peg$currPos++;
@@ -2581,10 +2767,16 @@ function peg$parse(input, options) {
2581
2767
  peg$fail(peg$c251);
2582
2768
  }
2583
2769
  }
2770
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2584
2771
  return s0;
2585
2772
  }
2586
2773
  function peg$parseQuoteMark() {
2587
2774
  var s0;
2775
+ var key = peg$currPos * 164 + 31, cached = peg$resultsCache[key];
2776
+ if (cached) {
2777
+ peg$currPos = cached.nextPos;
2778
+ return cached.result;
2779
+ }
2588
2780
  if (input.charCodeAt(peg$currPos) === 34) {
2589
2781
  s0 = peg$c248;
2590
2782
  peg$currPos++;
@@ -2595,10 +2787,16 @@ function peg$parse(input, options) {
2595
2787
  peg$fail(peg$c249);
2596
2788
  }
2597
2789
  }
2790
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2598
2791
  return s0;
2599
2792
  }
2600
2793
  function peg$parseUnescaped() {
2601
2794
  var s0;
2795
+ var key = peg$currPos * 164 + 32, cached = peg$resultsCache[key];
2796
+ if (cached) {
2797
+ peg$currPos = cached.nextPos;
2798
+ return cached.result;
2799
+ }
2602
2800
  if (peg$c282.test(input.charAt(peg$currPos))) {
2603
2801
  s0 = input.charAt(peg$currPos);
2604
2802
  peg$currPos++;
@@ -2609,10 +2807,16 @@ function peg$parse(input, options) {
2609
2807
  peg$fail(peg$c283);
2610
2808
  }
2611
2809
  }
2810
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2612
2811
  return s0;
2613
2812
  }
2614
2813
  function peg$parseActionLabelChar() {
2615
2814
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
2815
+ var key = peg$currPos * 164 + 33, cached = peg$resultsCache[key];
2816
+ if (cached) {
2817
+ peg$currPos = cached.nextPos;
2818
+ return cached.result;
2819
+ }
2616
2820
  s0 = peg$parseActionLabelUnescaped();
2617
2821
  if (s0 === peg$FAILED) {
2618
2822
  s0 = peg$currPos;
@@ -2841,10 +3045,16 @@ function peg$parse(input, options) {
2841
3045
  s0 = peg$FAILED;
2842
3046
  }
2843
3047
  }
3048
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2844
3049
  return s0;
2845
3050
  }
2846
3051
  function peg$parseActionLabelQuoteMark() {
2847
3052
  var s0;
3053
+ var key = peg$currPos * 164 + 34, cached = peg$resultsCache[key];
3054
+ if (cached) {
3055
+ peg$currPos = cached.nextPos;
3056
+ return cached.result;
3057
+ }
2848
3058
  if (input.charCodeAt(peg$currPos) === 39) {
2849
3059
  s0 = peg$c284;
2850
3060
  peg$currPos++;
@@ -2855,10 +3065,16 @@ function peg$parse(input, options) {
2855
3065
  peg$fail(peg$c285);
2856
3066
  }
2857
3067
  }
3068
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2858
3069
  return s0;
2859
3070
  }
2860
3071
  function peg$parseActionLabelUnescaped() {
2861
3072
  var s0;
3073
+ var key = peg$currPos * 164 + 35, cached = peg$resultsCache[key];
3074
+ if (cached) {
3075
+ peg$currPos = cached.nextPos;
3076
+ return cached.result;
3077
+ }
2862
3078
  if (peg$c286.test(input.charAt(peg$currPos))) {
2863
3079
  s0 = input.charAt(peg$currPos);
2864
3080
  peg$currPos++;
@@ -2869,10 +3085,16 @@ function peg$parse(input, options) {
2869
3085
  peg$fail(peg$c287);
2870
3086
  }
2871
3087
  }
3088
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2872
3089
  return s0;
2873
3090
  }
2874
3091
  function peg$parseActionLabel() {
2875
3092
  var s0, s1, s2, s3;
3093
+ var key = peg$currPos * 164 + 36, cached = peg$resultsCache[key];
3094
+ if (cached) {
3095
+ peg$currPos = cached.nextPos;
3096
+ return cached.result;
3097
+ }
2876
3098
  peg$silentFails++;
2877
3099
  s0 = peg$currPos;
2878
3100
  s1 = peg$parseActionLabelQuoteMark();
@@ -2911,10 +3133,16 @@ function peg$parse(input, options) {
2911
3133
  peg$fail(peg$c288);
2912
3134
  }
2913
3135
  }
3136
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2914
3137
  return s0;
2915
3138
  }
2916
3139
  function peg$parseLineTerminator() {
2917
3140
  var s0;
3141
+ var key = peg$currPos * 164 + 37, cached = peg$resultsCache[key];
3142
+ if (cached) {
3143
+ peg$currPos = cached.nextPos;
3144
+ return cached.result;
3145
+ }
2918
3146
  if (peg$c290.test(input.charAt(peg$currPos))) {
2919
3147
  s0 = input.charAt(peg$currPos);
2920
3148
  peg$currPos++;
@@ -2925,69 +3153,142 @@ function peg$parse(input, options) {
2925
3153
  peg$fail(peg$c291);
2926
3154
  }
2927
3155
  }
3156
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
2928
3157
  return s0;
2929
3158
  }
2930
- function peg$parseBlockCommentTail() {
2931
- var s0, s1, s2;
2932
- if (input.substr(peg$currPos, 2) === peg$c292) {
2933
- s0 = peg$c292;
3159
+ function peg$parseBlockComment() {
3160
+ var s0, s1, s2, s3, s4, s5;
3161
+ var key = peg$currPos * 164 + 38, cached = peg$resultsCache[key];
3162
+ if (cached) {
3163
+ peg$currPos = cached.nextPos;
3164
+ return cached.result;
3165
+ }
3166
+ peg$silentFails++;
3167
+ s0 = peg$currPos;
3168
+ if (input.substr(peg$currPos, 2) === peg$c293) {
3169
+ s1 = peg$c293;
2934
3170
  peg$currPos += 2;
2935
3171
  }
2936
3172
  else {
2937
- s0 = peg$FAILED;
3173
+ s1 = peg$FAILED;
2938
3174
  if (peg$silentFails === 0) {
2939
- peg$fail(peg$c293);
3175
+ peg$fail(peg$c294);
2940
3176
  }
2941
3177
  }
2942
- if (s0 === peg$FAILED) {
2943
- s0 = peg$currPos;
2944
- if (input.length > peg$currPos) {
2945
- s1 = input.charAt(peg$currPos);
2946
- peg$currPos++;
3178
+ if (s1 !== peg$FAILED) {
3179
+ s2 = [];
3180
+ s3 = peg$currPos;
3181
+ s4 = peg$currPos;
3182
+ peg$silentFails++;
3183
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3184
+ s5 = peg$c295;
3185
+ peg$currPos += 2;
2947
3186
  }
2948
3187
  else {
2949
- s1 = peg$FAILED;
3188
+ s5 = peg$FAILED;
2950
3189
  if (peg$silentFails === 0) {
2951
- peg$fail(peg$c294);
3190
+ peg$fail(peg$c296);
2952
3191
  }
2953
3192
  }
2954
- if (s1 !== peg$FAILED) {
2955
- s2 = peg$parseBlockCommentTail();
2956
- if (s2 !== peg$FAILED) {
2957
- s1 = [s1, s2];
2958
- s0 = s1;
3193
+ peg$silentFails--;
3194
+ if (s5 === peg$FAILED) {
3195
+ s4 = void 0;
3196
+ }
3197
+ else {
3198
+ peg$currPos = s4;
3199
+ s4 = peg$FAILED;
3200
+ }
3201
+ if (s4 !== peg$FAILED) {
3202
+ if (input.length > peg$currPos) {
3203
+ s5 = input.charAt(peg$currPos);
3204
+ peg$currPos++;
2959
3205
  }
2960
3206
  else {
2961
- peg$currPos = s0;
2962
- s0 = peg$FAILED;
3207
+ s5 = peg$FAILED;
3208
+ if (peg$silentFails === 0) {
3209
+ peg$fail(peg$c297);
3210
+ }
3211
+ }
3212
+ if (s5 !== peg$FAILED) {
3213
+ s4 = [s4, s5];
3214
+ s3 = s4;
3215
+ }
3216
+ else {
3217
+ peg$currPos = s3;
3218
+ s3 = peg$FAILED;
2963
3219
  }
2964
3220
  }
2965
3221
  else {
2966
- peg$currPos = s0;
2967
- s0 = peg$FAILED;
3222
+ peg$currPos = s3;
3223
+ s3 = peg$FAILED;
2968
3224
  }
2969
- }
2970
- return s0;
2971
- }
2972
- function peg$parseBlockComment() {
2973
- var s0, s1, s2;
2974
- peg$silentFails++;
2975
- s0 = peg$currPos;
2976
- if (input.substr(peg$currPos, 2) === peg$c296) {
2977
- s1 = peg$c296;
2978
- peg$currPos += 2;
2979
- }
2980
- else {
2981
- s1 = peg$FAILED;
2982
- if (peg$silentFails === 0) {
2983
- peg$fail(peg$c297);
3225
+ while (s3 !== peg$FAILED) {
3226
+ s2.push(s3);
3227
+ s3 = peg$currPos;
3228
+ s4 = peg$currPos;
3229
+ peg$silentFails++;
3230
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3231
+ s5 = peg$c295;
3232
+ peg$currPos += 2;
3233
+ }
3234
+ else {
3235
+ s5 = peg$FAILED;
3236
+ if (peg$silentFails === 0) {
3237
+ peg$fail(peg$c296);
3238
+ }
3239
+ }
3240
+ peg$silentFails--;
3241
+ if (s5 === peg$FAILED) {
3242
+ s4 = void 0;
3243
+ }
3244
+ else {
3245
+ peg$currPos = s4;
3246
+ s4 = peg$FAILED;
3247
+ }
3248
+ if (s4 !== peg$FAILED) {
3249
+ if (input.length > peg$currPos) {
3250
+ s5 = input.charAt(peg$currPos);
3251
+ peg$currPos++;
3252
+ }
3253
+ else {
3254
+ s5 = peg$FAILED;
3255
+ if (peg$silentFails === 0) {
3256
+ peg$fail(peg$c297);
3257
+ }
3258
+ }
3259
+ if (s5 !== peg$FAILED) {
3260
+ s4 = [s4, s5];
3261
+ s3 = s4;
3262
+ }
3263
+ else {
3264
+ peg$currPos = s3;
3265
+ s3 = peg$FAILED;
3266
+ }
3267
+ }
3268
+ else {
3269
+ peg$currPos = s3;
3270
+ s3 = peg$FAILED;
3271
+ }
2984
3272
  }
2985
- }
2986
- if (s1 !== peg$FAILED) {
2987
- s2 = peg$parseBlockCommentTail();
2988
3273
  if (s2 !== peg$FAILED) {
2989
- s1 = [s1, s2];
2990
- s0 = s1;
3274
+ if (input.substr(peg$currPos, 2) === peg$c295) {
3275
+ s3 = peg$c295;
3276
+ peg$currPos += 2;
3277
+ }
3278
+ else {
3279
+ s3 = peg$FAILED;
3280
+ if (peg$silentFails === 0) {
3281
+ peg$fail(peg$c296);
3282
+ }
3283
+ }
3284
+ if (s3 !== peg$FAILED) {
3285
+ s1 = [s1, s2, s3];
3286
+ s0 = s1;
3287
+ }
3288
+ else {
3289
+ peg$currPos = s0;
3290
+ s0 = peg$FAILED;
3291
+ }
2991
3292
  }
2992
3293
  else {
2993
3294
  peg$currPos = s0;
@@ -3002,13 +3303,19 @@ function peg$parse(input, options) {
3002
3303
  if (s0 === peg$FAILED) {
3003
3304
  s1 = peg$FAILED;
3004
3305
  if (peg$silentFails === 0) {
3005
- peg$fail(peg$c295);
3306
+ peg$fail(peg$c292);
3006
3307
  }
3007
3308
  }
3309
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3008
3310
  return s0;
3009
3311
  }
3010
3312
  function peg$parseEOF() {
3011
3313
  var s0, s1;
3314
+ var key = peg$currPos * 164 + 39, cached = peg$resultsCache[key];
3315
+ if (cached) {
3316
+ peg$currPos = cached.nextPos;
3317
+ return cached.result;
3318
+ }
3012
3319
  s0 = peg$currPos;
3013
3320
  peg$silentFails++;
3014
3321
  if (input.length > peg$currPos) {
@@ -3018,7 +3325,7 @@ function peg$parse(input, options) {
3018
3325
  else {
3019
3326
  s1 = peg$FAILED;
3020
3327
  if (peg$silentFails === 0) {
3021
- peg$fail(peg$c294);
3328
+ peg$fail(peg$c297);
3022
3329
  }
3023
3330
  }
3024
3331
  peg$silentFails--;
@@ -3029,46 +3336,16 @@ function peg$parse(input, options) {
3029
3336
  peg$currPos = s0;
3030
3337
  s0 = peg$FAILED;
3031
3338
  }
3032
- return s0;
3033
- }
3034
- function peg$parseLineCommentTail() {
3035
- var s0, s1, s2;
3036
- s0 = peg$parseLineTerminator();
3037
- if (s0 === peg$FAILED) {
3038
- s0 = peg$parseEOF();
3039
- if (s0 === peg$FAILED) {
3040
- s0 = peg$currPos;
3041
- if (input.length > peg$currPos) {
3042
- s1 = input.charAt(peg$currPos);
3043
- peg$currPos++;
3044
- }
3045
- else {
3046
- s1 = peg$FAILED;
3047
- if (peg$silentFails === 0) {
3048
- peg$fail(peg$c294);
3049
- }
3050
- }
3051
- if (s1 !== peg$FAILED) {
3052
- s2 = peg$parseLineCommentTail();
3053
- if (s2 !== peg$FAILED) {
3054
- s1 = [s1, s2];
3055
- s0 = s1;
3056
- }
3057
- else {
3058
- peg$currPos = s0;
3059
- s0 = peg$FAILED;
3060
- }
3061
- }
3062
- else {
3063
- peg$currPos = s0;
3064
- s0 = peg$FAILED;
3065
- }
3066
- }
3067
- }
3339
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3068
3340
  return s0;
3069
3341
  }
3070
3342
  function peg$parseLineComment() {
3071
- var s0, s1, s2;
3343
+ var s0, s1, s2, s3, s4, s5;
3344
+ var key = peg$currPos * 164 + 40, cached = peg$resultsCache[key];
3345
+ if (cached) {
3346
+ peg$currPos = cached.nextPos;
3347
+ return cached.result;
3348
+ }
3072
3349
  peg$silentFails++;
3073
3350
  s0 = peg$currPos;
3074
3351
  if (input.substr(peg$currPos, 2) === peg$c299) {
@@ -3082,10 +3359,95 @@ function peg$parse(input, options) {
3082
3359
  }
3083
3360
  }
3084
3361
  if (s1 !== peg$FAILED) {
3085
- s2 = peg$parseLineCommentTail();
3362
+ s2 = [];
3363
+ s3 = peg$currPos;
3364
+ s4 = peg$currPos;
3365
+ peg$silentFails++;
3366
+ s5 = peg$parseLineTerminator();
3367
+ peg$silentFails--;
3368
+ if (s5 === peg$FAILED) {
3369
+ s4 = void 0;
3370
+ }
3371
+ else {
3372
+ peg$currPos = s4;
3373
+ s4 = peg$FAILED;
3374
+ }
3375
+ if (s4 !== peg$FAILED) {
3376
+ if (input.length > peg$currPos) {
3377
+ s5 = input.charAt(peg$currPos);
3378
+ peg$currPos++;
3379
+ }
3380
+ else {
3381
+ s5 = peg$FAILED;
3382
+ if (peg$silentFails === 0) {
3383
+ peg$fail(peg$c297);
3384
+ }
3385
+ }
3386
+ if (s5 !== peg$FAILED) {
3387
+ s4 = [s4, s5];
3388
+ s3 = s4;
3389
+ }
3390
+ else {
3391
+ peg$currPos = s3;
3392
+ s3 = peg$FAILED;
3393
+ }
3394
+ }
3395
+ else {
3396
+ peg$currPos = s3;
3397
+ s3 = peg$FAILED;
3398
+ }
3399
+ while (s3 !== peg$FAILED) {
3400
+ s2.push(s3);
3401
+ s3 = peg$currPos;
3402
+ s4 = peg$currPos;
3403
+ peg$silentFails++;
3404
+ s5 = peg$parseLineTerminator();
3405
+ peg$silentFails--;
3406
+ if (s5 === peg$FAILED) {
3407
+ s4 = void 0;
3408
+ }
3409
+ else {
3410
+ peg$currPos = s4;
3411
+ s4 = peg$FAILED;
3412
+ }
3413
+ if (s4 !== peg$FAILED) {
3414
+ if (input.length > peg$currPos) {
3415
+ s5 = input.charAt(peg$currPos);
3416
+ peg$currPos++;
3417
+ }
3418
+ else {
3419
+ s5 = peg$FAILED;
3420
+ if (peg$silentFails === 0) {
3421
+ peg$fail(peg$c297);
3422
+ }
3423
+ }
3424
+ if (s5 !== peg$FAILED) {
3425
+ s4 = [s4, s5];
3426
+ s3 = s4;
3427
+ }
3428
+ else {
3429
+ peg$currPos = s3;
3430
+ s3 = peg$FAILED;
3431
+ }
3432
+ }
3433
+ else {
3434
+ peg$currPos = s3;
3435
+ s3 = peg$FAILED;
3436
+ }
3437
+ }
3086
3438
  if (s2 !== peg$FAILED) {
3087
- s1 = [s1, s2];
3088
- s0 = s1;
3439
+ s3 = peg$parseLineTerminator();
3440
+ if (s3 === peg$FAILED) {
3441
+ s3 = peg$parseEOF();
3442
+ }
3443
+ if (s3 !== peg$FAILED) {
3444
+ s1 = [s1, s2, s3];
3445
+ s0 = s1;
3446
+ }
3447
+ else {
3448
+ peg$currPos = s0;
3449
+ s0 = peg$FAILED;
3450
+ }
3089
3451
  }
3090
3452
  else {
3091
3453
  peg$currPos = s0;
@@ -3103,54 +3465,56 @@ function peg$parse(input, options) {
3103
3465
  peg$fail(peg$c298);
3104
3466
  }
3105
3467
  }
3468
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3106
3469
  return s0;
3107
3470
  }
3108
3471
  function peg$parseWS() {
3109
3472
  var s0, s1, s2;
3473
+ var key = peg$currPos * 164 + 41, cached = peg$resultsCache[key];
3474
+ if (cached) {
3475
+ peg$currPos = cached.nextPos;
3476
+ return cached.result;
3477
+ }
3110
3478
  peg$silentFails++;
3111
- s0 = peg$currPos;
3112
- s1 = peg$parseBlockComment();
3113
- if (s1 !== peg$FAILED) {
3114
- s2 = peg$parseWS();
3115
- if (s2 === peg$FAILED) {
3116
- s2 = null;
3117
- }
3118
- if (s2 !== peg$FAILED) {
3119
- s1 = [s1, s2];
3120
- s0 = s1;
3121
- }
3122
- else {
3123
- peg$currPos = s0;
3124
- s0 = peg$FAILED;
3125
- }
3479
+ s0 = [];
3480
+ s1 = [];
3481
+ if (peg$c302.test(input.charAt(peg$currPos))) {
3482
+ s2 = input.charAt(peg$currPos);
3483
+ peg$currPos++;
3126
3484
  }
3127
3485
  else {
3128
- peg$currPos = s0;
3129
- s0 = peg$FAILED;
3486
+ s2 = peg$FAILED;
3487
+ if (peg$silentFails === 0) {
3488
+ peg$fail(peg$c303);
3489
+ }
3130
3490
  }
3131
- if (s0 === peg$FAILED) {
3132
- s0 = peg$currPos;
3133
- s1 = peg$parseLineComment();
3134
- if (s1 !== peg$FAILED) {
3135
- s2 = peg$parseWS();
3136
- if (s2 === peg$FAILED) {
3137
- s2 = null;
3138
- }
3139
- if (s2 !== peg$FAILED) {
3140
- s1 = [s1, s2];
3141
- s0 = s1;
3491
+ if (s2 !== peg$FAILED) {
3492
+ while (s2 !== peg$FAILED) {
3493
+ s1.push(s2);
3494
+ if (peg$c302.test(input.charAt(peg$currPos))) {
3495
+ s2 = input.charAt(peg$currPos);
3496
+ peg$currPos++;
3142
3497
  }
3143
3498
  else {
3144
- peg$currPos = s0;
3145
- s0 = peg$FAILED;
3499
+ s2 = peg$FAILED;
3500
+ if (peg$silentFails === 0) {
3501
+ peg$fail(peg$c303);
3502
+ }
3146
3503
  }
3147
3504
  }
3148
- else {
3149
- peg$currPos = s0;
3150
- s0 = peg$FAILED;
3505
+ }
3506
+ else {
3507
+ s1 = peg$FAILED;
3508
+ }
3509
+ if (s1 === peg$FAILED) {
3510
+ s1 = peg$parseBlockComment();
3511
+ if (s1 === peg$FAILED) {
3512
+ s1 = peg$parseLineComment();
3151
3513
  }
3152
- if (s0 === peg$FAILED) {
3153
- s0 = peg$currPos;
3514
+ }
3515
+ if (s1 !== peg$FAILED) {
3516
+ while (s1 !== peg$FAILED) {
3517
+ s0.push(s1);
3154
3518
  s1 = [];
3155
3519
  if (peg$c302.test(input.charAt(peg$currPos))) {
3156
3520
  s2 = input.charAt(peg$currPos);
@@ -3180,26 +3544,17 @@ function peg$parse(input, options) {
3180
3544
  else {
3181
3545
  s1 = peg$FAILED;
3182
3546
  }
3183
- if (s1 !== peg$FAILED) {
3184
- s2 = peg$parseWS();
3185
- if (s2 === peg$FAILED) {
3186
- s2 = null;
3187
- }
3188
- if (s2 !== peg$FAILED) {
3189
- s1 = [s1, s2];
3190
- s0 = s1;
3191
- }
3192
- else {
3193
- peg$currPos = s0;
3194
- s0 = peg$FAILED;
3547
+ if (s1 === peg$FAILED) {
3548
+ s1 = peg$parseBlockComment();
3549
+ if (s1 === peg$FAILED) {
3550
+ s1 = peg$parseLineComment();
3195
3551
  }
3196
3552
  }
3197
- else {
3198
- peg$currPos = s0;
3199
- s0 = peg$FAILED;
3200
- }
3201
3553
  }
3202
3554
  }
3555
+ else {
3556
+ s0 = peg$FAILED;
3557
+ }
3203
3558
  peg$silentFails--;
3204
3559
  if (s0 === peg$FAILED) {
3205
3560
  s1 = peg$FAILED;
@@ -3207,10 +3562,16 @@ function peg$parse(input, options) {
3207
3562
  peg$fail(peg$c301);
3208
3563
  }
3209
3564
  }
3565
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3210
3566
  return s0;
3211
3567
  }
3212
3568
  function peg$parseString() {
3213
3569
  var s0, s1, s2, s3;
3570
+ var key = peg$currPos * 164 + 42, cached = peg$resultsCache[key];
3571
+ if (cached) {
3572
+ peg$currPos = cached.nextPos;
3573
+ return cached.result;
3574
+ }
3214
3575
  peg$silentFails++;
3215
3576
  s0 = peg$currPos;
3216
3577
  s1 = peg$parseQuoteMark();
@@ -3249,10 +3610,16 @@ function peg$parse(input, options) {
3249
3610
  peg$fail(peg$c304);
3250
3611
  }
3251
3612
  }
3613
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3252
3614
  return s0;
3253
3615
  }
3254
3616
  function peg$parseAtomFirstLetter() {
3255
3617
  var s0;
3618
+ var key = peg$currPos * 164 + 43, cached = peg$resultsCache[key];
3619
+ if (cached) {
3620
+ peg$currPos = cached.nextPos;
3621
+ return cached.result;
3622
+ }
3256
3623
  if (peg$c305.test(input.charAt(peg$currPos))) {
3257
3624
  s0 = input.charAt(peg$currPos);
3258
3625
  peg$currPos++;
@@ -3263,10 +3630,16 @@ function peg$parse(input, options) {
3263
3630
  peg$fail(peg$c306);
3264
3631
  }
3265
3632
  }
3633
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3266
3634
  return s0;
3267
3635
  }
3268
3636
  function peg$parseAtomLetter() {
3269
3637
  var s0;
3638
+ var key = peg$currPos * 164 + 44, cached = peg$resultsCache[key];
3639
+ if (cached) {
3640
+ peg$currPos = cached.nextPos;
3641
+ return cached.result;
3642
+ }
3270
3643
  if (peg$c307.test(input.charAt(peg$currPos))) {
3271
3644
  s0 = input.charAt(peg$currPos);
3272
3645
  peg$currPos++;
@@ -3277,10 +3650,16 @@ function peg$parse(input, options) {
3277
3650
  peg$fail(peg$c308);
3278
3651
  }
3279
3652
  }
3653
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3280
3654
  return s0;
3281
3655
  }
3282
3656
  function peg$parseAtom() {
3283
3657
  var s0, s1, s2, s3;
3658
+ var key = peg$currPos * 164 + 45, cached = peg$resultsCache[key];
3659
+ if (cached) {
3660
+ peg$currPos = cached.nextPos;
3661
+ return cached.result;
3662
+ }
3284
3663
  peg$silentFails++;
3285
3664
  s0 = peg$currPos;
3286
3665
  s1 = peg$parseAtomFirstLetter();
@@ -3312,10 +3691,16 @@ function peg$parse(input, options) {
3312
3691
  peg$fail(peg$c309);
3313
3692
  }
3314
3693
  }
3694
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3315
3695
  return s0;
3316
3696
  }
3317
3697
  function peg$parseLabel() {
3318
3698
  var s0;
3699
+ var key = peg$currPos * 164 + 46, cached = peg$resultsCache[key];
3700
+ if (cached) {
3701
+ peg$currPos = cached.nextPos;
3702
+ return cached.result;
3703
+ }
3319
3704
  peg$silentFails++;
3320
3705
  s0 = peg$parseAtom();
3321
3706
  if (s0 === peg$FAILED) {
@@ -3327,10 +3712,16 @@ function peg$parse(input, options) {
3327
3712
  peg$fail(peg$c311);
3328
3713
  }
3329
3714
  }
3715
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3330
3716
  return s0;
3331
3717
  }
3332
3718
  function peg$parseIntegerLiteral() {
3333
3719
  var s0, s1, s2, s3, s4;
3720
+ var key = peg$currPos * 164 + 47, cached = peg$resultsCache[key];
3721
+ if (cached) {
3722
+ peg$currPos = cached.nextPos;
3723
+ return cached.result;
3724
+ }
3334
3725
  s0 = peg$currPos;
3335
3726
  if (input.charCodeAt(peg$currPos) === 48) {
3336
3727
  s1 = peg$c312;
@@ -3372,10 +3763,16 @@ function peg$parse(input, options) {
3372
3763
  else {
3373
3764
  s0 = s1;
3374
3765
  }
3766
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3375
3767
  return s0;
3376
3768
  }
3377
3769
  function peg$parseDecimalDigit() {
3378
3770
  var s0;
3771
+ var key = peg$currPos * 164 + 48, cached = peg$resultsCache[key];
3772
+ if (cached) {
3773
+ peg$currPos = cached.nextPos;
3774
+ return cached.result;
3775
+ }
3379
3776
  if (peg$c314.test(input.charAt(peg$currPos))) {
3380
3777
  s0 = input.charAt(peg$currPos);
3381
3778
  peg$currPos++;
@@ -3386,10 +3783,16 @@ function peg$parse(input, options) {
3386
3783
  peg$fail(peg$c315);
3387
3784
  }
3388
3785
  }
3786
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3389
3787
  return s0;
3390
3788
  }
3391
3789
  function peg$parseNonZeroDigit() {
3392
3790
  var s0;
3791
+ var key = peg$currPos * 164 + 49, cached = peg$resultsCache[key];
3792
+ if (cached) {
3793
+ peg$currPos = cached.nextPos;
3794
+ return cached.result;
3795
+ }
3393
3796
  if (peg$c316.test(input.charAt(peg$currPos))) {
3394
3797
  s0 = input.charAt(peg$currPos);
3395
3798
  peg$currPos++;
@@ -3400,10 +3803,16 @@ function peg$parse(input, options) {
3400
3803
  peg$fail(peg$c317);
3401
3804
  }
3402
3805
  }
3806
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3403
3807
  return s0;
3404
3808
  }
3405
3809
  function peg$parseHexDigit() {
3406
3810
  var s0;
3811
+ var key = peg$currPos * 164 + 50, cached = peg$resultsCache[key];
3812
+ if (cached) {
3813
+ peg$currPos = cached.nextPos;
3814
+ return cached.result;
3815
+ }
3407
3816
  if (peg$c318.test(input.charAt(peg$currPos))) {
3408
3817
  s0 = input.charAt(peg$currPos);
3409
3818
  peg$currPos++;
@@ -3414,10 +3823,16 @@ function peg$parse(input, options) {
3414
3823
  peg$fail(peg$c319);
3415
3824
  }
3416
3825
  }
3826
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3417
3827
  return s0;
3418
3828
  }
3419
3829
  function peg$parseBinaryDigit() {
3420
3830
  var s0;
3831
+ var key = peg$currPos * 164 + 51, cached = peg$resultsCache[key];
3832
+ if (cached) {
3833
+ peg$currPos = cached.nextPos;
3834
+ return cached.result;
3835
+ }
3421
3836
  if (peg$c320.test(input.charAt(peg$currPos))) {
3422
3837
  s0 = input.charAt(peg$currPos);
3423
3838
  peg$currPos++;
@@ -3428,10 +3843,16 @@ function peg$parse(input, options) {
3428
3843
  peg$fail(peg$c321);
3429
3844
  }
3430
3845
  }
3846
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3431
3847
  return s0;
3432
3848
  }
3433
3849
  function peg$parseOctalDigit() {
3434
3850
  var s0;
3851
+ var key = peg$currPos * 164 + 52, cached = peg$resultsCache[key];
3852
+ if (cached) {
3853
+ peg$currPos = cached.nextPos;
3854
+ return cached.result;
3855
+ }
3435
3856
  if (peg$c322.test(input.charAt(peg$currPos))) {
3436
3857
  s0 = input.charAt(peg$currPos);
3437
3858
  peg$currPos++;
@@ -3442,10 +3863,16 @@ function peg$parse(input, options) {
3442
3863
  peg$fail(peg$c323);
3443
3864
  }
3444
3865
  }
3866
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3445
3867
  return s0;
3446
3868
  }
3447
3869
  function peg$parseNonNegNumber() {
3448
3870
  var s0, s1, s2, s3, s4;
3871
+ var key = peg$currPos * 164 + 53, cached = peg$resultsCache[key];
3872
+ if (cached) {
3873
+ peg$currPos = cached.nextPos;
3874
+ return cached.result;
3875
+ }
3449
3876
  peg$silentFails++;
3450
3877
  s0 = peg$currPos;
3451
3878
  s1 = peg$parseIntegerLiteral();
@@ -3526,10 +3953,16 @@ function peg$parse(input, options) {
3526
3953
  peg$fail(peg$c324);
3527
3954
  }
3528
3955
  }
3956
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
3529
3957
  return s0;
3530
3958
  }
3531
3959
  function peg$parseJsNumericLiteral() {
3532
3960
  var s0, s1;
3961
+ var key = peg$currPos * 164 + 54, cached = peg$resultsCache[key];
3962
+ if (cached) {
3963
+ peg$currPos = cached.nextPos;
3964
+ return cached.result;
3965
+ }
3533
3966
  peg$silentFails++;
3534
3967
  s0 = peg$currPos;
3535
3968
  s1 = peg$parseJsHexIntegerLiteral();
@@ -4364,10 +4797,16 @@ function peg$parse(input, options) {
4364
4797
  peg$fail(peg$c328);
4365
4798
  }
4366
4799
  }
4800
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4367
4801
  return s0;
4368
4802
  }
4369
4803
  function peg$parseJsDecimalLiteral() {
4370
4804
  var s0, s1, s2, s3, s4;
4805
+ var key = peg$currPos * 164 + 55, cached = peg$resultsCache[key];
4806
+ if (cached) {
4807
+ peg$currPos = cached.nextPos;
4808
+ return cached.result;
4809
+ }
4371
4810
  s0 = peg$currPos;
4372
4811
  s1 = peg$parseJsDecimalIntegerLiteral();
4373
4812
  if (s1 !== peg$FAILED) {
@@ -4489,10 +4928,16 @@ function peg$parse(input, options) {
4489
4928
  }
4490
4929
  }
4491
4930
  }
4931
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4492
4932
  return s0;
4493
4933
  }
4494
4934
  function peg$parseJsDecimalIntegerLiteral() {
4495
4935
  var s0, s1, s2, s3;
4936
+ var key = peg$currPos * 164 + 56, cached = peg$resultsCache[key];
4937
+ if (cached) {
4938
+ peg$currPos = cached.nextPos;
4939
+ return cached.result;
4940
+ }
4496
4941
  if (input.charCodeAt(peg$currPos) === 48) {
4497
4942
  s0 = peg$c312;
4498
4943
  peg$currPos++;
@@ -4527,10 +4972,16 @@ function peg$parse(input, options) {
4527
4972
  s0 = peg$FAILED;
4528
4973
  }
4529
4974
  }
4975
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4530
4976
  return s0;
4531
4977
  }
4532
4978
  function peg$parseJsNExponentPart() {
4533
4979
  var s0, s1, s2;
4980
+ var key = peg$currPos * 164 + 57, cached = peg$resultsCache[key];
4981
+ if (cached) {
4982
+ peg$currPos = cached.nextPos;
4983
+ return cached.result;
4984
+ }
4534
4985
  s0 = peg$currPos;
4535
4986
  s1 = peg$parseJsNExponentIndicator();
4536
4987
  if (s1 !== peg$FAILED) {
@@ -4548,10 +4999,16 @@ function peg$parse(input, options) {
4548
4999
  peg$currPos = s0;
4549
5000
  s0 = peg$FAILED;
4550
5001
  }
5002
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4551
5003
  return s0;
4552
5004
  }
4553
5005
  function peg$parseJsNExponentIndicator() {
4554
5006
  var s0;
5007
+ var key = peg$currPos * 164 + 58, cached = peg$resultsCache[key];
5008
+ if (cached) {
5009
+ peg$currPos = cached.nextPos;
5010
+ return cached.result;
5011
+ }
4555
5012
  if (input.substr(peg$currPos, 1).toLowerCase() === peg$c378) {
4556
5013
  s0 = input.charAt(peg$currPos);
4557
5014
  peg$currPos++;
@@ -4562,10 +5019,16 @@ function peg$parse(input, options) {
4562
5019
  peg$fail(peg$c436);
4563
5020
  }
4564
5021
  }
5022
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4565
5023
  return s0;
4566
5024
  }
4567
5025
  function peg$parseJsNSignedInteger() {
4568
5026
  var s0, s1, s2, s3;
5027
+ var key = peg$currPos * 164 + 59, cached = peg$resultsCache[key];
5028
+ if (cached) {
5029
+ peg$currPos = cached.nextPos;
5030
+ return cached.result;
5031
+ }
4569
5032
  s0 = peg$currPos;
4570
5033
  if (peg$c437.test(input.charAt(peg$currPos))) {
4571
5034
  s1 = input.charAt(peg$currPos);
@@ -4605,10 +5068,16 @@ function peg$parse(input, options) {
4605
5068
  peg$currPos = s0;
4606
5069
  s0 = peg$FAILED;
4607
5070
  }
5071
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4608
5072
  return s0;
4609
5073
  }
4610
5074
  function peg$parseJsHexIntegerLiteral() {
4611
5075
  var s0, s1, s2, s3, s4;
5076
+ var key = peg$currPos * 164 + 60, cached = peg$resultsCache[key];
5077
+ if (cached) {
5078
+ peg$currPos = cached.nextPos;
5079
+ return cached.result;
5080
+ }
4612
5081
  s0 = peg$currPos;
4613
5082
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c439) {
4614
5083
  s1 = input.substr(peg$currPos, 2);
@@ -4653,10 +5122,16 @@ function peg$parse(input, options) {
4653
5122
  peg$currPos = s0;
4654
5123
  s0 = peg$FAILED;
4655
5124
  }
5125
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4656
5126
  return s0;
4657
5127
  }
4658
5128
  function peg$parseJsBinaryIntegerLiteral() {
4659
5129
  var s0, s1, s2, s3, s4;
5130
+ var key = peg$currPos * 164 + 61, cached = peg$resultsCache[key];
5131
+ if (cached) {
5132
+ peg$currPos = cached.nextPos;
5133
+ return cached.result;
5134
+ }
4660
5135
  s0 = peg$currPos;
4661
5136
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c442) {
4662
5137
  s1 = input.substr(peg$currPos, 2);
@@ -4701,10 +5176,16 @@ function peg$parse(input, options) {
4701
5176
  peg$currPos = s0;
4702
5177
  s0 = peg$FAILED;
4703
5178
  }
5179
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4704
5180
  return s0;
4705
5181
  }
4706
5182
  function peg$parseNonJsOctalIntegerLiteral() {
4707
5183
  var s0, s1, s2, s3, s4;
5184
+ var key = peg$currPos * 164 + 62, cached = peg$resultsCache[key];
5185
+ if (cached) {
5186
+ peg$currPos = cached.nextPos;
5187
+ return cached.result;
5188
+ }
4708
5189
  s0 = peg$currPos;
4709
5190
  if (input.substr(peg$currPos, 2).toLowerCase() === peg$c445) {
4710
5191
  s1 = input.substr(peg$currPos, 2);
@@ -4749,10 +5230,16 @@ function peg$parse(input, options) {
4749
5230
  peg$currPos = s0;
4750
5231
  s0 = peg$FAILED;
4751
5232
  }
5233
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4752
5234
  return s0;
4753
5235
  }
4754
5236
  function peg$parseSemVer() {
4755
5237
  var s0, s1, s2, s3, s4, s5;
5238
+ var key = peg$currPos * 164 + 63, cached = peg$resultsCache[key];
5239
+ if (cached) {
5240
+ peg$currPos = cached.nextPos;
5241
+ return cached.result;
5242
+ }
4756
5243
  s0 = peg$currPos;
4757
5244
  s1 = peg$parseIntegerLiteral();
4758
5245
  if (s1 !== peg$FAILED) {
@@ -4810,10 +5297,16 @@ function peg$parse(input, options) {
4810
5297
  peg$currPos = s0;
4811
5298
  s0 = peg$FAILED;
4812
5299
  }
5300
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4813
5301
  return s0;
4814
5302
  }
4815
5303
  function peg$parseUrlProtocol() {
4816
5304
  var s0;
5305
+ var key = peg$currPos * 164 + 67, cached = peg$resultsCache[key];
5306
+ if (cached) {
5307
+ peg$currPos = cached.nextPos;
5308
+ return cached.result;
5309
+ }
4817
5310
  if (input.substr(peg$currPos, 7) === peg$c459) {
4818
5311
  s0 = peg$c459;
4819
5312
  peg$currPos += 7;
@@ -4836,10 +5329,16 @@ function peg$parse(input, options) {
4836
5329
  }
4837
5330
  }
4838
5331
  }
5332
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4839
5333
  return s0;
4840
5334
  }
4841
5335
  function peg$parseURL() {
4842
5336
  var s0, s1, s2, s3;
5337
+ var key = peg$currPos * 164 + 68, cached = peg$resultsCache[key];
5338
+ if (cached) {
5339
+ peg$currPos = cached.nextPos;
5340
+ return cached.result;
5341
+ }
4843
5342
  s0 = peg$currPos;
4844
5343
  s1 = peg$parseUrlProtocol();
4845
5344
  if (s1 !== peg$FAILED) {
@@ -4886,10 +5385,16 @@ function peg$parse(input, options) {
4886
5385
  peg$currPos = s0;
4887
5386
  s0 = peg$FAILED;
4888
5387
  }
5388
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
4889
5389
  return s0;
4890
5390
  }
4891
5391
  function peg$parseSvgColorLabel() {
4892
5392
  var s0, s1;
5393
+ var key = peg$currPos * 164 + 69, cached = peg$resultsCache[key];
5394
+ if (cached) {
5395
+ peg$currPos = cached.nextPos;
5396
+ return cached.result;
5397
+ }
4893
5398
  s0 = peg$currPos;
4894
5399
  if (input.substr(peg$currPos, 9) === peg$c466) {
4895
5400
  s1 = peg$c466;
@@ -10180,10 +10685,16 @@ function peg$parse(input, options) {
10180
10685
  }
10181
10686
  }
10182
10687
  }
10688
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10183
10689
  return s0;
10184
10690
  }
10185
10691
  function peg$parseSvgColor() {
10186
10692
  var s0, s1, s2;
10693
+ var key = peg$currPos * 164 + 70, cached = peg$resultsCache[key];
10694
+ if (cached) {
10695
+ peg$currPos = cached.nextPos;
10696
+ return cached.result;
10697
+ }
10187
10698
  s0 = peg$currPos;
10188
10699
  s1 = peg$parseSvgColorLabel();
10189
10700
  if (s1 !== peg$FAILED) {
@@ -10205,10 +10716,16 @@ function peg$parse(input, options) {
10205
10716
  peg$currPos = s0;
10206
10717
  s0 = peg$FAILED;
10207
10718
  }
10719
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10208
10720
  return s0;
10209
10721
  }
10210
10722
  function peg$parseRgb3() {
10211
10723
  var s0, s1, s2, s3, s4, s5;
10724
+ var key = peg$currPos * 164 + 71, cached = peg$resultsCache[key];
10725
+ if (cached) {
10726
+ peg$currPos = cached.nextPos;
10727
+ return cached.result;
10728
+ }
10212
10729
  s0 = peg$currPos;
10213
10730
  if (input.charCodeAt(peg$currPos) === 35) {
10214
10731
  s1 = peg$c1193;
@@ -10260,10 +10777,16 @@ function peg$parse(input, options) {
10260
10777
  peg$currPos = s0;
10261
10778
  s0 = peg$FAILED;
10262
10779
  }
10780
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10263
10781
  return s0;
10264
10782
  }
10265
10783
  function peg$parseRgb6() {
10266
10784
  var s0, s1, s2, s3, s4, s5, s6, s7, s8;
10785
+ var key = peg$currPos * 164 + 72, cached = peg$resultsCache[key];
10786
+ if (cached) {
10787
+ peg$currPos = cached.nextPos;
10788
+ return cached.result;
10789
+ }
10267
10790
  s0 = peg$currPos;
10268
10791
  if (input.charCodeAt(peg$currPos) === 35) {
10269
10792
  s1 = peg$c1193;
@@ -10336,10 +10859,16 @@ function peg$parse(input, options) {
10336
10859
  peg$currPos = s0;
10337
10860
  s0 = peg$FAILED;
10338
10861
  }
10862
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10339
10863
  return s0;
10340
10864
  }
10341
10865
  function peg$parseRgba4() {
10342
10866
  var s0, s1, s2, s3, s4, s5, s6;
10867
+ var key = peg$currPos * 164 + 73, cached = peg$resultsCache[key];
10868
+ if (cached) {
10869
+ peg$currPos = cached.nextPos;
10870
+ return cached.result;
10871
+ }
10343
10872
  s0 = peg$currPos;
10344
10873
  if (input.charCodeAt(peg$currPos) === 35) {
10345
10874
  s1 = peg$c1193;
@@ -10398,10 +10927,16 @@ function peg$parse(input, options) {
10398
10927
  peg$currPos = s0;
10399
10928
  s0 = peg$FAILED;
10400
10929
  }
10930
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10401
10931
  return s0;
10402
10932
  }
10403
10933
  function peg$parseRgba8() {
10404
10934
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
10935
+ var key = peg$currPos * 164 + 74, cached = peg$resultsCache[key];
10936
+ if (cached) {
10937
+ peg$currPos = cached.nextPos;
10938
+ return cached.result;
10939
+ }
10405
10940
  s0 = peg$currPos;
10406
10941
  if (input.charCodeAt(peg$currPos) === 35) {
10407
10942
  s1 = peg$c1193;
@@ -10488,10 +11023,16 @@ function peg$parse(input, options) {
10488
11023
  peg$currPos = s0;
10489
11024
  s0 = peg$FAILED;
10490
11025
  }
11026
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10491
11027
  return s0;
10492
11028
  }
10493
11029
  function peg$parseColor() {
10494
11030
  var s0;
11031
+ var key = peg$currPos * 164 + 75, cached = peg$resultsCache[key];
11032
+ if (cached) {
11033
+ peg$currPos = cached.nextPos;
11034
+ return cached.result;
11035
+ }
10495
11036
  peg$silentFails++;
10496
11037
  s0 = peg$parseSvgColor();
10497
11038
  if (s0 === peg$FAILED) {
@@ -10512,10 +11053,16 @@ function peg$parse(input, options) {
10512
11053
  peg$fail(peg$c1199);
10513
11054
  }
10514
11055
  }
11056
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10515
11057
  return s0;
10516
11058
  }
10517
11059
  function peg$parseArrowItemKey() {
10518
11060
  var s0;
11061
+ var key = peg$currPos * 164 + 76, cached = peg$resultsCache[key];
11062
+ if (cached) {
11063
+ peg$currPos = cached.nextPos;
11064
+ return cached.result;
11065
+ }
10519
11066
  if (input.substr(peg$currPos, 9) === peg$c1200) {
10520
11067
  s0 = peg$c1200;
10521
11068
  peg$currPos += 9;
@@ -10550,10 +11097,16 @@ function peg$parse(input, options) {
10550
11097
  }
10551
11098
  }
10552
11099
  }
11100
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10553
11101
  return s0;
10554
11102
  }
10555
11103
  function peg$parseArrowItem() {
10556
11104
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11105
+ var key = peg$currPos * 164 + 77, cached = peg$resultsCache[key];
11106
+ if (cached) {
11107
+ peg$currPos = cached.nextPos;
11108
+ return cached.result;
11109
+ }
10557
11110
  s0 = peg$currPos;
10558
11111
  s1 = peg$parseWS();
10559
11112
  if (s1 === peg$FAILED) {
@@ -10654,10 +11207,16 @@ function peg$parse(input, options) {
10654
11207
  peg$currPos = s0;
10655
11208
  s0 = peg$FAILED;
10656
11209
  }
11210
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10657
11211
  return s0;
10658
11212
  }
10659
11213
  function peg$parseSingleEdgeColor() {
10660
11214
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11215
+ var key = peg$currPos * 164 + 78, cached = peg$resultsCache[key];
11216
+ if (cached) {
11217
+ peg$currPos = cached.nextPos;
11218
+ return cached.result;
11219
+ }
10661
11220
  peg$silentFails++;
10662
11221
  s0 = peg$currPos;
10663
11222
  s1 = peg$parseWS();
@@ -10886,10 +11445,16 @@ function peg$parse(input, options) {
10886
11445
  peg$fail(peg$c1211);
10887
11446
  }
10888
11447
  }
11448
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
10889
11449
  return s0;
10890
11450
  }
10891
11451
  function peg$parseTransitionLineStyle() {
10892
11452
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
11453
+ var key = peg$currPos * 164 + 79, cached = peg$resultsCache[key];
11454
+ if (cached) {
11455
+ peg$currPos = cached.nextPos;
11456
+ return cached.result;
11457
+ }
10893
11458
  peg$silentFails++;
10894
11459
  s0 = peg$currPos;
10895
11460
  s1 = peg$parseWS();
@@ -11007,10 +11572,16 @@ function peg$parse(input, options) {
11007
11572
  peg$fail(peg$c1217);
11008
11573
  }
11009
11574
  }
11575
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11010
11576
  return s0;
11011
11577
  }
11012
11578
  function peg$parseArrowItems() {
11013
11579
  var s0, s1;
11580
+ var key = peg$currPos * 164 + 80, cached = peg$resultsCache[key];
11581
+ if (cached) {
11582
+ peg$currPos = cached.nextPos;
11583
+ return cached.result;
11584
+ }
11014
11585
  s0 = peg$parseSingleEdgeColor();
11015
11586
  if (s0 === peg$FAILED) {
11016
11587
  s0 = peg$parseTransitionLineStyle();
@@ -11028,10 +11599,16 @@ function peg$parse(input, options) {
11028
11599
  }
11029
11600
  }
11030
11601
  }
11602
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11031
11603
  return s0;
11032
11604
  }
11033
11605
  function peg$parseArrowDesc() {
11034
11606
  var s0, s1, s2, s3, s4, s5;
11607
+ var key = peg$currPos * 164 + 81, cached = peg$resultsCache[key];
11608
+ if (cached) {
11609
+ peg$currPos = cached.nextPos;
11610
+ return cached.result;
11611
+ }
11035
11612
  s0 = peg$currPos;
11036
11613
  if (input.charCodeAt(peg$currPos) === 123) {
11037
11614
  s1 = peg$c1221;
@@ -11098,10 +11675,16 @@ function peg$parse(input, options) {
11098
11675
  peg$currPos = s0;
11099
11676
  s0 = peg$FAILED;
11100
11677
  }
11678
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11101
11679
  return s0;
11102
11680
  }
11103
11681
  function peg$parseArrowProbability() {
11104
11682
  var s0, s1, s2;
11683
+ var key = peg$currPos * 164 + 82, cached = peg$resultsCache[key];
11684
+ if (cached) {
11685
+ peg$currPos = cached.nextPos;
11686
+ return cached.result;
11687
+ }
11105
11688
  s0 = peg$currPos;
11106
11689
  s1 = peg$parseNonNegNumber();
11107
11690
  if (s1 !== peg$FAILED) {
@@ -11129,10 +11712,16 @@ function peg$parse(input, options) {
11129
11712
  peg$currPos = s0;
11130
11713
  s0 = peg$FAILED;
11131
11714
  }
11715
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11132
11716
  return s0;
11133
11717
  }
11134
11718
  function peg$parseTimeType() {
11135
11719
  var s0, s1;
11720
+ var key = peg$currPos * 164 + 83, cached = peg$resultsCache[key];
11721
+ if (cached) {
11722
+ peg$currPos = cached.nextPos;
11723
+ return cached.result;
11724
+ }
11136
11725
  s0 = peg$currPos;
11137
11726
  if (input.substr(peg$currPos, 12) === peg$c1229) {
11138
11727
  s1 = peg$c1229;
@@ -11635,10 +12224,16 @@ function peg$parse(input, options) {
11635
12224
  }
11636
12225
  }
11637
12226
  }
12227
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11638
12228
  return s0;
11639
12229
  }
11640
12230
  function peg$parseArrowAfter() {
11641
12231
  var s0, s1, s2, s3, s4, s5;
12232
+ var key = peg$currPos * 164 + 84, cached = peg$resultsCache[key];
12233
+ if (cached) {
12234
+ peg$currPos = cached.nextPos;
12235
+ return cached.result;
12236
+ }
11642
12237
  s0 = peg$currPos;
11643
12238
  if (input.substr(peg$currPos, 5) === peg$c1291) {
11644
12239
  s1 = peg$c1291;
@@ -11693,10 +12288,16 @@ function peg$parse(input, options) {
11693
12288
  peg$currPos = s0;
11694
12289
  s0 = peg$FAILED;
11695
12290
  }
12291
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11696
12292
  return s0;
11697
12293
  }
11698
12294
  function peg$parseLabelList() {
11699
12295
  var s0, s1, s2, s3, s4, s5, s6;
12296
+ var key = peg$currPos * 164 + 85, cached = peg$resultsCache[key];
12297
+ if (cached) {
12298
+ peg$currPos = cached.nextPos;
12299
+ return cached.result;
12300
+ }
11700
12301
  s0 = peg$currPos;
11701
12302
  if (input.charCodeAt(peg$currPos) === 91) {
11702
12303
  s1 = peg$c11;
@@ -11793,18 +12394,30 @@ function peg$parse(input, options) {
11793
12394
  peg$currPos = s0;
11794
12395
  s0 = peg$FAILED;
11795
12396
  }
12397
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11796
12398
  return s0;
11797
12399
  }
11798
12400
  function peg$parseLabelOrLabelList() {
11799
12401
  var s0;
12402
+ var key = peg$currPos * 164 + 86, cached = peg$resultsCache[key];
12403
+ if (cached) {
12404
+ peg$currPos = cached.nextPos;
12405
+ return cached.result;
12406
+ }
11800
12407
  s0 = peg$parseLabelList();
11801
12408
  if (s0 === peg$FAILED) {
11802
12409
  s0 = peg$parseLabel();
11803
12410
  }
12411
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11804
12412
  return s0;
11805
12413
  }
11806
12414
  function peg$parseStripe() {
11807
12415
  var s0, s1, s2, s3, s4, s5, s6;
12416
+ var key = peg$currPos * 164 + 87, cached = peg$resultsCache[key];
12417
+ if (cached) {
12418
+ peg$currPos = cached.nextPos;
12419
+ return cached.result;
12420
+ }
11808
12421
  s0 = peg$currPos;
11809
12422
  if (input.substr(peg$currPos, 2) === peg$c1295) {
11810
12423
  s1 = peg$c1295;
@@ -11917,10 +12530,16 @@ function peg$parse(input, options) {
11917
12530
  s0 = peg$FAILED;
11918
12531
  }
11919
12532
  }
12533
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
11920
12534
  return s0;
11921
12535
  }
11922
12536
  function peg$parseCycle() {
11923
12537
  var s0, s1, s2, s3, s4, s5, s6;
12538
+ var key = peg$currPos * 164 + 88, cached = peg$resultsCache[key];
12539
+ if (cached) {
12540
+ peg$currPos = cached.nextPos;
12541
+ return cached.result;
12542
+ }
11924
12543
  s0 = peg$currPos;
11925
12544
  if (input.charCodeAt(peg$currPos) === 43) {
11926
12545
  s1 = peg$c1301;
@@ -12051,10 +12670,16 @@ function peg$parse(input, options) {
12051
12670
  s0 = s1;
12052
12671
  }
12053
12672
  }
12673
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12054
12674
  return s0;
12055
12675
  }
12056
12676
  function peg$parseArrowTarget() {
12057
12677
  var s0;
12678
+ var key = peg$currPos * 164 + 89, cached = peg$resultsCache[key];
12679
+ if (cached) {
12680
+ peg$currPos = cached.nextPos;
12681
+ return cached.result;
12682
+ }
12058
12683
  s0 = peg$parseStripe();
12059
12684
  if (s0 === peg$FAILED) {
12060
12685
  s0 = peg$parseCycle();
@@ -12065,10 +12690,16 @@ function peg$parse(input, options) {
12065
12690
  }
12066
12691
  }
12067
12692
  }
12693
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12068
12694
  return s0;
12069
12695
  }
12070
12696
  function peg$parseArrowDecoration() {
12071
12697
  var s0, s1;
12698
+ var key = peg$currPos * 164 + 90, cached = peg$resultsCache[key];
12699
+ if (cached) {
12700
+ peg$currPos = cached.nextPos;
12701
+ return cached.result;
12702
+ }
12072
12703
  s0 = peg$currPos;
12073
12704
  s1 = peg$parseArrowAfter();
12074
12705
  if (s1 !== peg$FAILED) {
@@ -12103,10 +12734,16 @@ function peg$parse(input, options) {
12103
12734
  }
12104
12735
  }
12105
12736
  }
12737
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12106
12738
  return s0;
12107
12739
  }
12108
12740
  function peg$parseArrowDecorations() {
12109
12741
  var s0, s1, s2, s3;
12742
+ var key = peg$currPos * 164 + 91, cached = peg$resultsCache[key];
12743
+ if (cached) {
12744
+ peg$currPos = cached.nextPos;
12745
+ return cached.result;
12746
+ }
12110
12747
  s0 = [];
12111
12748
  s1 = peg$currPos;
12112
12749
  s2 = peg$parseArrowDecoration();
@@ -12153,10 +12790,16 @@ function peg$parse(input, options) {
12153
12790
  s1 = peg$FAILED;
12154
12791
  }
12155
12792
  }
12793
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12156
12794
  return s0;
12157
12795
  }
12158
12796
  function peg$parseSubexp() {
12159
12797
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
12798
+ var key = peg$currPos * 164 + 92, cached = peg$resultsCache[key];
12799
+ if (cached) {
12800
+ peg$currPos = cached.nextPos;
12801
+ return cached.result;
12802
+ }
12160
12803
  s0 = peg$currPos;
12161
12804
  s1 = peg$parseWS();
12162
12805
  if (s1 === peg$FAILED) {
@@ -12249,10 +12892,16 @@ function peg$parse(input, options) {
12249
12892
  peg$currPos = s0;
12250
12893
  s0 = peg$FAILED;
12251
12894
  }
12895
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12252
12896
  return s0;
12253
12897
  }
12254
12898
  function peg$parseExp() {
12255
12899
  var s0, s1, s2, s3, s4, s5;
12900
+ var key = peg$currPos * 164 + 93, cached = peg$resultsCache[key];
12901
+ if (cached) {
12902
+ peg$currPos = cached.nextPos;
12903
+ return cached.result;
12904
+ }
12256
12905
  s0 = peg$currPos;
12257
12906
  s1 = peg$parseArrowTarget();
12258
12907
  if (s1 !== peg$FAILED) {
@@ -12307,10 +12956,16 @@ function peg$parse(input, options) {
12307
12956
  peg$currPos = s0;
12308
12957
  s0 = peg$FAILED;
12309
12958
  }
12959
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12310
12960
  return s0;
12311
12961
  }
12312
12962
  function peg$parseValidationKey() {
12313
12963
  var s0;
12964
+ var key = peg$currPos * 164 + 94, cached = peg$resultsCache[key];
12965
+ if (cached) {
12966
+ peg$currPos = cached.nextPos;
12967
+ return cached.result;
12968
+ }
12314
12969
  if (input.substr(peg$currPos, 9) === peg$c1317) {
12315
12970
  s0 = peg$c1317;
12316
12971
  peg$currPos += 9;
@@ -12333,10 +12988,16 @@ function peg$parse(input, options) {
12333
12988
  }
12334
12989
  }
12335
12990
  }
12991
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12336
12992
  return s0;
12337
12993
  }
12338
12994
  function peg$parseValidationItem() {
12339
12995
  var s0, s1, s2, s3, s4;
12996
+ var key = peg$currPos * 164 + 95, cached = peg$resultsCache[key];
12997
+ if (cached) {
12998
+ peg$currPos = cached.nextPos;
12999
+ return cached.result;
13000
+ }
12340
13001
  s0 = peg$currPos;
12341
13002
  s1 = peg$parseValidationKey();
12342
13003
  if (s1 !== peg$FAILED) {
@@ -12387,10 +13048,16 @@ function peg$parse(input, options) {
12387
13048
  peg$currPos = s0;
12388
13049
  s0 = peg$FAILED;
12389
13050
  }
13051
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12390
13052
  return s0;
12391
13053
  }
12392
13054
  function peg$parseValidationItems() {
12393
13055
  var s0, s1;
13056
+ var key = peg$currPos * 164 + 96, cached = peg$resultsCache[key];
13057
+ if (cached) {
13058
+ peg$currPos = cached.nextPos;
13059
+ return cached.result;
13060
+ }
12394
13061
  s0 = [];
12395
13062
  s1 = peg$parseValidationItem();
12396
13063
  if (s1 !== peg$FAILED) {
@@ -12402,10 +13069,16 @@ function peg$parse(input, options) {
12402
13069
  else {
12403
13070
  s0 = peg$FAILED;
12404
13071
  }
13072
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12405
13073
  return s0;
12406
13074
  }
12407
13075
  function peg$parseConfigValidation() {
12408
13076
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13077
+ var key = peg$currPos * 164 + 97, cached = peg$resultsCache[key];
13078
+ if (cached) {
13079
+ peg$currPos = cached.nextPos;
13080
+ return cached.result;
13081
+ }
12409
13082
  s0 = peg$currPos;
12410
13083
  s1 = peg$parseWS();
12411
13084
  if (s1 === peg$FAILED) {
@@ -12544,10 +13217,16 @@ function peg$parse(input, options) {
12544
13217
  peg$currPos = s0;
12545
13218
  s0 = peg$FAILED;
12546
13219
  }
13220
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12547
13221
  return s0;
12548
13222
  }
12549
13223
  function peg$parseGvizLayout() {
12550
13224
  var s0;
13225
+ var key = peg$currPos * 164 + 98, cached = peg$resultsCache[key];
13226
+ if (cached) {
13227
+ peg$currPos = cached.nextPos;
13228
+ return cached.result;
13229
+ }
12551
13230
  if (input.substr(peg$currPos, 3) === peg$c1327) {
12552
13231
  s0 = peg$c1327;
12553
13232
  peg$currPos += 3;
@@ -12606,10 +13285,16 @@ function peg$parse(input, options) {
12606
13285
  }
12607
13286
  }
12608
13287
  }
13288
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12609
13289
  return s0;
12610
13290
  }
12611
13291
  function peg$parseStateItems() {
12612
13292
  var s0, s1;
13293
+ var key = peg$currPos * 164 + 99, cached = peg$resultsCache[key];
13294
+ if (cached) {
13295
+ peg$currPos = cached.nextPos;
13296
+ return cached.result;
13297
+ }
12613
13298
  s0 = [];
12614
13299
  s1 = peg$parseStateDeclarationItem();
12615
13300
  if (s1 !== peg$FAILED) {
@@ -12621,10 +13306,16 @@ function peg$parse(input, options) {
12621
13306
  else {
12622
13307
  s0 = peg$FAILED;
12623
13308
  }
13309
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12624
13310
  return s0;
12625
13311
  }
12626
13312
  function peg$parseConfigState() {
12627
13313
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13314
+ var key = peg$currPos * 164 + 100, cached = peg$resultsCache[key];
13315
+ if (cached) {
13316
+ peg$currPos = cached.nextPos;
13317
+ return cached.result;
13318
+ }
12628
13319
  s0 = peg$currPos;
12629
13320
  s1 = peg$parseWS();
12630
13321
  if (s1 === peg$FAILED) {
@@ -12763,10 +13454,16 @@ function peg$parse(input, options) {
12763
13454
  peg$currPos = s0;
12764
13455
  s0 = peg$FAILED;
12765
13456
  }
13457
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12766
13458
  return s0;
12767
13459
  }
12768
13460
  function peg$parseConfigStartState() {
12769
13461
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13462
+ var key = peg$currPos * 164 + 101, cached = peg$resultsCache[key];
13463
+ if (cached) {
13464
+ peg$currPos = cached.nextPos;
13465
+ return cached.result;
13466
+ }
12770
13467
  s0 = peg$currPos;
12771
13468
  s1 = peg$parseWS();
12772
13469
  if (s1 === peg$FAILED) {
@@ -12905,10 +13602,16 @@ function peg$parse(input, options) {
12905
13602
  peg$currPos = s0;
12906
13603
  s0 = peg$FAILED;
12907
13604
  }
13605
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
12908
13606
  return s0;
12909
13607
  }
12910
13608
  function peg$parseConfigEndState() {
12911
13609
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13610
+ var key = peg$currPos * 164 + 102, cached = peg$resultsCache[key];
13611
+ if (cached) {
13612
+ peg$currPos = cached.nextPos;
13613
+ return cached.result;
13614
+ }
12912
13615
  s0 = peg$currPos;
12913
13616
  s1 = peg$parseWS();
12914
13617
  if (s1 === peg$FAILED) {
@@ -13047,10 +13750,16 @@ function peg$parse(input, options) {
13047
13750
  peg$currPos = s0;
13048
13751
  s0 = peg$FAILED;
13049
13752
  }
13753
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13050
13754
  return s0;
13051
13755
  }
13052
13756
  function peg$parseConfigActiveState() {
13053
13757
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13758
+ var key = peg$currPos * 164 + 103, cached = peg$resultsCache[key];
13759
+ if (cached) {
13760
+ peg$currPos = cached.nextPos;
13761
+ return cached.result;
13762
+ }
13054
13763
  s0 = peg$currPos;
13055
13764
  s1 = peg$parseWS();
13056
13765
  if (s1 === peg$FAILED) {
@@ -13189,10 +13898,16 @@ function peg$parse(input, options) {
13189
13898
  peg$currPos = s0;
13190
13899
  s0 = peg$FAILED;
13191
13900
  }
13901
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13192
13902
  return s0;
13193
13903
  }
13194
13904
  function peg$parseConfigTerminalState() {
13195
13905
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
13906
+ var key = peg$currPos * 164 + 104, cached = peg$resultsCache[key];
13907
+ if (cached) {
13908
+ peg$currPos = cached.nextPos;
13909
+ return cached.result;
13910
+ }
13196
13911
  s0 = peg$currPos;
13197
13912
  s1 = peg$parseWS();
13198
13913
  if (s1 === peg$FAILED) {
@@ -13331,10 +14046,16 @@ function peg$parse(input, options) {
13331
14046
  peg$currPos = s0;
13332
14047
  s0 = peg$FAILED;
13333
14048
  }
14049
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13334
14050
  return s0;
13335
14051
  }
13336
14052
  function peg$parseConfigHookedState() {
13337
14053
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14054
+ var key = peg$currPos * 164 + 105, cached = peg$resultsCache[key];
14055
+ if (cached) {
14056
+ peg$currPos = cached.nextPos;
14057
+ return cached.result;
14058
+ }
13338
14059
  s0 = peg$currPos;
13339
14060
  s1 = peg$parseWS();
13340
14061
  if (s1 === peg$FAILED) {
@@ -13473,10 +14194,16 @@ function peg$parse(input, options) {
13473
14194
  peg$currPos = s0;
13474
14195
  s0 = peg$FAILED;
13475
14196
  }
14197
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13476
14198
  return s0;
13477
14199
  }
13478
14200
  function peg$parseConfigAnyState() {
13479
14201
  var s0;
14202
+ var key = peg$currPos * 164 + 106, cached = peg$resultsCache[key];
14203
+ if (cached) {
14204
+ peg$currPos = cached.nextPos;
14205
+ return cached.result;
14206
+ }
13480
14207
  s0 = peg$parseConfigState();
13481
14208
  if (s0 === peg$FAILED) {
13482
14209
  s0 = peg$parseConfigStartState();
@@ -13493,10 +14220,16 @@ function peg$parse(input, options) {
13493
14220
  }
13494
14221
  }
13495
14222
  }
14223
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13496
14224
  return s0;
13497
14225
  }
13498
14226
  function peg$parseActionKey() {
13499
14227
  var s0;
14228
+ var key = peg$currPos * 164 + 107, cached = peg$resultsCache[key];
14229
+ if (cached) {
14230
+ peg$currPos = cached.nextPos;
14231
+ return cached.result;
14232
+ }
13500
14233
  if (input.substr(peg$currPos, 9) === peg$c1317) {
13501
14234
  s0 = peg$c1317;
13502
14235
  peg$currPos += 9;
@@ -13519,10 +14252,16 @@ function peg$parse(input, options) {
13519
14252
  }
13520
14253
  }
13521
14254
  }
14255
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13522
14256
  return s0;
13523
14257
  }
13524
14258
  function peg$parseActionItem() {
13525
14259
  var s0, s1, s2, s3, s4;
14260
+ var key = peg$currPos * 164 + 108, cached = peg$resultsCache[key];
14261
+ if (cached) {
14262
+ peg$currPos = cached.nextPos;
14263
+ return cached.result;
14264
+ }
13526
14265
  s0 = peg$currPos;
13527
14266
  s1 = peg$parseActionKey();
13528
14267
  if (s1 !== peg$FAILED) {
@@ -13573,10 +14312,16 @@ function peg$parse(input, options) {
13573
14312
  peg$currPos = s0;
13574
14313
  s0 = peg$FAILED;
13575
14314
  }
14315
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13576
14316
  return s0;
13577
14317
  }
13578
14318
  function peg$parseActionItems() {
13579
14319
  var s0, s1;
14320
+ var key = peg$currPos * 164 + 109, cached = peg$resultsCache[key];
14321
+ if (cached) {
14322
+ peg$currPos = cached.nextPos;
14323
+ return cached.result;
14324
+ }
13580
14325
  s0 = [];
13581
14326
  s1 = peg$parseActionItem();
13582
14327
  if (s1 !== peg$FAILED) {
@@ -13588,10 +14333,16 @@ function peg$parse(input, options) {
13588
14333
  else {
13589
14334
  s0 = peg$FAILED;
13590
14335
  }
14336
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13591
14337
  return s0;
13592
14338
  }
13593
14339
  function peg$parseConfigAction() {
13594
14340
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14341
+ var key = peg$currPos * 164 + 110, cached = peg$resultsCache[key];
14342
+ if (cached) {
14343
+ peg$currPos = cached.nextPos;
14344
+ return cached.result;
14345
+ }
13595
14346
  s0 = peg$currPos;
13596
14347
  s1 = peg$parseWS();
13597
14348
  if (s1 === peg$FAILED) {
@@ -13730,10 +14481,16 @@ function peg$parse(input, options) {
13730
14481
  peg$currPos = s0;
13731
14482
  s0 = peg$FAILED;
13732
14483
  }
14484
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13733
14485
  return s0;
13734
14486
  }
13735
14487
  function peg$parseTransitionKey() {
13736
14488
  var s0;
14489
+ var key = peg$currPos * 164 + 111, cached = peg$resultsCache[key];
14490
+ if (cached) {
14491
+ peg$currPos = cached.nextPos;
14492
+ return cached.result;
14493
+ }
13737
14494
  if (input.substr(peg$currPos, 9) === peg$c1317) {
13738
14495
  s0 = peg$c1317;
13739
14496
  peg$currPos += 9;
@@ -13756,10 +14513,16 @@ function peg$parse(input, options) {
13756
14513
  }
13757
14514
  }
13758
14515
  }
14516
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13759
14517
  return s0;
13760
14518
  }
13761
14519
  function peg$parseTransitionItem() {
13762
14520
  var s0, s1, s2, s3, s4;
14521
+ var key = peg$currPos * 164 + 112, cached = peg$resultsCache[key];
14522
+ if (cached) {
14523
+ peg$currPos = cached.nextPos;
14524
+ return cached.result;
14525
+ }
13763
14526
  s0 = peg$currPos;
13764
14527
  s1 = peg$parseTransitionKey();
13765
14528
  if (s1 !== peg$FAILED) {
@@ -13810,10 +14573,16 @@ function peg$parse(input, options) {
13810
14573
  peg$currPos = s0;
13811
14574
  s0 = peg$FAILED;
13812
14575
  }
14576
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13813
14577
  return s0;
13814
14578
  }
13815
14579
  function peg$parseTransitionItems() {
13816
14580
  var s0, s1;
14581
+ var key = peg$currPos * 164 + 113, cached = peg$resultsCache[key];
14582
+ if (cached) {
14583
+ peg$currPos = cached.nextPos;
14584
+ return cached.result;
14585
+ }
13817
14586
  s0 = peg$parseGraphDefaultEdgeColor();
13818
14587
  if (s0 === peg$FAILED) {
13819
14588
  s0 = [];
@@ -13828,10 +14597,16 @@ function peg$parse(input, options) {
13828
14597
  s0 = peg$FAILED;
13829
14598
  }
13830
14599
  }
14600
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
13831
14601
  return s0;
13832
14602
  }
13833
14603
  function peg$parseGraphDefaultEdgeColor() {
13834
14604
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14605
+ var key = peg$currPos * 164 + 114, cached = peg$resultsCache[key];
14606
+ if (cached) {
14607
+ peg$currPos = cached.nextPos;
14608
+ return cached.result;
14609
+ }
13835
14610
  peg$silentFails++;
13836
14611
  s0 = peg$currPos;
13837
14612
  s1 = peg$parseWS();
@@ -14060,10 +14835,16 @@ function peg$parse(input, options) {
14060
14835
  peg$fail(peg$c1360);
14061
14836
  }
14062
14837
  }
14838
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14063
14839
  return s0;
14064
14840
  }
14065
14841
  function peg$parseConfigTransition() {
14066
14842
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
14843
+ var key = peg$currPos * 164 + 115, cached = peg$resultsCache[key];
14844
+ if (cached) {
14845
+ peg$currPos = cached.nextPos;
14846
+ return cached.result;
14847
+ }
14067
14848
  s0 = peg$currPos;
14068
14849
  s1 = peg$parseWS();
14069
14850
  if (s1 === peg$FAILED) {
@@ -14202,10 +14983,16 @@ function peg$parse(input, options) {
14202
14983
  peg$currPos = s0;
14203
14984
  s0 = peg$FAILED;
14204
14985
  }
14986
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14205
14987
  return s0;
14206
14988
  }
14207
14989
  function peg$parseConfigGraphLayout() {
14208
14990
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14991
+ var key = peg$currPos * 164 + 116, cached = peg$resultsCache[key];
14992
+ if (cached) {
14993
+ peg$currPos = cached.nextPos;
14994
+ return cached.result;
14995
+ }
14209
14996
  s0 = peg$currPos;
14210
14997
  s1 = peg$parseWS();
14211
14998
  if (s1 === peg$FAILED) {
@@ -14315,10 +15102,16 @@ function peg$parse(input, options) {
14315
15102
  peg$currPos = s0;
14316
15103
  s0 = peg$FAILED;
14317
15104
  }
15105
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14318
15106
  return s0;
14319
15107
  }
14320
15108
  function peg$parseConfigStartNodes() {
14321
15109
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15110
+ var key = peg$currPos * 164 + 117, cached = peg$resultsCache[key];
15111
+ if (cached) {
15112
+ peg$currPos = cached.nextPos;
15113
+ return cached.result;
15114
+ }
14322
15115
  s0 = peg$currPos;
14323
15116
  s1 = peg$parseWS();
14324
15117
  if (s1 === peg$FAILED) {
@@ -14428,10 +15221,16 @@ function peg$parse(input, options) {
14428
15221
  peg$currPos = s0;
14429
15222
  s0 = peg$FAILED;
14430
15223
  }
15224
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14431
15225
  return s0;
14432
15226
  }
14433
15227
  function peg$parseConfigEndNodes() {
14434
15228
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15229
+ var key = peg$currPos * 164 + 118, cached = peg$resultsCache[key];
15230
+ if (cached) {
15231
+ peg$currPos = cached.nextPos;
15232
+ return cached.result;
15233
+ }
14435
15234
  s0 = peg$currPos;
14436
15235
  s1 = peg$parseWS();
14437
15236
  if (s1 === peg$FAILED) {
@@ -14541,10 +15340,16 @@ function peg$parse(input, options) {
14541
15340
  peg$currPos = s0;
14542
15341
  s0 = peg$FAILED;
14543
15342
  }
15343
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14544
15344
  return s0;
14545
15345
  }
14546
15346
  function peg$parseConfigGraphBgColor() {
14547
15347
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15348
+ var key = peg$currPos * 164 + 119, cached = peg$resultsCache[key];
15349
+ if (cached) {
15350
+ peg$currPos = cached.nextPos;
15351
+ return cached.result;
15352
+ }
14548
15353
  s0 = peg$currPos;
14549
15354
  s1 = peg$parseWS();
14550
15355
  if (s1 === peg$FAILED) {
@@ -14654,10 +15459,16 @@ function peg$parse(input, options) {
14654
15459
  peg$currPos = s0;
14655
15460
  s0 = peg$FAILED;
14656
15461
  }
15462
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14657
15463
  return s0;
14658
15464
  }
14659
15465
  function peg$parseConfigAllowsOverride() {
14660
15466
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15467
+ var key = peg$currPos * 164 + 120, cached = peg$resultsCache[key];
15468
+ if (cached) {
15469
+ peg$currPos = cached.nextPos;
15470
+ return cached.result;
15471
+ }
14661
15472
  s0 = peg$currPos;
14662
15473
  s1 = peg$parseWS();
14663
15474
  if (s1 === peg$FAILED) {
@@ -14767,10 +15578,16 @@ function peg$parse(input, options) {
14767
15578
  peg$currPos = s0;
14768
15579
  s0 = peg$FAILED;
14769
15580
  }
15581
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14770
15582
  return s0;
14771
15583
  }
14772
15584
  function peg$parseOverrideT() {
14773
15585
  var s0, s1;
15586
+ var key = peg$currPos * 164 + 121, cached = peg$resultsCache[key];
15587
+ if (cached) {
15588
+ peg$currPos = cached.nextPos;
15589
+ return cached.result;
15590
+ }
14774
15591
  s0 = peg$currPos;
14775
15592
  if (input.substr(peg$currPos, 4) === peg$c230) {
14776
15593
  s1 = peg$c230;
@@ -14823,10 +15640,16 @@ function peg$parse(input, options) {
14823
15640
  s0 = s1;
14824
15641
  }
14825
15642
  }
15643
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14826
15644
  return s0;
14827
15645
  }
14828
15646
  function peg$parseConfig() {
14829
15647
  var s0;
15648
+ var key = peg$currPos * 164 + 122, cached = peg$resultsCache[key];
15649
+ if (cached) {
15650
+ peg$currPos = cached.nextPos;
15651
+ return cached.result;
15652
+ }
14830
15653
  peg$silentFails++;
14831
15654
  s0 = peg$parseConfigGraphLayout();
14832
15655
  if (s0 === peg$FAILED) {
@@ -14859,10 +15682,16 @@ function peg$parse(input, options) {
14859
15682
  peg$fail(peg$c1382);
14860
15683
  }
14861
15684
  }
15685
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
14862
15686
  return s0;
14863
15687
  }
14864
15688
  function peg$parseLicenseOrLabelOrList() {
14865
15689
  var s0;
15690
+ var key = peg$currPos * 164 + 123, cached = peg$resultsCache[key];
15691
+ if (cached) {
15692
+ peg$currPos = cached.nextPos;
15693
+ return cached.result;
15694
+ }
14866
15695
  if (input.substr(peg$currPos, 3) === peg$c1383) {
14867
15696
  s0 = peg$c1383;
14868
15697
  peg$currPos += 3;
@@ -14999,10 +15828,16 @@ function peg$parse(input, options) {
14999
15828
  }
15000
15829
  }
15001
15830
  }
15831
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15002
15832
  return s0;
15003
15833
  }
15004
15834
  function peg$parseDirection() {
15005
15835
  var s0;
15836
+ var key = peg$currPos * 164 + 124, cached = peg$resultsCache[key];
15837
+ if (cached) {
15838
+ peg$currPos = cached.nextPos;
15839
+ return cached.result;
15840
+ }
15006
15841
  peg$silentFails++;
15007
15842
  if (input.substr(peg$currPos, 2) === peg$c1406) {
15008
15843
  s0 = peg$c1406;
@@ -15056,10 +15891,16 @@ function peg$parse(input, options) {
15056
15891
  peg$fail(peg$c1405);
15057
15892
  }
15058
15893
  }
15894
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15059
15895
  return s0;
15060
15896
  }
15061
15897
  function peg$parseHookDefinition() {
15062
15898
  var s0;
15899
+ var key = peg$currPos * 164 + 125, cached = peg$resultsCache[key];
15900
+ if (cached) {
15901
+ peg$currPos = cached.nextPos;
15902
+ return cached.result;
15903
+ }
15063
15904
  peg$silentFails++;
15064
15905
  if (input.substr(peg$currPos, 4) === peg$c1415) {
15065
15906
  s0 = peg$c1415;
@@ -15089,10 +15930,16 @@ function peg$parse(input, options) {
15089
15930
  peg$fail(peg$c1414);
15090
15931
  }
15091
15932
  }
15933
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15092
15934
  return s0;
15093
15935
  }
15094
15936
  function peg$parseMachineAuthor() {
15095
15937
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
15938
+ var key = peg$currPos * 164 + 126, cached = peg$resultsCache[key];
15939
+ if (cached) {
15940
+ peg$currPos = cached.nextPos;
15941
+ return cached.result;
15942
+ }
15096
15943
  s0 = peg$currPos;
15097
15944
  s1 = peg$parseWS();
15098
15945
  if (s1 === peg$FAILED) {
@@ -15202,10 +16049,16 @@ function peg$parse(input, options) {
15202
16049
  peg$currPos = s0;
15203
16050
  s0 = peg$FAILED;
15204
16051
  }
16052
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15205
16053
  return s0;
15206
16054
  }
15207
16055
  function peg$parseMachineContributor() {
15208
16056
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16057
+ var key = peg$currPos * 164 + 127, cached = peg$resultsCache[key];
16058
+ if (cached) {
16059
+ peg$currPos = cached.nextPos;
16060
+ return cached.result;
16061
+ }
15209
16062
  s0 = peg$currPos;
15210
16063
  s1 = peg$parseWS();
15211
16064
  if (s1 === peg$FAILED) {
@@ -15315,10 +16168,16 @@ function peg$parse(input, options) {
15315
16168
  peg$currPos = s0;
15316
16169
  s0 = peg$FAILED;
15317
16170
  }
16171
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15318
16172
  return s0;
15319
16173
  }
15320
16174
  function peg$parseMachineComment() {
15321
16175
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16176
+ var key = peg$currPos * 164 + 128, cached = peg$resultsCache[key];
16177
+ if (cached) {
16178
+ peg$currPos = cached.nextPos;
16179
+ return cached.result;
16180
+ }
15322
16181
  s0 = peg$currPos;
15323
16182
  s1 = peg$parseWS();
15324
16183
  if (s1 === peg$FAILED) {
@@ -15428,10 +16287,16 @@ function peg$parse(input, options) {
15428
16287
  peg$currPos = s0;
15429
16288
  s0 = peg$FAILED;
15430
16289
  }
16290
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15431
16291
  return s0;
15432
16292
  }
15433
16293
  function peg$parseMachineDefinition() {
15434
16294
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16295
+ var key = peg$currPos * 164 + 129, cached = peg$resultsCache[key];
16296
+ if (cached) {
16297
+ peg$currPos = cached.nextPos;
16298
+ return cached.result;
16299
+ }
15435
16300
  s0 = peg$currPos;
15436
16301
  s1 = peg$parseWS();
15437
16302
  if (s1 === peg$FAILED) {
@@ -15541,10 +16406,16 @@ function peg$parse(input, options) {
15541
16406
  peg$currPos = s0;
15542
16407
  s0 = peg$FAILED;
15543
16408
  }
16409
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15544
16410
  return s0;
15545
16411
  }
15546
16412
  function peg$parseMachineName() {
15547
16413
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16414
+ var key = peg$currPos * 164 + 130, cached = peg$resultsCache[key];
16415
+ if (cached) {
16416
+ peg$currPos = cached.nextPos;
16417
+ return cached.result;
16418
+ }
15548
16419
  s0 = peg$currPos;
15549
16420
  s1 = peg$parseWS();
15550
16421
  if (s1 === peg$FAILED) {
@@ -15654,10 +16525,16 @@ function peg$parse(input, options) {
15654
16525
  peg$currPos = s0;
15655
16526
  s0 = peg$FAILED;
15656
16527
  }
16528
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15657
16529
  return s0;
15658
16530
  }
15659
16531
  function peg$parseMachineReference() {
15660
16532
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16533
+ var key = peg$currPos * 164 + 131, cached = peg$resultsCache[key];
16534
+ if (cached) {
16535
+ peg$currPos = cached.nextPos;
16536
+ return cached.result;
16537
+ }
15661
16538
  s0 = peg$currPos;
15662
16539
  s1 = peg$parseWS();
15663
16540
  if (s1 === peg$FAILED) {
@@ -15767,10 +16644,16 @@ function peg$parse(input, options) {
15767
16644
  peg$currPos = s0;
15768
16645
  s0 = peg$FAILED;
15769
16646
  }
16647
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15770
16648
  return s0;
15771
16649
  }
15772
16650
  function peg$parseMachineVersion() {
15773
16651
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16652
+ var key = peg$currPos * 164 + 132, cached = peg$resultsCache[key];
16653
+ if (cached) {
16654
+ peg$currPos = cached.nextPos;
16655
+ return cached.result;
16656
+ }
15774
16657
  s0 = peg$currPos;
15775
16658
  s1 = peg$parseWS();
15776
16659
  if (s1 === peg$FAILED) {
@@ -15880,10 +16763,16 @@ function peg$parse(input, options) {
15880
16763
  peg$currPos = s0;
15881
16764
  s0 = peg$FAILED;
15882
16765
  }
16766
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15883
16767
  return s0;
15884
16768
  }
15885
16769
  function peg$parseMachineLicense() {
15886
16770
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16771
+ var key = peg$currPos * 164 + 133, cached = peg$resultsCache[key];
16772
+ if (cached) {
16773
+ peg$currPos = cached.nextPos;
16774
+ return cached.result;
16775
+ }
15887
16776
  s0 = peg$currPos;
15888
16777
  s1 = peg$parseWS();
15889
16778
  if (s1 === peg$FAILED) {
@@ -15993,10 +16882,16 @@ function peg$parse(input, options) {
15993
16882
  peg$currPos = s0;
15994
16883
  s0 = peg$FAILED;
15995
16884
  }
16885
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
15996
16886
  return s0;
15997
16887
  }
15998
16888
  function peg$parseMachineLanguage() {
15999
16889
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
16890
+ var key = peg$currPos * 164 + 134, cached = peg$resultsCache[key];
16891
+ if (cached) {
16892
+ peg$currPos = cached.nextPos;
16893
+ return cached.result;
16894
+ }
16000
16895
  s0 = peg$currPos;
16001
16896
  s1 = peg$parseWS();
16002
16897
  if (s1 === peg$FAILED) {
@@ -16106,10 +17001,16 @@ function peg$parse(input, options) {
16106
17001
  peg$currPos = s0;
16107
17002
  s0 = peg$FAILED;
16108
17003
  }
17004
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16109
17005
  return s0;
16110
17006
  }
16111
17007
  function peg$parseFslVersion() {
16112
17008
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17009
+ var key = peg$currPos * 164 + 135, cached = peg$resultsCache[key];
17010
+ if (cached) {
17011
+ peg$currPos = cached.nextPos;
17012
+ return cached.result;
17013
+ }
16113
17014
  s0 = peg$currPos;
16114
17015
  s1 = peg$parseWS();
16115
17016
  if (s1 === peg$FAILED) {
@@ -16219,10 +17120,16 @@ function peg$parse(input, options) {
16219
17120
  peg$currPos = s0;
16220
17121
  s0 = peg$FAILED;
16221
17122
  }
17123
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16222
17124
  return s0;
16223
17125
  }
16224
17126
  function peg$parseMachineTheme() {
16225
17127
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17128
+ var key = peg$currPos * 164 + 136, cached = peg$resultsCache[key];
17129
+ if (cached) {
17130
+ peg$currPos = cached.nextPos;
17131
+ return cached.result;
17132
+ }
16226
17133
  s0 = peg$currPos;
16227
17134
  s1 = peg$parseWS();
16228
17135
  if (s1 === peg$FAILED) {
@@ -16332,10 +17239,16 @@ function peg$parse(input, options) {
16332
17239
  peg$currPos = s0;
16333
17240
  s0 = peg$FAILED;
16334
17241
  }
17242
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16335
17243
  return s0;
16336
17244
  }
16337
17245
  function peg$parseMachineFlow() {
16338
17246
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17247
+ var key = peg$currPos * 164 + 137, cached = peg$resultsCache[key];
17248
+ if (cached) {
17249
+ peg$currPos = cached.nextPos;
17250
+ return cached.result;
17251
+ }
16339
17252
  s0 = peg$currPos;
16340
17253
  s1 = peg$parseWS();
16341
17254
  if (s1 === peg$FAILED) {
@@ -16445,10 +17358,16 @@ function peg$parse(input, options) {
16445
17358
  peg$currPos = s0;
16446
17359
  s0 = peg$FAILED;
16447
17360
  }
17361
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16448
17362
  return s0;
16449
17363
  }
16450
17364
  function peg$parseMachineHookDefinition() {
16451
17365
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17366
+ var key = peg$currPos * 164 + 138, cached = peg$resultsCache[key];
17367
+ if (cached) {
17368
+ peg$currPos = cached.nextPos;
17369
+ return cached.result;
17370
+ }
16452
17371
  s0 = peg$currPos;
16453
17372
  s1 = peg$parseWS();
16454
17373
  if (s1 === peg$FAILED) {
@@ -16558,10 +17477,16 @@ function peg$parse(input, options) {
16558
17477
  peg$currPos = s0;
16559
17478
  s0 = peg$FAILED;
16560
17479
  }
17480
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16561
17481
  return s0;
16562
17482
  }
16563
17483
  function peg$parseDotPreamble() {
16564
17484
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17485
+ var key = peg$currPos * 164 + 139, cached = peg$resultsCache[key];
17486
+ if (cached) {
17487
+ peg$currPos = cached.nextPos;
17488
+ return cached.result;
17489
+ }
16565
17490
  s0 = peg$currPos;
16566
17491
  s1 = peg$parseWS();
16567
17492
  if (s1 === peg$FAILED) {
@@ -16671,10 +17596,16 @@ function peg$parse(input, options) {
16671
17596
  peg$currPos = s0;
16672
17597
  s0 = peg$FAILED;
16673
17598
  }
17599
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16674
17600
  return s0;
16675
17601
  }
16676
17602
  function peg$parseMachineAttribute() {
16677
17603
  var s0;
17604
+ var key = peg$currPos * 164 + 140, cached = peg$resultsCache[key];
17605
+ if (cached) {
17606
+ peg$currPos = cached.nextPos;
17607
+ return cached.result;
17608
+ }
16678
17609
  peg$silentFails++;
16679
17610
  s0 = peg$parseFslVersion();
16680
17611
  if (s0 === peg$FAILED) {
@@ -16722,10 +17653,16 @@ function peg$parse(input, options) {
16722
17653
  peg$fail(peg$c1461);
16723
17654
  }
16724
17655
  }
17656
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16725
17657
  return s0;
16726
17658
  }
16727
17659
  function peg$parsePropertyVal() {
16728
17660
  var s0;
17661
+ var key = peg$currPos * 164 + 141, cached = peg$resultsCache[key];
17662
+ if (cached) {
17663
+ peg$currPos = cached.nextPos;
17664
+ return cached.result;
17665
+ }
16729
17666
  s0 = peg$parseString();
16730
17667
  if (s0 === peg$FAILED) {
16731
17668
  s0 = peg$parseBoolean();
@@ -16739,10 +17676,16 @@ function peg$parse(input, options) {
16739
17676
  }
16740
17677
  }
16741
17678
  }
17679
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16742
17680
  return s0;
16743
17681
  }
16744
17682
  function peg$parseSdStateLabel() {
16745
17683
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17684
+ var key = peg$currPos * 164 + 142, cached = peg$resultsCache[key];
17685
+ if (cached) {
17686
+ peg$currPos = cached.nextPos;
17687
+ return cached.result;
17688
+ }
16746
17689
  peg$silentFails++;
16747
17690
  s0 = peg$currPos;
16748
17691
  s1 = peg$parseWS();
@@ -16860,10 +17803,16 @@ function peg$parse(input, options) {
16860
17803
  peg$fail(peg$c311);
16861
17804
  }
16862
17805
  }
17806
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16863
17807
  return s0;
16864
17808
  }
16865
17809
  function peg$parseSdStateColor() {
16866
17810
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17811
+ var key = peg$currPos * 164 + 143, cached = peg$resultsCache[key];
17812
+ if (cached) {
17813
+ peg$currPos = cached.nextPos;
17814
+ return cached.result;
17815
+ }
16867
17816
  peg$silentFails++;
16868
17817
  s0 = peg$currPos;
16869
17818
  s1 = peg$parseWS();
@@ -16981,10 +17930,16 @@ function peg$parse(input, options) {
16981
17930
  peg$fail(peg$c1199);
16982
17931
  }
16983
17932
  }
17933
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
16984
17934
  return s0;
16985
17935
  }
16986
17936
  function peg$parseSdStateTextColor() {
16987
17937
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
17938
+ var key = peg$currPos * 164 + 144, cached = peg$resultsCache[key];
17939
+ if (cached) {
17940
+ peg$currPos = cached.nextPos;
17941
+ return cached.result;
17942
+ }
16988
17943
  peg$silentFails++;
16989
17944
  s0 = peg$currPos;
16990
17945
  s1 = peg$parseWS();
@@ -17102,10 +18057,16 @@ function peg$parse(input, options) {
17102
18057
  peg$fail(peg$c1468);
17103
18058
  }
17104
18059
  }
18060
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17105
18061
  return s0;
17106
18062
  }
17107
18063
  function peg$parseSdStateBackgroundColor() {
17108
18064
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18065
+ var key = peg$currPos * 164 + 145, cached = peg$resultsCache[key];
18066
+ if (cached) {
18067
+ peg$currPos = cached.nextPos;
18068
+ return cached.result;
18069
+ }
17109
18070
  peg$silentFails++;
17110
18071
  s0 = peg$currPos;
17111
18072
  s1 = peg$parseWS();
@@ -17223,10 +18184,16 @@ function peg$parse(input, options) {
17223
18184
  peg$fail(peg$c1472);
17224
18185
  }
17225
18186
  }
18187
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17226
18188
  return s0;
17227
18189
  }
17228
18190
  function peg$parseSdStateBorderColor() {
17229
18191
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18192
+ var key = peg$currPos * 164 + 146, cached = peg$resultsCache[key];
18193
+ if (cached) {
18194
+ peg$currPos = cached.nextPos;
18195
+ return cached.result;
18196
+ }
17230
18197
  peg$silentFails++;
17231
18198
  s0 = peg$currPos;
17232
18199
  s1 = peg$parseWS();
@@ -17344,10 +18311,16 @@ function peg$parse(input, options) {
17344
18311
  peg$fail(peg$c1476);
17345
18312
  }
17346
18313
  }
18314
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17347
18315
  return s0;
17348
18316
  }
17349
18317
  function peg$parseSdStateShape() {
17350
18318
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18319
+ var key = peg$currPos * 164 + 147, cached = peg$resultsCache[key];
18320
+ if (cached) {
18321
+ peg$currPos = cached.nextPos;
18322
+ return cached.result;
18323
+ }
17351
18324
  peg$silentFails++;
17352
18325
  s0 = peg$currPos;
17353
18326
  s1 = peg$parseWS();
@@ -17465,10 +18438,16 @@ function peg$parse(input, options) {
17465
18438
  peg$fail(peg$c1480);
17466
18439
  }
17467
18440
  }
18441
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17468
18442
  return s0;
17469
18443
  }
17470
18444
  function peg$parseSdStateCorners() {
17471
18445
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18446
+ var key = peg$currPos * 164 + 148, cached = peg$resultsCache[key];
18447
+ if (cached) {
18448
+ peg$currPos = cached.nextPos;
18449
+ return cached.result;
18450
+ }
17472
18451
  peg$silentFails++;
17473
18452
  s0 = peg$currPos;
17474
18453
  s1 = peg$parseWS();
@@ -17586,10 +18565,16 @@ function peg$parse(input, options) {
17586
18565
  peg$fail(peg$c1484);
17587
18566
  }
17588
18567
  }
18568
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17589
18569
  return s0;
17590
18570
  }
17591
18571
  function peg$parseSdStateLineStyle() {
17592
18572
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18573
+ var key = peg$currPos * 164 + 149, cached = peg$resultsCache[key];
18574
+ if (cached) {
18575
+ peg$currPos = cached.nextPos;
18576
+ return cached.result;
18577
+ }
17593
18578
  peg$silentFails++;
17594
18579
  s0 = peg$currPos;
17595
18580
  s1 = peg$parseWS();
@@ -17818,10 +18803,16 @@ function peg$parse(input, options) {
17818
18803
  peg$fail(peg$c1488);
17819
18804
  }
17820
18805
  }
18806
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17821
18807
  return s0;
17822
18808
  }
17823
18809
  function peg$parseSdStateImage() {
17824
18810
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18811
+ var key = peg$currPos * 164 + 150, cached = peg$resultsCache[key];
18812
+ if (cached) {
18813
+ peg$currPos = cached.nextPos;
18814
+ return cached.result;
18815
+ }
17825
18816
  peg$silentFails++;
17826
18817
  s0 = peg$currPos;
17827
18818
  s1 = peg$parseWS();
@@ -17939,10 +18930,16 @@ function peg$parse(input, options) {
17939
18930
  peg$fail(peg$c1492);
17940
18931
  }
17941
18932
  }
18933
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
17942
18934
  return s0;
17943
18935
  }
17944
18936
  function peg$parseSdStateUrl() {
17945
18937
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
18938
+ var key = peg$currPos * 164 + 151, cached = peg$resultsCache[key];
18939
+ if (cached) {
18940
+ peg$currPos = cached.nextPos;
18941
+ return cached.result;
18942
+ }
17946
18943
  peg$silentFails++;
17947
18944
  s0 = peg$currPos;
17948
18945
  s1 = peg$parseWS();
@@ -18060,10 +19057,16 @@ function peg$parse(input, options) {
18060
19057
  peg$fail(peg$c1496);
18061
19058
  }
18062
19059
  }
19060
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18063
19061
  return s0;
18064
19062
  }
18065
19063
  function peg$parseSdStateProperty() {
18066
19064
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
19065
+ var key = peg$currPos * 164 + 152, cached = peg$resultsCache[key];
19066
+ if (cached) {
19067
+ peg$currPos = cached.nextPos;
19068
+ return cached.result;
19069
+ }
18067
19070
  peg$silentFails++;
18068
19071
  s0 = peg$currPos;
18069
19072
  s1 = peg$parseWS();
@@ -18343,10 +19346,16 @@ function peg$parse(input, options) {
18343
19346
  peg$fail(peg$c1500);
18344
19347
  }
18345
19348
  }
19349
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18346
19350
  return s0;
18347
19351
  }
18348
19352
  function peg$parseStateDeclarationItem() {
18349
19353
  var s0;
19354
+ var key = peg$currPos * 164 + 153, cached = peg$resultsCache[key];
19355
+ if (cached) {
19356
+ peg$currPos = cached.nextPos;
19357
+ return cached.result;
19358
+ }
18350
19359
  s0 = peg$parseSdStateLabel();
18351
19360
  if (s0 === peg$FAILED) {
18352
19361
  s0 = peg$parseSdStateColor();
@@ -18378,10 +19387,16 @@ function peg$parse(input, options) {
18378
19387
  }
18379
19388
  }
18380
19389
  }
19390
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18381
19391
  return s0;
18382
19392
  }
18383
19393
  function peg$parseStateDeclarationDesc() {
18384
19394
  var s0, s1, s2, s3, s4, s5;
19395
+ var key = peg$currPos * 164 + 154, cached = peg$resultsCache[key];
19396
+ if (cached) {
19397
+ peg$currPos = cached.nextPos;
19398
+ return cached.result;
19399
+ }
18385
19400
  s0 = peg$currPos;
18386
19401
  if (input.charCodeAt(peg$currPos) === 123) {
18387
19402
  s1 = peg$c1221;
@@ -18450,10 +19465,16 @@ function peg$parse(input, options) {
18450
19465
  peg$currPos = s0;
18451
19466
  s0 = peg$FAILED;
18452
19467
  }
19468
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18453
19469
  return s0;
18454
19470
  }
18455
19471
  function peg$parseStateDeclaration() {
18456
19472
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
19473
+ var key = peg$currPos * 164 + 155, cached = peg$resultsCache[key];
19474
+ if (cached) {
19475
+ peg$currPos = cached.nextPos;
19476
+ return cached.result;
19477
+ }
18457
19478
  s0 = peg$currPos;
18458
19479
  s1 = peg$parseWS();
18459
19480
  if (s1 === peg$FAILED) {
@@ -18577,10 +19598,16 @@ function peg$parse(input, options) {
18577
19598
  peg$currPos = s0;
18578
19599
  s0 = peg$FAILED;
18579
19600
  }
19601
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18580
19602
  return s0;
18581
19603
  }
18582
19604
  function peg$parseNamedList() {
18583
19605
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
19606
+ var key = peg$currPos * 164 + 156, cached = peg$resultsCache[key];
19607
+ if (cached) {
19608
+ peg$currPos = cached.nextPos;
19609
+ return cached.result;
19610
+ }
18584
19611
  s0 = peg$currPos;
18585
19612
  s1 = peg$parseWS();
18586
19613
  if (s1 === peg$FAILED) {
@@ -18707,10 +19734,16 @@ function peg$parse(input, options) {
18707
19734
  peg$currPos = s0;
18708
19735
  s0 = peg$FAILED;
18709
19736
  }
19737
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
18710
19738
  return s0;
18711
19739
  }
18712
19740
  function peg$parseMachineProperty() {
18713
19741
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;
19742
+ var key = peg$currPos * 164 + 157, cached = peg$resultsCache[key];
19743
+ if (cached) {
19744
+ peg$currPos = cached.nextPos;
19745
+ return cached.result;
19746
+ }
18714
19747
  s0 = peg$currPos;
18715
19748
  s1 = peg$parseWS();
18716
19749
  if (s1 === peg$FAILED) {
@@ -19157,10 +20190,16 @@ function peg$parse(input, options) {
19157
20190
  }
19158
20191
  }
19159
20192
  }
20193
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19160
20194
  return s0;
19161
20195
  }
19162
20196
  function peg$parseRegularArrangeDeclaration() {
19163
20197
  var s0, s1, s2, s3, s4, s5, s6;
20198
+ var key = peg$currPos * 164 + 158, cached = peg$resultsCache[key];
20199
+ if (cached) {
20200
+ peg$currPos = cached.nextPos;
20201
+ return cached.result;
20202
+ }
19164
20203
  s0 = peg$currPos;
19165
20204
  if (input.substr(peg$currPos, 7) === peg$c1515) {
19166
20205
  s1 = peg$c1515;
@@ -19234,10 +20273,16 @@ function peg$parse(input, options) {
19234
20273
  peg$currPos = s0;
19235
20274
  s0 = peg$FAILED;
19236
20275
  }
20276
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19237
20277
  return s0;
19238
20278
  }
19239
20279
  function peg$parseArrangeStartDeclaration() {
19240
20280
  var s0, s1, s2, s3, s4, s5, s6;
20281
+ var key = peg$currPos * 164 + 159, cached = peg$resultsCache[key];
20282
+ if (cached) {
20283
+ peg$currPos = cached.nextPos;
20284
+ return cached.result;
20285
+ }
19241
20286
  s0 = peg$currPos;
19242
20287
  if (input.substr(peg$currPos, 13) === peg$c1518) {
19243
20288
  s1 = peg$c1518;
@@ -19311,10 +20356,16 @@ function peg$parse(input, options) {
19311
20356
  peg$currPos = s0;
19312
20357
  s0 = peg$FAILED;
19313
20358
  }
20359
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19314
20360
  return s0;
19315
20361
  }
19316
20362
  function peg$parseArrangeEndDeclaration() {
19317
20363
  var s0, s1, s2, s3, s4, s5, s6;
20364
+ var key = peg$currPos * 164 + 160, cached = peg$resultsCache[key];
20365
+ if (cached) {
20366
+ peg$currPos = cached.nextPos;
20367
+ return cached.result;
20368
+ }
19318
20369
  s0 = peg$currPos;
19319
20370
  if (input.substr(peg$currPos, 11) === peg$c1521) {
19320
20371
  s1 = peg$c1521;
@@ -19388,10 +20439,16 @@ function peg$parse(input, options) {
19388
20439
  peg$currPos = s0;
19389
20440
  s0 = peg$FAILED;
19390
20441
  }
20442
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19391
20443
  return s0;
19392
20444
  }
19393
20445
  function peg$parseArrangeDeclaration() {
19394
20446
  var s0;
20447
+ var key = peg$currPos * 164 + 161, cached = peg$resultsCache[key];
20448
+ if (cached) {
20449
+ peg$currPos = cached.nextPos;
20450
+ return cached.result;
20451
+ }
19395
20452
  peg$silentFails++;
19396
20453
  s0 = peg$parseArrangeStartDeclaration();
19397
20454
  if (s0 === peg$FAILED) {
@@ -19406,10 +20463,16 @@ function peg$parse(input, options) {
19406
20463
  peg$fail(peg$c1524);
19407
20464
  }
19408
20465
  }
20466
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19409
20467
  return s0;
19410
20468
  }
19411
20469
  function peg$parseTerm() {
19412
20470
  var s0;
20471
+ var key = peg$currPos * 164 + 162, cached = peg$resultsCache[key];
20472
+ if (cached) {
20473
+ peg$currPos = cached.nextPos;
20474
+ return cached.result;
20475
+ }
19413
20476
  s0 = peg$parseExp();
19414
20477
  if (s0 === peg$FAILED) {
19415
20478
  s0 = peg$parseStateDeclaration();
@@ -19429,16 +20492,23 @@ function peg$parse(input, options) {
19429
20492
  }
19430
20493
  }
19431
20494
  }
20495
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19432
20496
  return s0;
19433
20497
  }
19434
20498
  function peg$parseTermList() {
19435
20499
  var s0, s1;
20500
+ var key = peg$currPos * 164 + 163, cached = peg$resultsCache[key];
20501
+ if (cached) {
20502
+ peg$currPos = cached.nextPos;
20503
+ return cached.result;
20504
+ }
19436
20505
  s0 = [];
19437
20506
  s1 = peg$parseTerm();
19438
20507
  while (s1 !== peg$FAILED) {
19439
20508
  s0.push(s1);
19440
20509
  s1 = peg$parseTerm();
19441
20510
  }
20511
+ peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
19442
20512
  return s0;
19443
20513
  }
19444
20514
  peg$result = peg$startRuleFunction();
@@ -21271,7 +22341,7 @@ theme_mapping.set('bold', bold_theme);
21271
22341
  * import { state_name_chars } from 'jssm';
21272
22342
  * state_name_chars.some(r => 'A' >= r.from && 'A' <= r.to); // => true
21273
22343
  */
21274
- // keep in sync with src/ts/fsl_parser.peg:278
22344
+ // keep in sync with src/ts/fsl_parser.peg:267
21275
22345
  const state_name_chars$1 = Object.freeze([
21276
22346
  { from: '0', to: '9' },
21277
22347
  { from: 'a', to: 'z' },
@@ -21304,7 +22374,7 @@ const state_name_chars$1 = Object.freeze([
21304
22374
  * import { state_name_first_chars } from 'jssm';
21305
22375
  * state_name_first_chars.some(r => '+' >= r.from && '+' <= r.to); // => false
21306
22376
  */
21307
- // keep in sync with src/ts/fsl_parser.peg:275
22377
+ // keep in sync with src/ts/fsl_parser.peg:264
21308
22378
  const state_name_first_chars$1 = Object.freeze([
21309
22379
  { from: '0', to: '9' },
21310
22380
  { from: 'a', to: 'z' },
@@ -21352,7 +22422,7 @@ var constants = /*#__PURE__*/Object.freeze({
21352
22422
  * Useful for runtime diagnostics and for embedding in serialized machine
21353
22423
  * snapshots so that deserializers can detect version-skew.
21354
22424
  */
21355
- const version = "5.141.6";
22425
+ const version = "5.141.9";
21356
22426
 
21357
22427
  // whargarbl lots of these return arrays could/should be sets
21358
22428
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -24002,14 +25072,19 @@ class Machine {
24002
25072
  const hook_args = hook_args_obj;
24003
25073
  // 'action' event fires when an action is attempted, regardless of whether
24004
25074
  // it ultimately succeeds — matches the issue spec for observation events.
25075
+ // Gated on live listener count so we skip the detail-object allocation
25076
+ // when nothing is subscribed. Gate is read at fire time, so a listener
25077
+ // registered inside a pre-hook still receives the event. #671
24005
25078
  if (wasAction) {
24006
- this._fire('action', {
24007
- action: newStateOrAction,
24008
- from: this._state,
24009
- to: newState,
24010
- data: this._data,
24011
- next_data: newData
24012
- });
25079
+ if (this._event_listener_count !== 0) {
25080
+ this._fire('action', {
25081
+ action: newStateOrAction,
25082
+ from: this._state,
25083
+ to: newState,
25084
+ data: this._data,
25085
+ next_data: newData
25086
+ });
25087
+ }
24013
25088
  }
24014
25089
  // Captured pre-transition source state so 'data-change' detail and similar
24015
25090
  // events can name where we came from.
@@ -24201,15 +25276,20 @@ class Machine {
24201
25276
  // not valid
24202
25277
  }
24203
25278
  else {
24204
- this._fire('rejection', {
24205
- from: fromState,
24206
- to: newStateOrAction,
24207
- action: fromAction,
24208
- data: oldData,
24209
- next_data: newData,
24210
- reason: 'invalid',
24211
- forced: wasForced
24212
- });
25279
+ // Gated on live listener count so we skip the detail-object allocation
25280
+ // when nothing is subscribed. A listener still receives the event
25281
+ // because the gate is read at fire time. #671
25282
+ if (this._event_listener_count !== 0) {
25283
+ this._fire('rejection', {
25284
+ from: fromState,
25285
+ to: newStateOrAction,
25286
+ action: fromAction,
25287
+ data: oldData,
25288
+ next_data: newData,
25289
+ reason: 'invalid',
25290
+ forced: wasForced
25291
+ });
25292
+ }
24213
25293
  return false;
24214
25294
  }
24215
25295
  // posthooks begin here