lib.coffee-script-1.7.1.min.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jfinal-dreampie Show documentation
Show all versions of jfinal-dreampie Show documentation
jfinal shiro-freemarker plugins
/**
* CoffeeScript Compiler v1.7.1
* http://coffeescript.org
*
* Copyright 2011, Jeremy Ashkenas
* Released under the MIT License
*/
(function (root) {
var CoffeeScript = function () {
function require(e) {
return require[e]
}
return require["./helpers"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r, s, o, a;
e.starts = function (e, t, n) {
return t === e.substr(n, t.length)
}, e.ends = function (e, t, n) {
var i;
return i = t.length, t === e.substr(e.length - i - (n || 0), i)
}, e.repeat = s = function (e, t) {
var n;
for (n = ""; t > 0;)1 & t && (n += e), t >>>= 1, e += e;
return n
}, e.compact = function (e) {
var t, n, i, r;
for (r = [], n = 0, i = e.length; i > n; n++)t = e[n], t && r.push(t);
return r
}, e.count = function (e, t) {
var n, i;
if (n = i = 0, !t.length)return 1 / 0;
for (; i = 1 + e.indexOf(t, i);)n++;
return n
}, e.merge = function (e, t) {
return n(n({}, e), t)
}, n = e.extend = function (e, t) {
var n, i;
for (n in t)i = t[n], e[n] = i;
return e
}, e.flatten = i = function (e) {
var t, n, r, s;
for (n = [], r = 0, s = e.length; s > r; r++)t = e[r], t instanceof Array ? n = n.concat(i(t)) : n.push(t);
return n
}, e.del = function (e, t) {
var n;
return n = e[t], delete e[t], n
}, e.last = r = function (e, t) {
return e[e.length - (t || 0) - 1]
}, e.some = null != (a = Array.prototype.some) ? a : function (e) {
var t, n, i;
for (n = 0, i = this.length; i > n; n++)if (t = this[n], e(t))return!0;
return!1
}, e.invertLiterate = function (e) {
var t, n, i;
return i = !0, n = function () {
var n, r, s, o;
for (s = e.split("\n"), o = [], n = 0, r = s.length; r > n; n++)t = s[n], i && /^([ ]{4}|[ ]{0,3}\t)/.test(t) ? o.push(t) : (i = /^\s*$/.test(t)) ? o.push(t) : o.push("# " + t);
return o
}(), n.join("\n")
}, t = function (e, t) {
return t ? {first_line: e.first_line, first_column: e.first_column, last_line: t.last_line, last_column: t.last_column} : e
}, e.addLocationDataFn = function (e, n) {
return function (i) {
return"object" == typeof i && i.updateLocationDataIfMissing && i.updateLocationDataIfMissing(t(e, n)), i
}
}, e.locationDataToString = function (e) {
var t;
return"2"in e && "first_line"in e[2] ? t = e[2] : "first_line"in e && (t = e), t ? "" + (t.first_line + 1) + ":" + (t.first_column + 1) + "-" + ("" + (t.last_line + 1) + ":" + (t.last_column + 1)) : "No location data"
}, e.baseFileName = function (e, t, n) {
var i, r;
return null == t && (t = !1), null == n && (n = !1), r = n ? /\\|\// : /\//, i = e.split(r), e = i[i.length - 1], t && e.indexOf(".") >= 0 ? (i = e.split("."), i.pop(), "coffee" === i[i.length - 1] && i.length > 1 && i.pop(), i.join(".")) : e
}, e.isCoffee = function (e) {
return/\.((lit)?coffee|coffee\.md)$/.test(e)
}, e.isLiterate = function (e) {
return/\.(litcoffee|coffee\.md)$/.test(e)
}, e.throwSyntaxError = function (e, t) {
var n;
throw n = new SyntaxError(e), n.location = t, n.toString = o, n.stack = "" + n, n
}, e.updateSyntaxError = function (e, t, n) {
return e.toString === o && (e.code || (e.code = t), e.filename || (e.filename = n), e.stack = "" + e), e
}, o = function () {
var e, t, n, i, r, o, a, c, h, l, u, p, d;
return this.code && this.location ? (p = this.location, a = p.first_line, o = p.first_column, h = p.last_line, c = p.last_column, null == h && (h = a), null == c && (c = o), r = this.filename || "[stdin]", e = this.code.split("\n")[a], u = o, i = a === h ? c + 1 : e.length, l = s(" ", u) + s("^", i - u), "undefined" != typeof process && null !== process && (n = process.stdout.isTTY && !process.env.NODE_DISABLE_COLORS), (null != (d = this.colorful) ? d : n) && (t = function (e) {
return"[1;31m" + e + "[0m"
}, e = e.slice(0, u) + t(e.slice(u, i)) + e.slice(i), l = t(l)), "" + r + ":" + (a + 1) + ":" + (o + 1) + ": error: " + this.message + "\n" + e + "\n" + l) : Error.prototype.toString.call(this)
}, e.nameWhitespaceCharacter = function (e) {
switch (e) {
case" ":
return"space";
case"\n":
return"newline";
case"\r":
return"carriage return";
case" ":
return"tab";
default:
return e
}
}
}.call(this), t.exports
}(), require["./rewriter"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f, m, b, g, k, y, v = [].indexOf || function (e) {
for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t;
return-1
}, w = [].slice;
for (f = function (e, t, n) {
var i;
return i = [e, t], i.generated = !0, n && (i.origin = n), i
}, e.Rewriter = function () {
function e() {
}
return e.prototype.rewrite = function (e) {
return this.tokens = e, this.removeLeadingNewlines(), this.closeOpenCalls(), this.closeOpenIndexes(), this.normalizeLines(), this.tagPostfixConditionals(), this.addImplicitBracesAndParens(), this.addLocationDataToGeneratedTokens(), this.tokens
}, e.prototype.scanTokens = function (e) {
var t, n, i;
for (i = this.tokens, t = 0; n = i[t];)t += e.call(this, n, t, i);
return!0
}, e.prototype.detectEnd = function (e, t, n) {
var i, o, a, c, h;
for (a = this.tokens, i = 0; o = a[e];) {
if (0 === i && t.call(this, o, e))return n.call(this, o, e);
if (!o || 0 > i)return n.call(this, o, e - 1);
c = o[0], v.call(s, c) >= 0 ? i += 1 : (h = o[0], v.call(r, h) >= 0 && (i -= 1)), e += 1
}
return e - 1
}, e.prototype.removeLeadingNewlines = function () {
var e, t, n, i, r;
for (r = this.tokens, e = n = 0, i = r.length; i > n && (t = r[e][0], "TERMINATOR" === t); e = ++n);
return e ? this.tokens.splice(0, e) : void 0
}, e.prototype.closeOpenCalls = function () {
var e, t;
return t = function (e, t) {
var n;
return")" === (n = e[0]) || "CALL_END" === n || "OUTDENT" === e[0] && ")" === this.tag(t - 1)
}, e = function (e, t) {
return this.tokens["OUTDENT" === e[0] ? t - 1 : t][0] = "CALL_END"
}, this.scanTokens(function (n, i) {
return"CALL_START" === n[0] && this.detectEnd(i + 1, t, e), 1
})
}, e.prototype.closeOpenIndexes = function () {
var e, t;
return t = function (e) {
var t;
return"]" === (t = e[0]) || "INDEX_END" === t
}, e = function (e) {
return e[0] = "INDEX_END"
}, this.scanTokens(function (n, i) {
return"INDEX_START" === n[0] && this.detectEnd(i + 1, t, e), 1
})
}, e.prototype.matchTags = function () {
var e, t, n, i, r, s, o;
for (t = arguments[0], i = arguments.length >= 2 ? w.call(arguments, 1) : [], e = 0, n = r = 0, s = i.length; s >= 0 ? s > r : r > s; n = s >= 0 ? ++r : --r) {
for (; "HERECOMMENT" === this.tag(t + n + e);)e += 2;
if (null != i[n] && ("string" == typeof i[n] && (i[n] = [i[n]]), o = this.tag(t + n + e), 0 > v.call(i[n], o)))return!1
}
return!0
}, e.prototype.looksObjectish = function (e) {
return this.matchTags(e, "@", null, ":") || this.matchTags(e, null, ":")
}, e.prototype.findTagsBackwards = function (e, t) {
var n, i, o, a, c, h, l;
for (n = []; e >= 0 && (n.length || (a = this.tag(e), 0 > v.call(t, a) && (c = this.tag(e), 0 > v.call(s, c) || this.tokens[e].generated) && (h = this.tag(e), 0 > v.call(u, h))));)i = this.tag(e), v.call(r, i) >= 0 && n.push(this.tag(e)), o = this.tag(e), v.call(s, o) >= 0 && n.length && n.pop(), e -= 1;
return l = this.tag(e), v.call(t, l) >= 0
}, e.prototype.addImplicitBracesAndParens = function () {
var e;
return e = [], this.scanTokens(function (t, i, l) {
var p, d, m, b, g, k, y, w, T, F, L, C, N, E, x, D, S, R, A, I, _, $, O, j, M, B, V, P;
if ($ = t[0], L = (C = i > 0 ? l[i - 1] : [])[0], T = (l.length - 1 > i ? l[i + 1] : [])[0], S = function () {
return e[e.length - 1]
}, R = i, m = function (e) {
return i - R + e
}, b = function () {
var e, t;
return null != (e = S()) ? null != (t = e[2]) ? t.ours : void 0 : void 0
}, g = function () {
var e;
return b() && "(" === (null != (e = S()) ? e[0] : void 0)
}, y = function () {
var e;
return b() && "{" === (null != (e = S()) ? e[0] : void 0)
}, k = function () {
var e;
return b && "CONTROL" === (null != (e = S()) ? e[0] : void 0)
}, A = function (t) {
var n;
return n = null != t ? t : i, e.push(["(", n, {ours: !0}]), l.splice(n, 0, f("CALL_START", "(")), null == t ? i += 1 : void 0
}, p = function () {
return e.pop(), l.splice(i, 0, f("CALL_END", ")")), i += 1
}, I = function (n, r) {
var s;
return null == r && (r = !0), s = null != n ? n : i, e.push(["{", s, {sameLine: !0, startsLine: r, ours: !0}]), l.splice(s, 0, f("{", f(new String("{")), t)), null == n ? i += 1 : void 0
}, d = function (n) {
return n = null != n ? n : i, e.pop(), l.splice(n, 0, f("}", "}", t)), i += 1
}, g() && ("IF" === $ || "TRY" === $ || "FINALLY" === $ || "CATCH" === $ || "CLASS" === $ || "SWITCH" === $))return e.push(["CONTROL", i, {ours: !0}]), m(1);
if ("INDENT" === $ && b()) {
if ("=>" !== L && "->" !== L && "[" !== L && "(" !== L && "," !== L && "{" !== L && "TRY" !== L && "ELSE" !== L && "=" !== L)for (; g();)p();
return k() && e.pop(), e.push([$, i]), m(1)
}
if (v.call(s, $) >= 0)return e.push([$, i]), m(1);
if (v.call(r, $) >= 0) {
for (; b();)g() ? p() : y() ? d() : e.pop();
e.pop()
}
if ((v.call(c, $) >= 0 && t.spaced && !t.stringEnd || "?" === $ && i > 0 && !l[i - 1].spaced) && (v.call(o, T) >= 0 || v.call(h, T) >= 0 && !(null != (O = l[i + 1]) ? O.spaced : void 0) && !(null != (j = l[i + 1]) ? j.newLine : void 0)))return"?" === $ && ($ = t[0] = "FUNC_EXIST"), A(i + 1), m(2);
if (v.call(c, $) >= 0 && this.matchTags(i + 1, "INDENT", null, ":") && !this.findTagsBackwards(i, ["CLASS", "EXTENDS", "IF", "CATCH", "SWITCH", "LEADING_WHEN", "FOR", "WHILE", "UNTIL"]))return A(i + 1), e.push(["INDENT", i + 2]), m(3);
if (":" === $) {
for (N = "@" === this.tag(i - 2) ? i - 2 : i - 1; "HERECOMMENT" === this.tag(N - 2);)N -= 2;
return this.insideForDeclaration = "FOR" === T, _ = 0 === N || (M = this.tag(N - 1), v.call(u, M) >= 0) || l[N - 1].newLine, S() && (B = S(), D = B[0], x = B[1], ("{" === D || "INDENT" === D && "{" === this.tag(x - 1)) && (_ || "," === this.tag(N - 1) || "{" === this.tag(N - 1))) ? m(1) : (I(N, !!_), m(2))
}
if (y() && v.call(u, $) >= 0 && (S()[2].sameLine = !1), w = "OUTDENT" === L || C.newLine, v.call(a, $) >= 0 || v.call(n, $) >= 0 && w)for (; b();)if (V = S(), D = V[0], x = V[1], P = V[2], E = P.sameLine, _ = P.startsLine, g() && "," !== L)p(); else if (y() && !this.insideForDeclaration && E && "TERMINATOR" !== $ && ":" !== L && d()); else {
if (!y() || "TERMINATOR" !== $ || "," === L || _ && this.looksObjectish(i + 1))break;
d()
}
if (!("," !== $ || this.looksObjectish(i + 1) || !y() || this.insideForDeclaration || "TERMINATOR" === T && this.looksObjectish(i + 2)))for (F = "OUTDENT" === T ? 1 : 0; y();)d(i + F);
return m(1)
})
}, e.prototype.addLocationDataToGeneratedTokens = function () {
return this.scanTokens(function (e, t, n) {
var i, r, s, o, a, c;
return e[2] ? 1 : e.generated || e.explicit ? ("{" === e[0] && (s = null != (a = n[t + 1]) ? a[2] : void 0) ? (r = s.first_line, i = s.first_column) : (o = null != (c = n[t - 1]) ? c[2] : void 0) ? (r = o.last_line, i = o.last_column) : r = i = 0, e[2] = {first_line: r, first_column: i, last_line: r, last_column: i}, 1) : 1
})
}, e.prototype.normalizeLines = function () {
var e, t, r, s, o;
return o = r = s = null, t = function (e, t) {
var r, s, a, c;
return";" !== e[1] && (r = e[0], v.call(p, r) >= 0) && !("TERMINATOR" === e[0] && (s = this.tag(t + 1), v.call(i, s) >= 0)) && !("ELSE" === e[0] && "THEN" !== o) && !!("CATCH" !== (a = e[0]) && "FINALLY" !== a || "->" !== o && "=>" !== o) || (c = e[0], v.call(n, c) >= 0 && this.tokens[t - 1].newLine)
}, e = function (e, t) {
return this.tokens.splice("," === this.tag(t - 1) ? t - 1 : t, 0, s)
}, this.scanTokens(function (n, a, c) {
var h, l, u, p, f, m;
if (l = n[0], "TERMINATOR" === l) {
if ("ELSE" === this.tag(a + 1) && "OUTDENT" !== this.tag(a - 1))return c.splice.apply(c, [a, 1].concat(w.call(this.indentation()))), 1;
if (p = this.tag(a + 1), v.call(i, p) >= 0)return c.splice(a, 1), 0
}
if ("CATCH" === l)for (h = u = 1; 2 >= u; h = ++u)if ("OUTDENT" === (f = this.tag(a + h)) || "TERMINATOR" === f || "FINALLY" === f)return c.splice.apply(c, [a + h, 0].concat(w.call(this.indentation()))), 2 + h;
return v.call(d, l) >= 0 && "INDENT" !== this.tag(a + 1) && ("ELSE" !== l || "IF" !== this.tag(a + 1)) ? (o = l, m = this.indentation(c[a]), r = m[0], s = m[1], "THEN" === o && (r.fromThen = !0), c.splice(a + 1, 0, r), this.detectEnd(a + 2, t, e), "THEN" === l && c.splice(a, 1), 1) : 1
})
}, e.prototype.tagPostfixConditionals = function () {
var e, t, n;
return n = null, t = function (e, t) {
var n, i;
return i = e[0], n = this.tokens[t - 1][0], "TERMINATOR" === i || "INDENT" === i && 0 > v.call(d, n)
}, e = function (e) {
return"INDENT" !== e[0] || e.generated && !e.fromThen ? n[0] = "POST_" + n[0] : void 0
}, this.scanTokens(function (i, r) {
return"IF" !== i[0] ? 1 : (n = i, this.detectEnd(r + 1, t, e), 1)
})
}, e.prototype.indentation = function (e) {
var t, n;
return t = ["INDENT", 2], n = ["OUTDENT", 2], e ? (t.generated = n.generated = !0, t.origin = n.origin = e) : t.explicit = n.explicit = !0, [t, n]
}, e.prototype.generate = f, e.prototype.tag = function (e) {
var t;
return null != (t = this.tokens[e]) ? t[0] : void 0
}, e
}(), t = [
["(", ")"],
["[", "]"],
["{", "}"],
["INDENT", "OUTDENT"],
["CALL_START", "CALL_END"],
["PARAM_START", "PARAM_END"],
["INDEX_START", "INDEX_END"]
], e.INVERSES = l = {}, s = [], r = [], g = 0, k = t.length; k > g; g++)y = t[g], m = y[0], b = y[1], s.push(l[b] = m), r.push(l[m] = b);
i = ["CATCH", "THEN", "ELSE", "FINALLY"].concat(r), c = ["IDENTIFIER", "SUPER", ")", "CALL_END", "]", "INDEX_END", "@", "THIS"], o = ["IDENTIFIER", "NUMBER", "STRING", "JS", "REGEX", "NEW", "PARAM_START", "CLASS", "IF", "TRY", "SWITCH", "THIS", "BOOL", "NULL", "UNDEFINED", "UNARY", "UNARY_MATH", "SUPER", "THROW", "@", "->", "=>", "[", "(", "{", "--", "++"], h = ["+", "-"], a = ["POST_IF", "FOR", "WHILE", "UNTIL", "WHEN", "BY", "LOOP", "TERMINATOR"], d = ["ELSE", "->", "=>", "TRY", "FINALLY", "THEN"], p = ["TERMINATOR", "CATCH", "FINALLY", "ELSE", "OUTDENT", "LEADING_WHEN"], u = ["TERMINATOR", "INDENT", "OUTDENT"], n = [".", "?.", "::", "?::"]
}.call(this), t.exports
}(), require["./lexer"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f, m, b, g, k, y, v, w, T, F, L, C, N, E, x, D, S, R, A, I, _, $, O, j, M, B, V, P, U, H, q, G, W, X, Y, z, K, J, Z, Q, et, tt, nt = [].indexOf || function (e) {
for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t;
return-1
};
et = require("./rewriter"), j = et.Rewriter, y = et.INVERSES, tt = require("./helpers"), W = tt.count, Z = tt.starts, G = tt.compact, z = tt.last, J = tt.repeat, X = tt.invertLiterate, K = tt.locationDataToString, Q = tt.throwSyntaxError, e.Lexer = N = function () {
function e() {
}
return e.prototype.tokenize = function (e, t) {
var n, i, r, s;
for (null == t && (t = {}), this.literate = t.literate, this.indent = 0, this.baseIndent = 0, this.indebt = 0, this.outdebt = 0, this.indents = [], this.ends = [], this.tokens = [], this.chunkLine = t.line || 0, this.chunkColumn = t.column || 0, e = this.clean(e), i = 0; this.chunk = e.slice(i);)n = this.identifierToken() || this.commentToken() || this.whitespaceToken() || this.lineToken() || this.heredocToken() || this.stringToken() || this.numberToken() || this.regexToken() || this.jsToken() || this.literalToken(), s = this.getLineAndColumnFromChunk(n), this.chunkLine = s[0], this.chunkColumn = s[1], i += n;
return this.closeIndentation(), (r = this.ends.pop()) && this.error("missing " + r), t.rewrite === !1 ? this.tokens : (new j).rewrite(this.tokens)
}, e.prototype.clean = function (e) {
return e.charCodeAt(0) === t && (e = e.slice(1)), e = e.replace(/\r/g, "").replace(P, ""), q.test(e) && (e = "\n" + e, this.chunkLine--), this.literate && (e = X(e)), e
}, e.prototype.identifierToken = function () {
var e, t, n, i, r, c, h, l, u, p, d, f, m, g;
return(h = b.exec(this.chunk)) ? (c = h[0], i = h[1], e = h[2], r = i.length, l = void 0, "own" === i && "FOR" === this.tag() ? (this.token("OWN", i), i.length) : (n = e || (u = z(this.tokens)) && ("." === (f = u[0]) || "?." === f || "::" === f || "?::" === f || !u.spaced && "@" === u[0]), p = "IDENTIFIER", !n && (nt.call(T, i) >= 0 || nt.call(a, i) >= 0) && (p = i.toUpperCase(), "WHEN" === p && (m = this.tag(), nt.call(F, m) >= 0) ? p = "LEADING_WHEN" : "FOR" === p ? this.seenFor = !0 : "UNLESS" === p ? p = "IF" : nt.call(U, p) >= 0 ? p = "UNARY" : nt.call($, p) >= 0 && ("INSTANCEOF" !== p && this.seenFor ? (p = "FOR" + p, this.seenFor = !1) : (p = "RELATION", "!" === this.value() && (l = this.tokens.pop(), i = "!" + i)))), nt.call(w, i) >= 0 && (n ? (p = "IDENTIFIER", i = new String(i), i.reserved = !0) : nt.call(O, i) >= 0 && this.error('reserved word "' + i + '"')), n || (nt.call(s, i) >= 0 && (i = o[i]), p = function () {
switch (i) {
case"!":
return"UNARY";
case"==":
case"!=":
return"COMPARE";
case"&&":
case"||":
return"LOGIC";
case"true":
case"false":
return"BOOL";
case"break":
case"continue":
return"STATEMENT";
default:
return p
}
}()), d = this.token(p, i, 0, r), l && (g = [l[2].first_line, l[2].first_column], d[2].first_line = g[0], d[2].first_column = g[1]), e && (t = c.lastIndexOf(":"), this.token(":", ":", t, e.length)), c.length)) : 0
}, e.prototype.numberToken = function () {
var e, t, n, i, r;
return(n = A.exec(this.chunk)) ? (i = n[0], /^0[BOX]/.test(i) ? this.error("radix prefix '" + i + "' must be lowercase") : /E/.test(i) && !/^0x/.test(i) ? this.error("exponential notation '" + i + "' must be indicated with a lowercase 'e'") : /^0\d*[89]/.test(i) ? this.error("decimal literal '" + i + "' must not be prefixed with '0'") : /^0\d+/.test(i) && this.error("octal literal '" + i + "' must be prefixed with '0o'"), t = i.length, (r = /^0o([0-7]+)/.exec(i)) && (i = "0x" + parseInt(r[1], 8).toString(16)), (e = /^0b([01]+)/.exec(i)) && (i = "0x" + parseInt(e[1], 2).toString(16)), this.token("NUMBER", i, 0, t), t) : 0
}, e.prototype.stringToken = function () {
var e, t, n, i;
switch (t = this.chunk.charAt(0)) {
case"'":
n = B.exec(this.chunk)[0];
break;
case'"':
n = this.balancedString(this.chunk, '"')
}
return n ? (i = this.removeNewlines(n.slice(1, -1)), '"' === t && n.indexOf("#{",1)>0?this.interpolateString(i,{strOffset:1,lexedLength:n.length}):this.token("STRING",t+this.escapeLines(i)+t,0,n.length),(e=/^(?:\\.|[^\\])*\\(?:0[0-7]|[1-7])/.test(n))&&this.error("octal escape sequences "+n+" are not allowed"), n.length) : 0
}, e.prototype.heredocToken = function () {
var e, t, n, i;
return(n = u.exec(this.chunk)) ? (t = n[0], i = t.charAt(0), e = this.sanitizeHeredoc(n[2], {quote: i, indent: null}), '"' === i && e.indexOf("#{")>=0?this.interpolateString(e,{heredoc:!0,strOffset:3,lexedLength:t.length}):this.token("STRING", this.makeString(e, i, !0), 0, t.length), t.length) : 0
}, e.prototype.commentToken = function () {
var e, t, n;
return(n = this.chunk.match(c)) ? (e = n[0], t = n[1], t && this.token("HERECOMMENT", this.sanitizeHeredoc(t, {herecomment: !0, indent: J(" ", this.indent)}), 0, e.length), e.length) : 0
}, e.prototype.jsToken = function () {
var e, t;
return"`" === this.chunk.charAt(0) && (e = v.exec(this.chunk)) ? (this.token("JS", (t = e[0]).slice(1, -1), 0, t.length), t.length) : 0
}, e.prototype.regexToken = function () {
var e, t, n, i, r, s, o;
return"/" !== this.chunk.charAt(0) ? 0 : (t = this.heregexToken()) ? t : (i = z(this.tokens), i && (s = i[0], nt.call(i.spaced ? S : R, s) >= 0) ? 0 : (n = _.exec(this.chunk)) ? (o = n, n = o[0], r = o[1], e = o[2], "//" === r ? 0 : ("/*" === r.slice(0, 2) && this.error("regular expressions cannot begin with `*`"), this.token("REGEX", "" + r + e, 0, n.length), n.length)) : 0)
}, e.prototype.heregexToken = function () {
var e, t, n, i, r, s, o, a, c, h, l, u, p, d, b, g, k;
if (!(r = f.exec(this.chunk)))return 0;
if (i = r[0], e = r[1], t = r[2], 0 > e.indexOf("#{"))return a=this.escapeLines(e.replace(m,"$1$2").replace(/\//g,"\\/"),!0),a.match(/^\*/)&&this.error("regular expressions cannot begin with `*`"),this.token("REGEX","/"+(a||"(?:)")+"/" + t, 0, i.length), i.length;
for (this.token("IDENTIFIER", "RegExp", 0, 0), this.token("CALL_START", "(", 0, 0), l = [], b = this.interpolateString(e, {regex: !0}), p = 0, d = b.length; d > p; p++) {
if (h = b[p], c = h[0], u = h[1], "TOKENS" === c)l.push.apply(l, u); else if ("NEOSTRING" === c) {
if (!(u = u.replace(m, "$1$2")))continue;
u = u.replace(/\\/g, "\\\\"), h[0] = "STRING", h[1] = this.makeString(u, '"', !0), l.push(h)
} else this.error("Unexpected " + c);
o = z(this.tokens), s = ["+", "+"], s[2] = o[2], l.push(s)
}
return l.pop(), "STRING" !== (null != (g = l[0]) ? g[0] : void 0) && (this.token("STRING", '""', 0, 0), this.token("+", "+", 0, 0)), (k = this.tokens).push.apply(k, l), t && (n = i.lastIndexOf(t), this.token(",", ",", n, 0), this.token("STRING", '"' + t + '"', n, t.length)), this.token(")", ")", i.length - 1, 0), i.length
}, e.prototype.lineToken = function () {
var e, t, n, i, r;
if (!(n = D.exec(this.chunk)))return 0;
if (t = n[0], this.seenFor = !1, r = t.length - 1 - t.lastIndexOf("\n"), i = this.unfinished(), r - this.indebt === this.indent)return i ? this.suppressNewlines() : this.newlineToken(0), t.length;
if (r > this.indent) {
if (i)return this.indebt = r - this.indent, this.suppressNewlines(), t.length;
if (!this.tokens.length)return this.baseIndent = this.indent = r, t.length;
e = r - this.indent + this.outdebt, this.token("INDENT", e, t.length - r, r), this.indents.push(e), this.ends.push("OUTDENT"), this.outdebt = this.indebt = 0, this.indent = r
} else this.baseIndent > r ? this.error("missing indentation", t.length) : (this.indebt = 0, this.outdentToken(this.indent - r, i, t.length));
return t.length
}, e.prototype.outdentToken = function (e, t, n) {
var i, r, s, o;
for (i = this.indent - e; e > 0;)s = this.indents[this.indents.length - 1], s ? s === this.outdebt ? (e -= this.outdebt, this.outdebt = 0) : this.outdebt > s ? (this.outdebt -= s, e -= s) : (r = this.indents.pop() + this.outdebt, n && (o = this.chunk[n], nt.call(g, o) >= 0) && (i -= r - e, e = r), this.outdebt = 0, this.pair("OUTDENT"), this.token("OUTDENT", e, 0, n), e -= r) : e = 0;
for (r && (this.outdebt -= e); ";" === this.value();)this.tokens.pop();
return"TERMINATOR" === this.tag() || t || this.token("TERMINATOR", "\n", n, 0), this.indent = i, this
}, e.prototype.whitespaceToken = function () {
var e, t, n;
return(e = q.exec(this.chunk)) || (t = "\n" === this.chunk.charAt(0)) ? (n = z(this.tokens), n && (n[e ? "spaced" : "newLine"] = !0), e ? e[0].length : 0) : 0
}, e.prototype.newlineToken = function (e) {
for (; ";" === this.value();)this.tokens.pop();
return"TERMINATOR" !== this.tag() && this.token("TERMINATOR", "\n", e, 0), this
}, e.prototype.suppressNewlines = function () {
return"\\" === this.value() && this.tokens.pop(), this
}, e.prototype.literalToken = function () {
var e, t, n, s, o, a, c, u;
if ((e = I.exec(this.chunk)) ? (s = e[0], r.test(s) && this.tagParameters()) : s = this.chunk.charAt(0), n = s, t = z(this.tokens), "=" === s && t && (!t[1].reserved && (o = t[1], nt.call(w, o) >= 0) && this.error('reserved word "' + this.value() + "\" can't be assigned"), "||" === (a = t[1]) || "&&" === a))return t[0] = "COMPOUND_ASSIGN", t[1] += "=", s.length;
if (";" === s)this.seenFor = !1, n = "TERMINATOR"; else if (nt.call(E, s) >= 0)n = "MATH"; else if (nt.call(h, s) >= 0)n = "COMPARE"; else if (nt.call(l, s) >= 0)n = "COMPOUND_ASSIGN"; else if (nt.call(U, s) >= 0)n = "UNARY"; else if (nt.call(H, s) >= 0)n = "UNARY_MATH"; else if (nt.call(M, s) >= 0)n = "SHIFT"; else if (nt.call(C, s) >= 0 || "?" === s && (null != t ? t.spaced : void 0))n = "LOGIC"; else if (t && !t.spaced)if ("(" === s && (c = t[0], nt.call(i, c) >= 0))"?" === t[0] && (t[0] = "FUNC_EXIST"), n = "CALL_START"; else if ("[" === s && (u = t[0], nt.call(k, u) >= 0))switch (n = "INDEX_START", t[0]) {
case"?":
t[0] = "INDEX_SOAK"
}
switch (s) {
case"(":
case"{":
case"[":
this.ends.push(y[s]);
break;
case")":
case"}":
case"]":
this.pair(s)
}
return this.token(n, s), s.length
}, e.prototype.sanitizeHeredoc = function (e, t) {
var n, i, r, s, o;
if (r = t.indent, i = t.herecomment) {
if (p.test(e) && this.error('block comment cannot contain "*/", starting'), 0 > e.indexOf("\n"))return e
} else for (; s = d.exec(e);)n = s[1], (null === r || (o = n.length) > 0 && r.length > o) && (r = n);
return r && (e = e.replace(RegExp("\\n" + r, "g"), "\n")), i || (e = e.replace(/^\n/, "")), e
}, e.prototype.tagParameters = function () {
var e, t, n, i;
if (")" !== this.tag())return this;
for (t = [], i = this.tokens, e = i.length, i[--e][0] = "PARAM_END"; n = i[--e];)switch (n[0]) {
case")":
t.push(n);
break;
case"(":
case"CALL_START":
if (!t.length)return"(" === n[0] ? (n[0] = "PARAM_START", this) : this;
t.pop()
}
return this
}, e.prototype.closeIndentation = function () {
return this.outdentToken(this.indent)
}, e.prototype.balancedString = function (e, t) {
var n, i, r, s, o, a, c, h;
for (n = 0, a = [t], i = c = 1, h = e.length; h >= 1 ? h > c : c > h; i = h >= 1 ? ++c : --c)if (n)--n; else {
switch (r = e.charAt(i)) {
case"\\":
++n;
continue;
case t:
if (a.pop(), !a.length)return e.slice(0, +i + 1 || 9e9);
t = a[a.length - 1];
continue
}
"}" !== t || '"' !== r && "'" !== r ? "}" === t && "/" === r && (s = f.exec(e.slice(i)) || _.exec(e.slice(i))) ? n += s[0].length - 1 : "}" === t && "{" === r ? a.push(t = "}") : '"' === t && "#" === o && "{" === r && a.push(t = "}") : a.push(t = r), o = r
}
return this.error("missing " + a.pop() + ", starting")
}, e.prototype.interpolateString = function (t, n) {
var i, r, s, o, a, c, h, l, u, p, d, f, m, b, g, k, y, v, w, T, F, L, C, N, E, x, D, S, R;
for (null == n && (n = {}), o = n.heredoc, v = n.regex, b = n.offsetInChunk, T = n.strOffset, p = n.lexedLength, b || (b = 0), T || (T = 0), p || (p = t.length), C = [], g = 0, a = -1; u = t.charAt(a += 1);)"\\" !== u ? "#" === u && "{" === t.charAt(a + 1) && (s = this.balancedString(t.slice(a + 1), "}")) && (a > g && C.push(this.makeToken("NEOSTRING", t.slice(g, a), T + g)), r || (r = this.makeToken("", "string interpolation", b + a + 1, 2)), c = s.slice(1, -1), c.length && (D = this.getLineAndColumnFromChunk(T + a + 1), d = D[0], i = D[1], m = (new e).tokenize(c, {line: d, column: i, rewrite: !1}), y = m.pop(), "TERMINATOR" === (null != (S = m[0]) ? S[0] : void 0) && (y = m.shift()), (l = m.length) && (l > 1 && (m.unshift(this.makeToken("(", "(", T + a + 1, 0)), m.push(this.makeToken(")", ")", T + a + 1 + c.length, 0))), C.push(["TOKENS", m]))), a += s.length, g = a + 1) : a += 1;
if (a > g && t.length > g && C.push(this.makeToken("NEOSTRING", t.slice(g), T + g)), v)return C;
if (!C.length)return this.token("STRING", '""', b, p);
for ("NEOSTRING" !== C[0][0] && C.unshift(this.makeToken("NEOSTRING", "", b)), (h = C.length > 1) && this.token("(", "(", b, 0, r), a = E = 0, x = C.length; x > E; a = ++E)L = C[a], F = L[0], N = L[1], a && (a && (k = this.token("+", "+")), f = "TOKENS" === F ? N[0] : L, k[2] = {first_line: f[2].first_line, first_column: f[2].first_column, last_line: f[2].first_line, last_column: f[2].first_column}), "TOKENS" === F ? (R = this.tokens).push.apply(R, N) : "NEOSTRING" === F ? (L[0] = "STRING", L[1] = this.makeString(N, '"', o), this.tokens.push(L)) : this.error("Unexpected " + F);
return h && (w = this.makeToken(")", ")", b + p, 0), w.stringEnd = !0, this.tokens.push(w)), C
}, e.prototype.pair = function (e) {
var t;
return e !== (t = z(this.ends)) ? ("OUTDENT" !== t && this.error("unmatched " + e), this.outdentToken(z(this.indents), !0), this.pair(e)) : this.ends.pop()
}, e.prototype.getLineAndColumnFromChunk = function (e) {
var t, n, i, r;
return 0 === e ? [this.chunkLine, this.chunkColumn] : (r = e >= this.chunk.length ? this.chunk : this.chunk.slice(0, +(e - 1) + 1 || 9e9), n = W(r, "\n"), t = this.chunkColumn, n > 0 ? (i = r.split("\n"), t = z(i).length) : t += r.length, [this.chunkLine + n, t])
}, e.prototype.makeToken = function (e, t, n, i) {
var r, s, o, a, c;
return null == n && (n = 0), null == i && (i = t.length), s = {}, a = this.getLineAndColumnFromChunk(n), s.first_line = a[0], s.first_column = a[1], r = Math.max(0, i - 1), c = this.getLineAndColumnFromChunk(n + r), s.last_line = c[0], s.last_column = c[1], o = [e, t, s]
}, e.prototype.token = function (e, t, n, i, r) {
var s;
return s = this.makeToken(e, t, n, i), r && (s.origin = r), this.tokens.push(s), s
}, e.prototype.tag = function (e, t) {
var n;
return(n = z(this.tokens, e)) && (t ? n[0] = t : n[0])
}, e.prototype.value = function (e, t) {
var n;
return(n = z(this.tokens, e)) && (t ? n[1] = t : n[1])
}, e.prototype.unfinished = function () {
var e;
return L.test(this.chunk) || "\\" === (e = this.tag()) || "." === e || "?." === e || "?::" === e || "UNARY" === e || "MATH" === e || "UNARY_MATH" === e || "+" === e || "-" === e || "**" === e || "SHIFT" === e || "RELATION" === e || "COMPARE" === e || "LOGIC" === e || "THROW" === e || "EXTENDS" === e
}, e.prototype.removeNewlines = function (e) {
return e.replace(/^\s*\n\s*/, "").replace(/([^\\]|\\\\)\s*\n\s*$/, "$1")
}, e.prototype.escapeLines = function (e, t) {
return e = e.replace(/\\[^\S\n]*(\n|\\)\s*/g, function (e, t) {
return"\n" === t ? "" : e
}), t ? e.replace(x, "\\n") : e.replace(/\s*\n\s*/g, " ")
}, e.prototype.makeString = function (e, t, n) {
return e ? (e = e.replace(RegExp("\\\\(" + t + "|\\\\)", "g"), function (e, n) {
return n === t ? n : e
}), e = e.replace(RegExp("" + t, "g"), "\\$&"), t + this.escapeLines(e, n) + t) : t + t
}, e.prototype.error = function (e, t) {
var n, i, r;
return null == t && (t = 0), r = this.getLineAndColumnFromChunk(t), i = r[0], n = r[1], Q(e, {first_line: i, first_column: n})
}, e
}(), T = ["true", "false", "null", "this", "new", "delete", "typeof", "in", "instanceof", "return", "throw", "break", "continue", "debugger", "if", "else", "switch", "for", "while", "do", "try", "catch", "finally", "class", "extends", "super"], a = ["undefined", "then", "unless", "until", "loop", "of", "by", "when"], o = {and: "&&", or: "||", is: "==", isnt: "!=", not: "!", yes: "true", no: "false", on: "true", off: "false"}, s = function () {
var e;
e = [];
for (Y in o)e.push(Y);
return e
}(), a = a.concat(s), O = ["case", "default", "function", "var", "void", "with", "const", "let", "enum", "export", "import", "native", "__hasProp", "__extends", "__slice", "__bind", "__indexOf", "implements", "interface", "package", "private", "protected", "public", "static", "yield"], V = ["arguments", "eval"], w = T.concat(O).concat(V), e.RESERVED = O.concat(T).concat(a).concat(V), e.STRICT_PROSCRIBED = V, t = 65279, b = /^([$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)([^\n\S]*:(?!:))?/, A = /^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i, u = /^("""|''')((?:\\[\s\S]|[^\\])*?)(?:\n[^\n\S]*)?\1/, I = /^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/, q = /^[^\n\S]+/, c = /^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/, r = /^[-=]>/, D = /^(?:\n[^\n\S]*)+/, B = /^'[^\\']*(?:\\[\s\S][^\\']*)*'/, v = /^`[^\\`]*(?:\\.[^\\`]*)*`/, _ = /^(\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)([imgy]{0,4})(?!\w)/, f = /^\/{3}((?:\\?[\s\S])+?)\/{3}([imgy]{0,4})(?!\w)/, m = /((?:\\\\)+)|\\(\s|\/)|\s+(?:#.*)?/g, x = /\n/g, d = /\n+([^\n\S]*)/g, p = /\*\//, L = /^\s*(?:,|\??\.(?![.\d])|::)/, P = /\s+$/, l = ["-=", "+=", "/=", "*=", "%=", "||=", "&&=", "?=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", "**=", "//=", "%%="], U = ["NEW", "TYPEOF", "DELETE", "DO"], H = ["!", "~"], C = ["&&", "||", "&", "|", "^"], M = ["<<", ">>", ">>>"], h = ["==", "!=", "<", ">", "<=", ">="], E = ["*", "/", "%", "//", "%%"], $ = ["IN", "OF", "INSTANCEOF"], n = ["TRUE", "FALSE"], S = ["NUMBER", "REGEX", "BOOL", "NULL", "UNDEFINED", "++", "--"], R = S.concat(")", "}", "THIS", "IDENTIFIER", "STRING", "]"), i = ["IDENTIFIER", "STRING", "REGEX", ")", "]", "}", "?", "::", "@", "THIS", "SUPER"], k = i.concat("NUMBER", "BOOL", "NULL", "UNDEFINED"), F = ["INDENT", "OUTDENT", "TERMINATOR"], g = [")", "}", "]"]
}.call(this), t.exports
}(), require["./parser"] = function () {
var e = {}, t = {exports: e}, n = function () {
function e() {
this.yy = {}
}
var t = {trace: function () {
}, yy: {}, symbols_: {error: 2, Root: 3, Body: 4, Line: 5, TERMINATOR: 6, Expression: 7, Statement: 8, Return: 9, Comment: 10, STATEMENT: 11, Value: 12, Invocation: 13, Code: 14, Operation: 15, Assign: 16, If: 17, Try: 18, While: 19, For: 20, Switch: 21, Class: 22, Throw: 23, Block: 24, INDENT: 25, OUTDENT: 26, Identifier: 27, IDENTIFIER: 28, AlphaNumeric: 29, NUMBER: 30, STRING: 31, Literal: 32, JS: 33, REGEX: 34, DEBUGGER: 35, UNDEFINED: 36, NULL: 37, BOOL: 38, Assignable: 39, "=": 40, AssignObj: 41, ObjAssignable: 42, ":": 43, ThisProperty: 44, RETURN: 45, HERECOMMENT: 46, PARAM_START: 47, ParamList: 48, PARAM_END: 49, FuncGlyph: 50, "->": 51, "=>": 52, OptComma: 53, ",": 54, Param: 55, ParamVar: 56, "...": 57, Array: 58, Object: 59, Splat: 60, SimpleAssignable: 61, Accessor: 62, Parenthetical: 63, Range: 64, This: 65, ".": 66, "?.": 67, "::": 68, "?::": 69, Index: 70, INDEX_START: 71, IndexValue: 72, INDEX_END: 73, INDEX_SOAK: 74, Slice: 75, "{": 76, AssignList: 77, "}": 78, CLASS: 79, EXTENDS: 80, OptFuncExist: 81, Arguments: 82, SUPER: 83, FUNC_EXIST: 84, CALL_START: 85, CALL_END: 86, ArgList: 87, THIS: 88, "@": 89, "[": 90, "]": 91, RangeDots: 92, "..": 93, Arg: 94, SimpleArgs: 95, TRY: 96, Catch: 97, FINALLY: 98, CATCH: 99, THROW: 100, "(": 101, ")": 102, WhileSource: 103, WHILE: 104, WHEN: 105, UNTIL: 106, Loop: 107, LOOP: 108, ForBody: 109, FOR: 110, ForStart: 111, ForSource: 112, ForVariables: 113, OWN: 114, ForValue: 115, FORIN: 116, FOROF: 117, BY: 118, SWITCH: 119, Whens: 120, ELSE: 121, When: 122, LEADING_WHEN: 123, IfBlock: 124, IF: 125, POST_IF: 126, UNARY: 127, UNARY_MATH: 128, "-": 129, "+": 130, "--": 131, "++": 132, "?": 133, MATH: 134, "**": 135, SHIFT: 136, COMPARE: 137, LOGIC: 138, RELATION: 139, COMPOUND_ASSIGN: 140, $accept: 0, $end: 1}, terminals_: {2: "error", 6: "TERMINATOR", 11: "STATEMENT", 25: "INDENT", 26: "OUTDENT", 28: "IDENTIFIER", 30: "NUMBER", 31: "STRING", 33: "JS", 34: "REGEX", 35: "DEBUGGER", 36: "UNDEFINED", 37: "NULL", 38: "BOOL", 40: "=", 43: ":", 45: "RETURN", 46: "HERECOMMENT", 47: "PARAM_START", 49: "PARAM_END", 51: "->", 52: "=>", 54: ",", 57: "...", 66: ".", 67: "?.", 68: "::", 69: "?::", 71: "INDEX_START", 73: "INDEX_END", 74: "INDEX_SOAK", 76: "{", 78: "}", 79: "CLASS", 80: "EXTENDS", 83: "SUPER", 84: "FUNC_EXIST", 85: "CALL_START", 86: "CALL_END", 88: "THIS", 89: "@", 90: "[", 91: "]", 93: "..", 96: "TRY", 98: "FINALLY", 99: "CATCH", 100: "THROW", 101: "(", 102: ")", 104: "WHILE", 105: "WHEN", 106: "UNTIL", 108: "LOOP", 110: "FOR", 114: "OWN", 116: "FORIN", 117: "FOROF", 118: "BY", 119: "SWITCH", 121: "ELSE", 123: "LEADING_WHEN", 125: "IF", 126: "POST_IF", 127: "UNARY", 128: "UNARY_MATH", 129: "-", 130: "+", 131: "--", 132: "++", 133: "?", 134: "MATH", 135: "**", 136: "SHIFT", 137: "COMPARE", 138: "LOGIC", 139: "RELATION", 140: "COMPOUND_ASSIGN"}, productions_: [0, [3, 0], [3, 1], [4, 1], [4, 3], [4, 2], [5, 1], [5, 1], [8, 1], [8, 1], [8, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [24, 2], [24, 3], [27, 1], [29, 1], [29, 1], [32, 1], [32, 1], [32, 1], [32, 1], [32, 1], [32, 1], [32, 1], [16, 3], [16, 4], [16, 5], [41, 1], [41, 3], [41, 5], [41, 1], [42, 1], [42, 1], [42, 1], [9, 2], [9, 1], [10, 1], [14, 5], [14, 2], [50, 1], [50, 1], [53, 0], [53, 1], [48, 0], [48, 1], [48, 3], [48, 4], [48, 6], [55, 1], [55, 2], [55, 3], [55, 1], [56, 1], [56, 1], [56, 1], [56, 1], [60, 2], [61, 1], [61, 2], [61, 2], [61, 1], [39, 1], [39, 1], [39, 1], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [62, 2], [62, 2], [62, 2], [62, 2], [62, 1], [62, 1], [70, 3], [70, 2], [72, 1], [72, 1], [59, 4], [77, 0], [77, 1], [77, 3], [77, 4], [77, 6], [22, 1], [22, 2], [22, 3], [22, 4], [22, 2], [22, 3], [22, 4], [22, 5], [13, 3], [13, 3], [13, 1], [13, 2], [81, 0], [81, 1], [82, 2], [82, 4], [65, 1], [65, 1], [44, 2], [58, 2], [58, 4], [92, 1], [92, 1], [64, 5], [75, 3], [75, 2], [75, 2], [75, 1], [87, 1], [87, 3], [87, 4], [87, 4], [87, 6], [94, 1], [94, 1], [94, 1], [95, 1], [95, 3], [18, 2], [18, 3], [18, 4], [18, 5], [97, 3], [97, 3], [97, 2], [23, 2], [63, 3], [63, 5], [103, 2], [103, 4], [103, 2], [103, 4], [19, 2], [19, 2], [19, 2], [19, 1], [107, 2], [107, 2], [20, 2], [20, 2], [20, 2], [109, 2], [109, 2], [111, 2], [111, 3], [115, 1], [115, 1], [115, 1], [115, 1], [113, 1], [113, 3], [112, 2], [112, 2], [112, 4], [112, 4], [112, 4], [112, 6], [112, 6], [21, 5], [21, 7], [21, 4], [21, 6], [120, 1], [120, 2], [122, 3], [122, 4], [124, 3], [124, 5], [17, 1], [17, 3], [17, 3], [17, 3], [15, 2], [15, 2], [15, 2], [15, 2], [15, 2], [15, 2], [15, 2], [15, 2], [15, 2], [15, 3], [15, 3], [15, 3], [15, 3], [15, 3], [15, 3], [15, 3], [15, 3], [15, 3], [15, 5], [15, 4], [15, 3]], performAction: function (e, t, n, i, r, s, o) {
var a = s.length - 1;
switch (r) {
case 1:
return this.$ = i.addLocationDataFn(o[a], o[a])(new i.Block);
case 2:
return this.$ = s[a];
case 3:
this.$ = i.addLocationDataFn(o[a], o[a])(i.Block.wrap([s[a]]));
break;
case 4:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 2].push(s[a]));
break;
case 5:
this.$ = s[a - 1];
break;
case 6:
this.$ = s[a];
break;
case 7:
this.$ = s[a];
break;
case 8:
this.$ = s[a];
break;
case 9:
this.$ = s[a];
break;
case 10:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 11:
this.$ = s[a];
break;
case 12:
this.$ = s[a];
break;
case 13:
this.$ = s[a];
break;
case 14:
this.$ = s[a];
break;
case 15:
this.$ = s[a];
break;
case 16:
this.$ = s[a];
break;
case 17:
this.$ = s[a];
break;
case 18:
this.$ = s[a];
break;
case 19:
this.$ = s[a];
break;
case 20:
this.$ = s[a];
break;
case 21:
this.$ = s[a];
break;
case 22:
this.$ = s[a];
break;
case 23:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Block);
break;
case 24:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 1]);
break;
case 25:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 26:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 27:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 28:
this.$ = s[a];
break;
case 29:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 30:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 31:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Literal(s[a]));
break;
case 32:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Undefined);
break;
case 33:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Null);
break;
case 34:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Bool(s[a]));
break;
case 35:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Assign(s[a - 2], s[a]));
break;
case 36:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Assign(s[a - 3], s[a]));
break;
case 37:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Assign(s[a - 4], s[a - 1]));
break;
case 38:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 39:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Assign(i.addLocationDataFn(o[a - 2])(new i.Value(s[a - 2])), s[a], "object"));
break;
case 40:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Assign(i.addLocationDataFn(o[a - 4])(new i.Value(s[a - 4])), s[a - 1], "object"));
break;
case 41:
this.$ = s[a];
break;
case 42:
this.$ = s[a];
break;
case 43:
this.$ = s[a];
break;
case 44:
this.$ = s[a];
break;
case 45:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Return(s[a]));
break;
case 46:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Return);
break;
case 47:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Comment(s[a]));
break;
case 48:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Code(s[a - 3], s[a], s[a - 1]));
break;
case 49:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Code([], s[a], s[a - 1]));
break;
case 50:
this.$ = i.addLocationDataFn(o[a], o[a])("func");
break;
case 51:
this.$ = i.addLocationDataFn(o[a], o[a])("boundfunc");
break;
case 52:
this.$ = s[a];
break;
case 53:
this.$ = s[a];
break;
case 54:
this.$ = i.addLocationDataFn(o[a], o[a])([]);
break;
case 55:
this.$ = i.addLocationDataFn(o[a], o[a])([s[a]]);
break;
case 56:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 2].concat(s[a]));
break;
case 57:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(s[a - 3].concat(s[a]));
break;
case 58:
this.$ = i.addLocationDataFn(o[a - 5], o[a])(s[a - 5].concat(s[a - 2]));
break;
case 59:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Param(s[a]));
break;
case 60:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Param(s[a - 1], null, !0));
break;
case 61:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Param(s[a - 2], s[a]));
break;
case 62:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Expansion);
break;
case 63:
this.$ = s[a];
break;
case 64:
this.$ = s[a];
break;
case 65:
this.$ = s[a];
break;
case 66:
this.$ = s[a];
break;
case 67:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Splat(s[a - 1]));
break;
case 68:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 69:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a - 1].add(s[a]));
break;
case 70:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Value(s[a - 1], [].concat(s[a])));
break;
case 71:
this.$ = s[a];
break;
case 72:
this.$ = s[a];
break;
case 73:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 74:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 75:
this.$ = s[a];
break;
case 76:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 77:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 78:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 79:
this.$ = s[a];
break;
case 80:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Access(s[a]));
break;
case 81:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Access(s[a], "soak"));
break;
case 82:
this.$ = i.addLocationDataFn(o[a - 1], o[a])([i.addLocationDataFn(o[a - 1])(new i.Access(new i.Literal("prototype"))), i.addLocationDataFn(o[a])(new i.Access(s[a]))]);
break;
case 83:
this.$ = i.addLocationDataFn(o[a - 1], o[a])([i.addLocationDataFn(o[a - 1])(new i.Access(new i.Literal("prototype"), "soak")), i.addLocationDataFn(o[a])(new i.Access(s[a]))]);
break;
case 84:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Access(new i.Literal("prototype")));
break;
case 85:
this.$ = s[a];
break;
case 86:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 1]);
break;
case 87:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(i.extend(s[a], {soak: !0}));
break;
case 88:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Index(s[a]));
break;
case 89:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Slice(s[a]));
break;
case 90:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Obj(s[a - 2], s[a - 3].generated));
break;
case 91:
this.$ = i.addLocationDataFn(o[a], o[a])([]);
break;
case 92:
this.$ = i.addLocationDataFn(o[a], o[a])([s[a]]);
break;
case 93:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 2].concat(s[a]));
break;
case 94:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(s[a - 3].concat(s[a]));
break;
case 95:
this.$ = i.addLocationDataFn(o[a - 5], o[a])(s[a - 5].concat(s[a - 2]));
break;
case 96:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Class);
break;
case 97:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Class(null, null, s[a]));
break;
case 98:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Class(null, s[a]));
break;
case 99:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Class(null, s[a - 1], s[a]));
break;
case 100:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Class(s[a]));
break;
case 101:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Class(s[a - 1], null, s[a]));
break;
case 102:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Class(s[a - 2], s[a]));
break;
case 103:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Class(s[a - 3], s[a - 1], s[a]));
break;
case 104:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Call(s[a - 2], s[a], s[a - 1]));
break;
case 105:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Call(s[a - 2], s[a], s[a - 1]));
break;
case 106:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Call("super", [new i.Splat(new i.Literal("arguments"))]));
break;
case 107:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Call("super", s[a]));
break;
case 108:
this.$ = i.addLocationDataFn(o[a], o[a])(!1);
break;
case 109:
this.$ = i.addLocationDataFn(o[a], o[a])(!0);
break;
case 110:
this.$ = i.addLocationDataFn(o[a - 1], o[a])([]);
break;
case 111:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(s[a - 2]);
break;
case 112:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(new i.Literal("this")));
break;
case 113:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(new i.Literal("this")));
break;
case 114:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Value(i.addLocationDataFn(o[a - 1])(new i.Literal("this")), [i.addLocationDataFn(o[a])(new i.Access(s[a]))], "this"));
break;
case 115:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Arr([]));
break;
case 116:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Arr(s[a - 2]));
break;
case 117:
this.$ = i.addLocationDataFn(o[a], o[a])("inclusive");
break;
case 118:
this.$ = i.addLocationDataFn(o[a], o[a])("exclusive");
break;
case 119:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Range(s[a - 3], s[a - 1], s[a - 2]));
break;
case 120:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Range(s[a - 2], s[a], s[a - 1]));
break;
case 121:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Range(s[a - 1], null, s[a]));
break;
case 122:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Range(null, s[a], s[a - 1]));
break;
case 123:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Range(null, null, s[a]));
break;
case 124:
this.$ = i.addLocationDataFn(o[a], o[a])([s[a]]);
break;
case 125:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 2].concat(s[a]));
break;
case 126:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(s[a - 3].concat(s[a]));
break;
case 127:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(s[a - 2]);
break;
case 128:
this.$ = i.addLocationDataFn(o[a - 5], o[a])(s[a - 5].concat(s[a - 2]));
break;
case 129:
this.$ = s[a];
break;
case 130:
this.$ = s[a];
break;
case 131:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Expansion);
break;
case 132:
this.$ = s[a];
break;
case 133:
this.$ = i.addLocationDataFn(o[a - 2], o[a])([].concat(s[a - 2], s[a]));
break;
case 134:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Try(s[a]));
break;
case 135:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Try(s[a - 1], s[a][0], s[a][1]));
break;
case 136:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Try(s[a - 2], null, null, s[a]));
break;
case 137:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Try(s[a - 3], s[a - 2][0], s[a - 2][1], s[a]));
break;
case 138:
this.$ = i.addLocationDataFn(o[a - 2], o[a])([s[a - 1], s[a]]);
break;
case 139:
this.$ = i.addLocationDataFn(o[a - 2], o[a])([i.addLocationDataFn(o[a - 1])(new i.Value(s[a - 1])), s[a]]);
break;
case 140:
this.$ = i.addLocationDataFn(o[a - 1], o[a])([null, s[a]]);
break;
case 141:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Throw(s[a]));
break;
case 142:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Parens(s[a - 1]));
break;
case 143:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Parens(s[a - 2]));
break;
case 144:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.While(s[a]));
break;
case 145:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.While(s[a - 2], {guard: s[a]}));
break;
case 146:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.While(s[a], {invert: !0}));
break;
case 147:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.While(s[a - 2], {invert: !0, guard: s[a]}));
break;
case 148:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a - 1].addBody(s[a]));
break;
case 149:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a].addBody(i.addLocationDataFn(o[a - 1])(i.Block.wrap([s[a - 1]]))));
break;
case 150:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a].addBody(i.addLocationDataFn(o[a - 1])(i.Block.wrap([s[a - 1]]))));
break;
case 151:
this.$ = i.addLocationDataFn(o[a], o[a])(s[a]);
break;
case 152:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.While(i.addLocationDataFn(o[a - 1])(new i.Literal("true"))).addBody(s[a]));
break;
case 153:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.While(i.addLocationDataFn(o[a - 1])(new i.Literal("true"))).addBody(i.addLocationDataFn(o[a])(i.Block.wrap([s[a]]))));
break;
case 154:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.For(s[a - 1], s[a]));
break;
case 155:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.For(s[a - 1], s[a]));
break;
case 156:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.For(s[a], s[a - 1]));
break;
case 157:
this.$ = i.addLocationDataFn(o[a - 1], o[a])({source: i.addLocationDataFn(o[a])(new i.Value(s[a]))});
break;
case 158:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(function () {
return s[a].own = s[a - 1].own, s[a].name = s[a - 1][0], s[a].index = s[a - 1][1], s[a]
}());
break;
case 159:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a]);
break;
case 160:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(function () {
return s[a].own = !0, s[a]
}());
break;
case 161:
this.$ = s[a];
break;
case 162:
this.$ = s[a];
break;
case 163:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 164:
this.$ = i.addLocationDataFn(o[a], o[a])(new i.Value(s[a]));
break;
case 165:
this.$ = i.addLocationDataFn(o[a], o[a])([s[a]]);
break;
case 166:
this.$ = i.addLocationDataFn(o[a - 2], o[a])([s[a - 2], s[a]]);
break;
case 167:
this.$ = i.addLocationDataFn(o[a - 1], o[a])({source: s[a]});
break;
case 168:
this.$ = i.addLocationDataFn(o[a - 1], o[a])({source: s[a], object: !0});
break;
case 169:
this.$ = i.addLocationDataFn(o[a - 3], o[a])({source: s[a - 2], guard: s[a]});
break;
case 170:
this.$ = i.addLocationDataFn(o[a - 3], o[a])({source: s[a - 2], guard: s[a], object: !0});
break;
case 171:
this.$ = i.addLocationDataFn(o[a - 3], o[a])({source: s[a - 2], step: s[a]});
break;
case 172:
this.$ = i.addLocationDataFn(o[a - 5], o[a])({source: s[a - 4], guard: s[a - 2], step: s[a]});
break;
case 173:
this.$ = i.addLocationDataFn(o[a - 5], o[a])({source: s[a - 4], step: s[a - 2], guard: s[a]});
break;
case 174:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Switch(s[a - 3], s[a - 1]));
break;
case 175:
this.$ = i.addLocationDataFn(o[a - 6], o[a])(new i.Switch(s[a - 5], s[a - 3], s[a - 1]));
break;
case 176:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Switch(null, s[a - 1]));
break;
case 177:
this.$ = i.addLocationDataFn(o[a - 5], o[a])(new i.Switch(null, s[a - 3], s[a - 1]));
break;
case 178:
this.$ = s[a];
break;
case 179:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(s[a - 1].concat(s[a]));
break;
case 180:
this.$ = i.addLocationDataFn(o[a - 2], o[a])([
[s[a - 1], s[a]]
]);
break;
case 181:
this.$ = i.addLocationDataFn(o[a - 3], o[a])([
[s[a - 2], s[a - 1]]
]);
break;
case 182:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.If(s[a - 1], s[a], {type: s[a - 2]}));
break;
case 183:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(s[a - 4].addElse(i.addLocationDataFn(o[a - 2], o[a])(new i.If(s[a - 1], s[a], {type: s[a - 2]}))));
break;
case 184:
this.$ = s[a];
break;
case 185:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(s[a - 2].addElse(s[a]));
break;
case 186:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.If(s[a], i.addLocationDataFn(o[a - 2])(i.Block.wrap([s[a - 2]])), {type: s[a - 1], statement: !0}));
break;
case 187:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.If(s[a], i.addLocationDataFn(o[a - 2])(i.Block.wrap([s[a - 2]])), {type: s[a - 1], statement: !0}));
break;
case 188:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op(s[a - 1], s[a]));
break;
case 189:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op(s[a - 1], s[a]));
break;
case 190:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("-", s[a]));
break;
case 191:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("+", s[a]));
break;
case 192:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("--", s[a]));
break;
case 193:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("++", s[a]));
break;
case 194:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("--", s[a - 1], null, !0));
break;
case 195:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Op("++", s[a - 1], null, !0));
break;
case 196:
this.$ = i.addLocationDataFn(o[a - 1], o[a])(new i.Existence(s[a - 1]));
break;
case 197:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op("+", s[a - 2], s[a]));
break;
case 198:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op("-", s[a - 2], s[a]));
break;
case 199:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op(s[a - 1], s[a - 2], s[a]));
break;
case 200:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op(s[a - 1], s[a - 2], s[a]));
break;
case 201:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op(s[a - 1], s[a - 2], s[a]));
break;
case 202:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op(s[a - 1], s[a - 2], s[a]));
break;
case 203:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Op(s[a - 1], s[a - 2], s[a]));
break;
case 204:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(function () {
return"!" === s[a - 1].charAt(0) ? new i.Op(s[a - 1].slice(1), s[a - 2], s[a]).invert() : new i.Op(s[a - 1], s[a - 2], s[a])
}());
break;
case 205:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Assign(s[a - 2], s[a], s[a - 1]));
break;
case 206:
this.$ = i.addLocationDataFn(o[a - 4], o[a])(new i.Assign(s[a - 4], s[a - 1], s[a - 3]));
break;
case 207:
this.$ = i.addLocationDataFn(o[a - 3], o[a])(new i.Assign(s[a - 3], s[a], s[a - 2]));
break;
case 208:
this.$ = i.addLocationDataFn(o[a - 2], o[a])(new i.Extends(s[a - 2], s[a]))
}
}, table: [
{1: [2, 1], 3: 1, 4: 2, 5: 3, 7: 4, 8: 5, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [3]},
{1: [2, 2], 6: [1, 73]},
{1: [2, 3], 6: [2, 3], 26: [2, 3], 102: [2, 3]},
{1: [2, 6], 6: [2, 6], 26: [2, 6], 102: [2, 6], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 7], 6: [2, 7], 26: [2, 7], 102: [2, 7], 103: 87, 104: [1, 64], 106: [1, 65], 109: 88, 110: [1, 67], 111: 68, 126: [1, 86]},
{1: [2, 11], 6: [2, 11], 25: [2, 11], 26: [2, 11], 49: [2, 11], 54: [2, 11], 57: [2, 11], 62: 90, 66: [1, 92], 67: [1, 93], 68: [1, 94], 69: [1, 95], 70: 96, 71: [1, 97], 73: [2, 11], 74: [1, 98], 78: [2, 11], 81: 89, 84: [1, 91], 85: [2, 108], 86: [2, 11], 91: [2, 11], 93: [2, 11], 102: [2, 11], 104: [2, 11], 105: [2, 11], 106: [2, 11], 110: [2, 11], 118: [2, 11], 126: [2, 11], 129: [2, 11], 130: [2, 11], 133: [2, 11], 134: [2, 11], 135: [2, 11], 136: [2, 11], 137: [2, 11], 138: [2, 11], 139: [2, 11]},
{1: [2, 12], 6: [2, 12], 25: [2, 12], 26: [2, 12], 49: [2, 12], 54: [2, 12], 57: [2, 12], 62: 100, 66: [1, 92], 67: [1, 93], 68: [1, 94], 69: [1, 95], 70: 96, 71: [1, 97], 73: [2, 12], 74: [1, 98], 78: [2, 12], 81: 99, 84: [1, 91], 85: [2, 108], 86: [2, 12], 91: [2, 12], 93: [2, 12], 102: [2, 12], 104: [2, 12], 105: [2, 12], 106: [2, 12], 110: [2, 12], 118: [2, 12], 126: [2, 12], 129: [2, 12], 130: [2, 12], 133: [2, 12], 134: [2, 12], 135: [2, 12], 136: [2, 12], 137: [2, 12], 138: [2, 12], 139: [2, 12]},
{1: [2, 13], 6: [2, 13], 25: [2, 13], 26: [2, 13], 49: [2, 13], 54: [2, 13], 57: [2, 13], 73: [2, 13], 78: [2, 13], 86: [2, 13], 91: [2, 13], 93: [2, 13], 102: [2, 13], 104: [2, 13], 105: [2, 13], 106: [2, 13], 110: [2, 13], 118: [2, 13], 126: [2, 13], 129: [2, 13], 130: [2, 13], 133: [2, 13], 134: [2, 13], 135: [2, 13], 136: [2, 13], 137: [2, 13], 138: [2, 13], 139: [2, 13]},
{1: [2, 14], 6: [2, 14], 25: [2, 14], 26: [2, 14], 49: [2, 14], 54: [2, 14], 57: [2, 14], 73: [2, 14], 78: [2, 14], 86: [2, 14], 91: [2, 14], 93: [2, 14], 102: [2, 14], 104: [2, 14], 105: [2, 14], 106: [2, 14], 110: [2, 14], 118: [2, 14], 126: [2, 14], 129: [2, 14], 130: [2, 14], 133: [2, 14], 134: [2, 14], 135: [2, 14], 136: [2, 14], 137: [2, 14], 138: [2, 14], 139: [2, 14]},
{1: [2, 15], 6: [2, 15], 25: [2, 15], 26: [2, 15], 49: [2, 15], 54: [2, 15], 57: [2, 15], 73: [2, 15], 78: [2, 15], 86: [2, 15], 91: [2, 15], 93: [2, 15], 102: [2, 15], 104: [2, 15], 105: [2, 15], 106: [2, 15], 110: [2, 15], 118: [2, 15], 126: [2, 15], 129: [2, 15], 130: [2, 15], 133: [2, 15], 134: [2, 15], 135: [2, 15], 136: [2, 15], 137: [2, 15], 138: [2, 15], 139: [2, 15]},
{1: [2, 16], 6: [2, 16], 25: [2, 16], 26: [2, 16], 49: [2, 16], 54: [2, 16], 57: [2, 16], 73: [2, 16], 78: [2, 16], 86: [2, 16], 91: [2, 16], 93: [2, 16], 102: [2, 16], 104: [2, 16], 105: [2, 16], 106: [2, 16], 110: [2, 16], 118: [2, 16], 126: [2, 16], 129: [2, 16], 130: [2, 16], 133: [2, 16], 134: [2, 16], 135: [2, 16], 136: [2, 16], 137: [2, 16], 138: [2, 16], 139: [2, 16]},
{1: [2, 17], 6: [2, 17], 25: [2, 17], 26: [2, 17], 49: [2, 17], 54: [2, 17], 57: [2, 17], 73: [2, 17], 78: [2, 17], 86: [2, 17], 91: [2, 17], 93: [2, 17], 102: [2, 17], 104: [2, 17], 105: [2, 17], 106: [2, 17], 110: [2, 17], 118: [2, 17], 126: [2, 17], 129: [2, 17], 130: [2, 17], 133: [2, 17], 134: [2, 17], 135: [2, 17], 136: [2, 17], 137: [2, 17], 138: [2, 17], 139: [2, 17]},
{1: [2, 18], 6: [2, 18], 25: [2, 18], 26: [2, 18], 49: [2, 18], 54: [2, 18], 57: [2, 18], 73: [2, 18], 78: [2, 18], 86: [2, 18], 91: [2, 18], 93: [2, 18], 102: [2, 18], 104: [2, 18], 105: [2, 18], 106: [2, 18], 110: [2, 18], 118: [2, 18], 126: [2, 18], 129: [2, 18], 130: [2, 18], 133: [2, 18], 134: [2, 18], 135: [2, 18], 136: [2, 18], 137: [2, 18], 138: [2, 18], 139: [2, 18]},
{1: [2, 19], 6: [2, 19], 25: [2, 19], 26: [2, 19], 49: [2, 19], 54: [2, 19], 57: [2, 19], 73: [2, 19], 78: [2, 19], 86: [2, 19], 91: [2, 19], 93: [2, 19], 102: [2, 19], 104: [2, 19], 105: [2, 19], 106: [2, 19], 110: [2, 19], 118: [2, 19], 126: [2, 19], 129: [2, 19], 130: [2, 19], 133: [2, 19], 134: [2, 19], 135: [2, 19], 136: [2, 19], 137: [2, 19], 138: [2, 19], 139: [2, 19]},
{1: [2, 20], 6: [2, 20], 25: [2, 20], 26: [2, 20], 49: [2, 20], 54: [2, 20], 57: [2, 20], 73: [2, 20], 78: [2, 20], 86: [2, 20], 91: [2, 20], 93: [2, 20], 102: [2, 20], 104: [2, 20], 105: [2, 20], 106: [2, 20], 110: [2, 20], 118: [2, 20], 126: [2, 20], 129: [2, 20], 130: [2, 20], 133: [2, 20], 134: [2, 20], 135: [2, 20], 136: [2, 20], 137: [2, 20], 138: [2, 20], 139: [2, 20]},
{1: [2, 21], 6: [2, 21], 25: [2, 21], 26: [2, 21], 49: [2, 21], 54: [2, 21], 57: [2, 21], 73: [2, 21], 78: [2, 21], 86: [2, 21], 91: [2, 21], 93: [2, 21], 102: [2, 21], 104: [2, 21], 105: [2, 21], 106: [2, 21], 110: [2, 21], 118: [2, 21], 126: [2, 21], 129: [2, 21], 130: [2, 21], 133: [2, 21], 134: [2, 21], 135: [2, 21], 136: [2, 21], 137: [2, 21], 138: [2, 21], 139: [2, 21]},
{1: [2, 22], 6: [2, 22], 25: [2, 22], 26: [2, 22], 49: [2, 22], 54: [2, 22], 57: [2, 22], 73: [2, 22], 78: [2, 22], 86: [2, 22], 91: [2, 22], 93: [2, 22], 102: [2, 22], 104: [2, 22], 105: [2, 22], 106: [2, 22], 110: [2, 22], 118: [2, 22], 126: [2, 22], 129: [2, 22], 130: [2, 22], 133: [2, 22], 134: [2, 22], 135: [2, 22], 136: [2, 22], 137: [2, 22], 138: [2, 22], 139: [2, 22]},
{1: [2, 8], 6: [2, 8], 26: [2, 8], 102: [2, 8], 104: [2, 8], 106: [2, 8], 110: [2, 8], 126: [2, 8]},
{1: [2, 9], 6: [2, 9], 26: [2, 9], 102: [2, 9], 104: [2, 9], 106: [2, 9], 110: [2, 9], 126: [2, 9]},
{1: [2, 10], 6: [2, 10], 26: [2, 10], 102: [2, 10], 104: [2, 10], 106: [2, 10], 110: [2, 10], 126: [2, 10]},
{1: [2, 75], 6: [2, 75], 25: [2, 75], 26: [2, 75], 40: [1, 101], 49: [2, 75], 54: [2, 75], 57: [2, 75], 66: [2, 75], 67: [2, 75], 68: [2, 75], 69: [2, 75], 71: [2, 75], 73: [2, 75], 74: [2, 75], 78: [2, 75], 84: [2, 75], 85: [2, 75], 86: [2, 75], 91: [2, 75], 93: [2, 75], 102: [2, 75], 104: [2, 75], 105: [2, 75], 106: [2, 75], 110: [2, 75], 118: [2, 75], 126: [2, 75], 129: [2, 75], 130: [2, 75], 133: [2, 75], 134: [2, 75], 135: [2, 75], 136: [2, 75], 137: [2, 75], 138: [2, 75], 139: [2, 75]},
{1: [2, 76], 6: [2, 76], 25: [2, 76], 26: [2, 76], 49: [2, 76], 54: [2, 76], 57: [2, 76], 66: [2, 76], 67: [2, 76], 68: [2, 76], 69: [2, 76], 71: [2, 76], 73: [2, 76], 74: [2, 76], 78: [2, 76], 84: [2, 76], 85: [2, 76], 86: [2, 76], 91: [2, 76], 93: [2, 76], 102: [2, 76], 104: [2, 76], 105: [2, 76], 106: [2, 76], 110: [2, 76], 118: [2, 76], 126: [2, 76], 129: [2, 76], 130: [2, 76], 133: [2, 76], 134: [2, 76], 135: [2, 76], 136: [2, 76], 137: [2, 76], 138: [2, 76], 139: [2, 76]},
{1: [2, 77], 6: [2, 77], 25: [2, 77], 26: [2, 77], 49: [2, 77], 54: [2, 77], 57: [2, 77], 66: [2, 77], 67: [2, 77], 68: [2, 77], 69: [2, 77], 71: [2, 77], 73: [2, 77], 74: [2, 77], 78: [2, 77], 84: [2, 77], 85: [2, 77], 86: [2, 77], 91: [2, 77], 93: [2, 77], 102: [2, 77], 104: [2, 77], 105: [2, 77], 106: [2, 77], 110: [2, 77], 118: [2, 77], 126: [2, 77], 129: [2, 77], 130: [2, 77], 133: [2, 77], 134: [2, 77], 135: [2, 77], 136: [2, 77], 137: [2, 77], 138: [2, 77], 139: [2, 77]},
{1: [2, 78], 6: [2, 78], 25: [2, 78], 26: [2, 78], 49: [2, 78], 54: [2, 78], 57: [2, 78], 66: [2, 78], 67: [2, 78], 68: [2, 78], 69: [2, 78], 71: [2, 78], 73: [2, 78], 74: [2, 78], 78: [2, 78], 84: [2, 78], 85: [2, 78], 86: [2, 78], 91: [2, 78], 93: [2, 78], 102: [2, 78], 104: [2, 78], 105: [2, 78], 106: [2, 78], 110: [2, 78], 118: [2, 78], 126: [2, 78], 129: [2, 78], 130: [2, 78], 133: [2, 78], 134: [2, 78], 135: [2, 78], 136: [2, 78], 137: [2, 78], 138: [2, 78], 139: [2, 78]},
{1: [2, 79], 6: [2, 79], 25: [2, 79], 26: [2, 79], 49: [2, 79], 54: [2, 79], 57: [2, 79], 66: [2, 79], 67: [2, 79], 68: [2, 79], 69: [2, 79], 71: [2, 79], 73: [2, 79], 74: [2, 79], 78: [2, 79], 84: [2, 79], 85: [2, 79], 86: [2, 79], 91: [2, 79], 93: [2, 79], 102: [2, 79], 104: [2, 79], 105: [2, 79], 106: [2, 79], 110: [2, 79], 118: [2, 79], 126: [2, 79], 129: [2, 79], 130: [2, 79], 133: [2, 79], 134: [2, 79], 135: [2, 79], 136: [2, 79], 137: [2, 79], 138: [2, 79], 139: [2, 79]},
{1: [2, 106], 6: [2, 106], 25: [2, 106], 26: [2, 106], 49: [2, 106], 54: [2, 106], 57: [2, 106], 66: [2, 106], 67: [2, 106], 68: [2, 106], 69: [2, 106], 71: [2, 106], 73: [2, 106], 74: [2, 106], 78: [2, 106], 82: 102, 84: [2, 106], 85: [1, 103], 86: [2, 106], 91: [2, 106], 93: [2, 106], 102: [2, 106], 104: [2, 106], 105: [2, 106], 106: [2, 106], 110: [2, 106], 118: [2, 106], 126: [2, 106], 129: [2, 106], 130: [2, 106], 133: [2, 106], 134: [2, 106], 135: [2, 106], 136: [2, 106], 137: [2, 106], 138: [2, 106], 139: [2, 106]},
{6: [2, 54], 25: [2, 54], 27: 108, 28: [1, 72], 44: 109, 48: 104, 49: [2, 54], 54: [2, 54], 55: 105, 56: 106, 57: [1, 107], 58: 110, 59: 111, 76: [1, 69], 89: [1, 112], 90: [1, 113]},
{24: 114, 25: [1, 115]},
{7: 116, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 118, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 119, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 120, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{12: 122, 13: 123, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 124, 44: 62, 58: 46, 59: 47, 61: 121, 63: 23, 64: 24, 65: 25, 76: [1, 69], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 101: [1, 55]},
{12: 122, 13: 123, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 124, 44: 62, 58: 46, 59: 47, 61: 125, 63: 23, 64: 24, 65: 25, 76: [1, 69], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 101: [1, 55]},
{1: [2, 72], 6: [2, 72], 25: [2, 72], 26: [2, 72], 40: [2, 72], 49: [2, 72], 54: [2, 72], 57: [2, 72], 66: [2, 72], 67: [2, 72], 68: [2, 72], 69: [2, 72], 71: [2, 72], 73: [2, 72], 74: [2, 72], 78: [2, 72], 80: [1, 129], 84: [2, 72], 85: [2, 72], 86: [2, 72], 91: [2, 72], 93: [2, 72], 102: [2, 72], 104: [2, 72], 105: [2, 72], 106: [2, 72], 110: [2, 72], 118: [2, 72], 126: [2, 72], 129: [2, 72], 130: [2, 72], 131: [1, 126], 132: [1, 127], 133: [2, 72], 134: [2, 72], 135: [2, 72], 136: [2, 72], 137: [2, 72], 138: [2, 72], 139: [2, 72], 140: [1, 128]},
{1: [2, 184], 6: [2, 184], 25: [2, 184], 26: [2, 184], 49: [2, 184], 54: [2, 184], 57: [2, 184], 73: [2, 184], 78: [2, 184], 86: [2, 184], 91: [2, 184], 93: [2, 184], 102: [2, 184], 104: [2, 184], 105: [2, 184], 106: [2, 184], 110: [2, 184], 118: [2, 184], 121: [1, 130], 126: [2, 184], 129: [2, 184], 130: [2, 184], 133: [2, 184], 134: [2, 184], 135: [2, 184], 136: [2, 184], 137: [2, 184], 138: [2, 184], 139: [2, 184]},
{24: 131, 25: [1, 115]},
{24: 132, 25: [1, 115]},
{1: [2, 151], 6: [2, 151], 25: [2, 151], 26: [2, 151], 49: [2, 151], 54: [2, 151], 57: [2, 151], 73: [2, 151], 78: [2, 151], 86: [2, 151], 91: [2, 151], 93: [2, 151], 102: [2, 151], 104: [2, 151], 105: [2, 151], 106: [2, 151], 110: [2, 151], 118: [2, 151], 126: [2, 151], 129: [2, 151], 130: [2, 151], 133: [2, 151], 134: [2, 151], 135: [2, 151], 136: [2, 151], 137: [2, 151], 138: [2, 151], 139: [2, 151]},
{24: 133, 25: [1, 115]},
{7: 134, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 135], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 96], 6: [2, 96], 12: 122, 13: 123, 24: 136, 25: [1, 115], 26: [2, 96], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 124, 44: 62, 49: [2, 96], 54: [2, 96], 57: [2, 96], 58: 46, 59: 47, 61: 138, 63: 23, 64: 24, 65: 25, 73: [2, 96], 76: [1, 69], 78: [2, 96], 80: [1, 137], 83: [1, 26], 86: [2, 96], 88: [1, 57], 89: [1, 58], 90: [1, 56], 91: [2, 96], 93: [2, 96], 101: [1, 55], 102: [2, 96], 104: [2, 96], 105: [2, 96], 106: [2, 96], 110: [2, 96], 118: [2, 96], 126: [2, 96], 129: [2, 96], 130: [2, 96], 133: [2, 96], 134: [2, 96], 135: [2, 96], 136: [2, 96], 137: [2, 96], 138: [2, 96], 139: [2, 96]},
{7: 139, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 46], 6: [2, 46], 7: 140, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 26: [2, 46], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 102: [2, 46], 103: 38, 104: [2, 46], 106: [2, 46], 107: 39, 108: [1, 66], 109: 40, 110: [2, 46], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 126: [2, 46], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 47], 6: [2, 47], 25: [2, 47], 26: [2, 47], 54: [2, 47], 78: [2, 47], 102: [2, 47], 104: [2, 47], 106: [2, 47], 110: [2, 47], 126: [2, 47]},
{1: [2, 73], 6: [2, 73], 25: [2, 73], 26: [2, 73], 40: [2, 73], 49: [2, 73], 54: [2, 73], 57: [2, 73], 66: [2, 73], 67: [2, 73], 68: [2, 73], 69: [2, 73], 71: [2, 73], 73: [2, 73], 74: [2, 73], 78: [2, 73], 84: [2, 73], 85: [2, 73], 86: [2, 73], 91: [2, 73], 93: [2, 73], 102: [2, 73], 104: [2, 73], 105: [2, 73], 106: [2, 73], 110: [2, 73], 118: [2, 73], 126: [2, 73], 129: [2, 73], 130: [2, 73], 133: [2, 73], 134: [2, 73], 135: [2, 73], 136: [2, 73], 137: [2, 73], 138: [2, 73], 139: [2, 73]},
{1: [2, 74], 6: [2, 74], 25: [2, 74], 26: [2, 74], 40: [2, 74], 49: [2, 74], 54: [2, 74], 57: [2, 74], 66: [2, 74], 67: [2, 74], 68: [2, 74], 69: [2, 74], 71: [2, 74], 73: [2, 74], 74: [2, 74], 78: [2, 74], 84: [2, 74], 85: [2, 74], 86: [2, 74], 91: [2, 74], 93: [2, 74], 102: [2, 74], 104: [2, 74], 105: [2, 74], 106: [2, 74], 110: [2, 74], 118: [2, 74], 126: [2, 74], 129: [2, 74], 130: [2, 74], 133: [2, 74], 134: [2, 74], 135: [2, 74], 136: [2, 74], 137: [2, 74], 138: [2, 74], 139: [2, 74]},
{1: [2, 28], 6: [2, 28], 25: [2, 28], 26: [2, 28], 49: [2, 28], 54: [2, 28], 57: [2, 28], 66: [2, 28], 67: [2, 28], 68: [2, 28], 69: [2, 28], 71: [2, 28], 73: [2, 28], 74: [2, 28], 78: [2, 28], 84: [2, 28], 85: [2, 28], 86: [2, 28], 91: [2, 28], 93: [2, 28], 102: [2, 28], 104: [2, 28], 105: [2, 28], 106: [2, 28], 110: [2, 28], 118: [2, 28], 126: [2, 28], 129: [2, 28], 130: [2, 28], 133: [2, 28], 134: [2, 28], 135: [2, 28], 136: [2, 28], 137: [2, 28], 138: [2, 28], 139: [2, 28]},
{1: [2, 29], 6: [2, 29], 25: [2, 29], 26: [2, 29], 49: [2, 29], 54: [2, 29], 57: [2, 29], 66: [2, 29], 67: [2, 29], 68: [2, 29], 69: [2, 29], 71: [2, 29], 73: [2, 29], 74: [2, 29], 78: [2, 29], 84: [2, 29], 85: [2, 29], 86: [2, 29], 91: [2, 29], 93: [2, 29], 102: [2, 29], 104: [2, 29], 105: [2, 29], 106: [2, 29], 110: [2, 29], 118: [2, 29], 126: [2, 29], 129: [2, 29], 130: [2, 29], 133: [2, 29], 134: [2, 29], 135: [2, 29], 136: [2, 29], 137: [2, 29], 138: [2, 29], 139: [2, 29]},
{1: [2, 30], 6: [2, 30], 25: [2, 30], 26: [2, 30], 49: [2, 30], 54: [2, 30], 57: [2, 30], 66: [2, 30], 67: [2, 30], 68: [2, 30], 69: [2, 30], 71: [2, 30], 73: [2, 30], 74: [2, 30], 78: [2, 30], 84: [2, 30], 85: [2, 30], 86: [2, 30], 91: [2, 30], 93: [2, 30], 102: [2, 30], 104: [2, 30], 105: [2, 30], 106: [2, 30], 110: [2, 30], 118: [2, 30], 126: [2, 30], 129: [2, 30], 130: [2, 30], 133: [2, 30], 134: [2, 30], 135: [2, 30], 136: [2, 30], 137: [2, 30], 138: [2, 30], 139: [2, 30]},
{1: [2, 31], 6: [2, 31], 25: [2, 31], 26: [2, 31], 49: [2, 31], 54: [2, 31], 57: [2, 31], 66: [2, 31], 67: [2, 31], 68: [2, 31], 69: [2, 31], 71: [2, 31], 73: [2, 31], 74: [2, 31], 78: [2, 31], 84: [2, 31], 85: [2, 31], 86: [2, 31], 91: [2, 31], 93: [2, 31], 102: [2, 31], 104: [2, 31], 105: [2, 31], 106: [2, 31], 110: [2, 31], 118: [2, 31], 126: [2, 31], 129: [2, 31], 130: [2, 31], 133: [2, 31], 134: [2, 31], 135: [2, 31], 136: [2, 31], 137: [2, 31], 138: [2, 31], 139: [2, 31]},
{1: [2, 32], 6: [2, 32], 25: [2, 32], 26: [2, 32], 49: [2, 32], 54: [2, 32], 57: [2, 32], 66: [2, 32], 67: [2, 32], 68: [2, 32], 69: [2, 32], 71: [2, 32], 73: [2, 32], 74: [2, 32], 78: [2, 32], 84: [2, 32], 85: [2, 32], 86: [2, 32], 91: [2, 32], 93: [2, 32], 102: [2, 32], 104: [2, 32], 105: [2, 32], 106: [2, 32], 110: [2, 32], 118: [2, 32], 126: [2, 32], 129: [2, 32], 130: [2, 32], 133: [2, 32], 134: [2, 32], 135: [2, 32], 136: [2, 32], 137: [2, 32], 138: [2, 32], 139: [2, 32]},
{1: [2, 33], 6: [2, 33], 25: [2, 33], 26: [2, 33], 49: [2, 33], 54: [2, 33], 57: [2, 33], 66: [2, 33], 67: [2, 33], 68: [2, 33], 69: [2, 33], 71: [2, 33], 73: [2, 33], 74: [2, 33], 78: [2, 33], 84: [2, 33], 85: [2, 33], 86: [2, 33], 91: [2, 33], 93: [2, 33], 102: [2, 33], 104: [2, 33], 105: [2, 33], 106: [2, 33], 110: [2, 33], 118: [2, 33], 126: [2, 33], 129: [2, 33], 130: [2, 33], 133: [2, 33], 134: [2, 33], 135: [2, 33], 136: [2, 33], 137: [2, 33], 138: [2, 33], 139: [2, 33]},
{1: [2, 34], 6: [2, 34], 25: [2, 34], 26: [2, 34], 49: [2, 34], 54: [2, 34], 57: [2, 34], 66: [2, 34], 67: [2, 34], 68: [2, 34], 69: [2, 34], 71: [2, 34], 73: [2, 34], 74: [2, 34], 78: [2, 34], 84: [2, 34], 85: [2, 34], 86: [2, 34], 91: [2, 34], 93: [2, 34], 102: [2, 34], 104: [2, 34], 105: [2, 34], 106: [2, 34], 110: [2, 34], 118: [2, 34], 126: [2, 34], 129: [2, 34], 130: [2, 34], 133: [2, 34], 134: [2, 34], 135: [2, 34], 136: [2, 34], 137: [2, 34], 138: [2, 34], 139: [2, 34]},
{4: 141, 5: 3, 7: 4, 8: 5, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 142], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 143, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 147], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 87: 145, 88: [1, 57], 89: [1, 58], 90: [1, 56], 91: [1, 144], 94: 146, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 112], 6: [2, 112], 25: [2, 112], 26: [2, 112], 49: [2, 112], 54: [2, 112], 57: [2, 112], 66: [2, 112], 67: [2, 112], 68: [2, 112], 69: [2, 112], 71: [2, 112], 73: [2, 112], 74: [2, 112], 78: [2, 112], 84: [2, 112], 85: [2, 112], 86: [2, 112], 91: [2, 112], 93: [2, 112], 102: [2, 112], 104: [2, 112], 105: [2, 112], 106: [2, 112], 110: [2, 112], 118: [2, 112], 126: [2, 112], 129: [2, 112], 130: [2, 112], 133: [2, 112], 134: [2, 112], 135: [2, 112], 136: [2, 112], 137: [2, 112], 138: [2, 112], 139: [2, 112]},
{1: [2, 113], 6: [2, 113], 25: [2, 113], 26: [2, 113], 27: 150, 28: [1, 72], 49: [2, 113], 54: [2, 113], 57: [2, 113], 66: [2, 113], 67: [2, 113], 68: [2, 113], 69: [2, 113], 71: [2, 113], 73: [2, 113], 74: [2, 113], 78: [2, 113], 84: [2, 113], 85: [2, 113], 86: [2, 113], 91: [2, 113], 93: [2, 113], 102: [2, 113], 104: [2, 113], 105: [2, 113], 106: [2, 113], 110: [2, 113], 118: [2, 113], 126: [2, 113], 129: [2, 113], 130: [2, 113], 133: [2, 113], 134: [2, 113], 135: [2, 113], 136: [2, 113], 137: [2, 113], 138: [2, 113], 139: [2, 113]},
{25: [2, 50]},
{25: [2, 51]},
{1: [2, 68], 6: [2, 68], 25: [2, 68], 26: [2, 68], 40: [2, 68], 49: [2, 68], 54: [2, 68], 57: [2, 68], 66: [2, 68], 67: [2, 68], 68: [2, 68], 69: [2, 68], 71: [2, 68], 73: [2, 68], 74: [2, 68], 78: [2, 68], 80: [2, 68], 84: [2, 68], 85: [2, 68], 86: [2, 68], 91: [2, 68], 93: [2, 68], 102: [2, 68], 104: [2, 68], 105: [2, 68], 106: [2, 68], 110: [2, 68], 118: [2, 68], 126: [2, 68], 129: [2, 68], 130: [2, 68], 131: [2, 68], 132: [2, 68], 133: [2, 68], 134: [2, 68], 135: [2, 68], 136: [2, 68], 137: [2, 68], 138: [2, 68], 139: [2, 68], 140: [2, 68]},
{1: [2, 71], 6: [2, 71], 25: [2, 71], 26: [2, 71], 40: [2, 71], 49: [2, 71], 54: [2, 71], 57: [2, 71], 66: [2, 71], 67: [2, 71], 68: [2, 71], 69: [2, 71], 71: [2, 71], 73: [2, 71], 74: [2, 71], 78: [2, 71], 80: [2, 71], 84: [2, 71], 85: [2, 71], 86: [2, 71], 91: [2, 71], 93: [2, 71], 102: [2, 71], 104: [2, 71], 105: [2, 71], 106: [2, 71], 110: [2, 71], 118: [2, 71], 126: [2, 71], 129: [2, 71], 130: [2, 71], 131: [2, 71], 132: [2, 71], 133: [2, 71], 134: [2, 71], 135: [2, 71], 136: [2, 71], 137: [2, 71], 138: [2, 71], 139: [2, 71], 140: [2, 71]},
{7: 151, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 152, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 153, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 155, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 24: 154, 25: [1, 115], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{27: 160, 28: [1, 72], 44: 161, 58: 162, 59: 163, 64: 156, 76: [1, 69], 89: [1, 112], 90: [1, 56], 113: 157, 114: [1, 158], 115: 159},
{112: 164, 116: [1, 165], 117: [1, 166]},
{6: [2, 91], 10: 170, 25: [2, 91], 27: 171, 28: [1, 72], 29: 172, 30: [1, 70], 31: [1, 71], 41: 168, 42: 169, 44: 173, 46: [1, 45], 54: [2, 91], 77: 167, 78: [2, 91], 89: [1, 112]},
{1: [2, 26], 6: [2, 26], 25: [2, 26], 26: [2, 26], 43: [2, 26], 49: [2, 26], 54: [2, 26], 57: [2, 26], 66: [2, 26], 67: [2, 26], 68: [2, 26], 69: [2, 26], 71: [2, 26], 73: [2, 26], 74: [2, 26], 78: [2, 26], 84: [2, 26], 85: [2, 26], 86: [2, 26], 91: [2, 26], 93: [2, 26], 102: [2, 26], 104: [2, 26], 105: [2, 26], 106: [2, 26], 110: [2, 26], 118: [2, 26], 126: [2, 26], 129: [2, 26], 130: [2, 26], 133: [2, 26], 134: [2, 26], 135: [2, 26], 136: [2, 26], 137: [2, 26], 138: [2, 26], 139: [2, 26]},
{1: [2, 27], 6: [2, 27], 25: [2, 27], 26: [2, 27], 43: [2, 27], 49: [2, 27], 54: [2, 27], 57: [2, 27], 66: [2, 27], 67: [2, 27], 68: [2, 27], 69: [2, 27], 71: [2, 27], 73: [2, 27], 74: [2, 27], 78: [2, 27], 84: [2, 27], 85: [2, 27], 86: [2, 27], 91: [2, 27], 93: [2, 27], 102: [2, 27], 104: [2, 27], 105: [2, 27], 106: [2, 27], 110: [2, 27], 118: [2, 27], 126: [2, 27], 129: [2, 27], 130: [2, 27], 133: [2, 27], 134: [2, 27], 135: [2, 27], 136: [2, 27], 137: [2, 27], 138: [2, 27], 139: [2, 27]},
{1: [2, 25], 6: [2, 25], 25: [2, 25], 26: [2, 25], 40: [2, 25], 43: [2, 25], 49: [2, 25], 54: [2, 25], 57: [2, 25], 66: [2, 25], 67: [2, 25], 68: [2, 25], 69: [2, 25], 71: [2, 25], 73: [2, 25], 74: [2, 25], 78: [2, 25], 80: [2, 25], 84: [2, 25], 85: [2, 25], 86: [2, 25], 91: [2, 25], 93: [2, 25], 102: [2, 25], 104: [2, 25], 105: [2, 25], 106: [2, 25], 110: [2, 25], 116: [2, 25], 117: [2, 25], 118: [2, 25], 126: [2, 25], 129: [2, 25], 130: [2, 25], 131: [2, 25], 132: [2, 25], 133: [2, 25], 134: [2, 25], 135: [2, 25], 136: [2, 25], 137: [2, 25], 138: [2, 25], 139: [2, 25], 140: [2, 25]},
{1: [2, 5], 5: 174, 6: [2, 5], 7: 4, 8: 5, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 26: [2, 5], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 102: [2, 5], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 196], 6: [2, 196], 25: [2, 196], 26: [2, 196], 49: [2, 196], 54: [2, 196], 57: [2, 196], 73: [2, 196], 78: [2, 196], 86: [2, 196], 91: [2, 196], 93: [2, 196], 102: [2, 196], 104: [2, 196], 105: [2, 196], 106: [2, 196], 110: [2, 196], 118: [2, 196], 126: [2, 196], 129: [2, 196], 130: [2, 196], 133: [2, 196], 134: [2, 196], 135: [2, 196], 136: [2, 196], 137: [2, 196], 138: [2, 196], 139: [2, 196]},
{7: 175, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 176, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 177, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 178, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 179, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 180, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 181, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 182, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 183, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 150], 6: [2, 150], 25: [2, 150], 26: [2, 150], 49: [2, 150], 54: [2, 150], 57: [2, 150], 73: [2, 150], 78: [2, 150], 86: [2, 150], 91: [2, 150], 93: [2, 150], 102: [2, 150], 104: [2, 150], 105: [2, 150], 106: [2, 150], 110: [2, 150], 118: [2, 150], 126: [2, 150], 129: [2, 150], 130: [2, 150], 133: [2, 150], 134: [2, 150], 135: [2, 150], 136: [2, 150], 137: [2, 150], 138: [2, 150], 139: [2, 150]},
{1: [2, 155], 6: [2, 155], 25: [2, 155], 26: [2, 155], 49: [2, 155], 54: [2, 155], 57: [2, 155], 73: [2, 155], 78: [2, 155], 86: [2, 155], 91: [2, 155], 93: [2, 155], 102: [2, 155], 104: [2, 155], 105: [2, 155], 106: [2, 155], 110: [2, 155], 118: [2, 155], 126: [2, 155], 129: [2, 155], 130: [2, 155], 133: [2, 155], 134: [2, 155], 135: [2, 155], 136: [2, 155], 137: [2, 155], 138: [2, 155], 139: [2, 155]},
{7: 184, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 149], 6: [2, 149], 25: [2, 149], 26: [2, 149], 49: [2, 149], 54: [2, 149], 57: [2, 149], 73: [2, 149], 78: [2, 149], 86: [2, 149], 91: [2, 149], 93: [2, 149], 102: [2, 149], 104: [2, 149], 105: [2, 149], 106: [2, 149], 110: [2, 149], 118: [2, 149], 126: [2, 149], 129: [2, 149], 130: [2, 149], 133: [2, 149], 134: [2, 149], 135: [2, 149], 136: [2, 149], 137: [2, 149], 138: [2, 149], 139: [2, 149]},
{1: [2, 154], 6: [2, 154], 25: [2, 154], 26: [2, 154], 49: [2, 154], 54: [2, 154], 57: [2, 154], 73: [2, 154], 78: [2, 154], 86: [2, 154], 91: [2, 154], 93: [2, 154], 102: [2, 154], 104: [2, 154], 105: [2, 154], 106: [2, 154], 110: [2, 154], 118: [2, 154], 126: [2, 154], 129: [2, 154], 130: [2, 154], 133: [2, 154], 134: [2, 154], 135: [2, 154], 136: [2, 154], 137: [2, 154], 138: [2, 154], 139: [2, 154]},
{82: 185, 85: [1, 103]},
{1: [2, 69], 6: [2, 69], 25: [2, 69], 26: [2, 69], 40: [2, 69], 49: [2, 69], 54: [2, 69], 57: [2, 69], 66: [2, 69], 67: [2, 69], 68: [2, 69], 69: [2, 69], 71: [2, 69], 73: [2, 69], 74: [2, 69], 78: [2, 69], 80: [2, 69], 84: [2, 69], 85: [2, 69], 86: [2, 69], 91: [2, 69], 93: [2, 69], 102: [2, 69], 104: [2, 69], 105: [2, 69], 106: [2, 69], 110: [2, 69], 118: [2, 69], 126: [2, 69], 129: [2, 69], 130: [2, 69], 131: [2, 69], 132: [2, 69], 133: [2, 69], 134: [2, 69], 135: [2, 69], 136: [2, 69], 137: [2, 69], 138: [2, 69], 139: [2, 69], 140: [2, 69]},
{85: [2, 109]},
{27: 186, 28: [1, 72]},
{27: 187, 28: [1, 72]},
{1: [2, 84], 6: [2, 84], 25: [2, 84], 26: [2, 84], 27: 188, 28: [1, 72], 40: [2, 84], 49: [2, 84], 54: [2, 84], 57: [2, 84], 66: [2, 84], 67: [2, 84], 68: [2, 84], 69: [2, 84], 71: [2, 84], 73: [2, 84], 74: [2, 84], 78: [2, 84], 80: [2, 84], 84: [2, 84], 85: [2, 84], 86: [2, 84], 91: [2, 84], 93: [2, 84], 102: [2, 84], 104: [2, 84], 105: [2, 84], 106: [2, 84], 110: [2, 84], 118: [2, 84], 126: [2, 84], 129: [2, 84], 130: [2, 84], 131: [2, 84], 132: [2, 84], 133: [2, 84], 134: [2, 84], 135: [2, 84], 136: [2, 84], 137: [2, 84], 138: [2, 84], 139: [2, 84], 140: [2, 84]},
{27: 189, 28: [1, 72]},
{1: [2, 85], 6: [2, 85], 25: [2, 85], 26: [2, 85], 40: [2, 85], 49: [2, 85], 54: [2, 85], 57: [2, 85], 66: [2, 85], 67: [2, 85], 68: [2, 85], 69: [2, 85], 71: [2, 85], 73: [2, 85], 74: [2, 85], 78: [2, 85], 80: [2, 85], 84: [2, 85], 85: [2, 85], 86: [2, 85], 91: [2, 85], 93: [2, 85], 102: [2, 85], 104: [2, 85], 105: [2, 85], 106: [2, 85], 110: [2, 85], 118: [2, 85], 126: [2, 85], 129: [2, 85], 130: [2, 85], 131: [2, 85], 132: [2, 85], 133: [2, 85], 134: [2, 85], 135: [2, 85], 136: [2, 85], 137: [2, 85], 138: [2, 85], 139: [2, 85], 140: [2, 85]},
{7: 191, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 195], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 72: 190, 75: 192, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 92: 193, 93: [1, 194], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{70: 196, 71: [1, 97], 74: [1, 98]},
{82: 197, 85: [1, 103]},
{1: [2, 70], 6: [2, 70], 25: [2, 70], 26: [2, 70], 40: [2, 70], 49: [2, 70], 54: [2, 70], 57: [2, 70], 66: [2, 70], 67: [2, 70], 68: [2, 70], 69: [2, 70], 71: [2, 70], 73: [2, 70], 74: [2, 70], 78: [2, 70], 80: [2, 70], 84: [2, 70], 85: [2, 70], 86: [2, 70], 91: [2, 70], 93: [2, 70], 102: [2, 70], 104: [2, 70], 105: [2, 70], 106: [2, 70], 110: [2, 70], 118: [2, 70], 126: [2, 70], 129: [2, 70], 130: [2, 70], 131: [2, 70], 132: [2, 70], 133: [2, 70], 134: [2, 70], 135: [2, 70], 136: [2, 70], 137: [2, 70], 138: [2, 70], 139: [2, 70], 140: [2, 70]},
{6: [1, 199], 7: 198, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 200], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 107], 6: [2, 107], 25: [2, 107], 26: [2, 107], 49: [2, 107], 54: [2, 107], 57: [2, 107], 66: [2, 107], 67: [2, 107], 68: [2, 107], 69: [2, 107], 71: [2, 107], 73: [2, 107], 74: [2, 107], 78: [2, 107], 84: [2, 107], 85: [2, 107], 86: [2, 107], 91: [2, 107], 93: [2, 107], 102: [2, 107], 104: [2, 107], 105: [2, 107], 106: [2, 107], 110: [2, 107], 118: [2, 107], 126: [2, 107], 129: [2, 107], 130: [2, 107], 133: [2, 107], 134: [2, 107], 135: [2, 107], 136: [2, 107], 137: [2, 107], 138: [2, 107], 139: [2, 107]},
{7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 147], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 86: [1, 201], 87: 202, 88: [1, 57], 89: [1, 58], 90: [1, 56], 94: 146, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 52], 25: [2, 52], 49: [1, 204], 53: 206, 54: [1, 205]},
{6: [2, 55], 25: [2, 55], 26: [2, 55], 49: [2, 55], 54: [2, 55]},
{6: [2, 59], 25: [2, 59], 26: [2, 59], 40: [1, 208], 49: [2, 59], 54: [2, 59], 57: [1, 207]},
{6: [2, 62], 25: [2, 62], 26: [2, 62], 49: [2, 62], 54: [2, 62]},
{6: [2, 63], 25: [2, 63], 26: [2, 63], 40: [2, 63], 49: [2, 63], 54: [2, 63], 57: [2, 63]},
{6: [2, 64], 25: [2, 64], 26: [2, 64], 40: [2, 64], 49: [2, 64], 54: [2, 64], 57: [2, 64]},
{6: [2, 65], 25: [2, 65], 26: [2, 65], 40: [2, 65], 49: [2, 65], 54: [2, 65], 57: [2, 65]},
{6: [2, 66], 25: [2, 66], 26: [2, 66], 40: [2, 66], 49: [2, 66], 54: [2, 66], 57: [2, 66]},
{27: 150, 28: [1, 72]},
{7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 147], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 87: 145, 88: [1, 57], 89: [1, 58], 90: [1, 56], 91: [1, 144], 94: 146, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 49], 6: [2, 49], 25: [2, 49], 26: [2, 49], 49: [2, 49], 54: [2, 49], 57: [2, 49], 73: [2, 49], 78: [2, 49], 86: [2, 49], 91: [2, 49], 93: [2, 49], 102: [2, 49], 104: [2, 49], 105: [2, 49], 106: [2, 49], 110: [2, 49], 118: [2, 49], 126: [2, 49], 129: [2, 49], 130: [2, 49], 133: [2, 49], 134: [2, 49], 135: [2, 49], 136: [2, 49], 137: [2, 49], 138: [2, 49], 139: [2, 49]},
{4: 210, 5: 3, 7: 4, 8: 5, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 26: [1, 209], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 188], 6: [2, 188], 25: [2, 188], 26: [2, 188], 49: [2, 188], 54: [2, 188], 57: [2, 188], 73: [2, 188], 78: [2, 188], 86: [2, 188], 91: [2, 188], 93: [2, 188], 102: [2, 188], 103: 84, 104: [2, 188], 105: [2, 188], 106: [2, 188], 109: 85, 110: [2, 188], 111: 68, 118: [2, 188], 126: [2, 188], 129: [2, 188], 130: [2, 188], 133: [1, 74], 134: [2, 188], 135: [2, 188], 136: [2, 188], 137: [2, 188], 138: [2, 188], 139: [2, 188]},
{103: 87, 104: [1, 64], 106: [1, 65], 109: 88, 110: [1, 67], 111: 68, 126: [1, 86]},
{1: [2, 189], 6: [2, 189], 25: [2, 189], 26: [2, 189], 49: [2, 189], 54: [2, 189], 57: [2, 189], 73: [2, 189], 78: [2, 189], 86: [2, 189], 91: [2, 189], 93: [2, 189], 102: [2, 189], 103: 84, 104: [2, 189], 105: [2, 189], 106: [2, 189], 109: 85, 110: [2, 189], 111: 68, 118: [2, 189], 126: [2, 189], 129: [2, 189], 130: [2, 189], 133: [1, 74], 134: [2, 189], 135: [1, 78], 136: [2, 189], 137: [2, 189], 138: [2, 189], 139: [2, 189]},
{1: [2, 190], 6: [2, 190], 25: [2, 190], 26: [2, 190], 49: [2, 190], 54: [2, 190], 57: [2, 190], 73: [2, 190], 78: [2, 190], 86: [2, 190], 91: [2, 190], 93: [2, 190], 102: [2, 190], 103: 84, 104: [2, 190], 105: [2, 190], 106: [2, 190], 109: 85, 110: [2, 190], 111: 68, 118: [2, 190], 126: [2, 190], 129: [2, 190], 130: [2, 190], 133: [1, 74], 134: [2, 190], 135: [1, 78], 136: [2, 190], 137: [2, 190], 138: [2, 190], 139: [2, 190]},
{1: [2, 191], 6: [2, 191], 25: [2, 191], 26: [2, 191], 49: [2, 191], 54: [2, 191], 57: [2, 191], 73: [2, 191], 78: [2, 191], 86: [2, 191], 91: [2, 191], 93: [2, 191], 102: [2, 191], 103: 84, 104: [2, 191], 105: [2, 191], 106: [2, 191], 109: 85, 110: [2, 191], 111: 68, 118: [2, 191], 126: [2, 191], 129: [2, 191], 130: [2, 191], 133: [1, 74], 134: [2, 191], 135: [1, 78], 136: [2, 191], 137: [2, 191], 138: [2, 191], 139: [2, 191]},
{1: [2, 192], 6: [2, 192], 25: [2, 192], 26: [2, 192], 49: [2, 192], 54: [2, 192], 57: [2, 192], 66: [2, 72], 67: [2, 72], 68: [2, 72], 69: [2, 72], 71: [2, 72], 73: [2, 192], 74: [2, 72], 78: [2, 192], 84: [2, 72], 85: [2, 72], 86: [2, 192], 91: [2, 192], 93: [2, 192], 102: [2, 192], 104: [2, 192], 105: [2, 192], 106: [2, 192], 110: [2, 192], 118: [2, 192], 126: [2, 192], 129: [2, 192], 130: [2, 192], 133: [2, 192], 134: [2, 192], 135: [2, 192], 136: [2, 192], 137: [2, 192], 138: [2, 192], 139: [2, 192]},
{62: 90, 66: [1, 92], 67: [1, 93], 68: [1, 94], 69: [1, 95], 70: 96, 71: [1, 97], 74: [1, 98], 81: 89, 84: [1, 91], 85: [2, 108]},
{62: 100, 66: [1, 92], 67: [1, 93], 68: [1, 94], 69: [1, 95], 70: 96, 71: [1, 97], 74: [1, 98], 81: 99, 84: [1, 91], 85: [2, 108]},
{66: [2, 75], 67: [2, 75], 68: [2, 75], 69: [2, 75], 71: [2, 75], 74: [2, 75], 84: [2, 75], 85: [2, 75]},
{1: [2, 193], 6: [2, 193], 25: [2, 193], 26: [2, 193], 49: [2, 193], 54: [2, 193], 57: [2, 193], 66: [2, 72], 67: [2, 72], 68: [2, 72], 69: [2, 72], 71: [2, 72], 73: [2, 193], 74: [2, 72], 78: [2, 193], 84: [2, 72], 85: [2, 72], 86: [2, 193], 91: [2, 193], 93: [2, 193], 102: [2, 193], 104: [2, 193], 105: [2, 193], 106: [2, 193], 110: [2, 193], 118: [2, 193], 126: [2, 193], 129: [2, 193], 130: [2, 193], 133: [2, 193], 134: [2, 193], 135: [2, 193], 136: [2, 193], 137: [2, 193], 138: [2, 193], 139: [2, 193]},
{1: [2, 194], 6: [2, 194], 25: [2, 194], 26: [2, 194], 49: [2, 194], 54: [2, 194], 57: [2, 194], 73: [2, 194], 78: [2, 194], 86: [2, 194], 91: [2, 194], 93: [2, 194], 102: [2, 194], 104: [2, 194], 105: [2, 194], 106: [2, 194], 110: [2, 194], 118: [2, 194], 126: [2, 194], 129: [2, 194], 130: [2, 194], 133: [2, 194], 134: [2, 194], 135: [2, 194], 136: [2, 194], 137: [2, 194], 138: [2, 194], 139: [2, 194]},
{1: [2, 195], 6: [2, 195], 25: [2, 195], 26: [2, 195], 49: [2, 195], 54: [2, 195], 57: [2, 195], 73: [2, 195], 78: [2, 195], 86: [2, 195], 91: [2, 195], 93: [2, 195], 102: [2, 195], 104: [2, 195], 105: [2, 195], 106: [2, 195], 110: [2, 195], 118: [2, 195], 126: [2, 195], 129: [2, 195], 130: [2, 195], 133: [2, 195], 134: [2, 195], 135: [2, 195], 136: [2, 195], 137: [2, 195], 138: [2, 195], 139: [2, 195]},
{6: [1, 213], 7: 211, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 212], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 214, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{24: 215, 25: [1, 115], 125: [1, 216]},
{1: [2, 134], 6: [2, 134], 25: [2, 134], 26: [2, 134], 49: [2, 134], 54: [2, 134], 57: [2, 134], 73: [2, 134], 78: [2, 134], 86: [2, 134], 91: [2, 134], 93: [2, 134], 97: 217, 98: [1, 218], 99: [1, 219], 102: [2, 134], 104: [2, 134], 105: [2, 134], 106: [2, 134], 110: [2, 134], 118: [2, 134], 126: [2, 134], 129: [2, 134], 130: [2, 134], 133: [2, 134], 134: [2, 134], 135: [2, 134], 136: [2, 134], 137: [2, 134], 138: [2, 134], 139: [2, 134]},
{1: [2, 148], 6: [2, 148], 25: [2, 148], 26: [2, 148], 49: [2, 148], 54: [2, 148], 57: [2, 148], 73: [2, 148], 78: [2, 148], 86: [2, 148], 91: [2, 148], 93: [2, 148], 102: [2, 148], 104: [2, 148], 105: [2, 148], 106: [2, 148], 110: [2, 148], 118: [2, 148], 126: [2, 148], 129: [2, 148], 130: [2, 148], 133: [2, 148], 134: [2, 148], 135: [2, 148], 136: [2, 148], 137: [2, 148], 138: [2, 148], 139: [2, 148]},
{1: [2, 156], 6: [2, 156], 25: [2, 156], 26: [2, 156], 49: [2, 156], 54: [2, 156], 57: [2, 156], 73: [2, 156], 78: [2, 156], 86: [2, 156], 91: [2, 156], 93: [2, 156], 102: [2, 156], 104: [2, 156], 105: [2, 156], 106: [2, 156], 110: [2, 156], 118: [2, 156], 126: [2, 156], 129: [2, 156], 130: [2, 156], 133: [2, 156], 134: [2, 156], 135: [2, 156], 136: [2, 156], 137: [2, 156], 138: [2, 156], 139: [2, 156]},
{25: [1, 220], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{120: 221, 122: 222, 123: [1, 223]},
{1: [2, 97], 6: [2, 97], 25: [2, 97], 26: [2, 97], 49: [2, 97], 54: [2, 97], 57: [2, 97], 73: [2, 97], 78: [2, 97], 86: [2, 97], 91: [2, 97], 93: [2, 97], 102: [2, 97], 104: [2, 97], 105: [2, 97], 106: [2, 97], 110: [2, 97], 118: [2, 97], 126: [2, 97], 129: [2, 97], 130: [2, 97], 133: [2, 97], 134: [2, 97], 135: [2, 97], 136: [2, 97], 137: [2, 97], 138: [2, 97], 139: [2, 97]},
{7: 224, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 100], 6: [2, 100], 24: 225, 25: [1, 115], 26: [2, 100], 49: [2, 100], 54: [2, 100], 57: [2, 100], 66: [2, 72], 67: [2, 72], 68: [2, 72], 69: [2, 72], 71: [2, 72], 73: [2, 100], 74: [2, 72], 78: [2, 100], 80: [1, 226], 84: [2, 72], 85: [2, 72], 86: [2, 100], 91: [2, 100], 93: [2, 100], 102: [2, 100], 104: [2, 100], 105: [2, 100], 106: [2, 100], 110: [2, 100], 118: [2, 100], 126: [2, 100], 129: [2, 100], 130: [2, 100], 133: [2, 100], 134: [2, 100], 135: [2, 100], 136: [2, 100], 137: [2, 100], 138: [2, 100], 139: [2, 100]},
{1: [2, 141], 6: [2, 141], 25: [2, 141], 26: [2, 141], 49: [2, 141], 54: [2, 141], 57: [2, 141], 73: [2, 141], 78: [2, 141], 86: [2, 141], 91: [2, 141], 93: [2, 141], 102: [2, 141], 103: 84, 104: [2, 141], 105: [2, 141], 106: [2, 141], 109: 85, 110: [2, 141], 111: 68, 118: [2, 141], 126: [2, 141], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 45], 6: [2, 45], 26: [2, 45], 102: [2, 45], 103: 84, 104: [2, 45], 106: [2, 45], 109: 85, 110: [2, 45], 111: 68, 126: [2, 45], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [1, 73], 102: [1, 227]},
{4: 228, 5: 3, 7: 4, 8: 5, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 129], 25: [2, 129], 54: [2, 129], 57: [1, 230], 91: [2, 129], 92: 229, 93: [1, 194], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 115], 6: [2, 115], 25: [2, 115], 26: [2, 115], 40: [2, 115], 49: [2, 115], 54: [2, 115], 57: [2, 115], 66: [2, 115], 67: [2, 115], 68: [2, 115], 69: [2, 115], 71: [2, 115], 73: [2, 115], 74: [2, 115], 78: [2, 115], 84: [2, 115], 85: [2, 115], 86: [2, 115], 91: [2, 115], 93: [2, 115], 102: [2, 115], 104: [2, 115], 105: [2, 115], 106: [2, 115], 110: [2, 115], 116: [2, 115], 117: [2, 115], 118: [2, 115], 126: [2, 115], 129: [2, 115], 130: [2, 115], 133: [2, 115], 134: [2, 115], 135: [2, 115], 136: [2, 115], 137: [2, 115], 138: [2, 115], 139: [2, 115]},
{6: [2, 52], 25: [2, 52], 53: 231, 54: [1, 232], 91: [2, 52]},
{6: [2, 124], 25: [2, 124], 26: [2, 124], 54: [2, 124], 86: [2, 124], 91: [2, 124]},
{7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 147], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 87: 233, 88: [1, 57], 89: [1, 58], 90: [1, 56], 94: 146, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 130], 25: [2, 130], 26: [2, 130], 54: [2, 130], 86: [2, 130], 91: [2, 130]},
{6: [2, 131], 25: [2, 131], 26: [2, 131], 54: [2, 131], 86: [2, 131], 91: [2, 131]},
{1: [2, 114], 6: [2, 114], 25: [2, 114], 26: [2, 114], 40: [2, 114], 43: [2, 114], 49: [2, 114], 54: [2, 114], 57: [2, 114], 66: [2, 114], 67: [2, 114], 68: [2, 114], 69: [2, 114], 71: [2, 114], 73: [2, 114], 74: [2, 114], 78: [2, 114], 80: [2, 114], 84: [2, 114], 85: [2, 114], 86: [2, 114], 91: [2, 114], 93: [2, 114], 102: [2, 114], 104: [2, 114], 105: [2, 114], 106: [2, 114], 110: [2, 114], 116: [2, 114], 117: [2, 114], 118: [2, 114], 126: [2, 114], 129: [2, 114], 130: [2, 114], 131: [2, 114], 132: [2, 114], 133: [2, 114], 134: [2, 114], 135: [2, 114], 136: [2, 114], 137: [2, 114], 138: [2, 114], 139: [2, 114], 140: [2, 114]},
{24: 234, 25: [1, 115], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 144], 6: [2, 144], 25: [2, 144], 26: [2, 144], 49: [2, 144], 54: [2, 144], 57: [2, 144], 73: [2, 144], 78: [2, 144], 86: [2, 144], 91: [2, 144], 93: [2, 144], 102: [2, 144], 103: 84, 104: [1, 64], 105: [1, 235], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 144], 126: [2, 144], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 146], 6: [2, 146], 25: [2, 146], 26: [2, 146], 49: [2, 146], 54: [2, 146], 57: [2, 146], 73: [2, 146], 78: [2, 146], 86: [2, 146], 91: [2, 146], 93: [2, 146], 102: [2, 146], 103: 84, 104: [1, 64], 105: [1, 236], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 146], 126: [2, 146], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 152], 6: [2, 152], 25: [2, 152], 26: [2, 152], 49: [2, 152], 54: [2, 152], 57: [2, 152], 73: [2, 152], 78: [2, 152], 86: [2, 152], 91: [2, 152], 93: [2, 152], 102: [2, 152], 104: [2, 152], 105: [2, 152], 106: [2, 152], 110: [2, 152], 118: [2, 152], 126: [2, 152], 129: [2, 152], 130: [2, 152], 133: [2, 152], 134: [2, 152], 135: [2, 152], 136: [2, 152], 137: [2, 152], 138: [2, 152], 139: [2, 152]},
{1: [2, 153], 6: [2, 153], 25: [2, 153], 26: [2, 153], 49: [2, 153], 54: [2, 153], 57: [2, 153], 73: [2, 153], 78: [2, 153], 86: [2, 153], 91: [2, 153], 93: [2, 153], 102: [2, 153], 103: 84, 104: [1, 64], 105: [2, 153], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 153], 126: [2, 153], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 157], 6: [2, 157], 25: [2, 157], 26: [2, 157], 49: [2, 157], 54: [2, 157], 57: [2, 157], 73: [2, 157], 78: [2, 157], 86: [2, 157], 91: [2, 157], 93: [2, 157], 102: [2, 157], 104: [2, 157], 105: [2, 157], 106: [2, 157], 110: [2, 157], 118: [2, 157], 126: [2, 157], 129: [2, 157], 130: [2, 157], 133: [2, 157], 134: [2, 157], 135: [2, 157], 136: [2, 157], 137: [2, 157], 138: [2, 157], 139: [2, 157]},
{116: [2, 159], 117: [2, 159]},
{27: 160, 28: [1, 72], 44: 161, 58: 162, 59: 163, 76: [1, 69], 89: [1, 112], 90: [1, 113], 113: 237, 115: 159},
{54: [1, 238], 116: [2, 165], 117: [2, 165]},
{54: [2, 161], 116: [2, 161], 117: [2, 161]},
{54: [2, 162], 116: [2, 162], 117: [2, 162]},
{54: [2, 163], 116: [2, 163], 117: [2, 163]},
{54: [2, 164], 116: [2, 164], 117: [2, 164]},
{1: [2, 158], 6: [2, 158], 25: [2, 158], 26: [2, 158], 49: [2, 158], 54: [2, 158], 57: [2, 158], 73: [2, 158], 78: [2, 158], 86: [2, 158], 91: [2, 158], 93: [2, 158], 102: [2, 158], 104: [2, 158], 105: [2, 158], 106: [2, 158], 110: [2, 158], 118: [2, 158], 126: [2, 158], 129: [2, 158], 130: [2, 158], 133: [2, 158], 134: [2, 158], 135: [2, 158], 136: [2, 158], 137: [2, 158], 138: [2, 158], 139: [2, 158]},
{7: 239, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 240, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 52], 25: [2, 52], 53: 241, 54: [1, 242], 78: [2, 52]},
{6: [2, 92], 25: [2, 92], 26: [2, 92], 54: [2, 92], 78: [2, 92]},
{6: [2, 38], 25: [2, 38], 26: [2, 38], 43: [1, 243], 54: [2, 38], 78: [2, 38]},
{6: [2, 41], 25: [2, 41], 26: [2, 41], 54: [2, 41], 78: [2, 41]},
{6: [2, 42], 25: [2, 42], 26: [2, 42], 43: [2, 42], 54: [2, 42], 78: [2, 42]},
{6: [2, 43], 25: [2, 43], 26: [2, 43], 43: [2, 43], 54: [2, 43], 78: [2, 43]},
{6: [2, 44], 25: [2, 44], 26: [2, 44], 43: [2, 44], 54: [2, 44], 78: [2, 44]},
{1: [2, 4], 6: [2, 4], 26: [2, 4], 102: [2, 4]},
{1: [2, 197], 6: [2, 197], 25: [2, 197], 26: [2, 197], 49: [2, 197], 54: [2, 197], 57: [2, 197], 73: [2, 197], 78: [2, 197], 86: [2, 197], 91: [2, 197], 93: [2, 197], 102: [2, 197], 103: 84, 104: [2, 197], 105: [2, 197], 106: [2, 197], 109: 85, 110: [2, 197], 111: 68, 118: [2, 197], 126: [2, 197], 129: [2, 197], 130: [2, 197], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [2, 197], 137: [2, 197], 138: [2, 197], 139: [2, 197]},
{1: [2, 198], 6: [2, 198], 25: [2, 198], 26: [2, 198], 49: [2, 198], 54: [2, 198], 57: [2, 198], 73: [2, 198], 78: [2, 198], 86: [2, 198], 91: [2, 198], 93: [2, 198], 102: [2, 198], 103: 84, 104: [2, 198], 105: [2, 198], 106: [2, 198], 109: 85, 110: [2, 198], 111: 68, 118: [2, 198], 126: [2, 198], 129: [2, 198], 130: [2, 198], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [2, 198], 137: [2, 198], 138: [2, 198], 139: [2, 198]},
{1: [2, 199], 6: [2, 199], 25: [2, 199], 26: [2, 199], 49: [2, 199], 54: [2, 199], 57: [2, 199], 73: [2, 199], 78: [2, 199], 86: [2, 199], 91: [2, 199], 93: [2, 199], 102: [2, 199], 103: 84, 104: [2, 199], 105: [2, 199], 106: [2, 199], 109: 85, 110: [2, 199], 111: 68, 118: [2, 199], 126: [2, 199], 129: [2, 199], 130: [2, 199], 133: [1, 74], 134: [2, 199], 135: [1, 78], 136: [2, 199], 137: [2, 199], 138: [2, 199], 139: [2, 199]},
{1: [2, 200], 6: [2, 200], 25: [2, 200], 26: [2, 200], 49: [2, 200], 54: [2, 200], 57: [2, 200], 73: [2, 200], 78: [2, 200], 86: [2, 200], 91: [2, 200], 93: [2, 200], 102: [2, 200], 103: 84, 104: [2, 200], 105: [2, 200], 106: [2, 200], 109: 85, 110: [2, 200], 111: 68, 118: [2, 200], 126: [2, 200], 129: [2, 200], 130: [2, 200], 133: [1, 74], 134: [2, 200], 135: [1, 78], 136: [2, 200], 137: [2, 200], 138: [2, 200], 139: [2, 200]},
{1: [2, 201], 6: [2, 201], 25: [2, 201], 26: [2, 201], 49: [2, 201], 54: [2, 201], 57: [2, 201], 73: [2, 201], 78: [2, 201], 86: [2, 201], 91: [2, 201], 93: [2, 201], 102: [2, 201], 103: 84, 104: [2, 201], 105: [2, 201], 106: [2, 201], 109: 85, 110: [2, 201], 111: 68, 118: [2, 201], 126: [2, 201], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [2, 201], 137: [2, 201], 138: [2, 201], 139: [2, 201]},
{1: [2, 202], 6: [2, 202], 25: [2, 202], 26: [2, 202], 49: [2, 202], 54: [2, 202], 57: [2, 202], 73: [2, 202], 78: [2, 202], 86: [2, 202], 91: [2, 202], 93: [2, 202], 102: [2, 202], 103: 84, 104: [2, 202], 105: [2, 202], 106: [2, 202], 109: 85, 110: [2, 202], 111: 68, 118: [2, 202], 126: [2, 202], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [2, 202], 138: [2, 202], 139: [1, 82]},
{1: [2, 203], 6: [2, 203], 25: [2, 203], 26: [2, 203], 49: [2, 203], 54: [2, 203], 57: [2, 203], 73: [2, 203], 78: [2, 203], 86: [2, 203], 91: [2, 203], 93: [2, 203], 102: [2, 203], 103: 84, 104: [2, 203], 105: [2, 203], 106: [2, 203], 109: 85, 110: [2, 203], 111: 68, 118: [2, 203], 126: [2, 203], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [2, 203], 139: [1, 82]},
{1: [2, 204], 6: [2, 204], 25: [2, 204], 26: [2, 204], 49: [2, 204], 54: [2, 204], 57: [2, 204], 73: [2, 204], 78: [2, 204], 86: [2, 204], 91: [2, 204], 93: [2, 204], 102: [2, 204], 103: 84, 104: [2, 204], 105: [2, 204], 106: [2, 204], 109: 85, 110: [2, 204], 111: 68, 118: [2, 204], 126: [2, 204], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [2, 204], 138: [2, 204], 139: [2, 204]},
{1: [2, 187], 6: [2, 187], 25: [2, 187], 26: [2, 187], 49: [2, 187], 54: [2, 187], 57: [2, 187], 73: [2, 187], 78: [2, 187], 86: [2, 187], 91: [2, 187], 93: [2, 187], 102: [2, 187], 103: 84, 104: [1, 64], 105: [2, 187], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 187], 126: [2, 187], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 186], 6: [2, 186], 25: [2, 186], 26: [2, 186], 49: [2, 186], 54: [2, 186], 57: [2, 186], 73: [2, 186], 78: [2, 186], 86: [2, 186], 91: [2, 186], 93: [2, 186], 102: [2, 186], 103: 84, 104: [1, 64], 105: [2, 186], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 186], 126: [2, 186], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 104], 6: [2, 104], 25: [2, 104], 26: [2, 104], 49: [2, 104], 54: [2, 104], 57: [2, 104], 66: [2, 104], 67: [2, 104], 68: [2, 104], 69: [2, 104], 71: [2, 104], 73: [2, 104], 74: [2, 104], 78: [2, 104], 84: [2, 104], 85: [2, 104], 86: [2, 104], 91: [2, 104], 93: [2, 104], 102: [2, 104], 104: [2, 104], 105: [2, 104], 106: [2, 104], 110: [2, 104], 118: [2, 104], 126: [2, 104], 129: [2, 104], 130: [2, 104], 133: [2, 104], 134: [2, 104], 135: [2, 104], 136: [2, 104], 137: [2, 104], 138: [2, 104], 139: [2, 104]},
{1: [2, 80], 6: [2, 80], 25: [2, 80], 26: [2, 80], 40: [2, 80], 49: [2, 80], 54: [2, 80], 57: [2, 80], 66: [2, 80], 67: [2, 80], 68: [2, 80], 69: [2, 80], 71: [2, 80], 73: [2, 80], 74: [2, 80], 78: [2, 80], 80: [2, 80], 84: [2, 80], 85: [2, 80], 86: [2, 80], 91: [2, 80], 93: [2, 80], 102: [2, 80], 104: [2, 80], 105: [2, 80], 106: [2, 80], 110: [2, 80], 118: [2, 80], 126: [2, 80], 129: [2, 80], 130: [2, 80], 131: [2, 80], 132: [2, 80], 133: [2, 80], 134: [2, 80], 135: [2, 80], 136: [2, 80], 137: [2, 80], 138: [2, 80], 139: [2, 80], 140: [2, 80]},
{1: [2, 81], 6: [2, 81], 25: [2, 81], 26: [2, 81], 40: [2, 81], 49: [2, 81], 54: [2, 81], 57: [2, 81], 66: [2, 81], 67: [2, 81], 68: [2, 81], 69: [2, 81], 71: [2, 81], 73: [2, 81], 74: [2, 81], 78: [2, 81], 80: [2, 81], 84: [2, 81], 85: [2, 81], 86: [2, 81], 91: [2, 81], 93: [2, 81], 102: [2, 81], 104: [2, 81], 105: [2, 81], 106: [2, 81], 110: [2, 81], 118: [2, 81], 126: [2, 81], 129: [2, 81], 130: [2, 81], 131: [2, 81], 132: [2, 81], 133: [2, 81], 134: [2, 81], 135: [2, 81], 136: [2, 81], 137: [2, 81], 138: [2, 81], 139: [2, 81], 140: [2, 81]},
{1: [2, 82], 6: [2, 82], 25: [2, 82], 26: [2, 82], 40: [2, 82], 49: [2, 82], 54: [2, 82], 57: [2, 82], 66: [2, 82], 67: [2, 82], 68: [2, 82], 69: [2, 82], 71: [2, 82], 73: [2, 82], 74: [2, 82], 78: [2, 82], 80: [2, 82], 84: [2, 82], 85: [2, 82], 86: [2, 82], 91: [2, 82], 93: [2, 82], 102: [2, 82], 104: [2, 82], 105: [2, 82], 106: [2, 82], 110: [2, 82], 118: [2, 82], 126: [2, 82], 129: [2, 82], 130: [2, 82], 131: [2, 82], 132: [2, 82], 133: [2, 82], 134: [2, 82], 135: [2, 82], 136: [2, 82], 137: [2, 82], 138: [2, 82], 139: [2, 82], 140: [2, 82]},
{1: [2, 83], 6: [2, 83], 25: [2, 83], 26: [2, 83], 40: [2, 83], 49: [2, 83], 54: [2, 83], 57: [2, 83], 66: [2, 83], 67: [2, 83], 68: [2, 83], 69: [2, 83], 71: [2, 83], 73: [2, 83], 74: [2, 83], 78: [2, 83], 80: [2, 83], 84: [2, 83], 85: [2, 83], 86: [2, 83], 91: [2, 83], 93: [2, 83], 102: [2, 83], 104: [2, 83], 105: [2, 83], 106: [2, 83], 110: [2, 83], 118: [2, 83], 126: [2, 83], 129: [2, 83], 130: [2, 83], 131: [2, 83], 132: [2, 83], 133: [2, 83], 134: [2, 83], 135: [2, 83], 136: [2, 83], 137: [2, 83], 138: [2, 83], 139: [2, 83], 140: [2, 83]},
{73: [1, 244]},
{57: [1, 195], 73: [2, 88], 92: 245, 93: [1, 194], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{73: [2, 89]},
{7: 246, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 73: [2, 123], 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{11: [2, 117], 28: [2, 117], 30: [2, 117], 31: [2, 117], 33: [2, 117], 34: [2, 117], 35: [2, 117], 36: [2, 117], 37: [2, 117], 38: [2, 117], 45: [2, 117], 46: [2, 117], 47: [2, 117], 51: [2, 117], 52: [2, 117], 73: [2, 117], 76: [2, 117], 79: [2, 117], 83: [2, 117], 88: [2, 117], 89: [2, 117], 90: [2, 117], 96: [2, 117], 100: [2, 117], 101: [2, 117], 104: [2, 117], 106: [2, 117], 108: [2, 117], 110: [2, 117], 119: [2, 117], 125: [2, 117], 127: [2, 117], 128: [2, 117], 129: [2, 117], 130: [2, 117], 131: [2, 117], 132: [2, 117]},
{11: [2, 118], 28: [2, 118], 30: [2, 118], 31: [2, 118], 33: [2, 118], 34: [2, 118], 35: [2, 118], 36: [2, 118], 37: [2, 118], 38: [2, 118], 45: [2, 118], 46: [2, 118], 47: [2, 118], 51: [2, 118], 52: [2, 118], 73: [2, 118], 76: [2, 118], 79: [2, 118], 83: [2, 118], 88: [2, 118], 89: [2, 118], 90: [2, 118], 96: [2, 118], 100: [2, 118], 101: [2, 118], 104: [2, 118], 106: [2, 118], 108: [2, 118], 110: [2, 118], 119: [2, 118], 125: [2, 118], 127: [2, 118], 128: [2, 118], 129: [2, 118], 130: [2, 118], 131: [2, 118], 132: [2, 118]},
{1: [2, 87], 6: [2, 87], 25: [2, 87], 26: [2, 87], 40: [2, 87], 49: [2, 87], 54: [2, 87], 57: [2, 87], 66: [2, 87], 67: [2, 87], 68: [2, 87], 69: [2, 87], 71: [2, 87], 73: [2, 87], 74: [2, 87], 78: [2, 87], 80: [2, 87], 84: [2, 87], 85: [2, 87], 86: [2, 87], 91: [2, 87], 93: [2, 87], 102: [2, 87], 104: [2, 87], 105: [2, 87], 106: [2, 87], 110: [2, 87], 118: [2, 87], 126: [2, 87], 129: [2, 87], 130: [2, 87], 131: [2, 87], 132: [2, 87], 133: [2, 87], 134: [2, 87], 135: [2, 87], 136: [2, 87], 137: [2, 87], 138: [2, 87], 139: [2, 87], 140: [2, 87]},
{1: [2, 105], 6: [2, 105], 25: [2, 105], 26: [2, 105], 49: [2, 105], 54: [2, 105], 57: [2, 105], 66: [2, 105], 67: [2, 105], 68: [2, 105], 69: [2, 105], 71: [2, 105], 73: [2, 105], 74: [2, 105], 78: [2, 105], 84: [2, 105], 85: [2, 105], 86: [2, 105], 91: [2, 105], 93: [2, 105], 102: [2, 105], 104: [2, 105], 105: [2, 105], 106: [2, 105], 110: [2, 105], 118: [2, 105], 126: [2, 105], 129: [2, 105], 130: [2, 105], 133: [2, 105], 134: [2, 105], 135: [2, 105], 136: [2, 105], 137: [2, 105], 138: [2, 105], 139: [2, 105]},
{1: [2, 35], 6: [2, 35], 25: [2, 35], 26: [2, 35], 49: [2, 35], 54: [2, 35], 57: [2, 35], 73: [2, 35], 78: [2, 35], 86: [2, 35], 91: [2, 35], 93: [2, 35], 102: [2, 35], 103: 84, 104: [2, 35], 105: [2, 35], 106: [2, 35], 109: 85, 110: [2, 35], 111: 68, 118: [2, 35], 126: [2, 35], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{7: 247, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 248, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 110], 6: [2, 110], 25: [2, 110], 26: [2, 110], 49: [2, 110], 54: [2, 110], 57: [2, 110], 66: [2, 110], 67: [2, 110], 68: [2, 110], 69: [2, 110], 71: [2, 110], 73: [2, 110], 74: [2, 110], 78: [2, 110], 84: [2, 110], 85: [2, 110], 86: [2, 110], 91: [2, 110], 93: [2, 110], 102: [2, 110], 104: [2, 110], 105: [2, 110], 106: [2, 110], 110: [2, 110], 118: [2, 110], 126: [2, 110], 129: [2, 110], 130: [2, 110], 133: [2, 110], 134: [2, 110], 135: [2, 110], 136: [2, 110], 137: [2, 110], 138: [2, 110], 139: [2, 110]},
{6: [2, 52], 25: [2, 52], 53: 249, 54: [1, 232], 86: [2, 52]},
{6: [2, 129], 25: [2, 129], 26: [2, 129], 54: [2, 129], 57: [1, 250], 86: [2, 129], 91: [2, 129], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{50: 251, 51: [1, 59], 52: [1, 60]},
{6: [2, 53], 25: [2, 53], 26: [2, 53], 27: 108, 28: [1, 72], 44: 109, 55: 252, 56: 106, 57: [1, 107], 58: 110, 59: 111, 76: [1, 69], 89: [1, 112], 90: [1, 113]},
{6: [1, 253], 25: [1, 254]},
{6: [2, 60], 25: [2, 60], 26: [2, 60], 49: [2, 60], 54: [2, 60]},
{7: 255, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 23], 6: [2, 23], 25: [2, 23], 26: [2, 23], 49: [2, 23], 54: [2, 23], 57: [2, 23], 73: [2, 23], 78: [2, 23], 86: [2, 23], 91: [2, 23], 93: [2, 23], 98: [2, 23], 99: [2, 23], 102: [2, 23], 104: [2, 23], 105: [2, 23], 106: [2, 23], 110: [2, 23], 118: [2, 23], 121: [2, 23], 123: [2, 23], 126: [2, 23], 129: [2, 23], 130: [2, 23], 133: [2, 23], 134: [2, 23], 135: [2, 23], 136: [2, 23], 137: [2, 23], 138: [2, 23], 139: [2, 23]},
{6: [1, 73], 26: [1, 256]},
{1: [2, 205], 6: [2, 205], 25: [2, 205], 26: [2, 205], 49: [2, 205], 54: [2, 205], 57: [2, 205], 73: [2, 205], 78: [2, 205], 86: [2, 205], 91: [2, 205], 93: [2, 205], 102: [2, 205], 103: 84, 104: [2, 205], 105: [2, 205], 106: [2, 205], 109: 85, 110: [2, 205], 111: 68, 118: [2, 205], 126: [2, 205], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{7: 257, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 258, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 208], 6: [2, 208], 25: [2, 208], 26: [2, 208], 49: [2, 208], 54: [2, 208], 57: [2, 208], 73: [2, 208], 78: [2, 208], 86: [2, 208], 91: [2, 208], 93: [2, 208], 102: [2, 208], 103: 84, 104: [2, 208], 105: [2, 208], 106: [2, 208], 109: 85, 110: [2, 208], 111: 68, 118: [2, 208], 126: [2, 208], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 185], 6: [2, 185], 25: [2, 185], 26: [2, 185], 49: [2, 185], 54: [2, 185], 57: [2, 185], 73: [2, 185], 78: [2, 185], 86: [2, 185], 91: [2, 185], 93: [2, 185], 102: [2, 185], 104: [2, 185], 105: [2, 185], 106: [2, 185], 110: [2, 185], 118: [2, 185], 126: [2, 185], 129: [2, 185], 130: [2, 185], 133: [2, 185], 134: [2, 185], 135: [2, 185], 136: [2, 185], 137: [2, 185], 138: [2, 185], 139: [2, 185]},
{7: 259, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 135], 6: [2, 135], 25: [2, 135], 26: [2, 135], 49: [2, 135], 54: [2, 135], 57: [2, 135], 73: [2, 135], 78: [2, 135], 86: [2, 135], 91: [2, 135], 93: [2, 135], 98: [1, 260], 102: [2, 135], 104: [2, 135], 105: [2, 135], 106: [2, 135], 110: [2, 135], 118: [2, 135], 126: [2, 135], 129: [2, 135], 130: [2, 135], 133: [2, 135], 134: [2, 135], 135: [2, 135], 136: [2, 135], 137: [2, 135], 138: [2, 135], 139: [2, 135]},
{24: 261, 25: [1, 115]},
{24: 264, 25: [1, 115], 27: 262, 28: [1, 72], 59: 263, 76: [1, 69]},
{120: 265, 122: 222, 123: [1, 223]},
{26: [1, 266], 121: [1, 267], 122: 268, 123: [1, 223]},
{26: [2, 178], 121: [2, 178], 123: [2, 178]},
{7: 270, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 95: 269, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 98], 6: [2, 98], 24: 271, 25: [1, 115], 26: [2, 98], 49: [2, 98], 54: [2, 98], 57: [2, 98], 73: [2, 98], 78: [2, 98], 86: [2, 98], 91: [2, 98], 93: [2, 98], 102: [2, 98], 103: 84, 104: [1, 64], 105: [2, 98], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 98], 126: [2, 98], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 101], 6: [2, 101], 25: [2, 101], 26: [2, 101], 49: [2, 101], 54: [2, 101], 57: [2, 101], 73: [2, 101], 78: [2, 101], 86: [2, 101], 91: [2, 101], 93: [2, 101], 102: [2, 101], 104: [2, 101], 105: [2, 101], 106: [2, 101], 110: [2, 101], 118: [2, 101], 126: [2, 101], 129: [2, 101], 130: [2, 101], 133: [2, 101], 134: [2, 101], 135: [2, 101], 136: [2, 101], 137: [2, 101], 138: [2, 101], 139: [2, 101]},
{7: 272, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 142], 6: [2, 142], 25: [2, 142], 26: [2, 142], 49: [2, 142], 54: [2, 142], 57: [2, 142], 66: [2, 142], 67: [2, 142], 68: [2, 142], 69: [2, 142], 71: [2, 142], 73: [2, 142], 74: [2, 142], 78: [2, 142], 84: [2, 142], 85: [2, 142], 86: [2, 142], 91: [2, 142], 93: [2, 142], 102: [2, 142], 104: [2, 142], 105: [2, 142], 106: [2, 142], 110: [2, 142], 118: [2, 142], 126: [2, 142], 129: [2, 142], 130: [2, 142], 133: [2, 142], 134: [2, 142], 135: [2, 142], 136: [2, 142], 137: [2, 142], 138: [2, 142], 139: [2, 142]},
{6: [1, 73], 26: [1, 273]},
{7: 274, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 67], 11: [2, 118], 25: [2, 67], 28: [2, 118], 30: [2, 118], 31: [2, 118], 33: [2, 118], 34: [2, 118], 35: [2, 118], 36: [2, 118], 37: [2, 118], 38: [2, 118], 45: [2, 118], 46: [2, 118], 47: [2, 118], 51: [2, 118], 52: [2, 118], 54: [2, 67], 76: [2, 118], 79: [2, 118], 83: [2, 118], 88: [2, 118], 89: [2, 118], 90: [2, 118], 91: [2, 67], 96: [2, 118], 100: [2, 118], 101: [2, 118], 104: [2, 118], 106: [2, 118], 108: [2, 118], 110: [2, 118], 119: [2, 118], 125: [2, 118], 127: [2, 118], 128: [2, 118], 129: [2, 118], 130: [2, 118], 131: [2, 118], 132: [2, 118]},
{6: [1, 276], 25: [1, 277], 91: [1, 275]},
{6: [2, 53], 7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [2, 53], 26: [2, 53], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 86: [2, 53], 88: [1, 57], 89: [1, 58], 90: [1, 56], 91: [2, 53], 94: 278, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 52], 25: [2, 52], 26: [2, 52], 53: 279, 54: [1, 232]},
{1: [2, 182], 6: [2, 182], 25: [2, 182], 26: [2, 182], 49: [2, 182], 54: [2, 182], 57: [2, 182], 73: [2, 182], 78: [2, 182], 86: [2, 182], 91: [2, 182], 93: [2, 182], 102: [2, 182], 104: [2, 182], 105: [2, 182], 106: [2, 182], 110: [2, 182], 118: [2, 182], 121: [2, 182], 126: [2, 182], 129: [2, 182], 130: [2, 182], 133: [2, 182], 134: [2, 182], 135: [2, 182], 136: [2, 182], 137: [2, 182], 138: [2, 182], 139: [2, 182]},
{7: 280, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 281, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{116: [2, 160], 117: [2, 160]},
{27: 160, 28: [1, 72], 44: 161, 58: 162, 59: 163, 76: [1, 69], 89: [1, 112], 90: [1, 113], 115: 282},
{1: [2, 167], 6: [2, 167], 25: [2, 167], 26: [2, 167], 49: [2, 167], 54: [2, 167], 57: [2, 167], 73: [2, 167], 78: [2, 167], 86: [2, 167], 91: [2, 167], 93: [2, 167], 102: [2, 167], 103: 84, 104: [2, 167], 105: [1, 283], 106: [2, 167], 109: 85, 110: [2, 167], 111: 68, 118: [1, 284], 126: [2, 167], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 168], 6: [2, 168], 25: [2, 168], 26: [2, 168], 49: [2, 168], 54: [2, 168], 57: [2, 168], 73: [2, 168], 78: [2, 168], 86: [2, 168], 91: [2, 168], 93: [2, 168], 102: [2, 168], 103: 84, 104: [2, 168], 105: [1, 285], 106: [2, 168], 109: 85, 110: [2, 168], 111: 68, 118: [2, 168], 126: [2, 168], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [1, 287], 25: [1, 288], 78: [1, 286]},
{6: [2, 53], 10: 170, 25: [2, 53], 26: [2, 53], 27: 171, 28: [1, 72], 29: 172, 30: [1, 70], 31: [1, 71], 41: 289, 42: 169, 44: 173, 46: [1, 45], 78: [2, 53], 89: [1, 112]},
{7: 290, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 291], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 86], 6: [2, 86], 25: [2, 86], 26: [2, 86], 40: [2, 86], 49: [2, 86], 54: [2, 86], 57: [2, 86], 66: [2, 86], 67: [2, 86], 68: [2, 86], 69: [2, 86], 71: [2, 86], 73: [2, 86], 74: [2, 86], 78: [2, 86], 80: [2, 86], 84: [2, 86], 85: [2, 86], 86: [2, 86], 91: [2, 86], 93: [2, 86], 102: [2, 86], 104: [2, 86], 105: [2, 86], 106: [2, 86], 110: [2, 86], 118: [2, 86], 126: [2, 86], 129: [2, 86], 130: [2, 86], 131: [2, 86], 132: [2, 86], 133: [2, 86], 134: [2, 86], 135: [2, 86], 136: [2, 86], 137: [2, 86], 138: [2, 86], 139: [2, 86], 140: [2, 86]},
{7: 292, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 73: [2, 121], 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{73: [2, 122], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 36], 6: [2, 36], 25: [2, 36], 26: [2, 36], 49: [2, 36], 54: [2, 36], 57: [2, 36], 73: [2, 36], 78: [2, 36], 86: [2, 36], 91: [2, 36], 93: [2, 36], 102: [2, 36], 103: 84, 104: [2, 36], 105: [2, 36], 106: [2, 36], 109: 85, 110: [2, 36], 111: 68, 118: [2, 36], 126: [2, 36], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{26: [1, 293], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [1, 276], 25: [1, 277], 86: [1, 294]},
{6: [2, 67], 25: [2, 67], 26: [2, 67], 54: [2, 67], 86: [2, 67], 91: [2, 67]},
{24: 295, 25: [1, 115]},
{6: [2, 56], 25: [2, 56], 26: [2, 56], 49: [2, 56], 54: [2, 56]},
{27: 108, 28: [1, 72], 44: 109, 55: 296, 56: 106, 57: [1, 107], 58: 110, 59: 111, 76: [1, 69], 89: [1, 112], 90: [1, 113]},
{6: [2, 54], 25: [2, 54], 26: [2, 54], 27: 108, 28: [1, 72], 44: 109, 48: 297, 54: [2, 54], 55: 105, 56: 106, 57: [1, 107], 58: 110, 59: 111, 76: [1, 69], 89: [1, 112], 90: [1, 113]},
{6: [2, 61], 25: [2, 61], 26: [2, 61], 49: [2, 61], 54: [2, 61], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 24], 6: [2, 24], 25: [2, 24], 26: [2, 24], 49: [2, 24], 54: [2, 24], 57: [2, 24], 73: [2, 24], 78: [2, 24], 86: [2, 24], 91: [2, 24], 93: [2, 24], 98: [2, 24], 99: [2, 24], 102: [2, 24], 104: [2, 24], 105: [2, 24], 106: [2, 24], 110: [2, 24], 118: [2, 24], 121: [2, 24], 123: [2, 24], 126: [2, 24], 129: [2, 24], 130: [2, 24], 133: [2, 24], 134: [2, 24], 135: [2, 24], 136: [2, 24], 137: [2, 24], 138: [2, 24], 139: [2, 24]},
{26: [1, 298], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 207], 6: [2, 207], 25: [2, 207], 26: [2, 207], 49: [2, 207], 54: [2, 207], 57: [2, 207], 73: [2, 207], 78: [2, 207], 86: [2, 207], 91: [2, 207], 93: [2, 207], 102: [2, 207], 103: 84, 104: [2, 207], 105: [2, 207], 106: [2, 207], 109: 85, 110: [2, 207], 111: 68, 118: [2, 207], 126: [2, 207], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{24: 299, 25: [1, 115], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{24: 300, 25: [1, 115]},
{1: [2, 136], 6: [2, 136], 25: [2, 136], 26: [2, 136], 49: [2, 136], 54: [2, 136], 57: [2, 136], 73: [2, 136], 78: [2, 136], 86: [2, 136], 91: [2, 136], 93: [2, 136], 102: [2, 136], 104: [2, 136], 105: [2, 136], 106: [2, 136], 110: [2, 136], 118: [2, 136], 126: [2, 136], 129: [2, 136], 130: [2, 136], 133: [2, 136], 134: [2, 136], 135: [2, 136], 136: [2, 136], 137: [2, 136], 138: [2, 136], 139: [2, 136]},
{24: 301, 25: [1, 115]},
{24: 302, 25: [1, 115]},
{1: [2, 140], 6: [2, 140], 25: [2, 140], 26: [2, 140], 49: [2, 140], 54: [2, 140], 57: [2, 140], 73: [2, 140], 78: [2, 140], 86: [2, 140], 91: [2, 140], 93: [2, 140], 98: [2, 140], 102: [2, 140], 104: [2, 140], 105: [2, 140], 106: [2, 140], 110: [2, 140], 118: [2, 140], 126: [2, 140], 129: [2, 140], 130: [2, 140], 133: [2, 140], 134: [2, 140], 135: [2, 140], 136: [2, 140], 137: [2, 140], 138: [2, 140], 139: [2, 140]},
{26: [1, 303], 121: [1, 304], 122: 268, 123: [1, 223]},
{1: [2, 176], 6: [2, 176], 25: [2, 176], 26: [2, 176], 49: [2, 176], 54: [2, 176], 57: [2, 176], 73: [2, 176], 78: [2, 176], 86: [2, 176], 91: [2, 176], 93: [2, 176], 102: [2, 176], 104: [2, 176], 105: [2, 176], 106: [2, 176], 110: [2, 176], 118: [2, 176], 126: [2, 176], 129: [2, 176], 130: [2, 176], 133: [2, 176], 134: [2, 176], 135: [2, 176], 136: [2, 176], 137: [2, 176], 138: [2, 176], 139: [2, 176]},
{24: 305, 25: [1, 115]},
{26: [2, 179], 121: [2, 179], 123: [2, 179]},
{24: 306, 25: [1, 115], 54: [1, 307]},
{25: [2, 132], 54: [2, 132], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 99], 6: [2, 99], 25: [2, 99], 26: [2, 99], 49: [2, 99], 54: [2, 99], 57: [2, 99], 73: [2, 99], 78: [2, 99], 86: [2, 99], 91: [2, 99], 93: [2, 99], 102: [2, 99], 104: [2, 99], 105: [2, 99], 106: [2, 99], 110: [2, 99], 118: [2, 99], 126: [2, 99], 129: [2, 99], 130: [2, 99], 133: [2, 99], 134: [2, 99], 135: [2, 99], 136: [2, 99], 137: [2, 99], 138: [2, 99], 139: [2, 99]},
{1: [2, 102], 6: [2, 102], 24: 308, 25: [1, 115], 26: [2, 102], 49: [2, 102], 54: [2, 102], 57: [2, 102], 73: [2, 102], 78: [2, 102], 86: [2, 102], 91: [2, 102], 93: [2, 102], 102: [2, 102], 103: 84, 104: [1, 64], 105: [2, 102], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 102], 126: [2, 102], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{102: [1, 309]},
{91: [1, 310], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 116], 6: [2, 116], 25: [2, 116], 26: [2, 116], 40: [2, 116], 49: [2, 116], 54: [2, 116], 57: [2, 116], 66: [2, 116], 67: [2, 116], 68: [2, 116], 69: [2, 116], 71: [2, 116], 73: [2, 116], 74: [2, 116], 78: [2, 116], 84: [2, 116], 85: [2, 116], 86: [2, 116], 91: [2, 116], 93: [2, 116], 102: [2, 116], 104: [2, 116], 105: [2, 116], 106: [2, 116], 110: [2, 116], 116: [2, 116], 117: [2, 116], 118: [2, 116], 126: [2, 116], 129: [2, 116], 130: [2, 116], 133: [2, 116], 134: [2, 116], 135: [2, 116], 136: [2, 116], 137: [2, 116], 138: [2, 116], 139: [2, 116]},
{7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 94: 311, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 203, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 25: [1, 147], 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 57: [1, 149], 58: 46, 59: 47, 60: 148, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 87: 312, 88: [1, 57], 89: [1, 58], 90: [1, 56], 94: 146, 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [2, 125], 25: [2, 125], 26: [2, 125], 54: [2, 125], 86: [2, 125], 91: [2, 125]},
{6: [1, 276], 25: [1, 277], 26: [1, 313]},
{1: [2, 145], 6: [2, 145], 25: [2, 145], 26: [2, 145], 49: [2, 145], 54: [2, 145], 57: [2, 145], 73: [2, 145], 78: [2, 145], 86: [2, 145], 91: [2, 145], 93: [2, 145], 102: [2, 145], 103: 84, 104: [1, 64], 105: [2, 145], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 145], 126: [2, 145], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 147], 6: [2, 147], 25: [2, 147], 26: [2, 147], 49: [2, 147], 54: [2, 147], 57: [2, 147], 73: [2, 147], 78: [2, 147], 86: [2, 147], 91: [2, 147], 93: [2, 147], 102: [2, 147], 103: 84, 104: [1, 64], 105: [2, 147], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 118: [2, 147], 126: [2, 147], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{116: [2, 166], 117: [2, 166]},
{7: 314, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 315, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 316, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 90], 6: [2, 90], 25: [2, 90], 26: [2, 90], 40: [2, 90], 49: [2, 90], 54: [2, 90], 57: [2, 90], 66: [2, 90], 67: [2, 90], 68: [2, 90], 69: [2, 90], 71: [2, 90], 73: [2, 90], 74: [2, 90], 78: [2, 90], 84: [2, 90], 85: [2, 90], 86: [2, 90], 91: [2, 90], 93: [2, 90], 102: [2, 90], 104: [2, 90], 105: [2, 90], 106: [2, 90], 110: [2, 90], 116: [2, 90], 117: [2, 90], 118: [2, 90], 126: [2, 90], 129: [2, 90], 130: [2, 90], 133: [2, 90], 134: [2, 90], 135: [2, 90], 136: [2, 90], 137: [2, 90], 138: [2, 90], 139: [2, 90]},
{10: 170, 27: 171, 28: [1, 72], 29: 172, 30: [1, 70], 31: [1, 71], 41: 317, 42: 169, 44: 173, 46: [1, 45], 89: [1, 112]},
{6: [2, 91], 10: 170, 25: [2, 91], 26: [2, 91], 27: 171, 28: [1, 72], 29: 172, 30: [1, 70], 31: [1, 71], 41: 168, 42: 169, 44: 173, 46: [1, 45], 54: [2, 91], 77: 318, 89: [1, 112]},
{6: [2, 93], 25: [2, 93], 26: [2, 93], 54: [2, 93], 78: [2, 93]},
{6: [2, 39], 25: [2, 39], 26: [2, 39], 54: [2, 39], 78: [2, 39], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{7: 319, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{73: [2, 120], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 37], 6: [2, 37], 25: [2, 37], 26: [2, 37], 49: [2, 37], 54: [2, 37], 57: [2, 37], 73: [2, 37], 78: [2, 37], 86: [2, 37], 91: [2, 37], 93: [2, 37], 102: [2, 37], 104: [2, 37], 105: [2, 37], 106: [2, 37], 110: [2, 37], 118: [2, 37], 126: [2, 37], 129: [2, 37], 130: [2, 37], 133: [2, 37], 134: [2, 37], 135: [2, 37], 136: [2, 37], 137: [2, 37], 138: [2, 37], 139: [2, 37]},
{1: [2, 111], 6: [2, 111], 25: [2, 111], 26: [2, 111], 49: [2, 111], 54: [2, 111], 57: [2, 111], 66: [2, 111], 67: [2, 111], 68: [2, 111], 69: [2, 111], 71: [2, 111], 73: [2, 111], 74: [2, 111], 78: [2, 111], 84: [2, 111], 85: [2, 111], 86: [2, 111], 91: [2, 111], 93: [2, 111], 102: [2, 111], 104: [2, 111], 105: [2, 111], 106: [2, 111], 110: [2, 111], 118: [2, 111], 126: [2, 111], 129: [2, 111], 130: [2, 111], 133: [2, 111], 134: [2, 111], 135: [2, 111], 136: [2, 111], 137: [2, 111], 138: [2, 111], 139: [2, 111]},
{1: [2, 48], 6: [2, 48], 25: [2, 48], 26: [2, 48], 49: [2, 48], 54: [2, 48], 57: [2, 48], 73: [2, 48], 78: [2, 48], 86: [2, 48], 91: [2, 48], 93: [2, 48], 102: [2, 48], 104: [2, 48], 105: [2, 48], 106: [2, 48], 110: [2, 48], 118: [2, 48], 126: [2, 48], 129: [2, 48], 130: [2, 48], 133: [2, 48], 134: [2, 48], 135: [2, 48], 136: [2, 48], 137: [2, 48], 138: [2, 48], 139: [2, 48]},
{6: [2, 57], 25: [2, 57], 26: [2, 57], 49: [2, 57], 54: [2, 57]},
{6: [2, 52], 25: [2, 52], 26: [2, 52], 53: 320, 54: [1, 205]},
{1: [2, 206], 6: [2, 206], 25: [2, 206], 26: [2, 206], 49: [2, 206], 54: [2, 206], 57: [2, 206], 73: [2, 206], 78: [2, 206], 86: [2, 206], 91: [2, 206], 93: [2, 206], 102: [2, 206], 104: [2, 206], 105: [2, 206], 106: [2, 206], 110: [2, 206], 118: [2, 206], 126: [2, 206], 129: [2, 206], 130: [2, 206], 133: [2, 206], 134: [2, 206], 135: [2, 206], 136: [2, 206], 137: [2, 206], 138: [2, 206], 139: [2, 206]},
{1: [2, 183], 6: [2, 183], 25: [2, 183], 26: [2, 183], 49: [2, 183], 54: [2, 183], 57: [2, 183], 73: [2, 183], 78: [2, 183], 86: [2, 183], 91: [2, 183], 93: [2, 183], 102: [2, 183], 104: [2, 183], 105: [2, 183], 106: [2, 183], 110: [2, 183], 118: [2, 183], 121: [2, 183], 126: [2, 183], 129: [2, 183], 130: [2, 183], 133: [2, 183], 134: [2, 183], 135: [2, 183], 136: [2, 183], 137: [2, 183], 138: [2, 183], 139: [2, 183]},
{1: [2, 137], 6: [2, 137], 25: [2, 137], 26: [2, 137], 49: [2, 137], 54: [2, 137], 57: [2, 137], 73: [2, 137], 78: [2, 137], 86: [2, 137], 91: [2, 137], 93: [2, 137], 102: [2, 137], 104: [2, 137], 105: [2, 137], 106: [2, 137], 110: [2, 137], 118: [2, 137], 126: [2, 137], 129: [2, 137], 130: [2, 137], 133: [2, 137], 134: [2, 137], 135: [2, 137], 136: [2, 137], 137: [2, 137], 138: [2, 137], 139: [2, 137]},
{1: [2, 138], 6: [2, 138], 25: [2, 138], 26: [2, 138], 49: [2, 138], 54: [2, 138], 57: [2, 138], 73: [2, 138], 78: [2, 138], 86: [2, 138], 91: [2, 138], 93: [2, 138], 98: [2, 138], 102: [2, 138], 104: [2, 138], 105: [2, 138], 106: [2, 138], 110: [2, 138], 118: [2, 138], 126: [2, 138], 129: [2, 138], 130: [2, 138], 133: [2, 138], 134: [2, 138], 135: [2, 138], 136: [2, 138], 137: [2, 138], 138: [2, 138], 139: [2, 138]},
{1: [2, 139], 6: [2, 139], 25: [2, 139], 26: [2, 139], 49: [2, 139], 54: [2, 139], 57: [2, 139], 73: [2, 139], 78: [2, 139], 86: [2, 139], 91: [2, 139], 93: [2, 139], 98: [2, 139], 102: [2, 139], 104: [2, 139], 105: [2, 139], 106: [2, 139], 110: [2, 139], 118: [2, 139], 126: [2, 139], 129: [2, 139], 130: [2, 139], 133: [2, 139], 134: [2, 139], 135: [2, 139], 136: [2, 139], 137: [2, 139], 138: [2, 139], 139: [2, 139]},
{1: [2, 174], 6: [2, 174], 25: [2, 174], 26: [2, 174], 49: [2, 174], 54: [2, 174], 57: [2, 174], 73: [2, 174], 78: [2, 174], 86: [2, 174], 91: [2, 174], 93: [2, 174], 102: [2, 174], 104: [2, 174], 105: [2, 174], 106: [2, 174], 110: [2, 174], 118: [2, 174], 126: [2, 174], 129: [2, 174], 130: [2, 174], 133: [2, 174], 134: [2, 174], 135: [2, 174], 136: [2, 174], 137: [2, 174], 138: [2, 174], 139: [2, 174]},
{24: 321, 25: [1, 115]},
{26: [1, 322]},
{6: [1, 323], 26: [2, 180], 121: [2, 180], 123: [2, 180]},
{7: 324, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{1: [2, 103], 6: [2, 103], 25: [2, 103], 26: [2, 103], 49: [2, 103], 54: [2, 103], 57: [2, 103], 73: [2, 103], 78: [2, 103], 86: [2, 103], 91: [2, 103], 93: [2, 103], 102: [2, 103], 104: [2, 103], 105: [2, 103], 106: [2, 103], 110: [2, 103], 118: [2, 103], 126: [2, 103], 129: [2, 103], 130: [2, 103], 133: [2, 103], 134: [2, 103], 135: [2, 103], 136: [2, 103], 137: [2, 103], 138: [2, 103], 139: [2, 103]},
{1: [2, 143], 6: [2, 143], 25: [2, 143], 26: [2, 143], 49: [2, 143], 54: [2, 143], 57: [2, 143], 66: [2, 143], 67: [2, 143], 68: [2, 143], 69: [2, 143], 71: [2, 143], 73: [2, 143], 74: [2, 143], 78: [2, 143], 84: [2, 143], 85: [2, 143], 86: [2, 143], 91: [2, 143], 93: [2, 143], 102: [2, 143], 104: [2, 143], 105: [2, 143], 106: [2, 143], 110: [2, 143], 118: [2, 143], 126: [2, 143], 129: [2, 143], 130: [2, 143], 133: [2, 143], 134: [2, 143], 135: [2, 143], 136: [2, 143], 137: [2, 143], 138: [2, 143], 139: [2, 143]},
{1: [2, 119], 6: [2, 119], 25: [2, 119], 26: [2, 119], 49: [2, 119], 54: [2, 119], 57: [2, 119], 66: [2, 119], 67: [2, 119], 68: [2, 119], 69: [2, 119], 71: [2, 119], 73: [2, 119], 74: [2, 119], 78: [2, 119], 84: [2, 119], 85: [2, 119], 86: [2, 119], 91: [2, 119], 93: [2, 119], 102: [2, 119], 104: [2, 119], 105: [2, 119], 106: [2, 119], 110: [2, 119], 118: [2, 119], 126: [2, 119], 129: [2, 119], 130: [2, 119], 133: [2, 119], 134: [2, 119], 135: [2, 119], 136: [2, 119], 137: [2, 119], 138: [2, 119], 139: [2, 119]},
{6: [2, 126], 25: [2, 126], 26: [2, 126], 54: [2, 126], 86: [2, 126], 91: [2, 126]},
{6: [2, 52], 25: [2, 52], 26: [2, 52], 53: 325, 54: [1, 232]},
{6: [2, 127], 25: [2, 127], 26: [2, 127], 54: [2, 127], 86: [2, 127], 91: [2, 127]},
{1: [2, 169], 6: [2, 169], 25: [2, 169], 26: [2, 169], 49: [2, 169], 54: [2, 169], 57: [2, 169], 73: [2, 169], 78: [2, 169], 86: [2, 169], 91: [2, 169], 93: [2, 169], 102: [2, 169], 103: 84, 104: [2, 169], 105: [2, 169], 106: [2, 169], 109: 85, 110: [2, 169], 111: 68, 118: [1, 326], 126: [2, 169], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 171], 6: [2, 171], 25: [2, 171], 26: [2, 171], 49: [2, 171], 54: [2, 171], 57: [2, 171], 73: [2, 171], 78: [2, 171], 86: [2, 171], 91: [2, 171], 93: [2, 171], 102: [2, 171], 103: 84, 104: [2, 171], 105: [1, 327], 106: [2, 171], 109: 85, 110: [2, 171], 111: 68, 118: [2, 171], 126: [2, 171], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 170], 6: [2, 170], 25: [2, 170], 26: [2, 170], 49: [2, 170], 54: [2, 170], 57: [2, 170], 73: [2, 170], 78: [2, 170], 86: [2, 170], 91: [2, 170], 93: [2, 170], 102: [2, 170], 103: 84, 104: [2, 170], 105: [2, 170], 106: [2, 170], 109: 85, 110: [2, 170], 111: 68, 118: [2, 170], 126: [2, 170], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [2, 94], 25: [2, 94], 26: [2, 94], 54: [2, 94], 78: [2, 94]},
{6: [2, 52], 25: [2, 52], 26: [2, 52], 53: 328, 54: [1, 242]},
{26: [1, 329], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [1, 253], 25: [1, 254], 26: [1, 330]},
{26: [1, 331]},
{1: [2, 177], 6: [2, 177], 25: [2, 177], 26: [2, 177], 49: [2, 177], 54: [2, 177], 57: [2, 177], 73: [2, 177], 78: [2, 177], 86: [2, 177], 91: [2, 177], 93: [2, 177], 102: [2, 177], 104: [2, 177], 105: [2, 177], 106: [2, 177], 110: [2, 177], 118: [2, 177], 126: [2, 177], 129: [2, 177], 130: [2, 177], 133: [2, 177], 134: [2, 177], 135: [2, 177], 136: [2, 177], 137: [2, 177], 138: [2, 177], 139: [2, 177]},
{26: [2, 181], 121: [2, 181], 123: [2, 181]},
{25: [2, 133], 54: [2, 133], 103: 84, 104: [1, 64], 106: [1, 65], 109: 85, 110: [1, 67], 111: 68, 126: [1, 83], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [1, 276], 25: [1, 277], 26: [1, 332]},
{7: 333, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{7: 334, 8: 117, 9: 18, 10: 19, 11: [1, 20], 12: 6, 13: 7, 14: 8, 15: 9, 16: 10, 17: 11, 18: 12, 19: 13, 20: 14, 21: 15, 22: 16, 23: 17, 27: 61, 28: [1, 72], 29: 48, 30: [1, 70], 31: [1, 71], 32: 22, 33: [1, 49], 34: [1, 50], 35: [1, 51], 36: [1, 52], 37: [1, 53], 38: [1, 54], 39: 21, 44: 62, 45: [1, 44], 46: [1, 45], 47: [1, 27], 50: 28, 51: [1, 59], 52: [1, 60], 58: 46, 59: 47, 61: 35, 63: 23, 64: 24, 65: 25, 76: [1, 69], 79: [1, 42], 83: [1, 26], 88: [1, 57], 89: [1, 58], 90: [1, 56], 96: [1, 37], 100: [1, 43], 101: [1, 55], 103: 38, 104: [1, 64], 106: [1, 65], 107: 39, 108: [1, 66], 109: 40, 110: [1, 67], 111: 68, 119: [1, 41], 124: 36, 125: [1, 63], 127: [1, 29], 128: [1, 30], 129: [1, 31], 130: [1, 32], 131: [1, 33], 132: [1, 34]},
{6: [1, 287], 25: [1, 288], 26: [1, 335]},
{6: [2, 40], 25: [2, 40], 26: [2, 40], 54: [2, 40], 78: [2, 40]},
{6: [2, 58], 25: [2, 58], 26: [2, 58], 49: [2, 58], 54: [2, 58]},
{1: [2, 175], 6: [2, 175], 25: [2, 175], 26: [2, 175], 49: [2, 175], 54: [2, 175], 57: [2, 175], 73: [2, 175], 78: [2, 175], 86: [2, 175], 91: [2, 175], 93: [2, 175], 102: [2, 175], 104: [2, 175], 105: [2, 175], 106: [2, 175], 110: [2, 175], 118: [2, 175], 126: [2, 175], 129: [2, 175], 130: [2, 175], 133: [2, 175], 134: [2, 175], 135: [2, 175], 136: [2, 175], 137: [2, 175], 138: [2, 175], 139: [2, 175]},
{6: [2, 128], 25: [2, 128], 26: [2, 128], 54: [2, 128], 86: [2, 128], 91: [2, 128]},
{1: [2, 172], 6: [2, 172], 25: [2, 172], 26: [2, 172], 49: [2, 172], 54: [2, 172], 57: [2, 172], 73: [2, 172], 78: [2, 172], 86: [2, 172], 91: [2, 172], 93: [2, 172], 102: [2, 172], 103: 84, 104: [2, 172], 105: [2, 172], 106: [2, 172], 109: 85, 110: [2, 172], 111: 68, 118: [2, 172], 126: [2, 172], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{1: [2, 173], 6: [2, 173], 25: [2, 173], 26: [2, 173], 49: [2, 173], 54: [2, 173], 57: [2, 173], 73: [2, 173], 78: [2, 173], 86: [2, 173], 91: [2, 173], 93: [2, 173], 102: [2, 173], 103: 84, 104: [2, 173], 105: [2, 173], 106: [2, 173], 109: 85, 110: [2, 173], 111: 68, 118: [2, 173], 126: [2, 173], 129: [1, 76], 130: [1, 75], 133: [1, 74], 134: [1, 77], 135: [1, 78], 136: [1, 79], 137: [1, 80], 138: [1, 81], 139: [1, 82]},
{6: [2, 95], 25: [2, 95], 26: [2, 95], 54: [2, 95], 78: [2, 95]}
], defaultActions: {59: [2, 50], 60: [2, 51], 91: [2, 109], 192: [2, 89]}, parseError: function (e, t) {
if (!t.recoverable)throw Error(e);
this.trace(e)
}, parse: function (e) {
function t() {
var e;
return e = n.lexer.lex() || p, "number" != typeof e && (e = n.symbols_[e] || e), e
}
var n = this, i = [0], r = [null], s = [], o = this.table, a = "", c = 0, h = 0, l = 0, u = 2, p = 1, d = s.slice.call(arguments, 1);
this.lexer.setInput(e), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, this.lexer.yylloc === void 0 && (this.lexer.yylloc = {});
var f = this.lexer.yylloc;
s.push(f);
var m = this.lexer.options && this.lexer.options.ranges;
this.parseError = "function" == typeof this.yy.parseError ? this.yy.parseError : Object.getPrototypeOf(this).parseError;
for (var b, g, k, y, v, w, T, F, L, C = {}; ;) {
if (k = i[i.length - 1], this.defaultActions[k] ? y = this.defaultActions[k] : ((null === b || b === void 0) && (b = t()), y = o[k] && o[k][b]), y === void 0 || !y.length || !y[0]) {
var N = "";
L = [];
for (w in o[k])this.terminals_[w] && w > u && L.push("'" + this.terminals_[w] + "'");
N = this.lexer.showPosition ? "Parse error on line " + (c + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + L.join(", ") + ", got '" + (this.terminals_[b] || b) + "'" : "Parse error on line " + (c + 1) + ": Unexpected " + (b == p ? "end of input" : "'" + (this.terminals_[b] || b) + "'"), this.parseError(N, {text: this.lexer.match, token: this.terminals_[b] || b, line: this.lexer.yylineno, loc: f, expected: L})
}
if (y[0]instanceof Array && y.length > 1)throw Error("Parse Error: multiple actions possible at state: " + k + ", token: " + b);
switch (y[0]) {
case 1:
i.push(b), r.push(this.lexer.yytext), s.push(this.lexer.yylloc), i.push(y[1]), b = null, g ? (b = g, g = null) : (h = this.lexer.yyleng, a = this.lexer.yytext, c = this.lexer.yylineno, f = this.lexer.yylloc, l > 0 && l--);
break;
case 2:
if (T = this.productions_[y[1]][1], C.$ = r[r.length - T], C._$ = {first_line: s[s.length - (T || 1)].first_line, last_line: s[s.length - 1].last_line, first_column: s[s.length - (T || 1)].first_column, last_column: s[s.length - 1].last_column}, m && (C._$.range = [s[s.length - (T || 1)].range[0], s[s.length - 1].range[1]]), v = this.performAction.apply(C, [a, h, c, this.yy, y[1], r, s].concat(d)), v !== void 0)return v;
T && (i = i.slice(0, 2 * -1 * T), r = r.slice(0, -1 * T), s = s.slice(0, -1 * T)), i.push(this.productions_[y[1]][0]), r.push(C.$), s.push(C._$), F = o[i[i.length - 2]][i[i.length - 1]], i.push(F);
break;
case 3:
return!0
}
}
return!0
}};
return e.prototype = t, t.Parser = e, new e
}();
return require !== void 0 && e !== void 0 && (e.parser = n, e.Parser = n.Parser, e.parse = function () {
return n.parse.apply(n, arguments)
}, e.main = function (t) {
t[1] || (console.log("Usage: " + t[0] + " FILE"), process.exit(1));
var n = require("fs").readFileSync(require("path").normalize(t[1]), "utf8");
return e.parser.parse(n)
}, t !== void 0 && require.main === t && e.main(process.argv.slice(1))), t.exports
}(), require["./scope"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r;
r = require("./helpers"), n = r.extend, i = r.last, e.Scope = t = function () {
function e(t, n, i) {
this.parent = t, this.expressions = n, this.method = i, this.variables = [
{name: "arguments", type: "arguments"}
], this.positions = {}, this.parent || (e.root = this)
}
return e.root = null, e.prototype.add = function (e, t, n) {
return this.shared && !n ? this.parent.add(e, t, n) : Object.prototype.hasOwnProperty.call(this.positions, e) ? this.variables[this.positions[e]].type = t : this.positions[e] = this.variables.push({name: e, type: t}) - 1
}, e.prototype.namedMethod = function () {
var e;
return(null != (e = this.method) ? e.name : void 0) || !this.parent ? this.method : this.parent.namedMethod()
}, e.prototype.find = function (e) {
return this.check(e) ? !0 : (this.add(e, "var"), !1)
}, e.prototype.parameter = function (e) {
return this.shared && this.parent.check(e, !0) ? void 0 : this.add(e, "param")
}, e.prototype.check = function (e) {
var t;
return!!(this.type(e) || (null != (t = this.parent) ? t.check(e) : void 0))
}, e.prototype.temporary = function (e, t) {
return e.length > 1 ? "_" + e + (t > 1 ? t - 1 : "") : "_" + (t + parseInt(e, 36)).toString(36).replace(/\d/g, "a")
}, e.prototype.type = function (e) {
var t, n, i, r;
for (r = this.variables, n = 0, i = r.length; i > n; n++)if (t = r[n], t.name === e)return t.type;
return null
}, e.prototype.freeVariable = function (e, t) {
var n, i;
for (null == t && (t = !0), n = 0; this.check(i = this.temporary(e, n));)n++;
return t && this.add(i, "var", !0), i
}, e.prototype.assign = function (e, t) {
return this.add(e, {value: t, assigned: !0}, !0), this.hasAssignments = !0
}, e.prototype.hasDeclarations = function () {
return!!this.declaredVariables().length
}, e.prototype.declaredVariables = function () {
var e, t, n, i, r, s;
for (e = [], t = [], s = this.variables, i = 0, r = s.length; r > i; i++)n = s[i], "var" === n.type && ("_" === n.name.charAt(0) ? t : e).push(n.name);
return e.sort().concat(t.sort())
}, e.prototype.assignedVariables = function () {
var e, t, n, i, r;
for (i = this.variables, r = [], t = 0, n = i.length; n > t; t++)e = i[t], e.type.assigned && r.push("" + e.name + " = " + e.type.value);
return r
}, e
}()
}.call(this), t.exports
}(), require["./nodes"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f, m, b, g, k, y, v, w, T, F, L, C, N, E, x, D, S, R, A, I, _, $, O, j, M, B, V, P, U, H, q, G, W, X, Y, z, K, J, Z, Q, et, tt, nt, it, rt, st, ot, at, ct, ht, lt, ut, pt, dt, ft, mt, bt, gt, kt, yt, vt, wt, Tt = {}.hasOwnProperty, Ft = function (e, t) {
function n() {
this.constructor = e
}
for (var i in t)Tt.call(t, i) && (e[i] = t[i]);
return n.prototype = t.prototype, e.prototype = new n, e.__super__ = t.prototype, e
}, Lt = [].indexOf || function (e) {
for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t;
return-1
}, Ct = [].slice;
Error.stackTraceLimit = 1 / 0, H = require("./scope").Scope, vt = require("./lexer"), M = vt.RESERVED, U = vt.STRICT_PROSCRIBED, wt = require("./helpers"), nt = wt.compact, ot = wt.flatten, st = wt.extend, pt = wt.merge, it = wt.del, bt = wt.starts, rt = wt.ends, lt = wt.last, mt = wt.some, tt = wt.addLocationDataFn, ut = wt.locationDataToString, gt = wt.throwSyntaxError, e.extend = st, e.addLocationDataFn = tt, et = function () {
return!0
}, A = function () {
return!1
}, Y = function () {
return this
}, R = function () {
return this.negated = !this.negated, this
}, e.CodeFragment = h = function () {
function e(e, t) {
var n;
this.code = "" + t, this.locationData = null != e ? e.locationData : void 0, this.type = (null != e ? null != (n = e.constructor) ? n.name : void 0 : void 0) || "unknown"
}
return e.prototype.toString = function () {
return"" + this.code + (this.locationData ? ": " + ut(this.locationData) : "")
}, e
}(), at = function (e) {
var t;
return function () {
var n, i, r;
for (r = [], n = 0, i = e.length; i > n; n++)t = e[n], r.push(t.code);
return r
}().join("")
}, e.Base = r = function () {
function e() {
}
return e.prototype.compile = function (e, t) {
return at(this.compileToFragments(e, t))
}, e.prototype.compileToFragments = function (e, t) {
var n;
return e = st({}, e), t && (e.level = t), n = this.unfoldSoak(e) || this, n.tab = e.indent, e.level !== x && n.isStatement(e) ? n.compileClosure(e) : n.compileNode(e)
}, e.prototype.compileClosure = function (e) {
var n, i, r, a, h;
return(a = this.jumps()) && a.error("cannot use a pure statement in an expression"), e.sharedScope = !0, r = new c([], s.wrap([this])), n = [], ((i = this.contains(ct)) || this.contains(ht)) && (n = [new D("this")], i ? (h = "apply", n.push(new D("arguments"))) : h = "call", r = new Z(r, [new t(new D(h))])), new o(r, n).compileNode(e)
}, e.prototype.cache = function (e, t, n) {
var r, s;
return this.isComplex() ? (r = new D(n || e.scope.freeVariable("ref")), s = new i(r, this), t ? [s.compileToFragments(e, t), [this.makeCode(r.value)]] : [s, r]) : (r = t ? this.compileToFragments(e, t) : this, [r, r])
}, e.prototype.cacheToCodeFragments = function (e) {
return[at(e[0]), at(e[1])]
}, e.prototype.makeReturn = function (e) {
var t;
return t = this.unwrapAll(), e ? new o(new D("" + e + ".push"), [t]) : new V(t)
}, e.prototype.contains = function (e) {
var t;
return t = void 0, this.traverseChildren(!1, function (n) {
return e(n) ? (t = n, !1) : void 0
}), t
}, e.prototype.lastNonComment = function (e) {
var t;
for (t = e.length; t--;)if (!(e[t]instanceof l))return e[t];
return null
}, e.prototype.toString = function (e, t) {
var n;
return null == e && (e = ""), null == t && (t = this.constructor.name), n = "\n" + e + t, this.soak && (n += "?"), this.eachChild(function (t) {
return n += t.toString(e + X)
}), n
}, e.prototype.eachChild = function (e) {
var t, n, i, r, s, o, a, c;
if (!this.children)return this;
for (a = this.children, i = 0, s = a.length; s > i; i++)if (t = a[i], this[t])for (c = ot([this[t]]), r = 0, o = c.length; o > r; r++)if (n = c[r], e(n) === !1)return this;
return this
}, e.prototype.traverseChildren = function (e, t) {
return this.eachChild(function (n) {
var i;
return i = t(n), i !== !1 ? n.traverseChildren(e, t) : void 0
})
}, e.prototype.invert = function () {
return new $("!", this)
}, e.prototype.unwrapAll = function () {
var e;
for (e = this; e !== (e = e.unwrap()););
return e
}, e.prototype.children = [], e.prototype.isStatement = A, e.prototype.jumps = A, e.prototype.isComplex = et, e.prototype.isChainable = A, e.prototype.isAssignable = A, e.prototype.unwrap = Y, e.prototype.unfoldSoak = A, e.prototype.assigns = A, e.prototype.updateLocationDataIfMissing = function (e) {
return this.locationData ? this : (this.locationData = e, this.eachChild(function (t) {
return t.updateLocationDataIfMissing(e)
}))
}, e.prototype.error = function (e) {
return gt(e, this.locationData)
}, e.prototype.makeCode = function (e) {
return new h(this, e)
}, e.prototype.wrapInBraces = function (e) {
return[].concat(this.makeCode("("), e, this.makeCode(")"))
}, e.prototype.joinFragmentArrays = function (e, t) {
var n, i, r, s, o;
for (n = [], r = s = 0, o = e.length; o > s; r = ++s)i = e[r], r && n.push(this.makeCode(t)), n = n.concat(i);
return n
}, e
}(), e.Block = s = function (e) {
function t(e) {
this.expressions = nt(ot(e || []))
}
return Ft(t, e), t.prototype.children = ["expressions"], t.prototype.push = function (e) {
return this.expressions.push(e), this
}, t.prototype.pop = function () {
return this.expressions.pop()
}, t.prototype.unshift = function (e) {
return this.expressions.unshift(e), this
}, t.prototype.unwrap = function () {
return 1 === this.expressions.length ? this.expressions[0] : this
}, t.prototype.isEmpty = function () {
return!this.expressions.length
}, t.prototype.isStatement = function (e) {
var t, n, i, r;
for (r = this.expressions, n = 0, i = r.length; i > n; n++)if (t = r[n], t.isStatement(e))return!0;
return!1
}, t.prototype.jumps = function (e) {
var t, n, i, r, s;
for (s = this.expressions, i = 0, r = s.length; r > i; i++)if (t = s[i], n = t.jumps(e))return n
}, t.prototype.makeReturn = function (e) {
var t, n;
for (n = this.expressions.length; n--;)if (t = this.expressions[n], !(t instanceof l)) {
this.expressions[n] = t.makeReturn(e), t instanceof V && !t.expression && this.expressions.splice(n, 1);
break
}
return this
}, t.prototype.compileToFragments = function (e, n) {
return null == e && (e = {}), e.scope ? t.__super__.compileToFragments.call(this, e, n) : this.compileRoot(e)
}, t.prototype.compileNode = function (e) {
var n, i, r, s, o, a, c, h, l;
for (this.tab = e.indent, a = e.level === x, i = [], l = this.expressions, s = c = 0, h = l.length; h > c; s = ++c)o = l[s], o = o.unwrapAll(), o = o.unfoldSoak(e) || o, o instanceof t ? i.push(o.compileNode(e)) : a ? (o.front = !0, r = o.compileToFragments(e), o.isStatement(e) || (r.unshift(this.makeCode("" + this.tab)), r.push(this.makeCode(";"))), i.push(r)) : i.push(o.compileToFragments(e, C));
return a ? this.spaced ? [].concat(this.joinFragmentArrays(i, "\n\n"), this.makeCode("\n")) : this.joinFragmentArrays(i, "\n") : (n = i.length ? this.joinFragmentArrays(i, ", ") : [this.makeCode("void 0")], i.length > 1 && e.level >= C ? this.wrapInBraces(n) : n)
}, t.prototype.compileRoot = function (e) {
var t, n, i, r, s, o, a, c, h, u;
for (e.indent = e.bare ? "" : X, e.level = x, this.spaced = !0, e.scope = new H(null, this, null), u = e.locals || [], c = 0, h = u.length; h > c; c++)r = u[c], e.scope.parameter(r);
return s = [], e.bare || (o = function () {
var e, n, r, s;
for (r = this.expressions, s = [], i = e = 0, n = r.length; n > e && (t = r[i], t.unwrap()instanceof l); i = ++e)s.push(t);
return s
}.call(this), a = this.expressions.slice(o.length), this.expressions = o, o.length && (s = this.compileNode(pt(e, {indent: ""})), s.push(this.makeCode("\n"))), this.expressions = a), n = this.compileWithDeclarations(e), e.bare ? n : [].concat(s, this.makeCode("(function() {\n"), n, this.makeCode("\n}).call(this);\n"))
}, t.prototype.compileWithDeclarations = function (e) {
var t, n, i, r, s, o, a, c, h, u, p, d, f, m;
for (r = [], o = [], d = this.expressions, s = u = 0, p = d.length; p > u && (i = d[s], i = i.unwrap(), i instanceof l || i instanceof D); s = ++u);
return e = pt(e, {level: x}), s && (a = this.expressions.splice(s, 9e9), f = [this.spaced, !1], h = f[0], this.spaced = f[1], m = [this.compileNode(e), h], r = m[0], this.spaced = m[1], this.expressions = a), o = this.compileNode(e), c = e.scope, c.expressions === this && (n = e.scope.hasDeclarations(), t = c.hasAssignments, n || t ? (s && r.push(this.makeCode("\n")), r.push(this.makeCode("" + this.tab + "var ")), n && r.push(this.makeCode(c.declaredVariables().join(", "))), t && (n && r.push(this.makeCode(",\n" + (this.tab + X))), r.push(this.makeCode(c.assignedVariables().join(",\n" + (this.tab + X))))), r.push(this.makeCode(";\n" + (this.spaced ? "\n" : "")))) : r.length && o.length && r.push(this.makeCode("\n"))), r.concat(o)
}, t.wrap = function (e) {
return 1 === e.length && e[0]instanceof t ? e[0] : new t(e)
}, t
}(r), e.Literal = D = function (e) {
function t(e) {
this.value = e
}
return Ft(t, e), t.prototype.makeReturn = function () {
return this.isStatement() ? this : t.__super__.makeReturn.apply(this, arguments)
}, t.prototype.isAssignable = function () {
return b.test(this.value)
}, t.prototype.isStatement = function () {
var e;
return"break" === (e = this.value) || "continue" === e || "debugger" === e
}, t.prototype.isComplex = A, t.prototype.assigns = function (e) {
return e === this.value
}, t.prototype.jumps = function (e) {
return"break" !== this.value || (null != e ? e.loop : void 0) || (null != e ? e.block : void 0) ? "continue" !== this.value || (null != e ? e.loop : void 0) ? void 0 : this : this
}, t.prototype.compileNode = function (e) {
var t, n, i;
return n = "this" === this.value ? (null != (i = e.scope.method) ? i.bound : void 0) ? e.scope.method.context : this.value : this.value.reserved ? '"' + this.value + '"' : this.value, t = this.isStatement() ? "" + this.tab + n + ";" : n, [this.makeCode(t)]
}, t.prototype.toString = function () {
return' "' + this.value + '"'
}, t
}(r), e.Undefined = function (e) {
function t() {
return t.__super__.constructor.apply(this, arguments)
}
return Ft(t, e), t.prototype.isAssignable = A, t.prototype.isComplex = A, t.prototype.compileNode = function (e) {
return[this.makeCode(e.level >= F ? "(void 0)" : "void 0")]
}, t
}(r), e.Null = function (e) {
function t() {
return t.__super__.constructor.apply(this, arguments)
}
return Ft(t, e), t.prototype.isAssignable = A, t.prototype.isComplex = A, t.prototype.compileNode = function () {
return[this.makeCode("null")]
}, t
}(r), e.Bool = function (e) {
function t(e) {
this.val = e
}
return Ft(t, e), t.prototype.isAssignable = A, t.prototype.isComplex = A, t.prototype.compileNode = function () {
return[this.makeCode(this.val)]
}, t
}(r), e.Return = V = function (e) {
function t(e) {
e && !e.unwrap().isUndefined && (this.expression = e)
}
return Ft(t, e), t.prototype.children = ["expression"], t.prototype.isStatement = et, t.prototype.makeReturn = Y, t.prototype.jumps = Y, t.prototype.compileToFragments = function (e, n) {
var i, r;
return i = null != (r = this.expression) ? r.makeReturn() : void 0, !i || i instanceof t ? t.__super__.compileToFragments.call(this, e, n) : i.compileToFragments(e, n)
}, t.prototype.compileNode = function (e) {
var t;
return t = [], t.push(this.makeCode(this.tab + ("return" + (this.expression ? " " : "")))), this.expression && (t = t.concat(this.expression.compileToFragments(e, E))), t.push(this.makeCode(";")), t
}, t
}(r), e.Value = Z = function (e) {
function t(e, n, i) {
return!n && e instanceof t ? e : (this.base = e, this.properties = n || [], i && (this[i] = !0), this)
}
return Ft(t, e), t.prototype.children = ["base", "properties"], t.prototype.add = function (e) {
return this.properties = this.properties.concat(e), this
}, t.prototype.hasProperties = function () {
return!!this.properties.length
}, t.prototype.bareLiteral = function (e) {
return!this.properties.length && this.base instanceof e
}, t.prototype.isArray = function () {
return this.bareLiteral(n)
}, t.prototype.isRange = function () {
return this.bareLiteral(B)
}, t.prototype.isComplex = function () {
return this.hasProperties() || this.base.isComplex()
}, t.prototype.isAssignable = function () {
return this.hasProperties() || this.base.isAssignable()
}, t.prototype.isSimpleNumber = function () {
return this.bareLiteral(D) && P.test(this.base.value)
}, t.prototype.isString = function () {
return this.bareLiteral(D) && y.test(this.base.value)
}, t.prototype.isRegex = function () {
return this.bareLiteral(D) && k.test(this.base.value)
}, t.prototype.isAtomic = function () {
var e, t, n, i;
for (i = this.properties.concat(this.base), t = 0, n = i.length; n > t; t++)if (e = i[t], e.soak || e instanceof o)return!1;
return!0
}, t.prototype.isNotCallable = function () {
return this.isSimpleNumber() || this.isString() || this.isRegex() || this.isArray() || this.isRange() || this.isSplice() || this.isObject()
}, t.prototype.isStatement = function (e) {
return!this.properties.length && this.base.isStatement(e)
}, t.prototype.assigns = function (e) {
return!this.properties.length && this.base.assigns(e)
}, t.prototype.jumps = function (e) {
return!this.properties.length && this.base.jumps(e)
}, t.prototype.isObject = function (e) {
return this.properties.length ? !1 : this.base instanceof _ && (!e || this.base.generated)
}, t.prototype.isSplice = function () {
return lt(this.properties)instanceof q
}, t.prototype.looksStatic = function (e) {
var t;
return this.base.value === e && this.properties.length && "prototype" !== (null != (t = this.properties[0].name) ? t.value : void 0)
}, t.prototype.unwrap = function () {
return this.properties.length ? this : this.base
}, t.prototype.cacheReference = function (e) {
var n, r, s, o;
return s = lt(this.properties), 2 > this.properties.length && !this.base.isComplex() && !(null != s ? s.isComplex() : void 0) ? [this, this] : (n = new t(this.base, this.properties.slice(0, -1)), n.isComplex() && (r = new D(e.scope.freeVariable("base")), n = new t(new j(new i(r, n)))), s ? (s.isComplex() && (o = new D(e.scope.freeVariable("name")), s = new T(new i(o, s.index)), o = new T(o)), [n.add(s), new t(r || n.base, [o || s])]) : [n, r])
}, t.prototype.compileNode = function (e) {
var t, n, i, r, s;
for (this.base.front = this.front, i = this.properties, t = this.base.compileToFragments(e, i.length ? F : null), (this.base instanceof j || i.length) && P.test(at(t)) && t.push(this.makeCode(".")), r = 0, s = i.length; s > r; r++)n = i[r], t.push.apply(t, n.compileToFragments(e));
return t
}, t.prototype.unfoldSoak = function (e) {
return null != this.unfoldedSoak ? this.unfoldedSoak : this.unfoldedSoak = function (n) {
return function () {
var r, s, o, a, c, h, l, p, d, f;
if (o = n.base.unfoldSoak(e))return(d = o.body.properties).push.apply(d, n.properties), o;
for (f = n.properties, s = l = 0, p = f.length; p > l; s = ++l)if (a = f[s], a.soak)return a.soak = !1, r = new t(n.base, n.properties.slice(0, s)), h = new t(n.base, n.properties.slice(s)), r.isComplex() && (c = new D(e.scope.freeVariable("ref")), r = new j(new i(c, r)), h.base = c), new v(new u(r), h, {soak: !0});
return!1
}
}(this)()
}, t
}(r), e.Comment = l = function (e) {
function t(e) {
this.comment = e
}
return Ft(t, e), t.prototype.isStatement = et, t.prototype.makeReturn = Y, t.prototype.compileNode = function (e, t) {
var n, i;
return i = this.comment.replace(/^(\s*)#/gm, "$1 *"), n = "/*" + dt(i, this.tab) + (Lt.call(i, "\n") >= 0 ? "\n" + this.tab : "") + " */", (t || e.level) === x && (n = e.indent + n), [this.makeCode("\n"), this.makeCode(n)]
}, t
}(r), e.Call = o = function (e) {
function n(e, t, n) {
this.args = null != t ? t : [], this.soak = n, this.isNew = !1, this.isSuper = "super" === e, this.variable = this.isSuper ? null : e, e instanceof Z && e.isNotCallable() && e.error("literal is not a function")
}
return Ft(n, e), n.prototype.children = ["variable", "args"], n.prototype.newInstance = function () {
var e, t;
return e = (null != (t = this.variable) ? t.base : void 0) || this.variable, e instanceof n && !e.isNew ? e.newInstance() : this.isNew = !0, this
}, n.prototype.superReference = function (e) {
var n, i;
return i = e.scope.namedMethod(), (null != i ? i.klass : void 0) ? (n = [new t(new D("__super__"))], i["static"] && n.push(new t(new D("constructor"))), n.push(new t(new D(i.name))), new Z(new D(i.klass), n).compile(e)) : (null != i ? i.ctor : void 0) ? "" + i.name + ".__super__.constructor" : this.error("cannot call super outside of an instance method.")
}, n.prototype.superThis = function (e) {
var t;
return t = e.scope.method, t && !t.klass && t.context || "this"
}, n.prototype.unfoldSoak = function (e) {
var t, i, r, s, o, a, c, h, l;
if (this.soak) {
if (this.variable) {
if (i = kt(e, this, "variable"))return i;
h = new Z(this.variable).cacheReference(e), r = h[0], o = h[1]
} else r = new D(this.superReference(e)), o = new Z(r);
return o = new n(o, this.args), o.isNew = this.isNew, r = new D("typeof " + r.compile(e) + ' === "function"'), new v(r, new Z(o), {soak: !0})
}
for (t = this, s = []; ;)if (t.variable instanceof n)s.push(t), t = t.variable; else {
if (!(t.variable instanceof Z))break;
if (s.push(t), !((t = t.variable.base)instanceof n))break
}
for (l = s.reverse(), a = 0, c = l.length; c > a; a++)t = l[a], i && (t.variable instanceof n ? t.variable = i : t.variable.base = i), i = kt(e, t, "variable");
return i
}, n.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a, c, h, l;
if (null != (h = this.variable) && (h.front = this.front), r = G.compileSplattedArray(e, this.args, !0), r.length)return this.compileSplat(e, r);
for (i = [], l = this.args, n = a = 0, c = l.length; c > a; n = ++a)t = l[n], n && i.push(this.makeCode(", ")), i.push.apply(i, t.compileToFragments(e, C));
return s = [], this.isSuper ? (o = this.superReference(e) + (".call(" + this.superThis(e)), i.length && (o += ", "), s.push(this.makeCode(o))) : (this.isNew && s.push(this.makeCode("new ")), s.push.apply(s, this.variable.compileToFragments(e, F)), s.push(this.makeCode("("))), s.push.apply(s, i), s.push(this.makeCode(")")), s
}, n.prototype.compileSplat = function (e, t) {
var n, i, r, s, o, a;
return this.isSuper ? [].concat(this.makeCode("" + this.superReference(e) + ".apply(" + this.superThis(e) + ", "), t, this.makeCode(")")) : this.isNew ? (s = this.tab + X, [].concat(this.makeCode("(function(func, args, ctor) {\n" + s + "ctor.prototype = func.prototype;\n" + s + "var child = new ctor, result = func.apply(child, args);\n" + s + "return Object(result) === result ? result : child;\n" + this.tab + "})("), this.variable.compileToFragments(e, C), this.makeCode(", "), t, this.makeCode(", function(){})"))) : (n = [], i = new Z(this.variable), (o = i.properties.pop()) && i.isComplex() ? (a = e.scope.freeVariable("ref"), n = n.concat(this.makeCode("(" + a + " = "), i.compileToFragments(e, C), this.makeCode(")"), o.compileToFragments(e))) : (r = i.compileToFragments(e, F), P.test(at(r)) && (r = this.wrapInBraces(r)), o ? (a = at(r), r.push.apply(r, o.compileToFragments(e))) : a = "null", n = n.concat(r)), n = n.concat(this.makeCode(".apply(" + a + ", "), t, this.makeCode(")")))
}, n
}(r), e.Extends = d = function (e) {
function t(e, t) {
this.child = e, this.parent = t
}
return Ft(t, e), t.prototype.children = ["child", "parent"], t.prototype.compileToFragments = function (e) {
return new o(new Z(new D(yt("extends"))), [this.child, this.parent]).compileToFragments(e)
}, t
}(r), e.Access = t = function (e) {
function t(e, t) {
this.name = e, this.name.asKey = !0, this.soak = "soak" === t
}
return Ft(t, e), t.prototype.children = ["name"], t.prototype.compileToFragments = function (e) {
var t;
return t = this.name.compileToFragments(e), b.test(at(t)) ? t.unshift(this.makeCode(".")) : (t.unshift(this.makeCode("[")), t.push(this.makeCode("]"))), t
}, t.prototype.isComplex = A, t
}(r), e.Index = T = function (e) {
function t(e) {
this.index = e
}
return Ft(t, e), t.prototype.children = ["index"], t.prototype.compileToFragments = function (e) {
return[].concat(this.makeCode("["), this.index.compileToFragments(e, E), this.makeCode("]"))
}, t.prototype.isComplex = function () {
return this.index.isComplex()
}, t
}(r), e.Range = B = function (e) {
function t(e, t, n) {
this.from = e, this.to = t, this.exclusive = "exclusive" === n, this.equals = this.exclusive ? "" : "="
}
return Ft(t, e), t.prototype.children = ["from", "to"], t.prototype.compileVariables = function (e) {
var t, n, i, r, s;
return e = pt(e, {top: !0}), n = this.cacheToCodeFragments(this.from.cache(e, C)), this.fromC = n[0], this.fromVar = n[1], i = this.cacheToCodeFragments(this.to.cache(e, C)), this.toC = i[0], this.toVar = i[1], (t = it(e, "step")) && (r = this.cacheToCodeFragments(t.cache(e, C)), this.step = r[0], this.stepVar = r[1]), s = [this.fromVar.match(I), this.toVar.match(I)], this.fromNum = s[0], this.toNum = s[1], this.stepVar ? this.stepNum = this.stepVar.match(I) : void 0
}, t.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f;
return this.fromVar || this.compileVariables(e), e.index ? (a = this.fromNum && this.toNum, s = it(e, "index"), o = it(e, "name"), h = o && o !== s, p = "" + s + " = " + this.fromC, this.toC !== this.toVar && (p += ", " + this.toC), this.step !== this.stepVar && (p += ", " + this.step), d = ["" + s + " <" + this.equals, "" + s + " >" + this.equals], c = d[0], r = d[1], n = this.stepNum ? ft(this.stepNum[0]) > 0 ? "" + c + " " + this.toVar : "" + r + " " + this.toVar : a ? (f = [ft(this.fromNum[0]), ft(this.toNum[0])], i = f[0], u = f[1], f, u >= i ? "" + c + " " + u : "" + r + " " + u) : (t = this.stepVar ? "" + this.stepVar + " > 0" : "" + this.fromVar + " <= " + this.toVar, "" + t + " ? " + c + " " + this.toVar + " : " + r + " " + this.toVar), l = this.stepVar ? "" + s + " += " + this.stepVar : a ? h ? u >= i ? "++" + s : "--" + s : u >= i ? "" + s + "++" : "" + s + "--" : h ? "" + t + " ? ++" + s + " : --" + s : "" + t + " ? " + s + "++ : " + s + "--", h && (p = "" + o + " = " + p), h && (l = "" + o + " = " + l), [this.makeCode("" + p + "; " + n + "; " + l)]) : this.compileArray(e)
}, t.prototype.compileArray = function (e) {
var t, n, i, r, s, o, a, c, h, l, u, p, d;
return this.fromNum && this.toNum && 20 >= Math.abs(this.fromNum - this.toNum) ? (h = function () {
d = [];
for (var e = p = +this.fromNum, t = +this.toNum; t >= p ? t >= e : e >= t; t >= p ? e++ : e--)d.push(e);
return d
}.apply(this), this.exclusive && h.pop(), [this.makeCode("[" + h.join(", ") + "]")]) : (o = this.tab + X, s = e.scope.freeVariable("i"), l = e.scope.freeVariable("results"), c = "\n" + o + l + " = [];", this.fromNum && this.toNum ? (e.index = s, n = at(this.compileNode(e))) : (u = "" + s + " = " + this.fromC + (this.toC !== this.toVar ? ", " + this.toC : ""), i = "" + this.fromVar + " <= " + this.toVar, n = "var " + u + "; " + i + " ? " + s + " <" + this.equals + " " + this.toVar + " : " + s + " >" + this.equals + " " + this.toVar + "; " + i + " ? " + s + "++ : " + s + "--"), a = "{ " + l + ".push(" + s + "); }\n" + o + "return " + l + ";\n" + e.indent, r = function (e) {
return null != e ? e.contains(ct) : void 0
}, (r(this.from) || r(this.to)) && (t = ", arguments"), [this.makeCode("(function() {" + c + "\n" + o + "for (" + n + ")" + a + "}).apply(this" + (null != t ? t : "") + ")")])
}, t
}(r), e.Slice = q = function (e) {
function t(e) {
this.range = e, t.__super__.constructor.call(this)
}
return Ft(t, e), t.prototype.children = ["range"], t.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a;
return a = this.range, s = a.to, i = a.from, r = i && i.compileToFragments(e, E) || [this.makeCode("0")], s && (t = s.compileToFragments(e, E), n = at(t), (this.range.exclusive || -1 !== +n) && (o = ", " + (this.range.exclusive ? n : P.test(n) ? "" + (+n + 1) : (t = s.compileToFragments(e, F), "+" + at(t) + " + 1 || 9e9")))), [this.makeCode(".slice(" + at(r) + (o || "") + ")")]
}, t
}(r), e.Obj = _ = function (e) {
function t(e, t) {
this.generated = null != t ? t : !1, this.objects = this.properties = e || []
}
return Ft(t, e), t.prototype.children = ["properties"], t.prototype.compileNode = function (e) {
var t, n, r, s, o, a, c, h, u, p, d, f, m;
if (u = this.properties, !u.length)return[this.makeCode(this.front ? "({})" : "{}")];
if (this.generated)for (p = 0, f = u.length; f > p; p++)c = u[p], c instanceof Z && c.error("cannot have an implicit value in an implicit object");
for (r = e.indent += X, a = this.lastNonComment(this.properties), t = [], n = d = 0, m = u.length; m > d; n = ++d)h = u[n], o = n === u.length - 1 ? "" : h === a || h instanceof l ? "\n" : ",\n", s = h instanceof l ? "" : r, h instanceof i && h.variable instanceof Z && h.variable.hasProperties() && h.variable.error("Invalid object key"), h instanceof Z && h["this"] && (h = new i(h.properties[0].name, h, "object")), h instanceof l || (h instanceof i || (h = new i(h, h, "object")), (h.variable.base || h.variable).asKey = !0), s && t.push(this.makeCode(s)), t.push.apply(t, h.compileToFragments(e, x)), o && t.push(this.makeCode(o));
return t.unshift(this.makeCode("{" + (u.length && "\n"))), t.push(this.makeCode("" + (u.length && "\n" + this.tab) + "}")), this.front ? this.wrapInBraces(t) : t
}, t.prototype.assigns = function (e) {
var t, n, i, r;
for (r = this.properties, n = 0, i = r.length; i > n; n++)if (t = r[n], t.assigns(e))return!0;
return!1
}, t
}(r), e.Arr = n = function (e) {
function t(e) {
this.objects = e || []
}
return Ft(t, e), t.prototype.children = ["objects"], t.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a;
if (!this.objects.length)return[this.makeCode("[]")];
if (e.indent += X, t = G.compileSplattedArray(e, this.objects), t.length)return t;
for (t = [], n = function () {
var t, n, i, r;
for (i = this.objects, r = [], t = 0, n = i.length; n > t; t++)s = i[t], r.push(s.compileToFragments(e, C));
return r
}.call(this), r = o = 0, a = n.length; a > o; r = ++o)i = n[r], r && t.push(this.makeCode(", ")), t.push.apply(t, i);
return at(t).indexOf("\n") >= 0 ? (t.unshift(this.makeCode("[\n" + e.indent)), t.push(this.makeCode("\n" + this.tab + "]"))) : (t.unshift(this.makeCode("[")), t.push(this.makeCode("]"))), t
}, t.prototype.assigns = function (e) {
var t, n, i, r;
for (r = this.objects, n = 0, i = r.length; i > n; n++)if (t = r[n], t.assigns(e))return!0;
return!1
}, t
}(r), e.Class = a = function (e) {
function n(e, t, n) {
this.variable = e, this.parent = t, this.body = null != n ? n : new s, this.boundFuncs = [], this.body.classBody = !0
}
return Ft(n, e), n.prototype.children = ["variable", "parent", "body"], n.prototype.determineName = function () {
var e, n;
return this.variable ? (e = (n = lt(this.variable.properties)) ? n instanceof t && n.name.value : this.variable.base.value, Lt.call(U, e) >= 0 && this.variable.error("class variable name may not be " + e), e && (e = b.test(e) && e)) : null
}, n.prototype.setContext = function (e) {
return this.body.traverseChildren(!1, function (t) {
return t.classBody ? !1 : t instanceof D && "this" === t.value ? t.value = e : t instanceof c && (t.klass = e, t.bound) ? t.context = e : void 0
})
}, n.prototype.addBoundFunctions = function (e) {
var n, i, r, s, o;
for (o = this.boundFuncs, r = 0, s = o.length; s > r; r++)n = o[r], i = new Z(new D("this"), [new t(n)]).compile(e), this.ctor.body.unshift(new D("" + i + " = " + yt("bind") + "(" + i + ", this)"))
}, n.prototype.addProperties = function (e, n, r) {
var s, o, a, h, l;
return l = e.base.properties.slice(0), a = function () {
var e;
for (e = []; s = l.shift();)s instanceof i && (o = s.variable.base, delete s.context, h = s.value, "constructor" === o.value ? (this.ctor && s.error("cannot define more than one constructor in a class"), h.bound && s.error("cannot define a constructor as a bound function"), h instanceof c ? s = this.ctor = h : (this.externalCtor = r.classScope.freeVariable("class"), s = new i(new D(this.externalCtor), h))) : s.variable["this"] ? h["static"] = !0 : (s.variable = new Z(new D(n), [new t(new D("prototype")), new t(o)]), h instanceof c && h.bound && (this.boundFuncs.push(o), h.bound = !1))), e.push(s);
return e
}.call(this), nt(a)
}, n.prototype.walkBody = function (e, t) {
return this.traverseChildren(!1, function (r) {
return function (o) {
var a, c, h, l, u, p, d;
if (a = !0, o instanceof n)return!1;
if (o instanceof s) {
for (d = c = o.expressions, h = u = 0, p = d.length; p > u; h = ++u)l = d[h], l instanceof i && l.variable.looksStatic(e) ? l.value["static"] = !0 : l instanceof Z && l.isObject(!0) && (a = !1, c[h] = r.addProperties(l, e, t));
o.expressions = c = ot(c)
}
return a && !(o instanceof n)
}
}(this))
}, n.prototype.hoistDirectivePrologue = function () {
var e, t, n;
for (t = 0, e = this.body.expressions; (n = e[t]) && n instanceof l || n instanceof Z && n.isString();)++t;
return this.directives = e.splice(0, t)
}, n.prototype.ensureConstructor = function (e) {
return this.ctor || (this.ctor = new c, this.externalCtor ? this.ctor.body.push(new D("" + this.externalCtor + ".apply(this, arguments)")) : this.parent && this.ctor.body.push(new D("" + e + ".__super__.constructor.apply(this, arguments)")), this.ctor.body.makeReturn(), this.body.expressions.unshift(this.ctor)), this.ctor.ctor = this.ctor.name = e, this.ctor.klass = null, this.ctor.noReturn = !0
}, n.prototype.compileNode = function (e) {
var t, n, r, a, h, l, u, p, f;
return(a = this.body.jumps()) && a.error("Class bodies cannot contain pure statements"), (n = this.body.contains(ct)) && n.error("Class bodies shouldn't reference arguments"), u = this.determineName() || "_Class", u.reserved && (u = "_" + u), l = new D(u), r = new c([], s.wrap([this.body])), t = [], e.classScope = r.makeScope(e.scope), this.hoistDirectivePrologue(), this.setContext(u), this.walkBody(u, e), this.ensureConstructor(u), this.addBoundFunctions(e), this.body.spaced = !0, this.body.expressions.push(l), this.parent && (p = new D(e.classScope.freeVariable("super", !1)), this.body.expressions.unshift(new d(l, p)), r.params.push(new O(p)), t.push(this.parent)), (f = this.body.expressions).unshift.apply(f, this.directives), h = new j(new o(r, t)), this.variable && (h = new i(this.variable, h)), h.compileToFragments(e)
}, n
}(r), e.Assign = i = function (e) {
function n(e, t, n, i) {
var r, s, o;
this.variable = e, this.value = t, this.context = n, this.param = i && i.param, this.subpattern = i && i.subpattern, o = s = this.variable.unwrapAll().value, r = Lt.call(U, o) >= 0, r && "object" !== this.context && this.variable.error('variable name may not be "' + s + '"')
}
return Ft(n, e), n.prototype.children = ["variable", "value"], n.prototype.isStatement = function (e) {
return(null != e ? e.level : void 0) === x && null != this.context && Lt.call(this.context, "?") >= 0
}, n.prototype.assigns = function (e) {
return this["object" === this.context ? "value" : "variable"].assigns(e)
}, n.prototype.unfoldSoak = function (e) {
return kt(e, this, "variable")
}, n.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a, h, l, u, p;
if (i = this.variable instanceof Z) {
if (this.variable.isArray() || this.variable.isObject())return this.compilePatternMatch(e);
if (this.variable.isSplice())return this.compileSplice(e);
if ("||=" === (h = this.context) || "&&=" === h || "?=" === h)return this.compileConditional(e);
if ("**=" === (l = this.context) || "//=" === l || "%%=" === l)return this.compileSpecialMath(e)
}
return n = this.variable.compileToFragments(e, C), s = at(n), this.context || (a = this.variable.unwrapAll(), a.isAssignable() || this.variable.error('"' + this.variable.compile(e) + '" cannot be assigned'), ("function" == typeof a.hasProperties ? a.hasProperties() : void 0) || (this.param ? e.scope.add(s, "var") : e.scope.find(s))), this.value instanceof c && (r = S.exec(s)) && (r[2] && (this.value.klass = r[1]), this.value.name = null != (u = null != (p = r[3]) ? p : r[4]) ? u : r[5]), o = this.value.compileToFragments(e, C), "object" === this.context ? n.concat(this.makeCode(": "), o) : (t = n.concat(this.makeCode(" " + (this.context || "=") + " "), o), C >= e.level ? t : this.wrapInBraces(t))
}, n.prototype.compilePatternMatch = function (e) {
var i, r, s, o, a, c, h, l, u, d, f, m, g, k, y, v, w, F, L, E, S, R, A, I, _, $, O, B;
if (v = e.level === x, F = this.value, m = this.variable.base.objects, !(g = m.length))return s = F.compileToFragments(e), e.level >= N ? this.wrapInBraces(s) : s;
if (l = this.variable.isObject(), v && 1 === g && !((f = m[0])instanceof G))return f instanceof n ? (A = f, I = A.variable, h = I.base, f = A.value) : h = l ? f["this"] ? f.properties[0].name : f : new D(0), i = b.test(h.unwrap().value || 0), F = new Z(F), F.properties.push(new (i ? t : T)(h)), _ = f.unwrap().value, Lt.call(M, _) >= 0 && f.error("assignment to a reserved word: " + f.compile(e)), new n(f, F, null, {param: this.param}).compileToFragments(e, x);
for (L = F.compileToFragments(e, C), E = at(L), r = [], o = !1, (!b.test(E) || this.variable.assigns(E)) && (r.push([this.makeCode("" + (k = e.scope.freeVariable("ref")) + " = ")].concat(Ct.call(L))), L = [this.makeCode(k)], E = k), c = S = 0, R = m.length; R > S; c = ++S) {
if (f = m[c], h = c, l && (f instanceof n ? ($ = f, O = $.variable, h = O.base, f = $.value) : f.base instanceof j ? (B = new Z(f.unwrapAll()).cacheReference(e), f = B[0], h = B[1]) : h = f["this"] ? f.properties[0].name : f), !o && f instanceof G)d = f.name.unwrap().value, f = f.unwrap(), w = "" + g + " <= " + E + ".length ? " + yt("slice") + ".call(" + E + ", " + c, (y = g - c - 1) ? (u = e.scope.freeVariable("i"), w += ", " + u + " = " + E + ".length - " + y + ") : (" + u + " = " + c + ", [])") : w += ") : []", w = new D(w), o = "" + u + "++"; else {
if (!o && f instanceof p) {
(y = g - c - 1) && (1 === y ? o = "" + E + ".length - 1" : (u = e.scope.freeVariable("i"), w = new D("" + u + " = " + E + ".length - " + y), o = "" + u + "++", r.push(w.compileToFragments(e, C))));
continue
}
d = f.unwrap().value, (f instanceof G || f instanceof p) && f.error("multiple splats/expansions are disallowed in an assignment"), "number" == typeof h ? (h = new D(o || h), i = !1) : i = l && b.test(h.unwrap().value || 0), w = new Z(new D(E), [new (i ? t : T)(h)])
}
null != d && Lt.call(M, d) >= 0 && f.error("assignment to a reserved word: " + f.compile(e)), r.push(new n(f, w, null, {param: this.param, subpattern: !0}).compileToFragments(e, C))
}
return v || this.subpattern || r.push(L), a = this.joinFragmentArrays(r, ", "), C > e.level ? a : this.wrapInBraces(a)
}, n.prototype.compileConditional = function (e) {
var t, i, r, s;
return s = this.variable.cacheReference(e), i = s[0], r = s[1], !i.properties.length && i.base instanceof D && "this" !== i.base.value && !e.scope.check(i.base.value) && this.variable.error('the variable "' + i.base.value + "\" can't be assigned with " + this.context + " because it has not been declared before"), Lt.call(this.context, "?") >= 0 ? (e.isExistentialEquals = !0, new v(new u(i), r, {type: "if"}).addElse(new n(r, this.value, "=")).compileToFragments(e)) : (t = new $(this.context.slice(0, -1), i, new n(r, this.value, "=")).compileToFragments(e), C >= e.level ? t : this.wrapInBraces(t))
}, n.prototype.compileSpecialMath = function (e) {
var t, i, r;
return r = this.variable.cacheReference(e), t = r[0], i = r[1], new n(t, new $(this.context.slice(0, -1), i, this.value)).compileToFragments(e)
}, n.prototype.compileSplice = function (e) {
var t, n, i, r, s, o, a, c, h, l, u, p;
return l = this.variable.properties.pop().range, i = l.from, a = l.to, n = l.exclusive, o = this.variable.compile(e), i ? (u = this.cacheToCodeFragments(i.cache(e, N)), r = u[0], s = u[1]) : r = s = "0", a ? i instanceof Z && i.isSimpleNumber() && a instanceof Z && a.isSimpleNumber() ? (a = a.compile(e) - s, n || (a += 1)) : (a = a.compile(e, F) + " - " + s, n || (a += " + 1")) : a = "9e9", p = this.value.cache(e, C), c = p[0], h = p[1], t = [].concat(this.makeCode("[].splice.apply(" + o + ", [" + r + ", " + a + "].concat("), c, this.makeCode(")), "), h), e.level > x ? this.wrapInBraces(t) : t
}, n
}(r), e.Code = c = function (e) {
function t(e, t, n) {
this.params = e || [], this.body = t || new s, this.bound = "boundfunc" === n
}
return Ft(t, e), t.prototype.children = ["params", "body"], t.prototype.isStatement = function () {
return!!this.ctor
}, t.prototype.jumps = A, t.prototype.makeScope = function (e) {
return new H(e, this.body, this)
}, t.prototype.compileNode = function (e) {
var r, a, c, h, l, u, d, f, m, b, g, k, y, w, T, L, C, N, E, x, S, R, A, I, _, j, M, B, V, P, U, H, q;
if (this.bound && (null != (B = e.scope.method) ? B.bound : void 0) && (this.context = e.scope.method.context), this.bound && !this.context)return this.context = "_this", T = new t([new O(new D(this.context))], new s([this])), a = new o(T, [new D("this")]), a.updateLocationDataIfMissing(this.locationData), a.compileNode(e);
for (e.scope = it(e, "classScope") || this.makeScope(e.scope), e.scope.shared = it(e, "sharedScope"), e.indent += X, delete e.bare, delete e.isExistentialEquals, m = [], h = [], V = this.params, L = 0, x = V.length; x > L; L++)f = V[L], f instanceof p || e.scope.parameter(f.asReference(e));
for (P = this.params, C = 0, S = P.length; S > C; C++)if (f = P[C], f.splat || f instanceof p) {
for (U = this.params, N = 0, R = U.length; R > N; N++)d = U[N].name, f instanceof p || (d["this"] && (d = d.properties[0].name), d.value && e.scope.add(d.value, "var", !0));
g = new i(new Z(new n(function () {
var t, n, i, r;
for (i = this.params, r = [], t = 0, n = i.length; n > t; t++)d = i[t], r.push(d.asReference(e));
return r
}.call(this))), new Z(new D("arguments")));
break
}
for (H = this.params, E = 0, A = H.length; A > E; E++)f = H[E], f.isComplex() ? (y = b = f.asReference(e), f.value && (y = new $("?", b, f.value)), h.push(new i(new Z(f.name), y, "=", {param: !0}))) : (b = f, f.value && (u = new D(b.name.value + " == null"), y = new i(new Z(f.name), f.value, "="), h.push(new v(u, y)))), g || m.push(b);
for (w = this.body.isEmpty(), g && h.unshift(g), h.length && (q = this.body.expressions).unshift.apply(q, h), l = j = 0, I = m.length; I > j; l = ++j)d = m[l], m[l] = d.compileToFragments(e), e.scope.parameter(at(m[l]));
for (k = [], this.eachParamName(function (e, t) {
return Lt.call(k, e) >= 0 && t.error("multiple parameters named '" + e + "'"), k.push(e)
}), w || this.noReturn || this.body.makeReturn(), c = "function", this.ctor && (c += " " + this.name), c += "(", r = [this.makeCode(c)], l = M = 0, _ = m.length; _ > M; l = ++M)d = m[l], l && r.push(this.makeCode(", ")), r.push.apply(r, d);
return r.push(this.makeCode(") {")), this.body.isEmpty() || (r = r.concat(this.makeCode("\n"), this.body.compileWithDeclarations(e), this.makeCode("\n" + this.tab))), r.push(this.makeCode("}")), this.ctor ? [this.makeCode(this.tab)].concat(Ct.call(r)) : this.front || e.level >= F ? this.wrapInBraces(r) : r
}, t.prototype.eachParamName = function (e) {
var t, n, i, r, s;
for (r = this.params, s = [], n = 0, i = r.length; i > n; n++)t = r[n], s.push(t.eachName(e));
return s
}, t.prototype.traverseChildren = function (e, n) {
return e ? t.__super__.traverseChildren.call(this, e, n) : void 0
}, t
}(r), e.Param = O = function (e) {
function t(e, t, n) {
var i;
this.name = e, this.value = t, this.splat = n, i = e = this.name.unwrapAll().value, Lt.call(U, i) >= 0 && this.name.error('parameter name "' + e + '" is not allowed')
}
return Ft(t, e), t.prototype.children = ["name", "value"], t.prototype.compileToFragments = function (e) {
return this.name.compileToFragments(e, C)
}, t.prototype.asReference = function (e) {
var t;
return this.reference ? this.reference : (t = this.name, t["this"] ? (t = t.properties[0].name, t.value.reserved && (t = new D(e.scope.freeVariable(t.value)))) : t.isComplex() && (t = new D(e.scope.freeVariable("arg"))), t = new Z(t), this.splat && (t = new G(t)), t.updateLocationDataIfMissing(this.locationData), this.reference = t)
}, t.prototype.isComplex = function () {
return this.name.isComplex()
}, t.prototype.eachName = function (e, t) {
var n, r, s, o, a, c;
if (null == t && (t = this.name), n = function (t) {
var n;
return n = t.properties[0].name, n.value.reserved ? void 0 : e(n.value, n)
}, t instanceof D)return e(t.value, t);
if (t instanceof Z)return n(t);
for (c = t.objects, o = 0, a = c.length; a > o; o++)s = c[o], s instanceof i ? this.eachName(e, s.value.unwrap()) : s instanceof G ? (r = s.name.unwrap(), e(r.value, r)) : s instanceof Z ? s.isArray() || s.isObject() ? this.eachName(e, s.base) : s["this"] ? n(s) : e(s.base.value, s.base) : s instanceof p || s.error("illegal parameter " + s.compile())
}, t
}(r), e.Splat = G = function (e) {
function t(e) {
this.name = e.compile ? e : new D(e)
}
return Ft(t, e), t.prototype.children = ["name"], t.prototype.isAssignable = et, t.prototype.assigns = function (e) {
return this.name.assigns(e)
}, t.prototype.compileToFragments = function (e) {
return this.name.compileToFragments(e)
}, t.prototype.unwrap = function () {
return this.name
}, t.compileSplattedArray = function (e, n, i) {
var r, s, o, a, c, h, l, u, p, d;
for (l = -1; (u = n[++l]) && !(u instanceof t););
if (l >= n.length)return[];
if (1 === n.length)return u = n[0], c = u.compileToFragments(e, C), i ? c : [].concat(u.makeCode("" + yt("slice") + ".call("), c, u.makeCode(")"));
for (r = n.slice(l), h = p = 0, d = r.length; d > p; h = ++p)u = r[h], o = u.compileToFragments(e, C), r[h] = u instanceof t ? [].concat(u.makeCode("" + yt("slice") + ".call("), o, u.makeCode(")")) : [].concat(u.makeCode("["), o, u.makeCode("]"));
return 0 === l ? (u = n[0], a = u.joinFragmentArrays(r.slice(1), ", "), r[0].concat(u.makeCode(".concat("), a, u.makeCode(")"))) : (s = function () {
var t, i, r, s;
for (r = n.slice(0, l), s = [], t = 0, i = r.length; i > t; t++)u = r[t], s.push(u.compileToFragments(e, C));
return s
}(), s = n[0].joinFragmentArrays(s, ", "), a = n[l].joinFragmentArrays(r, ", "), [].concat(n[0].makeCode("["), s, n[l].makeCode("].concat("), a, lt(n).makeCode(")")))
}, t
}(r), e.Expansion = p = function (e) {
function t() {
return t.__super__.constructor.apply(this, arguments)
}
return Ft(t, e), t.prototype.isComplex = A, t.prototype.compileNode = function () {
return this.error("Expansion must be used inside a destructuring assignment or parameter list")
}, t.prototype.asReference = function () {
return this
}, t.prototype.eachName = function () {
}, t
}(r), e.While = Q = function (e) {
function t(e, t) {
this.condition = (null != t ? t.invert : void 0) ? e.invert() : e, this.guard = null != t ? t.guard : void 0
}
return Ft(t, e), t.prototype.children = ["condition", "guard", "body"], t.prototype.isStatement = et, t.prototype.makeReturn = function (e) {
return e ? t.__super__.makeReturn.apply(this, arguments) : (this.returns = !this.jumps({loop: !0}), this)
}, t.prototype.addBody = function (e) {
return this.body = e, this
}, t.prototype.jumps = function () {
var e, t, n, i, r;
if (e = this.body.expressions, !e.length)return!1;
for (i = 0, r = e.length; r > i; i++)if (n = e[i], t = n.jumps({loop: !0}))return t;
return!1
}, t.prototype.compileNode = function (e) {
var t, n, i, r;
return e.indent += X, r = "", n = this.body, n.isEmpty() ? n = this.makeCode("") : (this.returns && (n.makeReturn(i = e.scope.freeVariable("results")), r = "" + this.tab + i + " = [];\n"), this.guard && (n.expressions.length > 1 ? n.expressions.unshift(new v(new j(this.guard).invert(), new D("continue"))) : this.guard && (n = s.wrap([new v(this.guard, n)]))), n = [].concat(this.makeCode("\n"), n.compileToFragments(e, x), this.makeCode("\n" + this.tab))), t = [].concat(this.makeCode(r + this.tab + "while ("), this.condition.compileToFragments(e, E), this.makeCode(") {"), n, this.makeCode("}")), this.returns && t.push(this.makeCode("\n" + this.tab + "return " + i + ";")), t
}, t
}(r), e.Op = $ = function (e) {
function n(e, t, n, i) {
if ("in" === e)return new w(t, n);
if ("do" === e)return this.generateDo(t);
if ("new" === e) {
if (t instanceof o && !t["do"] && !t.isNew)return t.newInstance();
(t instanceof c && t.bound || t["do"]) && (t = new j(t))
}
return this.operator = r[e] || e, this.first = t, this.second = n, this.flip = !!i, this
}
var r, s;
return Ft(n, e), r = {"==": "===", "!=": "!==", of: "in"}, s = {"!==": "===", "===": "!=="}, n.prototype.children = ["first", "second"], n.prototype.isSimpleNumber = A, n.prototype.isUnary = function () {
return!this.second
}, n.prototype.isComplex = function () {
var e;
return!(this.isUnary() && ("+" === (e = this.operator) || "-" === e)) || this.first.isComplex()
}, n.prototype.isChainable = function () {
var e;
return"<" === (e = this.operator) || ">" === e || ">=" === e || "<=" === e || "===" === e || "!==" === e
}, n.prototype.invert = function () {
var e, t, i, r, o;
if (this.isChainable() && this.first.isChainable()) {
for (e = !0, t = this; t && t.operator;)e && (e = t.operator in s), t = t.first;
if (!e)return new j(this).invert();
for (t = this; t && t.operator;)t.invert = !t.invert, t.operator = s[t.operator], t = t.first;
return this
}
return(r = s[this.operator]) ? (this.operator = r, this.first.unwrap()instanceof n && this.first.invert(), this) : this.second ? new j(this).invert() : "!" === this.operator && (i = this.first.unwrap())instanceof n && ("!" === (o = i.operator) || "in" === o || "instanceof" === o) ? i : new n("!", this)
}, n.prototype.unfoldSoak = function (e) {
var t;
return("++" === (t = this.operator) || "--" === t || "delete" === t) && kt(e, this, "first")
}, n.prototype.generateDo = function (e) {
var t, n, r, s, a, h, l, u;
for (s = [], n = e instanceof i && (a = e.value.unwrap())instanceof c ? a : e, u = n.params || [], h = 0, l = u.length; l > h; h++)r = u[h], r.value ? (s.push(r.value), delete r.value) : s.push(r);
return t = new o(e, s), t["do"] = !0, t
}, n.prototype.compileNode = function (e) {
var t, n, i, r, s, o;
if (n = this.isChainable() && this.first.isChainable(), n || (this.first.front = this.front), "delete" === this.operator && e.scope.check(this.first.unwrapAll().value) && this.error("delete operand may not be argument or var"), ("--" === (s = this.operator) || "++" === s) && (o = this.first.unwrapAll().value, Lt.call(U, o) >= 0) && this.error('cannot increment/decrement "' + this.first.unwrapAll().value + '"'), this.isUnary())return this.compileUnary(e);
if (n)return this.compileChain(e);
switch (this.operator) {
case"?":
return this.compileExistence(e);
case"**":
return this.compilePower(e);
case"//":
return this.compileFloorDivision(e);
case"%%":
return this.compileModulo(e);
default:
return i = this.first.compileToFragments(e, N), r = this.second.compileToFragments(e, N), t = [].concat(i, this.makeCode(" " + this.operator + " "), r), N >= e.level ? t : this.wrapInBraces(t)
}
}, n.prototype.compileChain = function (e) {
var t, n, i, r;
return r = this.first.second.cache(e), this.first.second = r[0], i = r[1], n = this.first.compileToFragments(e, N), t = n.concat(this.makeCode(" " + (this.invert ? "&&" : "||") + " "), i.compileToFragments(e), this.makeCode(" " + this.operator + " "), this.second.compileToFragments(e, N)), this.wrapInBraces(t)
}, n.prototype.compileExistence = function (e) {
var t, n;
return this.first.isComplex() ? (n = new D(e.scope.freeVariable("ref")), t = new j(new i(n, this.first))) : (t = this.first, n = t), new v(new u(t), n, {type: "if"}).addElse(this.second).compileToFragments(e)
}, n.prototype.compileUnary = function (e) {
var t, i, r;
return i = [], t = this.operator, i.push([this.makeCode(t)]), "!" === t && this.first instanceof u ? (this.first.negated = !this.first.negated, this.first.compileToFragments(e)) : e.level >= F ? new j(this).compileToFragments(e) : (r = "+" === t || "-" === t, ("new" === t || "typeof" === t || "delete" === t || r && this.first instanceof n && this.first.operator === t) && i.push([this.makeCode(" ")]), (r && this.first instanceof n || "new" === t && this.first.isStatement(e)) && (this.first = new j(this.first)), i.push(this.first.compileToFragments(e, N)), this.flip && i.reverse(), this.joinFragmentArrays(i, ""))
}, n.prototype.compilePower = function (e) {
var n;
return n = new Z(new D("Math"), [new t(new D("pow"))]), new o(n, [this.first, this.second]).compileToFragments(e)
}, n.prototype.compileFloorDivision = function (e) {
var i, r;
return r = new Z(new D("Math"), [new t(new D("floor"))]), i = new n("/", this.first, this.second), new o(r, [i]).compileToFragments(e)
}, n.prototype.compileModulo = function (e) {
var t;
return t = new Z(new D(yt("modulo"))), new o(t, [this.first, this.second]).compileToFragments(e)
}, n.prototype.toString = function (e) {
return n.__super__.toString.call(this, e, this.constructor.name + " " + this.operator)
}, n
}(r), e.In = w = function (e) {
function t(e, t) {
this.object = e, this.array = t
}
return Ft(t, e), t.prototype.children = ["object", "array"], t.prototype.invert = R, t.prototype.compileNode = function (e) {
var t, n, i, r, s;
if (this.array instanceof Z && this.array.isArray() && this.array.base.objects.length) {
for (s = this.array.base.objects, i = 0, r = s.length; r > i; i++)if (n = s[i], n instanceof G) {
t = !0;
break
}
if (!t)return this.compileOrTest(e)
}
return this.compileLoopTest(e)
}, t.prototype.compileOrTest = function (e) {
var t, n, i, r, s, o, a, c, h, l, u, p;
for (l = this.object.cache(e, N), o = l[0], s = l[1], u = this.negated ? [" !== ", " && "] : [" === ", " || "], t = u[0], n = u[1], a = [], p = this.array.base.objects, i = c = 0, h = p.length; h > c; i = ++c)r = p[i], i && a.push(this.makeCode(n)), a = a.concat(i ? s : o, this.makeCode(t), r.compileToFragments(e, F));
return N > e.level ? a : this.wrapInBraces(a)
}, t.prototype.compileLoopTest = function (e) {
var t, n, i, r;
return r = this.object.cache(e, C), i = r[0], n = r[1], t = [].concat(this.makeCode(yt("indexOf") + ".call("), this.array.compileToFragments(e, C), this.makeCode(", "), n, this.makeCode(") " + (this.negated ? "< 0" : ">= 0"))), at(i) === at(n) ? t : (t = i.concat(this.makeCode(", "), t), C > e.level ? t : this.wrapInBraces(t))
}, t.prototype.toString = function (e) {
return t.__super__.toString.call(this, e, this.constructor.name + (this.negated ? "!" : ""))
}, t
}(r), e.Try = K = function (e) {
function t(e, t, n, i) {
this.attempt = e, this.errorVariable = t, this.recovery = n, this.ensure = i
}
return Ft(t, e), t.prototype.children = ["attempt", "recovery", "ensure"], t.prototype.isStatement = et, t.prototype.jumps = function (e) {
var t;
return this.attempt.jumps(e) || (null != (t = this.recovery) ? t.jumps(e) : void 0)
}, t.prototype.makeReturn = function (e) {
return this.attempt && (this.attempt = this.attempt.makeReturn(e)), this.recovery && (this.recovery = this.recovery.makeReturn(e)), this
}, t.prototype.compileNode = function (e) {
var t, n, r, s;
return e.indent += X, s = this.attempt.compileToFragments(e, x), t = this.recovery ? (r = new D("_error"), this.errorVariable ? this.recovery.unshift(new i(this.errorVariable, r)) : void 0, [].concat(this.makeCode(" catch ("), r.compileToFragments(e), this.makeCode(") {\n"), this.recovery.compileToFragments(e, x), this.makeCode("\n" + this.tab + "}"))) : this.ensure || this.recovery ? [] : [this.makeCode(" catch (_error) {}")], n = this.ensure ? [].concat(this.makeCode(" finally {\n"), this.ensure.compileToFragments(e, x), this.makeCode("\n" + this.tab + "}")) : [], [].concat(this.makeCode("" + this.tab + "try {\n"), s, this.makeCode("\n" + this.tab + "}"), t, n)
}, t
}(r), e.Throw = z = function (e) {
function t(e) {
this.expression = e
}
return Ft(t, e), t.prototype.children = ["expression"], t.prototype.isStatement = et, t.prototype.jumps = A, t.prototype.makeReturn = Y, t.prototype.compileNode = function (e) {
return[].concat(this.makeCode(this.tab + "throw "), this.expression.compileToFragments(e), this.makeCode(";"))
}, t
}(r), e.Existence = u = function (e) {
function t(e) {
this.expression = e
}
return Ft(t, e), t.prototype.children = ["expression"], t.prototype.invert = R, t.prototype.compileNode = function (e) {
var t, n, i, r;
return this.expression.front = this.front, i = this.expression.compile(e, N), b.test(i) && !e.scope.check(i) ? (r = this.negated ? ["===", "||"] : ["!==", "&&"], t = r[0], n = r[1], i = "typeof " + i + " " + t + ' "undefined" ' + n + " " + i + " " + t + " null") : i = "" + i + " " + (this.negated ? "==" : "!=") + " null", [this.makeCode(L >= e.level ? i : "(" + i + ")")]
}, t
}(r), e.Parens = j = function (e) {
function t(e) {
this.body = e
}
return Ft(t, e), t.prototype.children = ["body"], t.prototype.unwrap = function () {
return this.body
}, t.prototype.isComplex = function () {
return this.body.isComplex()
}, t.prototype.compileNode = function (e) {
var t, n, i;
return n = this.body.unwrap(), n instanceof Z && n.isAtomic() ? (n.front = this.front, n.compileToFragments(e)) : (i = n.compileToFragments(e, E), t = N > e.level && (n instanceof $ || n instanceof o || n instanceof f && n.returns), t ? i : this.wrapInBraces(i))
}, t
}(r), e.For = f = function (e) {
function t(e, t) {
var n;
this.source = t.source, this.guard = t.guard, this.step = t.step, this.name = t.name, this.index = t.index, this.body = s.wrap([e]), this.own = !!t.own, this.object = !!t.object, this.object && (n = [this.index, this.name], this.name = n[0], this.index = n[1]), this.index instanceof Z && this.index.error("index cannot be a pattern matching expression"), this.range = this.source instanceof Z && this.source.base instanceof B && !this.source.properties.length, this.pattern = this.name instanceof Z, this.range && this.index && this.index.error("indexes do not apply to range loops"), this.range && this.pattern && this.name.error("cannot pattern match over range loops"), this.own && !this.object && this.name.error("cannot use own with for-in"), this.returns = !1
}
return Ft(t, e), t.prototype.children = ["body", "source", "guard", "step"], t.prototype.compileNode = function (e) {
var t, n, r, o, a, c, h, l, u, p, d, f, m, g, k, y, w, T, F, L, N, E, S, R, A, _, $, O, M, B, P, U, H, q;
return t = s.wrap([this.body]), T = null != (H = lt(t.expressions)) ? H.jumps() : void 0, T && T instanceof V && (this.returns = !1), $ = this.range ? this.source.base : this.source, _ = e.scope, this.pattern || (L = this.name && this.name.compile(e, C)), g = this.index && this.index.compile(e, C), L && !this.pattern && _.find(L), g && _.find(g), this.returns && (A = _.freeVariable("results")), k = this.object && g || _.freeVariable("i"), y = this.range && L || g || k, w = y !== k ? "" + y + " = " : "", this.step && !this.range && (q = this.cacheToCodeFragments(this.step.cache(e, C)), O = q[0], B = q[1], M = B.match(I)), this.pattern && (L = k), U = "", d = "", h = "", f = this.tab + X, this.range ? p = $.compileToFragments(pt(e, {index: k, name: L, step: this.step})) : (P = this.source.compile(e, C), !L && !this.own || b.test(P) || (h += "" + this.tab + (E = _.freeVariable("ref")) + " = " + P + ";\n", P = E), L && !this.pattern && (N = "" + L + " = " + P + "[" + y + "]"), this.object || (O !== B && (h += "" + this.tab + O + ";\n"), this.step && M && (u = 0 > ft(M[0])) || (F = _.freeVariable("len")), a = "" + w + k + " = 0, " + F + " = " + P + ".length", c = "" + w + k + " = " + P + ".length - 1", r = "" + k + " < " + F, o = "" + k + " >= 0", this.step ? (M ? u && (r = o, a = c) : (r = "" + B + " > 0 ? " + r + " : " + o, a = "(" + B + " > 0 ? (" + a + ") : " + c + ")"), m = "" + k + " += " + B) : m = "" + (y !== k ? "++" + k : "" + k + "++"), p = [this.makeCode("" + a + "; " + r + "; " + w + m)])), this.returns && (S = "" + this.tab + A + " = [];\n", R = "\n" + this.tab + "return " + A + ";", t.makeReturn(A)), this.guard && (t.expressions.length > 1 ? t.expressions.unshift(new v(new j(this.guard).invert(), new D("continue"))) : this.guard && (t = s.wrap([new v(this.guard, t)]))), this.pattern && t.expressions.unshift(new i(this.name, new D("" + P + "[" + y + "]"))), l = [].concat(this.makeCode(h), this.pluckDirectCall(e, t)), N && (U = "\n" + f + N + ";"), this.object && (p = [this.makeCode("" + y + " in " + P)], this.own && (d = "\n" + f + "if (!" + yt("hasProp") + ".call(" + P + ", " + y + ")) continue;")), n = t.compileToFragments(pt(e, {indent: f}), x), n && n.length > 0 && (n = [].concat(this.makeCode("\n"), n, this.makeCode("\n"))), [].concat(l, this.makeCode("" + (S || "") + this.tab + "for ("), p, this.makeCode(") {" + d + U), n, this.makeCode("" + this.tab + "}" + (R || "")))
}, t.prototype.pluckDirectCall = function (e, t) {
var n, r, s, a, h, l, u, p, d, f, m, b, g, k, y, v;
for (r = [], f = t.expressions, h = p = 0, d = f.length; d > p; h = ++p)s = f[h], s = s.unwrapAll(), s instanceof o && (u = null != (m = s.variable) ? m.unwrapAll() : void 0, (u instanceof c || u instanceof Z && (null != (b = u.base) ? b.unwrapAll() : void 0)instanceof c && 1 === u.properties.length && ("call" === (g = null != (k = u.properties[0].name) ? k.value : void 0) || "apply" === g)) && (a = (null != (y = u.base) ? y.unwrapAll() : void 0) || u, l = new D(e.scope.freeVariable("fn")), n = new Z(l), u.base && (v = [n, u], u.base = v[0], n = v[1]), t.expressions[h] = new o(n, s.args), r = r.concat(this.makeCode(this.tab), new i(l, a).compileToFragments(e, x), this.makeCode(";\n"))));
return r
}, t
}(Q), e.Switch = W = function (e) {
function t(e, t, n) {
this.subject = e, this.cases = t, this.otherwise = n
}
return Ft(t, e), t.prototype.children = ["subject", "cases", "otherwise"], t.prototype.isStatement = et, t.prototype.jumps = function (e) {
var t, n, i, r, s, o, a, c;
for (null == e && (e = {block: !0}), o = this.cases, r = 0, s = o.length; s > r; r++)if (a = o[r], n = a[0], t = a[1], i = t.jumps(e))return i;
return null != (c = this.otherwise) ? c.jumps(e) : void 0
}, t.prototype.makeReturn = function (e) {
var t, n, i, r, o;
for (r = this.cases, n = 0, i = r.length; i > n; n++)t = r[n], t[1].makeReturn(e);
return e && (this.otherwise || (this.otherwise = new s([new D("void 0")]))), null != (o = this.otherwise) && o.makeReturn(e), this
}, t.prototype.compileNode = function (e) {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f, m, b;
for (c = e.indent + X, h = e.indent = c + X, o = [].concat(this.makeCode(this.tab + "switch ("), this.subject ? this.subject.compileToFragments(e, E) : this.makeCode("false"), this.makeCode(") {\n")), f = this.cases, a = l = 0, p = f.length; p > l; a = ++l) {
for (m = f[a], r = m[0], t = m[1], b = ot([r]), u = 0, d = b.length; d > u; u++)i = b[u], this.subject || (i = i.invert()), o = o.concat(this.makeCode(c + "case "), i.compileToFragments(e, E), this.makeCode(":\n"));
if ((n = t.compileToFragments(e, x)).length > 0 && (o = o.concat(n, this.makeCode("\n"))), a === this.cases.length - 1 && !this.otherwise)break;
s = this.lastNonComment(t.expressions), s instanceof V || s instanceof D && s.jumps() && "debugger" !== s.value || o.push(i.makeCode(h + "break;\n"))
}
return this.otherwise && this.otherwise.expressions.length && o.push.apply(o, [this.makeCode(c + "default:\n")].concat(Ct.call(this.otherwise.compileToFragments(e, x)), [this.makeCode("\n")])), o.push(this.makeCode(this.tab + "}")), o
}, t
}(r), e.If = v = function (e) {
function t(e, t, n) {
this.body = t, null == n && (n = {}), this.condition = "unless" === n.type ? e.invert() : e, this.elseBody = null, this.isChain = !1, this.soak = n.soak
}
return Ft(t, e), t.prototype.children = ["condition", "body", "elseBody"], t.prototype.bodyNode = function () {
var e;
return null != (e = this.body) ? e.unwrap() : void 0
}, t.prototype.elseBodyNode = function () {
var e;
return null != (e = this.elseBody) ? e.unwrap() : void 0
}, t.prototype.addElse = function (e) {
return this.isChain ? this.elseBodyNode().addElse(e) : (this.isChain = e instanceof t, this.elseBody = this.ensureBlock(e), this.elseBody.updateLocationDataIfMissing(e.locationData)), this
}, t.prototype.isStatement = function (e) {
var t;
return(null != e ? e.level : void 0) === x || this.bodyNode().isStatement(e) || (null != (t = this.elseBodyNode()) ? t.isStatement(e) : void 0)
}, t.prototype.jumps = function (e) {
var t;
return this.body.jumps(e) || (null != (t = this.elseBody) ? t.jumps(e) : void 0)
}, t.prototype.compileNode = function (e) {
return this.isStatement(e) ? this.compileStatement(e) : this.compileExpression(e)
}, t.prototype.makeReturn = function (e) {
return e && (this.elseBody || (this.elseBody = new s([new D("void 0")]))), this.body && (this.body = new s([this.body.makeReturn(e)])), this.elseBody && (this.elseBody = new s([this.elseBody.makeReturn(e)])), this
}, t.prototype.ensureBlock = function (e) {
return e instanceof s ? e : new s([e])
}, t.prototype.compileStatement = function (e) {
var n, i, r, s, o, a, c;
return r = it(e, "chainChild"), (o = it(e, "isExistentialEquals")) ? new t(this.condition.invert(), this.elseBodyNode(), {type: "if"}).compileToFragments(e) : (c = e.indent + X, s = this.condition.compileToFragments(e, E), i = this.ensureBlock(this.body).compileToFragments(pt(e, {indent: c})), a = [].concat(this.makeCode("if ("), s, this.makeCode(") {\n"), i, this.makeCode("\n" + this.tab + "}")), r || a.unshift(this.makeCode(this.tab)), this.elseBody ? (n = a.concat(this.makeCode(" else ")), this.isChain ? (e.chainChild = !0, n = n.concat(this.elseBody.unwrap().compileToFragments(e, x))) : n = n.concat(this.makeCode("{\n"), this.elseBody.compileToFragments(pt(e, {indent: c}), x), this.makeCode("\n" + this.tab + "}")), n) : a)
}, t.prototype.compileExpression = function (e) {
var t, n, i, r;
return i = this.condition.compileToFragments(e, L), n = this.bodyNode().compileToFragments(e, C), t = this.elseBodyNode() ? this.elseBodyNode().compileToFragments(e, C) : [this.makeCode("void 0")], r = i.concat(this.makeCode(" ? "), n, this.makeCode(" : "), t), e.level >= L ? this.wrapInBraces(r) : r
}, t.prototype.unfoldSoak = function () {
return this.soak && this
}, t
}(r), J = {"extends": function () {
return"function(child, parent) { for (var key in parent) { if (" + yt("hasProp") + ".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"
}, bind: function () {
return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"
}, indexOf: function () {
return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"
}, modulo: function () {
return"function(a, b) { return (a % b + +b) % b; }"
}, hasProp: function () {
return"{}.hasOwnProperty"
}, slice: function () {
return"[].slice"
}}, x = 1, E = 2, C = 3, L = 4, N = 5, F = 6, X = " ", g = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*", b = RegExp("^" + g + "$"), P = /^[+-]?\d+$/, m = /^[+-]?0x[\da-f]+/i, I = /^[+-]?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)$/i, S = RegExp("^(" + g + ")(\\.prototype)?(?:\\.(" + g + ")|\\[(\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*')\\]|\\[(0x[\\da-fA-F]+|\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\])$"), y = /^['"]/, k = /^\//, yt = function (e) {
var t;
return t = "__" + e, H.root.assign(t, J[e]()), t
}, dt = function (e, t) {
return e = e.replace(/\n/g, "$&" + t), e.replace(/\s+$/, "")
}, ft = function (e) {
return null == e ? 0 : e.match(m) ? parseInt(e, 16) : parseFloat(e)
}, ct = function (e) {
return e instanceof D && "arguments" === e.value && !e.asKey
}, ht = function (e) {
return e instanceof D && "this" === e.value && !e.asKey || e instanceof c && e.bound || e instanceof o && e.isSuper
}, kt = function (e, t, n) {
var i;
if (i = t[n].unfoldSoak(e))return t[n] = i.body, i.body = new Z(t), i
}
}.call(this), t.exports
}(), require["./sourcemap"] = function () {
var e = {}, t = {exports: e};
return function () {
var e, n;
e = function () {
function e(e) {
this.line = e, this.columns = []
}
return e.prototype.add = function (e, t, n) {
var i, r;
return r = t[0], i = t[1], null == n && (n = {}), this.columns[e] && n.noReplace ? void 0 : this.columns[e] = {line: this.line, column: e, sourceLine: r, sourceColumn: i}
}, e.prototype.sourceLocation = function (e) {
for (var t; !((t = this.columns[e]) || 0 >= e);)e--;
return t && [t.sourceLine, t.sourceColumn]
}, e
}(), n = function () {
function t() {
this.lines = []
}
var n, i, r, s;
return t.prototype.add = function (t, n, i) {
var r, s, o, a;
return null == i && (i = {}), s = n[0], r = n[1], o = (a = this.lines)[s] || (a[s] = new e(s)), o.add(r, t, i)
}, t.prototype.sourceLocation = function (e) {
var t, n, i;
for (n = e[0], t = e[1]; !((i = this.lines[n]) || 0 >= n);)n--;
return i && i.sourceLocation(t)
}, t.prototype.generate = function (e, t) {
var n, i, r, s, o, a, c, h, l, u, p, d, f, m, b, g;
for (null == e && (e = {}), null == t && (t = null), u = 0, i = 0, s = 0, r = 0, h = !1, n = "", b = this.lines, a = p = 0, f = b.length; f > p; a = ++p)if (o = b[a])for (g = o.columns, d = 0, m = g.length; m > d; d++)if (c = g[d]) {
for (; c.line > u;)i = 0, h = !1, n += ";", u++;
h && (n += ",", h = !1), n += this.encodeVlq(c.column - i), i = c.column, n += this.encodeVlq(0), n += this.encodeVlq(c.sourceLine - s), s = c.sourceLine, n += this.encodeVlq(c.sourceColumn - r), r = c.sourceColumn, h = !0
}
return l = {version: 3, file: e.generatedFile || "", sourceRoot: e.sourceRoot || "", sources: e.sourceFiles || [""], names: [], mappings: n}, e.inline && (l.sourcesContent = [t]), JSON.stringify(l, null, 2)
}, r = 5, i = 1 << r, s = i - 1, t.prototype.encodeVlq = function (e) {
var t, n, o, a;
for (t = "", o = 0 > e ? 1 : 0, a = (Math.abs(e) << 1) + o; a || !t;)n = a & s, a >>= r, a && (n |= i), t += this.encodeBase64(n);
return t
}, n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", t.prototype.encodeBase64 = function (e) {
return n[e] || function () {
throw Error("Cannot Base64 encode value: " + e)
}()
}, t
}(), t.exports = n
}.call(this), t.exports
}(), require["./coffee-script"] = function () {
var e = {}, t = {exports: e};
return function () {
var t, n, i, r, s, o, a, c, h, l, u, p, d, f = {}.hasOwnProperty, m = [].indexOf || function (e) {
for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t;
return-1
};
s = require("fs"), p = require("vm"), l = require("path"), t = require("./lexer").Lexer, h = require("./parser").parser, a = require("./helpers"), n = require("./sourcemap"), e.VERSION = "1.7.1", e.FILE_EXTENSIONS = [".coffee", ".litcoffee", ".coffee.md"], e.helpers = a, d = function (e) {
return function (t, n) {
var i;
null == n && (n = {});
try {
return e.call(this, t, n)
} catch (r) {
throw i = r, a.updateSyntaxError(i, t, n.filename)
}
}
}, e.compile = i = d(function (e, t) {
var i, r, s, o, l, u, p, d, f, m, b, g, k;
for (m = a.merge, o = a.extend, t = o({}, t), t.sourceMap && (f = new n), u = h.parse(c.tokenize(e, t)).compileToFragments(t), s = 0, t.header && (s += 1), t.shiftLine && (s += 1), r = 0, d = "", g = 0, k = u.length; k > g; g++)l = u[g], t.sourceMap && (l.locationData && f.add([l.locationData.first_line, l.locationData.first_column], [s, r], {noReplace: !0}), b = a.count(l.code, "\n"), s += b, b ? r = l.code.length - (l.code.lastIndexOf("\n") + 1) : r += l.code.length), d += l.code;
return t.header && (p = "Generated by CoffeeScript " + this.VERSION, d = "// " + p + "\n" + d), t.sourceMap ? (i = {js: d}, i.sourceMap = f, i.v3SourceMap = f.generate(t, e), i) : d
}), e.tokens = d(function (e, t) {
return c.tokenize(e, t)
}), e.nodes = d(function (e, t) {
return"string" == typeof e ? h.parse(c.tokenize(e, t)) : h.parse(e)
}), e.run = function (e, t) {
var n, r, o, c;
return null == t && (t = {}), o = require.main, o.filename = process.argv[1] = t.filename ? s.realpathSync(t.filename) : ".", o.moduleCache && (o.moduleCache = {}), r = t.filename ? l.dirname(s.realpathSync(t.filename)) : s.realpathSync("."), o.paths = require("module")._nodeModulePaths(r), (!a.isCoffee(o.filename) || require.extensions) && (n = i(e, t), e = null != (c = n.js) ? c : n), o._compile(e, o.filename)
}, e.eval = function (e, t) {
var n, r, s, o, a, c, h, u, d, m, b, g, k, y;
if (null == t && (t = {}), e = e.trim()) {
if (r = p.Script) {
if (null != t.sandbox) {
if (t.sandbox instanceof r.createContext().constructor)h = t.sandbox; else {
h = r.createContext(), g = t.sandbox;
for (o in g)f.call(g, o) && (u = g[o], h[o] = u)
}
h.global = h.root = h.GLOBAL = h
} else h = global;
if (h.__filename = t.filename || "eval", h.__dirname = l.dirname(h.__filename), h === global && !h.module && !h.require) {
for (n = require("module"), h.module = b = new n(t.modulename || "eval"), h.require = y = function (e) {
return n._load(e, b, !0)
}, b.filename = h.__filename, k = Object.getOwnPropertyNames(require), d = 0, m = k.length; m > d; d++)c = k[d], "paths" !== c && (y[c] = require[c]);
y.paths = b.paths = n._nodeModulePaths(process.cwd()), y.resolve = function (e) {
return n._resolveFilename(e, b)
}
}
}
a = {};
for (o in t)f.call(t, o) && (u = t[o], a[o] = u);
return a.bare = !0, s = i(e, a), h === global ? p.runInThisContext(s) : p.runInContext(s, h)
}
}, e.register = function () {
return require("./register")
}, e._compileFile = function (e, t) {
var n, r, o, c;
null == t && (t = !1), o = s.readFileSync(e, "utf8"), c = 65279 === o.charCodeAt(0) ? o.substring(1) : o;
try {
n = i(c, {filename: e, sourceMap: t, literate: a.isLiterate(e)})
} catch (h) {
throw r = h, a.updateSyntaxError(r, c, e)
}
return n
}, c = new t, h.lexer = {lex: function () {
var e, t;
return t = this.tokens[this.pos++], t ? (e = t[0], this.yytext = t[1], this.yylloc = t[2], this.errorToken = t.origin || t, this.yylineno = this.yylloc.first_line) : e = "", e
}, setInput: function (e) {
return this.tokens = e, this.pos = 0
}, upcomingInput: function () {
return""
}}, h.yy = require("./nodes"), h.yy.parseError = function (e, t) {
var n, i, r, s, o, c, l;
return o = t.token, l = h.lexer, s = l.errorToken, c = l.tokens, i = s[0], r = s[1], n = s[2], r = s === c[c.length - 1] ? "end of input" : "INDENT" === i || "OUTDENT" === i ? "indentation" : a.nameWhitespaceCharacter(r), a.throwSyntaxError("unexpected " + r, n)
}, r = function (e, t) {
var n, i, r, s, o, a, c, h, l, u, p, d;
return s = void 0, r = "", e.isNative() ? r = "native" : (e.isEval() ? (s = e.getScriptNameOrSourceURL(), s || (r = "" + e.getEvalOrigin() + ", ")) : s = e.getFileName(), s || (s = ""), h = e.getLineNumber(), i = e.getColumnNumber(), u = t(s, h, i), r = u ? "" + s + ":" + u[0] + ":" + u[1] : "" + s + ":" + h + ":" + i), o = e.getFunctionName(), a = e.isConstructor(), c = !(e.isToplevel() || a), c ? (l = e.getMethodName(), d = e.getTypeName(), o ? (p = n = "", d && o.indexOf(d) && (p = "" + d + "."), l && o.indexOf("." + l) !== o.length - l.length - 1 && (n = " [as " + l + "]"), "" + p + o + n + " (" + r + ")") : "" + d + "." + (l || "") + " (" + r + ")") : a ? "new " + (o || "") + " (" + r + ")" : o ? "" + o + " (" + r + ")" : r
}, u = {}, o = function (t) {
var n, i;
if (u[t])return u[t];
if (i = null != l ? l.extname(t) : void 0, !(0 > m.call(e.FILE_EXTENSIONS, i)))return n = e._compileFile(t, !0), u[t] = n.sourceMap
}, Error.prepareStackTrace = function (t, n) {
var i, s, a, c;
return a = function (e, t, n) {
var i, r;
return r = o(e), r && (i = r.sourceLocation([t - 1, n - 1])), i ? [i[0] + 1, i[1] + 1] : null
}, s = function () {
var t, s, o;
for (o = [], t = 0, s = n.length; s > t && (i = n[t], i.getFunction() !== e.run); t++)o.push(" at " + r(i, a));
return o
}(), "" + t.name + ": " + (null != (c = t.message) ? c : "") + "\n" + s.join("\n") + "\n"
}
}.call(this), t.exports
}(), require["./browser"] = function () {
var exports = {}, module = {exports: exports};
return function () {
var CoffeeScript, compile, runScripts, __indexOf = [].indexOf || function (e) {
for (var t = 0, n = this.length; n > t; t++)if (t in this && this[t] === e)return t;
return-1
};
CoffeeScript = require("./coffee-script"), CoffeeScript.require = require, compile = CoffeeScript.compile, CoffeeScript.eval = function (code, options) {
return null == options && (options = {}), null == options.bare && (options.bare = !0), eval(compile(code, options))
}, CoffeeScript.run = function (e, t) {
return null == t && (t = {}), t.bare = !0, t.shiftLine = !0, Function(compile(e, t))()
}, "undefined" != typeof window && null !== window && ("undefined" != typeof btoa && null !== btoa && "undefined" != typeof JSON && null !== JSON && "undefined" != typeof unescape && null !== unescape && "undefined" != typeof encodeURIComponent && null !== encodeURIComponent && (compile = function (e, t) {
var n, i, r;
return null == t && (t = {}), t.sourceMap = !0, t.inline = !0, r = CoffeeScript.compile(e, t), n = r.js, i = r.v3SourceMap, "" + n + "\n//# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(i))) + "\n//# sourceURL=coffeescript"
}), CoffeeScript.load = function (e, t, n, i) {
var r;
return null == n && (n = {}), null == i && (i = !1), n.sourceFiles = [e], r = window.ActiveXObject ? new window.ActiveXObject("Microsoft.XMLHTTP") : new window.XMLHttpRequest, r.open("GET", e, !0), "overrideMimeType"in r && r.overrideMimeType("text/plain"), r.onreadystatechange = function () {
var s, o;
if (4 === r.readyState) {
if (0 !== (o = r.status) && 200 !== o)throw Error("Could not load " + e);
if (s = [r.responseText, n], i || CoffeeScript.run.apply(CoffeeScript, s), t)return t(s)
}
}, r.send(null)
}, runScripts = function () {
var e, t, n, i, r, s, o, a, c, h, l;
for (a = window.document.getElementsByTagName("script"), t = ["text/coffeescript", "text/literate-coffeescript"], e = function () {
var e, n, i, r;
for (r = [], e = 0, n = a.length; n > e; e++)s = a[e], i = s.type, __indexOf.call(t, i) >= 0 && r.push(s);
return r
}(), r = 0, n = function () {
var t;
return t = e[r], t instanceof Array ? (CoffeeScript.run.apply(CoffeeScript, t), r++, n()) : void 0
}, c = function (i, r) {
var s;
return s = {literate: i.type === t[1]}, i.src ? CoffeeScript.load(i.src, function (t) {
return e[r] = t, n()
}, s, !0) : (s.sourceFiles = ["embedded"], e[r] = [i.innerHTML, s])
}, i = h = 0, l = e.length; l > h; i = ++h)o = e[i], c(o, i);
return n()
}, window.addEventListener ? window.addEventListener("DOMContentLoaded", runScripts, !1) : window.attachEvent("onload", runScripts))
}.call(this), module.exports
}(), require["./coffee-script"]
}();
"function" == typeof define && define.amd ? define(function () {
return CoffeeScript
}) : root.CoffeeScript = CoffeeScript
})(this);