var k9V7b = { 'e6S': function(Q5, V5) { return Q5 != V5; }, 'N9S': function(Q5, V5) { return Q5 & V5; }, 'G6S': function(Q5, V5) { return Q5 > V5; }, 'm2b': function(Q5, V5) { return Q5 == V5; }, 'F0S': function(Q5, V5) { return Q5 < V5; }, 'K3S': function(Q5, V5) { return Q5 == V5; }, 'I7S': function(Q5, V5) { return Q5 == V5; }, 'H3S': function(Q5, V5) { return Q5 == V5; }, 'B8S': function(Q5, V5) { return Q5 in V5; }, 'Z8S': function(Q5, V5) { return Q5 < V5; }, 'J3S': function(Q5, V5) { return Q5 == V5; }, 'z2b': function(Q5, V5) { return Q5 != V5; }, 'U4S': function(Q5, V5) { return Q5 === V5; }, 'W2b': function(Q5, V5) { return Q5 == V5; }, 'F1S': function(Q5, V5) { return Q5 == V5; }, 'x0S': function(Q5, V5) { return Q5 == V5; }, 'M5S': function(Q5, V5) { return Q5 === V5; }, 'm7S': function(Q5, V5) { return Q5 - V5; }, 'c4S': function(Q5, V5) { return Q5 == V5; }, 'D0S': function(Q5, V5) { return Q5 < V5; }, 'J7S': function(Q5, V5) { return Q5 == V5; }, 'h3S': function(Q5, V5) { return Q5 in V5; }, 'e7b': function(Q5, V5) { return Q5 - V5; }, 'p0S': function(Q5, V5) { return Q5 == V5; }, 's1S': function(Q5, V5) { return Q5 & V5; }, 't1S': function(Q5, V5) { return Q5 & V5; }, 'M0S': function(Q5, V5) { return Q5 == V5; }, 'e9S': function(Q5, V5) { return Q5 === V5; }, 'E4S': function(Q5, V5) { return Q5 > V5; }, 'L2b': function(Q5, V5) { return Q5 | V5; }, 'q7S': function(Q5, V5) { return Q5 === V5; }, 'v4S': function(Q5, V5) { return Q5 !== V5; }, 'O2S': function(Q5, V5) { return Q5 == V5; }, 'H7S': function(Q5, V5) { return Q5 < V5; }, 'c55': function(Q5, V5) { return Q5 === V5; }, 'G55': function(Q5, V5) { return Q5 - V5; }, 'h7S': function(Q5, V5) { return Q5 == V5; }, 'Q55': function(Q5, V5) { return Q5 == V5; }, 'V2S': function(Q5, V5) { return Q5 == V5; }, 'w5S': function(Q5, V5) { return Q5 instanceof V5; }, 'o5S': function(Q5, V5) { return Q5 - V5; }, 'x2S': function(Q5, V5) { return Q5 === V5; }, 'h8S': function(Q5, V5) { return Q5 < V5; }, 'T8S': function(Q5, V5) { return Q5 != V5; }, 'o0S': function(Q5, V5) { return Q5 in V5; }, 'I3S': function(Q5, V5) { return Q5 instanceof V5; }, 'G9S': function(Q5, V5) { return Q5 === V5; }, 'a0S': function(Q5, V5) { return Q5 == V5; }, 'k7S': function(Q5, V5) { return Q5 in V5; }, 's2S': function(Q5, V5) { return Q5 === V5; }, 'j55': function(Q5, V5) { return Q5 - V5; }, 'H2b': function(Q5, V5) { return Q5 != V5; }, 'A6S': function(Q5, V5) { return Q5 === V5; }, 'E7b': function(Q5, V5) { return Q5 == V5; }, 'z3S': function(Q5, V5) { return Q5 == V5; }, 'U9S': function(Q5, V5) { return Q5 === V5; }, 'y5S': function(Q5, V5) { return Q5 - V5; }, 'y2S': function(Q5, V5) { return Q5 != V5; }, 'd4S': function(Q5, V5) { return Q5 != V5; }, 'p1S': function(Q5, V5) { return Q5 == V5; }, 'g6S': function(Q5, V5) { return Q5 == V5; }, 'L7S': function(Q5, V5) { return Q5 === V5; }, 'q2b': function(Q5, V5) { return Q5 == V5; }, 'M1S': function(Q5, V5) { return Q5 === V5; }, 'a5S': function(Q5, V5) { return Q5 === V5; }, 'B2b': function(Q5, V5) { return Q5 < V5; }, 'w0S': function(Q5, V5) { return Q5 != V5; }, 'S2b': function(Q5, V5) { return Q5 == V5; }, 'u3S': function(Q5, V5) { return Q5 == V5; }, 'S3S': function(Q5, V5) { return Q5 != V5; }, 'Z3S': function(Q5, V5) { return Q5 == V5; }, 'f6S': function(Q5, V5) { return Q5 == V5; }, 'k8S': function(Q5, V5) { return Q5 < V5; }, 'E9S': function(Q5, V5) { return Q5 != V5; }, 'Q4S': function(Q5, V5) { return Q5 == V5; }, 'm8S': function(Q5, V5) { return Q5 >>> V5; }, 'p2S': function(Q5, V5) { return Q5 == V5; }, 'h2b': function(Q5, V5) { return Q5 == V5; }, 'N6S': function(Q5, V5) { return Q5 > V5; }, 't0S': function(Q5, V5) { return Q5 === V5; }, 'f55': function(Q5, V5) { return Q5 == V5; }, 'n1S': function(Q5, V5) { return Q5 !== V5; }, 'K7S': function(Q5, V5) { return Q5 === V5; }, 'P9S': function(Q5, V5) { return Q5 & V5; }, 'a1S': function(Q5, V5) { return Q5 & V5; }, 'r7S': function(Q5, V5) { return Q5 in V5; }, 'N55': function(Q5, V5) { return Q5 % V5; }, 'd55': function(Q5, V5) { return Q5 == V5; }, 'Q9S': function(Q5, V5) { return Q5 & V5; }, 'c9S': function(Q5, V5) { return Q5 > V5; }, 'b1S': function(Q5, V5) { return Q5 & V5; }, 'I8S': function(Q5, V5) { return Q5 === V5; }, 'l55': function(Q5, V5) { return Q5 != V5; }, 'W8S': function(Q5, V5) { return Q5 > V5; }, 'j4S': function(Q5, V5) { return Q5 != V5; }, 'A9S': function(Q5, V5) { return Q5 >= V5; }, 'm3S': function(Q5, V5) { return Q5 == V5; }, 'Y55': function(Q5, V5) { return Q5 != V5; }, 'y1S': function(Q5, V5) { return Q5 > V5; }, 'g9S': function(Q5, V5) { return Q5 == V5; }, 'z8S': function(Q5, V5) { return Q5 != V5; }, 'z95': function(Q5, V5) { return Q5 !== V5; }, 'B7S': function(Q5, V5) { return Q5 in V5; }, 'v9S': function(Q5, V5) { return Q5 === V5; }, 'r8S': function(Q5, V5) { return Q5 in V5; }, 'V0S': function(Q5, V5) { return Q5 === V5; }, 'P55': function(Q5, V5) { return Q5 == V5; }, 'b5S': function(Q5, V5) { return Q5 == V5; }, 'n2S': function(Q5, V5) { return Q5 === V5; }, 'C2S': function(Q5, V5) { return Q5 == V5; }, 'K2b': function(Q5, V5) { return Q5 > V5; }, 'C0S': function(Q5, V5) { return Q5 >= V5; }, 'N4S': function(Q5, V5) { return Q5 !== V5; }, 'r3S': function(Q5, V5) { return Q5 >= V5; }, 'q8S': function(Q5, V5) { return Q5 != V5; }, 'k3S': function(Q5, V5) { return Q5 == V5; }, 'u7S': function(Q5, V5) { return Q5 / V5; }, 'X0S': function(Q5, V5) { return Q5 === V5; }, 'G4S': function(Q5, V5) { return Q5 == V5; }, 'l4S': function(Q5, V5) { return Q5 != V5; }, 'j9S': function(Q5, V5) { return Q5 == V5; }, 'H95': function(Q5, V5) { return Q5 !== V5; }, 'B3S': function(Q5, V5) { return Q5 === V5; }, 'A55': function(Q5, V5) { return Q5 % V5; }, 'D2S': function(Q5, V5) { return Q5 - V5; }, 'P6S': function(Q5, V5) { return Q5 == V5; }, 'V1S': function(Q5, V5) { return Q5 !== V5; }, 'W3S': function(Q5, V5) { return Q5 in V5; }, 'P4S': function(Q5, V5) { return Q5 != V5; }, 'F2S': function(Q5, V5) { return Q5 > V5; }, 'W7S': function(Q5, V5) { return Q5 < V5; }, 't5S': function(Q5, V5) { return Q5 < V5; }, 'b0S': function(Q5, V5) { return Q5 == V5; }, 'o2S': function(Q5, V5) { return Q5 == V5; }, 'c6S': function(Q5, V5) { return Q5 !== V5; }, 'q3S': function(Q5, V5) { return Q5 != V5; }, 'X2S': function(Q5, V5) { return Q5 == V5; }, 'w1S': function(Q5, V5) { return Q5 & V5; }, 'E6S': function(Q5, V5) { return Q5 === V5; }, 'O1S': function(Q5, V5) { return Q5 & V5; }, 'p5S': function(Q5, V5) { return Q5 in V5; }, 'K8S': function(Q5, V5) { return Q5 !== V5; }, 'i6S': function(Q5, V5) { return Q5 == V5; }, 'g4S': function(Q5, V5) { return Q5 >= V5; }, 'k2b': function(Q5, V5) { return Q5 !== V5; }, 's0S': function(Q5, V5) { return Q5 === V5; }, 'g55': function(Q5, V5) { return Q5 !== V5; }, 'O5S': function(Q5, V5) { return Q5 - V5; }, 'u8S': function(Q5, V5) { return Q5 < V5; }, 'U6S': function(Q5, V5) { return Q5 == V5; }, 'T2b': function(Q5, V5) { return Q5 != V5; }, 'O0S': function(Q5, V5) { return Q5 == V5; }, 't2S': function(Q5, V5) { return Q5 == V5; }, 'a2S': function(Q5, V5) { return Q5 === V5; }, 'C1S': function(Q5, V5) { return Q5 & V5; }, 'l6S': function(Q5, V5) { return Q5 > V5; }, 'L3S': function(Q5, V5) { return Q5 * V5; }, 'f4S': function(Q5, V5) { return Q5 !== V5; }, 'Q6S': function(Q5, V5) { return Q5 !== V5; }, 'Y4S': function(Q5, V5) { return Q5 > V5; }, 'n0S': function(Q5, V5) { return Q5 === V5; }, 'x1S': function(Q5, V5) { return Q5 == V5; }, 'z7S': function(Q5, V5) { return Q5 - V5; }, 'E55': function(Q5, V5) { return Q5 === V5; }, 'b2S': function(Q5, V5) { return Q5 == V5; }, 'd9S': function(Q5, V5) { return Q5 - V5; }, 'F5S': function(Q5, V5) { return Q5 & V5; }, 'j6S': function(Q5, V5) { return Q5 > V5; }, 'T3S': function(Q5, V5) { return Q5 instanceof V5; }, 'J8S': function(Q5, V5) { return Q5 - V5; }, 'Y9S': function(Q5, V5) { return Q5 == V5; }, 'V5S': function(Q5, V5) { return Q5 < V5; }, 'w2S': function(Q5, V5) { return Q5 == V5; }, 'v55': function(Q5, V5) { return Q5 * V5; }, 'r2b': function(Q5, V5) { return Q5 - V5; }, 'y0S': function(Q5, V5) { return Q5 - V5; }, 'X1S': function(Q5, V5) { return Q5 === V5; }, 'T7S': function(Q5, V5) { return Q5 < V5; }, 'D5S': function(Q5, V5) { return Q5 < V5; }, 'o1S': function(Q5, V5) { return Q5 & V5; }, 'A4S': function(Q5, V5) { return Q5 === V5; }, 'i55': function(Q5, V5) { return Q5 == V5; }, 'Y6S': function(Q5, V5) { return Q5 > V5; }, 'l9S': function(Q5, V5) { return Q5 !== V5; }, 'C5S': function(Q5, V5) { return Q5 > V5; }, 'S8S': function(Q5, V5) { return Q5 < V5; }, 's5S': function(Q5, V5) { return Q5 !== V5; }, 'u2b': function(Q5, V5) { return Q5 - V5; }, 'Y7b': function(Q5, V5) { return Q5 == V5; }, 'D1S': function(Q5, V5) { return Q5 instanceof V5; }, 'H8S': function(Q5, V5) { return Q5 == V5; }, 'x5S': function(Q5, V5) { return Q5 instanceof V5; }, 'R9S': function(Q5, V5) { return Q5 == V5; }, 'U55': function(Q5, V5) { return Q5 == V5; }, 'I2b': function(Q5, V5) { return Q5 != V5; }, 'e4S': function(Q5, V5) { return Q5 === V5; }, 'e55': function(Q5, V5) { return Q5 - V5; }, 'i4S': function(Q5, V5) { return Q5 != V5; }, 'd6S': function(Q5, V5) { return Q5 === V5; }, 'g7b': function(Q5, V5) { return Q5 === V5; }, 'R6S': function(Q5, V5) { return Q5 > V5; }, 'S7S': function(Q5, V5) { return Q5 / V5; }, 'f9S': function(Q5, V5) { return Q5 == V5; }, 'M2S': function(Q5, V5) { return Q5 === V5; }, 'v6S': function(Q5, V5) { return Q5 !== V5; }, 'Z7S': function(Q5, V5) { return Q5 < V5; }, 'X5S': function(Q5, V5) { return Q5 !== V5; }, 'R4S': function(Q5, V5) { return Q5 - V5; }, 'Z2b': function(Q5, V5) { return Q5 == V5; }, 'i9S': function(Q5, V5) { return Q5 & V5; }, 'n5S': function(Q5, V5) { return Q5 < V5; }, 'J2b': function(Q5, V5) { return Q5 < V5; }, 'R55': function(Q5, V5) { return Q5 == V5; }, 'L8S': function(Q5, V5) { return Q5 === V5; } };; (function() { function I1(Q5) { return Q5.charCodeAt(0); } function X9(Q5) { Q5.length = 0, k9V7b.B2b(U3.length, L3) && U3.push(Q5); } function y1(Q5) { var V5 = -1, H5 = Q5.length, z5 = Q5[0], P5 = Q5[k9V7b.L2b(H5 / 2, 0)], C5 = Q5[k9V7b.r2b(H5, 1)]; if (z5 && typeof z5 == "object" && P5 && typeof P5 == "object" && C5 && typeof C5 == "object") return false; for (z5 = i1(), z5["false"] = z5["null"] = z5["true"] = z5.undefined = false, P5 = i1(), P5.k = Q5, P5.l = z5, P5.push = J1; ++V5 < H5;) P5.push(Q5[V5]); return P5; } function T1(Q5) { return "\\" + L1[Q5]; } function i1() { return H1.pop() || { k: null, l: null, m: null, "false": false, n: 0, "null": false, number: null, object: null, push: null, string: null, "true": false, undefined: false, o: null }; } function D9() { return U3.pop() || []; } function R1(Q5, V5) { for (var H5 = Q5.m, z5 = V5.m, P5 = -1, C5 = H5.length; ++P5 < C5;) { var Z5 = H5[P5], N5 = z5[P5]; if (k9V7b.k2b(Z5, N5)) { if (k9V7b.K2b(Z5, N5) || typeof Z5 == "undefined") return 1; if (k9V7b.J2b(Z5, N5) || typeof N5 == "undefined") return -1; } } return k9V7b.u2b(Q5.n, V5.n); } function J1(V5) { var H5 = function(Q5) { z5[V5] = Q5; }, z5 = this.l, P5 = typeof V5; if (k9V7b.S2b("boolean", P5) || k9V7b.q2b(null, V5)) H5(true); else { k9V7b.I2b("number", P5) && k9V7b.T2b("string", P5) && (P5 = "object"); var C5 = k9V7b.h2b("number", P5) ? V5 : V1 + V5, z5 = z5[P5] || (z5[P5] = {}); k9V7b.W2b("object", P5) ? (z5[C5] || (z5[C5] = [])).push(V5) : z5[C5] = true; } } function O3(Q5) { var V5 = Q5.l; V5 && O3(V5), Q5.k = Q5.l = Q5.m = Q5.object = Q5.number = Q5.string = Q5.o = null, k9V7b.V5S(H1.length, L3) && H1.push(Q5); } function z1(u5) { function p5(Q5, V5, H5) { var z5 = -1, P5 = t9(), C5 = Q5 ? Q5.length : 0, Z5 = [], N5 = !V5 && k9V7b.r3S(C5, Z1) && k9V7b.B3S(P5, N3), t5 = H5 || N5 ? D9() : Z5; for (N5 && (t5 = y1(t5), P5 = u3); ++z5 < C5;) { var o5 = Q5[z5], c5 = H5 ? H5(o5, z5, Q5) : o5; (V5 ? !z5 || k9V7b.V1S(t5[t5.length - 1], c5) : k9V7b.y1S(0, P5(t5, c5))) && ((H5 || N5) && t5.push(c5), Z5.push(o5)); } return N5 ? (X9(t5.k), O3(t5)) : H5 && X9(t5), Z5; } function U5(Q5) { return Q5 && typeof Q5 == "object" && !f9(Q5) && k9.call(Q5, "__wrapped__") ? Q5 : new C9(Q5); } function k5(Q5) { return Q5 && typeof Q5 == "object" && typeof Q5.length == "number" && k9V7b.x1S(G9.call(Q5), b3) || false; } function B5(Q5, V5, H5) { if (typeof H5 == "number") { var z5 = function() { H5 = k9V7b.Y6S(0, H5) ? R9(0, P5 + H5) : H5 || 0; }; var P5 = Q5 ? Q5.length : 0; z5(); } else if (H5) return H5 = n9(Q5, V5), k9V7b.E6S(Q5[H5], V5) ? H5 : -1; return N3(Q5, V5, H5); } function m9(c5, n5, W5, R5, M5) { (f9(n5) ? A9 : o9)(n5, function(V5, H5) { var z5 = function(Q5) { c5[H5] = Q5; }, P5, C5, Z5 = V5, N5 = c5[H5]; if (V5 && ((C5 = f9(V5)) || Q1(V5))) { for (Z5 = R5.length; Z5--;) if (P5 = k9V7b.u3S(R5[Z5], V5)) { var t5 = function(Q5) { N5 = Q5[Z5]; }; t5(M5); break; } if (!P5) { var o5; W5 && (Z5 = W5(N5, V5), o5 = typeof Z5 != "undefined") && (N5 = Z5), o5 || (N5 = C5 ? f9(N5) ? N5 : [] : Q1(N5) ? N5 : {}), R5.push(V5), M5.push(N5), o5 || m9(N5, V5, W5, R5, M5); } } else W5 && (Z5 = W5(N5, V5), typeof Z5 == "undefined" && (Z5 = V5)), typeof Z5 != "undefined" && (N5 = Z5); z5(N5); }); } function x5(o5) { return function(z5, P5, C5) { var Z5 = {}; P5 = U5.createCallback(P5, C5, 3), C5 = -1; var N5 = z5 ? z5.length : 0; if (typeof N5 == "number") for (; ++C5 < N5;) { var t5 = z5[C5]; o5(Z5, t5, P5(t5, C5, z5), z5); } else o9(z5, function(Q5, V5, H5) { o5(Z5, Q5, P5(Q5, V5, H5), H5); }); return Z5; }; } function i5() { return this.__wrapped__; } function $t(P5, C5, Z5, N5) { var t5 = k9V7b.R6S(3, arguments.length); return C5 = U5.createCallback(C5, N5, 4), Z9(P5, function(Q5, V5, H5) { var z5 = function() { Z5 = t5 ? (t5 = false, Q5) : C5(Z5, Q5, V5, H5); }; z5(); }), Z5; } function A5(H5) { var z5 = []; return U9(H5, function(Q5, V5) { L5(Q5) && z5.push(V5); }), z5.sort(); } function S5(z5, P5, C5) { function Z5() { var Q5 = k9V7b.J8S(P5, (y3() - n5)); k9V7b.u8S(0, Q5) ? R5 = Z3(Z5, Q5) : (o5 && M3(o5), Q5 = M5, o5 = R5 = M5 = g9, Q5 && (V9 = y3(), c5 = z5.apply(W5, t5), R5 || o5 || (t5 = W5 = null))); } function N5() { R5 && M3(R5), o5 = R5 = M5 = g9, (N9 || k9V7b.K8S(Y5, P5)) && (V9 = y3(), c5 = z5.apply(W5, t5), R5 || o5 || (t5 = W5 = null)); } var t5, o5, c5, n5, W5, R5, M5, V9 = 0, Y5 = false, N9 = true; if (!L5(z5)) throw new F9; if (P5 = R9(0, P5) || 0, k9V7b.L8S(true, C5)) var h5 = true, N9 = false; else d5(C5) && (h5 = C5.leading, Y5 = k9V7b.r8S("maxWait", C5) && (R9(P5, C5.maxWait) || 0), N9 = k9V7b.B8S("trailing", C5) ? C5.trailing : N9); return function() { if (t5 = arguments, n5 = y3(), W5 = this, M5 = N9 && (R5 || !h5), k9V7b.V0S(false, Y5)) var Q5 = h5 && !R5; else { o5 || h5 || (V9 = n5); var V5 = k9V7b.y0S(Y5, (n5 - V9)), H5 = k9V7b.C0S(0, V5); H5 ? (o5 && (o5 = M3(o5)), V9 = n5, c5 = z5.apply(W5, t5)) : o5 || (o5 = Z3(N5, V5)); } return H5 && R5 ? R5 = M3(R5) : R5 || k9V7b.s0S(P5, Y5) || (R5 = Z3(Z5, P5)), Q5 && (H5 = true, c5 = z5.apply(W5, t5)), !H5 || R5 || o5 || (t5 = W5 = null), c5; }; } function q5(z5, P5, C5) { var Z5; P5 = U5.createCallback(P5, C5, 3), C5 = -1; var N5 = z5 ? z5.length : 0; if (typeof N5 == "number") for (; ++C5 < N5 && !(Z5 = P5(z5[C5], C5, z5));); else o9(z5, function(Q5, V5, H5) { return !(Z5 = P5(Q5, V5, H5)); }); return !!Z5; } function v5(Q5) { return d5(Q5) ? I3(Q5) : {}; } function d5(Q5) { return !(!Q5 || !l9[typeof Q5]); } function O5(z5, P5, C5) { P5 = U5.createCallback(P5, C5, 3), C5 = -1; var Z5 = z5 ? z5.length : 0; if (typeof Z5 != "number") { var N5; return o9(z5, function(Q5, V5, H5) { return P5(Q5, V5, H5) ? (N5 = Q5, false) : void 0; }), N5; } for (; ++C5 < Z5;) { var t5 = z5[C5]; if (P5(t5, C5, z5)) return t5; } } function w5(z5, P5, C5) { var Z5 = -1, N5 = z5 ? z5.length : 0; if (P5 = U5.createCallback(P5, C5, 3), typeof N5 == "number") for (var t5 = K9(N5); ++Z5 < N5;) t5[Z5] = P5(z5[Z5], Z5, z5); else t5 = [], o9(z5, function(Q5, V5, H5) { t5[++Z5] = P5(Q5, V5, H5); }); return t5; } function l5(C5, Z5, N5) { var t5 = true, o5 = Z5 && A5(Z5); Z5 && (N5 || o5.length) || (k9V7b.a0S(null, N5) && (N5 = Z5), c5 = C9, Z5 = C5, C5 = U5, o5 = A5(Z5)), k9V7b.t0S(false, N5) ? t5 = false : d5(N5) && k9V7b.o0S("chain", N5) && (t5 = N5.chain); var c5 = C5, n5 = L5(c5); A9(o5, function(z5) { var P5 = C5[z5] = Z5[z5]; n5 && (c5.prototype[z5] = function() { var Q5 = this.__chain__, V5 = this.__wrapped__, H5 = [V5]; if (o3.apply(H5, arguments), H5 = P5.apply(C5, H5), t5 || Q5) { if (k9V7b.n0S(V5, H5) && d5(H5)) return this; H5 = new c5(H5), H5.__chain__ = Q5; } return H5; }); }); } function J5(z5, P5, C5, Z5, N5, t5) { if (C5) { var o5 = C5(z5, P5); if (typeof o5 != "undefined") return !!o5; } if (k9V7b.U9S(z5, P5)) return k9V7b.l9S(0, z5) || k9V7b.f9S(1 / z5, 1 / P5); if (k9V7b.G9S(z5, z5) && !(z5 && l9[typeof z5] || P5 && l9[typeof P5])) return false; if (k9V7b.j9S(null, z5) || k9V7b.R9S(null, P5)) return k9V7b.e9S(z5, P5); var c5 = G9.call(z5), n5 = G9.call(P5); if (k9V7b.g9S(c5, b3) && (c5 = B9), k9V7b.Y9S(n5, b3) && (n5 = B9), k9V7b.E9S(c5, n5)) return false; switch (c5) { case A3: case k3: return +z5 == +P5; case w3: return z5 != +z5 ? P5 != +P5 : k9V7b.H3S(0, z5) ? k9V7b.z3S(1 / z5, 1 / P5) : z5 == +P5; case W3: case m3: return k9V7b.Z3S(z5, L9(P5)); } if (n5 = k9V7b.m3S(c5, $), !n5) { var W5 = k9.call(z5, "__wrapped__"), R5 = k9.call(P5, "__wrapped__"); if (W5 || R5) return J5(W5 ? z5.__wrapped__ : z5, R5 ? P5.__wrapped__ : P5, C5, Z5, N5, t5); if (k9V7b.S3S(c5, B9)) return false; if (c5 = z5.constructor, W5 = P5.constructor, k9V7b.q3S(c5, W5) && !(L5(c5) && k9V7b.I3S(c5, c5) && L5(W5) && k9V7b.T3S(W5, W5)) && k9V7b.h3S("constructor", z5) && k9V7b.W3S("constructor", P5)) return false; } for (c5 = !N5, N5 || (N5 = D9()), t5 || (t5 = D9()), W5 = N5.length; W5--;) if (k9V7b.k3S(N5[W5], z5)) return k9V7b.K3S(t5[W5], P5); var M5 = 0, o5 = true; if (N5.push(z5), t5.push(P5), n5) { if (W5 = z5.length, M5 = P5.length, (o5 = k9V7b.J3S(M5, W5)) || Z5) for (; M5--;) if (n5 = W5, R5 = P5[M5], Z5) for (; n5-- && !(o5 = J5(z5[n5], R5, C5, Z5, N5, t5));); else if (!(o5 = J5(z5[M5], R5, C5, Z5, N5, t5))) break; } else U9(P5, function(Q5, V5, H5) { return k9.call(H5, V5) ? (M5++, o5 = k9.call(z5, V5) && J5(z5[V5], Q5, C5, Z5, N5, t5)) : void 0; }), o5 && !Z5 && U9(z5, function(Q5, V5, H5) { return k9.call(H5, V5) ? o5 = -1 < --M5 : void 0; }); return N5.pop(), t5.pop(), c5 && (X9(N5), X9(t5)), o5; } function K5(Q5, V5) { return Q5 + A1(k9V7b.L3S(x3(), (V5 - Q5 + 1))); } function j5(Q5) { return Q5; } function Y9(Q5) { return X3[Q5]; } function F5(H5, z5, P5, C5, Z5) { var N5 = function() { t5 = o5 ? I9(H5) : y9({}, H5); }; if (P5) { var t5 = P5(H5); if (typeof t5 != "undefined") return t5; } if (!d5(H5)) return H5; var o5 = G9.call(H5); if (!j9[o5]) return H5; var c5 = x9[o5]; switch (o5) { case A3: case k3: return new c5(+H5); case w3: case m3: return new c5(H5); case W3: return t5 = c5(H5.source, u1.exec(H5)), t5.lastIndex = H5.lastIndex, t5; } if (o5 = f9(H5), z5) { var n5 = function() { t5 = o5 ? c5(H5.length) : {}; }; var W5 = !C5; C5 || (C5 = D9()), Z5 || (Z5 = D9()); for (var R5 = C5.length; R5--;) if (k9V7b.b5S(C5[R5], H5)) return Z5[R5]; n5(); } else N5(); return o5 && (k9.call(H5, "index") && (t5.index = H5.index), k9.call(H5, "input") && (t5.input = H5.input)), z5 ? (C5.push(H5), Z5.push(t5), (o5 ? A9 : o9)(H5, function(Q5, V5) { t5[V5] = F5(Q5, z5, P5, C5, Z5); }), W5 && (X9(C5), X9(Z5)), t5) : t5; } function L5(Q5) { return typeof Q5 == "function"; } function X5(V5, H5, z5, P5) { var C5 = function() { P5 = k9V7b.d9S((P5 || 0), 1); }; C5(); for (var Z5 = V5 ? V5.length : 0, N5 = []; ++P5 < Z5;) { var t5 = V5[P5]; if (t5 && typeof t5 == "object" && typeof t5.length == "number" && (f9(t5) || k5(t5))) { var o5 = function(Q5) { N5[W5++] = Q5[c5]; }; H5 || (t5 = X5(t5, H5, z5)); var c5 = -1, n5 = t5.length, W5 = N5.length; for (N5.length += n5; ++c5 < n5;) o5(t5); } else z5 || N5.push(t5); } return N5; } function G5(H5) { function z5() { var Q5 = c5 ? t5 : this; if (Z5) { var V5 = I9(Z5); o3.apply(V5, arguments); } return (N5 || W5) && (V5 || (V5 = I9(arguments)), N5 && o3.apply(V5, N5), W5 && k9V7b.D5S(V5.length, o5)) ? (C5 |= 16, G5([P5, R5 ? C5 : -4 & C5, V5, null, t5, o5])) : (V5 || (V5 = arguments), n5 && (P5 = Q5[M5]), k9V7b.x5S(this, z5) ? (Q5 = v5(P5.prototype), V5 = P5.apply(Q5, V5), d5(V5) ? V5 : Q5) : P5.apply(Q5, V5)); } var P5 = H5[0], C5 = H5[1], Z5 = H5[2], N5 = H5[3], t5 = H5[4], o5 = H5[5], c5 = k9V7b.Q9S(1, C5), n5 = k9V7b.i9S(2, C5), W5 = k9V7b.P9S(4, C5), R5 = k9V7b.N9S(8, C5), M5 = P5; return $e(z5, H5), z5; } function s9(H5) { var z5 = -1, P5 = H5 ? H5.length : 0, C5 = K9(typeof P5 == "number" ? P5 : 0); return A9(H5, function(Q5) { var V5 = K5(0, ++z5); C5[z5] = C5[V5], C5[V5] = Q5; }), C5; } function E5(Q5) { return typeof Q5 == "number" || Q5 && typeof Q5 == "object" && k9V7b.i6S(G9.call(Q5), w3) || false; } function D5(Q5) { return typeof Q5 == "function" && v1.test(Q5); } function P9(P5) { var C5, Z5; return P5 && k9V7b.F1S(G9.call(P5), B9) && (C5 = P5.constructor, !L5(C5) || k9V7b.D1S(C5, C5)) ? (U9(P5, function(V5, H5) { var z5 = function(Q5) { Z5 = Q5; }; z5(H5); }), typeof Z5 == "undefined" || k9.call(P5, Z5)) : false; } function y9(Q5, V5, H5) { var z5, P5 = Q5, C5 = P5; if (!P5) return C5; var Z5 = arguments, N5 = 0, t5 = typeof H5 == "number" ? 2 : Z5.length; if (k9V7b.t5S(3, t5) && "function" == typeof Z5[k9V7b.o5S(t5, 2)]) var o5 = O9(Z5[--t5 - 1], Z5[t5--], 2); else k9V7b.n5S(2, t5) && "function" == typeof Z5[k9V7b.O5S(t5, 1)] && (o5 = Z5[--t5]); for (; ++N5 < t5;) if ((P5 = Z5[N5]) && l9[typeof P5]) for (var c5 = -1, n5 = l9[typeof P5] && p9(P5), W5 = n5 ? n5.length : 0; ++c5 < W5;) z5 = n5[c5], C5[z5] = o5 ? o5(C5[z5], P5[z5]) : P5[z5]; return C5; } function S9(Q5) { return typeof Q5 == "string" || Q5 && typeof Q5 == "object" && k9V7b.P6S(G9.call(Q5), m3) || false; } function H9(Q5, V5, H5) { var z5 = function() { P5 = k9V7b.H8S(null, V5) || H5 ? 1 : R9(0, V5); }; if (typeof V5 != "number" && k9V7b.z8S(null, V5)) { var P5 = 0, C5 = -1, Z5 = Q5 ? Q5.length : 0; for (V5 = U5.createCallback(V5, H5, 3); ++C5 < Z5 && V5(Q5[C5], C5, Q5);) P5++; } else z5(); return I9(Q5, P5); } function h9(Q5) { var V5, H5 = []; if (!Q5 || !l9[typeof Q5]) return H5; for (V5 in Q5) k9.call(Q5, V5) && H5.push(V5); return H5; } function n9(Q5, V5, H5, z5) { var P5 = 0, C5 = Q5 ? Q5.length : P5; for (H5 = H5 ? U5.createCallback(H5, z5, 1) : j5, V5 = H5(V5); k9V7b.Z8S(P5, C5);) z5 = k9V7b.m8S(P5 + C5, 1), k9V7b.S8S(H5(Q5[z5]), V5) ? P5 = z5 + 1 : C5 = z5; return P5; } function T9(z5, P5, C5) { var Z5 = -1 / 0, N5 = Z5; if (typeof P5 != "function" && C5 && k9V7b.d6S(C5[P5], z5) && (P5 = null), k9V7b.U6S(null, P5) && f9(z5)) { var t5 = function() { C5 = -1; }; t5(); for (var o5 = z5.length; ++C5 < o5;) { var c5 = z5[C5]; k9V7b.l6S(c5, N5) && (N5 = c5); } } else P5 = k9V7b.f6S(null, P5) && S9(z5) ? I1 : U5.createCallback(P5, C5, 3), A9(z5, function(Q5, V5, H5) { V5 = P5(Q5, V5, H5), k9V7b.G6S(V5, Z5) && (Z5 = V5, N5 = Q5); }); return N5; } function Z9(z5, P5, C5) { var Z5 = z5 ? z5.length : 0; if (P5 = P5 && typeof C5 == "undefined" ? P5 : O9(P5, C5, 3), typeof Z5 == "number") for (; Z5-- && k9V7b.c6S(false, P5(z5[Z5], Z5, z5));); else { var N5 = p9(z5), Z5 = N5.length; o9(z5, function(Q5, V5, H5) { return V5 = N5 ? N5[--Z5] : --Z5, P5(H5[V5], V5, H5); }); } return z5; } function i9(Q5, V5, H5, z5) { return typeof V5 != "boolean" && k9V7b.q8S(null, V5) && (z5 = H5, H5 = typeof V5 != "function" && z5 && k9V7b.I8S(z5[V5], Q5) ? null : V5, V5 = false), k9V7b.T8S(null, H5) && (H5 = U5.createCallback(H5, z5, 3)), p5(Q5, V5, H5); } function M9(Q5, V5) { var H5 = -1, z5 = t9(), P5 = Q5 ? Q5.length : 0, C5 = k9V7b.A9S(P5, Z1) && k9V7b.v9S(z5, N3), Z5 = []; if (C5) { var N5 = y1(V5); N5 ? (z5 = u3, V5 = N5) : C5 = false; } for (; ++H5 < P5;) N5 = Q5[H5], k9V7b.c9S(0, z5(V5, N5)) && Z5.push(N5); return C5 && O3(V5), Z5; } function e9(Q5, V5, H5) { var z5 = 0, P5 = Q5 ? Q5.length : 0; if (typeof V5 != "number" && k9V7b.e6S(null, V5)) { var C5 = -1; for (V5 = U5.createCallback(V5, H5, 3); ++C5 < P5 && V5(Q5[C5], C5, Q5);) z5++; } else if (z5 = V5, k9V7b.g6S(null, z5) || H5) return Q5 ? Q5[0] : g9; return I9(Q5, 0, i3(R9(0, z5), P5)); } function u9(Q5) { return d1[Q5]; } function U9(Q5, V5, H5) { var z5 = function() { V5 = V5 && typeof H5 == "undefined" ? V5 : O9(V5, H5, 3); }, P5; if (!Q5 || !l9[typeof Q5]) return Q5; z5(); for (P5 in Q5) if (k9V7b.a5S(false, V5(Q5[P5], P5, Q5))) break; return Q5; } function W9(z5, P5, C5) { var Z5 = []; P5 = U5.createCallback(P5, C5, 3), C5 = -1; var N5 = z5 ? z5.length : 0; if (typeof N5 == "number") for (; ++C5 < N5;) { var t5 = z5[C5]; P5(t5, C5, z5) && Z5.push(t5); } else o9(z5, function(Q5, V5, H5) { P5(Q5, V5, H5) && Z5.push(Q5); }); return Z5; } function w9() {} function J9(Q5, V5, H5) { var z5 = p9(Q5), P5 = z5.length; for (V5 = O9(V5, H5, 3); P5-- && (H5 = z5[P5], k9V7b.Q6S(false, V5(Q5[H5], H5, Q5)));); return Q5; } function v9(V5) { var H5 = function(Q5) { Z5[z5] = Q5[P5[z5]]; }; for (var z5 = -1, P5 = p9(V5), C5 = P5.length, Z5 = K9(C5); ++z5 < C5;) H5(V5); return Z5; } function d9(z5, P5, C5) { var Z5 = true; P5 = U5.createCallback(P5, C5, 3), C5 = -1; var N5 = z5 ? z5.length : 0; if (typeof N5 == "number") for (; ++C5 < N5 && (Z5 = !!P5(z5[C5], C5, z5));); else o9(z5, function(Q5, V5, H5) { return Z5 = !!P5(Q5, V5, H5); }); return Z5; } function t9() { var Q5 = k9V7b.X1S((Q5 = U5.indexOf), B5) ? N3 : Q5; return Q5; } function C9(Q5, V5) { this.__chain__ = !!V5, this.__wrapped__ = Q5; } function A9(Q5, V5, H5) { var z5 = -1, P5 = Q5 ? Q5.length : 0; if (V5 = V5 && typeof H5 == "undefined" ? V5 : O9(V5, H5, 3), typeof P5 == "number") for (; ++z5 < P5 && k9V7b.v6S(false, V5(Q5[z5], z5, Q5));); else o9(Q5, V5); return Q5; } function q9(Q5, V5, H5, z5, P5, C5) { var Z5 = k9V7b.C1S(1, V5), N5 = k9V7b.s1S(4, V5), t5 = k9V7b.a1S(16, V5), o5 = k9V7b.t1S(32, V5); if (!(k9V7b.o1S(2, V5) || L5(Q5))) throw new F9; t5 && !H5.length && (V5 &= -17, t5 = H5 = false), o5 && !z5.length && (V5 &= -33, o5 = z5 = false); var c5 = Q5 && Q5.__bindData__; return c5 && k9V7b.n1S(true, c5) ? (c5 = I9(c5), c5[2] && (c5[2] = I9(c5[2])), c5[3] && (c5[3] = I9(c5[3])), !Z5 || k9V7b.O1S(1, c5[1]) || (c5[4] = P5), !Z5 && k9V7b.w1S(1, c5[1]) && (V5 |= 8), !N5 || k9V7b.b1S(4, c5[1]) || (c5[5] = C5), t5 && o3.apply(c5[2] || (c5[2] = []), H5), o5 && E3.apply(c5[3] || (c5[3] = []), z5), c5[1] |= V5, q9.apply(null, c5)) : (k9V7b.p1S(1, V5) || k9V7b.M1S(17, V5) ? b9 : G5)([Q5, V5, H5, z5, P5, C5]); } function O9(P5, C5, Z5) { if (typeof P5 != "function") return j5; if (typeof C5 == "undefined" || !(k9V7b.p5S("prototype", P5))) return P5; var N5 = P5.__bindData__; if (typeof N5 == "undefined" && (c3.funcNames && (N5 = !P5.name), N5 = N5 || !c3.funcDecomp, !N5)) { var t5 = b1.call(P5); c3.funcNames || (N5 = !P1.test(t5)), N5 || (N5 = F3.test(t5), $e(P5, N5)); } if (k9V7b.M5S(false, N5) || k9V7b.X5S(true, N5) && k9V7b.F5S(1, N5[1])) return P5; switch (Z5) { case 1: return function(Q5) { return P5.call(C5, Q5); }; case 2: return function(Q5, V5) { return P5.call(C5, Q5, V5); }; case 3: return function(Q5, V5, H5) { return P5.call(C5, Q5, V5, H5); }; case 4: return function(Q5, V5, H5, z5) { return P5.call(C5, Q5, V5, H5, z5); }; } return s1(P5, C5); } function b9(H5) { function z5() { if (C5) { var Q5 = I9(C5); o3.apply(Q5, arguments); } if (k9V7b.w5S(this, z5)) { var V5 = v5(P5.prototype), Q5 = P5.apply(V5, Q5 || arguments); return d5(Q5) ? Q5 : V5; } return P5.apply(Z5, Q5 || arguments); } var P5 = H5[0], C5 = H5[2], Z5 = H5[4]; return $e(z5, H5), z5; } function t3(V5) { for (var H5 = -1, z5 = p9(V5), P5 = z5.length, C5 = {}; ++H5 < P5;) { var Z5 = function(Q5) { C5[V5[N5]] = Q5; }; var N5 = z5[H5]; Z5(N5); } return C5; } var p3 = function() { u5 = u5 ? r9.defaults(s3.Object(), u5, r9.pick(s3, C1)) : s3; }; function z3() { for (var Q5 = k9V7b.h8S(1, arguments.length) ? arguments : arguments[0], V5 = -1, H5 = Q5 ? T9(n3(Q5, "length")) : 0, z5 = K9(k9V7b.W8S(0, H5) ? 0 : H5); ++V5 < H5;) z5[V5] = n3(Q5, V5); return z5; } function G3(Q5, V5) { var H5 = -1, z5 = Q5 ? Q5.length : 0, P5 = {}; for (V5 || !z5 || f9(Q5[0]) || (V5 = []); ++H5 < z5;) { var C5 = Q5[H5]; V5 ? P5[C5] = V5[H5] : C5 && (P5[C5[0]] = C5[1]); } return P5; } function z9(Q5, V5, H5) { var z5, P5 = Q5, C5 = P5; if (!P5) return C5; for (var Z5 = arguments, N5 = 0, t5 = typeof H5 == "number" ? 2 : Z5.length; ++N5 < t5;) if ((P5 = Z5[N5]) && l9[typeof P5]) for (var o5 = -1, c5 = l9[typeof P5] && p9(P5), n5 = c5 ? c5.length : 0; ++o5 < n5;) z5 = c5[o5], "undefined" == typeof C5[z5] && (C5[z5] = P5[z5]); return C5; } function c9(V5) { return function(Q5) { return Q5[V5]; }; } function g5(P5, C5, Z5, N5) { if (!P5) return Z5; var t5 = k9V7b.j6S(3, arguments.length); C5 = U5.createCallback(C5, N5, 4); var o5 = -1, c5 = P5.length; if (typeof c5 == "number") for (t5 && (Z5 = P5[++o5]); ++o5 < c5;) Z5 = C5(Z5, P5[o5], o5, P5); else o9(P5, function(Q5, V5, H5) { var z5 = function() { Z5 = t5 ? (t5 = false, Q5) : C5(Z5, Q5, V5, H5); }; z5(); }); return Z5; } function E9(V5, H5, z5) { var P5 = -1, C5 = t9(), Z5 = V5 ? V5.length : 0, N5 = false; return z5 = (k9V7b.N6S(0, z5) ? R9(0, Z5 + z5) : z5) || 0, f9(V5) ? N5 = -1 < C5(V5, H5, z5) : typeof Z5 == "number" ? N5 = -1 < (S9(V5) ? V5.indexOf(H5, z5) : C5(V5, H5, z5)) : o9(V5, function(Q5) { return ++P5 < z5 ? void 0 : !(N5 = k9V7b.A6S(Q5, H5)); }), N5; } function o9(Q5, V5, H5) { var z5 = function() { V5 = V5 && typeof H5 == "undefined" ? V5 : O9(V5, H5, 3); }; if (!Q5 || !l9[typeof Q5]) return Q5; z5(); for (var P5 = -1, C5 = l9[typeof Q5] && p9(Q5), Z5 = C5 ? C5.length : 0; ++P5 < Z5 && (H5 = C5[P5], k9V7b.s5S(false, V5(Q5[H5], H5, Q5)));); return Q5; } function s1(Q5, V5) { return k9V7b.k8S(2, arguments.length) ? q9(Q5, 17, I9(arguments, 2), null, V5) : q9(Q5, 1, null, null, V5); } p3(); var K9 = u5.Array, r3 = u5.Boolean, q3 = u5.Date, j3 = u5.Function, V3 = u5.Math, f1 = u5.Number, C3 = u5.Object, P3 = u5.RegExp, L9 = u5.String, F9 = u5.TypeError, Q3 = [], m1 = C3.prototype, W1 = u5._, G9 = m1.toString, v1 = P3("^" + L9(G9).replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/toString| for [^\]]+/g, ".*?") + "$"), S1 = V3.ceil, M3 = u5.clearTimeout, A1 = V3.floor, b1 = j3.prototype.toString, H3 = D5(H3 = C3.getPrototypeOf) && H3, k9 = m1.hasOwnProperty, o3 = Q3.push, Z3 = u5.setTimeout, t1 = Q3.splice, E3 = Q3.unshift, R3 = function() { try { var V5 = {}, H5 = D5(H5 = C3.defineProperty) && H5, z5 = H5(V5, V5, V5) && H5; } catch (Q5) {} return z5; }(), I3 = D5(I3 = C3.create) && I3, d3 = D5(d3 = K9.isArray) && d3, q1 = u5.isFinite, Y3 = u5.isNaN, J3 = D5(J3 = C3.keys) && J3, R9 = V3.max, i3 = V3.min, B3 = u5.parseInt, x3 = V3.random, x9 = {}; x9[$] = K9, x9[A3] = r3, x9[k3] = q3, x9[w1] = j3, x9[B9] = C3, x9[w3] = f1, x9[W3] = P3, x9[m3] = L9, C9.prototype = U5.prototype; var c3 = U5.support = {}; c3.funcDecomp = !D5(u5.a) && F3.test(z1), c3.funcNames = typeof j3.name == "string", U5.templateSettings = { escape: /<%-([\s\S]+?)%>/g, evaluate: /<%([\s\S]+?)%>/g, interpolate: e3, variable: "", imports: { _: U5 } }, I3 || (v5 = function() { function H5() {} return function(Q5) { if (d5(Q5)) { H5.prototype = Q5; var V5 = new H5; H5.prototype = null; } return V5 || u5.Object(); }; }()); var $e = R3 ? function(Q5, V5) { g3.value = V5, R3(Q5, "__bindData__", g3); } : w9, f9 = d3 || function(Q5) { return Q5 && typeof Q5 == "object" && typeof Q5.length == "number" && k9V7b.O0S(G9.call(Q5), $) || false; }, p9 = J3 ? function(Q5) { return d5(Q5) ? J3(Q5) : []; } : h9, X3 = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, d1 = t3(X3), n1 = P3("(" + p9(d1).join("|") + ")", "g"), j1 = P3("[" + p9(X3).join("") + "]", "g"), Q1 = H3 ? function(Q5) { if (!Q5 || k9V7b.w0S(G9.call(Q5), B9)) return false; var V5 = Q5.valueOf, H5 = D5(V5) && (H5 = H3(V5)) && H3(H5); return H5 ? k9V7b.b0S(Q5, H5) || k9V7b.p0S(H3(Q5), H5) : P9(Q5); } : P9, c1 = x5(function(Q5, V5, H5) { k9.call(Q5, H5) ? Q5[H5] ++ : Q5[H5] = 1; }), k1 = x5(function(Q5, V5, H5) { (k9.call(Q5, H5) ? Q5[H5] : Q5[H5] = []).push(V5); }), G1 = x5(function(V5, H5, z5) { var P5 = function(Q5) { V5[z5] = Q5; }; P5(H5); }), n3 = w5, y3 = D5(y3 = q3.now) && y3 || function() { return (new q3).getTime(); }, o1 = k9V7b.M0S(8, B3(h1 + "08")) ? B3 : function(Q5, V5) { return B3(S9(Q5) ? Q5.replace(U1, "") : Q5, V5 || 0); }; return U5.after = function(Q5, V5) { if (!L5(V5)) throw new F9; return function() { return 1 > --Q5 ? V5.apply(this, arguments) : void 0; }; }, U5.assign = y9, U5.at = function(V5) { var H5 = function(Q5) { Z5[P5] = Q5[C5[P5]]; }; for (var z5 = arguments, P5 = -1, C5 = X5(z5, true, false, 1), z5 = z5[2] && k9V7b.X0S(z5[2][z5[1]], V5) ? 1 : C5.length, Z5 = K9(z5); ++P5 < z5;) H5(V5); return Z5; }, U5.bind = s1, U5.bindAll = function(Q5) { for (var V5 = k9V7b.F0S(1, arguments.length) ? X5(arguments, true, false, 1) : A5(Q5), H5 = -1, z5 = V5.length; ++H5 < z5;) { var P5 = V5[H5]; Q5[P5] = q9(Q5[P5], 1, null, null, Q5); } return Q5; }, U5.bindKey = function(Q5, V5) { return k9V7b.D0S(2, arguments.length) ? q9(V5, 19, I9(arguments, 2), null, Q5) : q9(V5, 3, null, null, Q5); }, U5.chain = function(Q5) { return Q5 = new C9(Q5), Q5.__chain__ = true, Q5; }, U5.compact = function(Q5) { for (var V5 = -1, H5 = Q5 ? Q5.length : 0, z5 = []; ++V5 < H5;) { var P5 = Q5[V5]; P5 && z5.push(P5); } return z5; }, U5.compose = function() { for (var H5 = arguments, z5 = H5.length; z5--;) if (!L5(H5[z5])) throw new F9; return function() { for (var Q5 = arguments, V5 = H5.length; V5--;) Q5 = [H5[V5].apply(this, Q5)]; return Q5[0]; }; }, U5.constant = function(Q5) { return function() { return Q5; }; }, U5.countBy = c1, U5.create = function(Q5, V5) { var H5 = v5(Q5); return V5 ? y9(H5, V5) : H5; }, U5.createCallback = function(z5, P5, C5) { var Z5 = typeof z5; if (k9V7b.x0S(null, z5) || k9V7b.Q4S("function", Z5)) return O9(z5, P5, C5); if (k9V7b.i4S("object", Z5)) return c9(z5); var N5 = p9(z5), t5 = N5[0], o5 = z5[t5]; return k9V7b.P4S(1, N5.length) || k9V7b.N4S(o5, o5) || d5(o5) ? function(Q5) { for (var V5 = N5.length, H5 = false; V5-- && (H5 = J5(Q5[N5[V5]], z5[N5[V5]], null, true));); return H5; } : function(Q5) { return Q5 = Q5[t5], k9V7b.A4S(o5, Q5) && (k9V7b.v4S(0, o5) || k9V7b.c4S(1 / o5, 1 / Q5)); }; }, U5.curry = function(Q5, V5) { return V5 = typeof V5 == "number" ? V5 : +V5 || Q5.length, q9(Q5, 4, null, null, null, V5); }, U5.debounce = S5, U5.defaults = z9, U5.defer = function(Q5) { if (!L5(Q5)) throw new F9; var V5 = I9(arguments, 1); return Z3(function() { Q5.apply(g9, V5); }, 1); }, U5.delay = function(Q5, V5) { if (!L5(Q5)) throw new F9; var H5 = I9(arguments, 2); return Z3(function() { Q5.apply(g9, H5); }, V5); }, U5.difference = function(Q5) { return M9(Q5, X5(arguments, true, true, 1)); }, U5.filter = W9, U5.flatten = function(Q5, V5, H5, z5) { return typeof V5 != "boolean" && k9V7b.d4S(null, V5) && (z5 = H5, H5 = typeof V5 != "function" && z5 && k9V7b.U4S(z5[V5], Q5) ? null : V5, V5 = false), k9V7b.l4S(null, H5) && (Q5 = w5(Q5, H5, z5)), X5(Q5, V5); }, U5.forEach = A9, U5.forEachRight = Z9, U5.forIn = U9, U5.forInRight = function(H5, z5, P5) { var C5 = []; U9(H5, function(Q5, V5) { C5.push(V5, Q5); }); var Z5 = C5.length; for (z5 = O9(z5, P5, 3); Z5-- && k9V7b.f4S(false, z5(C5[Z5--], C5[Z5], H5));); return H5; }, U5.forOwn = o9, U5.forOwnRight = J9, U5.functions = A5, U5.groupBy = k1, U5.indexBy = G1, U5.initial = function(Q5, V5, H5) { var z5 = function() { P5 = k9V7b.G4S(null, V5) || H5 ? 1 : V5 || P5; }, P5 = 0, C5 = Q5 ? Q5.length : 0; if (typeof V5 != "number" && k9V7b.j4S(null, V5)) { var Z5 = C5; for (V5 = U5.createCallback(V5, H5, 3); Z5-- && V5(Q5[Z5], Z5, Q5);) P5++; } else z5(); return I9(Q5, 0, i3(R9(0, k9V7b.R4S(C5, P5)), C5)); }, U5.intersection = function() { for (var Q5 = [], V5 = -1, H5 = arguments.length, z5 = D9(), P5 = t9(), C5 = k9V7b.e4S(P5, N3), Z5 = D9(); ++V5 < H5;) { var N5 = arguments[V5]; (f9(N5) || k5(N5)) && (Q5.push(N5), z5.push(C5 && k9V7b.g4S(N5.length, Z1) && y1(V5 ? Q5[V5] : Z5))); } var C5 = Q5[0], t5 = -1, o5 = C5 ? C5.length : 0, c5 = []; n: for (; ++t5 < o5;) { var n5 = z5[0], N5 = C5[t5]; if (k9V7b.Y4S(0, (n5 ? u3(n5, N5) : P5(Z5, N5)))) { for (V5 = H5, (n5 || Z5).push(N5); --V5;) if (n5 = z5[V5], k9V7b.E4S(0, (n5 ? u3(n5, N5) : P5(Q5[V5], N5)))) continue n; c5.push(N5); } } for (; H5--;)(n5 = z5[H5]) && O3(n5); return X9(z5), X9(Z5), c5; }, U5.invert = t3, U5.invoke = function(V5, H5) { var z5 = I9(arguments, 2), P5 = -1, C5 = typeof H5 == "function", Z5 = V5 ? V5.length : 0, N5 = K9(typeof Z5 == "number" ? Z5 : 0); return A9(V5, function(Q5) { N5[++P5] = (C5 ? H5 : Q5[H5]).apply(Q5, z5); }), N5; }, U5.keys = p9, U5.map = w5, U5.mapValues = function(z5, P5, C5) { var Z5 = {}; return P5 = U5.createCallback(P5, C5, 3), o9(z5, function(Q5, V5, H5) { Z5[V5] = P5(Q5, V5, H5); }), Z5; }, U5.max = T9, U5.memoize = function(H5, z5) { function P5() { var Q5 = P5.cache, V5 = z5 ? z5.apply(this, arguments) : V1 + arguments[0]; return k9.call(Q5, V5) ? Q5[V5] : Q5[V5] = H5.apply(this, arguments); } if (!L5(H5)) throw new F9; return P5.cache = {}, P5; }, U5.merge = function(Q5) { var V5 = arguments, H5 = 2; if (!d5(Q5)) return Q5; if ("number" != typeof V5[2] && (H5 = V5.length), k9V7b.H7S(3, H5) && "function" == typeof V5[k9V7b.z7S(H5, 2)]) var z5 = O9(V5[--H5 - 1], V5[H5--], 2); else k9V7b.Z7S(2, H5) && "function" == typeof V5[k9V7b.m7S(H5, 1)] && (z5 = V5[--H5]); for (var V5 = I9(arguments, 1, H5), P5 = -1, C5 = D9(), Z5 = D9(); ++P5 < H5;) m9(Q5, V5[P5], z5, C5, Z5); return X9(C5), X9(Z5), Q5; }, U5.min = function(z5, P5, C5) { var Z5 = k9V7b.S7S(1, 0), N5 = Z5; if (typeof P5 != "function" && C5 && k9V7b.q7S(C5[P5], z5) && (P5 = null), k9V7b.I7S(null, P5) && f9(z5)) { var t5 = function() { C5 = -1; }; t5(); for (var o5 = z5.length; ++C5 < o5;) { var c5 = z5[C5]; k9V7b.T7S(c5, N5) && (N5 = c5); } } else P5 = k9V7b.h7S(null, P5) && S9(z5) ? I1 : U5.createCallback(P5, C5, 3), A9(z5, function(Q5, V5, H5) { V5 = P5(Q5, V5, H5), k9V7b.W7S(V5, Z5) && (Z5 = V5, N5 = Q5); }); return N5; }, U5.omit = function(z5, P5, C5) { var Z5 = {}; if (typeof P5 != "function") { var N5 = []; U9(z5, function(Q5, V5) { N5.push(V5); }); for (var N5 = M9(N5, X5(arguments, true, false, 1)), t5 = -1, o5 = N5.length; ++t5 < o5;) { var c5 = function(Q5) { Z5[n5] = Q5[n5]; }; var n5 = N5[t5]; c5(z5); } } else P5 = U5.createCallback(P5, C5, 3), U9(z5, function(Q5, V5, H5) { P5(Q5, V5, H5) || (Z5[V5] = Q5); }); return Z5; }, U5.once = function(Q5) { var V5, H5; if (!L5(Q5)) throw new F9; return function() { return V5 ? H5 : (V5 = true, H5 = Q5.apply(this, arguments), Q5 = null, H5); }; }, U5.pairs = function(Q5) { for (var V5 = -1, H5 = p9(Q5), z5 = H5.length, P5 = K9(z5); ++V5 < z5;) { var C5 = function() { P5[V5] = [Z5, Q5[Z5]]; }; var Z5 = H5[V5]; C5(); } return P5; }, U5.partial = function(Q5) { return q9(Q5, 16, I9(arguments, 1)); }, U5.partialRight = function(Q5) { return q9(Q5, 32, null, I9(arguments, 1)); }, U5.pick = function(z5, P5, C5) { var Z5 = {}; if (typeof P5 != "function") for (var N5 = -1, t5 = X5(arguments, true, false, 1), o5 = d5(z5) ? t5.length : 0; ++N5 < o5;) { var c5 = t5[N5]; k9V7b.k7S(c5, z5) && (Z5[c5] = z5[c5]); } else P5 = U5.createCallback(P5, C5, 3), U9(z5, function(Q5, V5, H5) { P5(Q5, V5, H5) && (Z5[V5] = Q5); }); return Z5; }, U5.pluck = n3, U5.property = c9, U5.pull = function(Q5) { for (var V5 = arguments, H5 = 0, z5 = V5.length, P5 = Q5 ? Q5.length : 0; ++H5 < z5;) for (var C5 = -1, Z5 = V5[H5]; ++C5 < P5;) k9V7b.K7S(Q5[C5], Z5) && (t1.call(Q5, C5--, 1), P5--); return Q5; }, U5.range = function(Q5, V5, H5) { Q5 = +Q5 || 0, H5 = typeof H5 == "number" ? H5 : +H5 || 1, k9V7b.J7S(null, V5) && (V5 = Q5, Q5 = 0); var z5 = -1; V5 = R9(0, S1(k9V7b.u7S((V5 - Q5), (H5 || 1)))); for (var P5 = K9(V5); ++z5 < V5;) P5[z5] = Q5, Q5 += H5; return P5; }, U5.reject = function(z5, P5, C5) { return P5 = U5.createCallback(P5, C5, 3), W9(z5, function(Q5, V5, H5) { return !P5(Q5, V5, H5); }); }, U5.remove = function(Q5, V5, H5) { var z5 = -1, P5 = Q5 ? Q5.length : 0, C5 = []; for (V5 = U5.createCallback(V5, H5, 3); ++z5 < P5;) H5 = Q5[z5], V5(H5, z5, Q5) && (C5.push(H5), t1.call(Q5, z5--, 1), P5--); return C5; }, U5.rest = H9, U5.shuffle = s9, U5.sortBy = function(C5, Z5, N5) { var t5 = -1, o5 = f9(Z5), c5 = C5 ? C5.length : 0, n5 = K9(typeof c5 == "number" ? c5 : 0); for (o5 || (Z5 = U5.createCallback(Z5, N5, 3)), A9(C5, function(V5, H5, z5) { var P5 = n5[++t5] = i1(); o5 ? P5.m = w5(Z5, function(Q5) { return V5[Q5]; }) : (P5.m = D9())[0] = Z5(V5, H5, z5), P5.n = t5, P5.o = V5; }), c5 = n5.length, n5.sort(R1); c5--;) C5 = n5[c5], n5[c5] = C5.o, o5 || X9(C5.m), O3(C5); return n5; }, U5.tap = function(Q5, V5) { return V5(Q5), Q5; }, U5.throttle = function(Q5, V5, H5) { var z5 = true, P5 = true; if (!L5(Q5)) throw new F9; return k9V7b.L7S(false, H5) ? z5 = false : d5(H5) && (z5 = k9V7b.r7S("leading", H5) ? H5.leading : z5, P5 = k9V7b.B7S("trailing", H5) ? H5.trailing : P5), D3.leading = z5, D3.maxWait = V5, D3.trailing = P5, S5(Q5, V5, D3); }, U5.times = function(Q5, V5, H5) { var z5 = function() { Q5 = -1 < (Q5 = +Q5) ? Q5 : 0; }; z5(); var P5 = -1, C5 = K9(Q5); for (V5 = O9(V5, H5, 1); ++P5 < Q5;) C5[P5] = V5(P5); return C5; }, U5.toArray = function(Q5) { return Q5 && typeof Q5.length == "number" ? I9(Q5) : v9(Q5); }, U5.transform = function(z5, P5, C5, Z5) { var N5 = function() { C5 = []; }, t5 = f9(z5); if (k9V7b.V2S(null, C5)) if (t5) N5(); else { var o5 = z5 && z5.constructor; C5 = v5(o5 && o5.prototype); } return P5 && (P5 = U5.createCallback(P5, Z5, 4), (t5 ? A9 : o9)(z5, function(Q5, V5, H5) { return P5(C5, Q5, V5, H5); })), C5; }, U5.union = function() { return p5(X5(arguments, true, true)); }, U5.uniq = i9, U5.values = v9, U5.where = W9, U5.without = function(Q5) { return M9(Q5, I9(arguments, 1)); }, U5.wrap = function(Q5, V5) { return q9(V5, 16, [Q5]); }, U5.xor = function() { for (var Q5 = -1, V5 = arguments.length; ++Q5 < V5;) { var H5 = arguments[Q5]; if (f9(H5) || k5(H5)) var z5 = z5 ? p5(M9(z5, H5).concat(M9(H5, z5))) : H5; } return z5 || []; }, U5.zip = z3, U5.zipObject = G3, U5.collect = w5, U5.drop = H9, U5.each = A9, U5.eachRight = Z9, U5.extend = y9, U5.methods = A5, U5.object = G3, U5.select = W9, U5.tail = H9, U5.unique = i9, U5.unzip = z3, l5(U5), U5.clone = function(Q5, V5, H5, z5) { return typeof V5 != "boolean" && k9V7b.y2S(null, V5) && (z5 = H5, H5 = V5, V5 = false), F5(Q5, V5, typeof H5 == "function" && O9(H5, z5, 1)); }, U5.cloneDeep = function(Q5, V5, H5) { return F5(Q5, true, typeof V5 == "function" && O9(V5, H5, 1)); }, U5.contains = E9, U5.escape = function(Q5) { return k9V7b.C2S(null, Q5) ? "" : L9(Q5).replace(j1, Y9); }, U5.every = d9, U5.find = O5, U5.findIndex = function(Q5, V5, H5) { var z5 = -1, P5 = Q5 ? Q5.length : 0; for (V5 = U5.createCallback(V5, H5, 3); ++z5 < P5;) if (V5(Q5[z5], z5, Q5)) return z5; return -1; }, U5.findKey = function(z5, P5, C5) { var Z5; return P5 = U5.createCallback(P5, C5, 3), o9(z5, function(Q5, V5, H5) { return P5(Q5, V5, H5) ? (Z5 = V5, false) : void 0; }), Z5; }, U5.findLast = function(z5, P5, C5) { var Z5; return P5 = U5.createCallback(P5, C5, 3), Z9(z5, function(Q5, V5, H5) { return P5(Q5, V5, H5) ? (Z5 = Q5, false) : void 0; }), Z5; }, U5.findLastIndex = function(Q5, V5, H5) { var z5 = Q5 ? Q5.length : 0; for (V5 = U5.createCallback(V5, H5, 3); z5--;) if (V5(Q5[z5], z5, Q5)) return z5; return -1; }, U5.findLastKey = function(z5, P5, C5) { var Z5; return P5 = U5.createCallback(P5, C5, 3), J9(z5, function(Q5, V5, H5) { return P5(Q5, V5, H5) ? (Z5 = V5, false) : void 0; }), Z5; }, U5.has = function(Q5, V5) { return Q5 ? k9.call(Q5, V5) : false; }, U5.identity = j5, U5.indexOf = B5, U5.isArguments = k5, U5.isArray = f9, U5.isBoolean = function(Q5) { return k9V7b.s2S(true, Q5) || k9V7b.a2S(false, Q5) || Q5 && typeof Q5 == "object" && k9V7b.t2S(G9.call(Q5), A3) || false; }, U5.isDate = function(Q5) { return Q5 && typeof Q5 == "object" && k9V7b.o2S(G9.call(Q5), k3) || false; }, U5.isElement = function(Q5) { return Q5 && k9V7b.n2S(1, Q5.nodeType) || false; }, U5.isEmpty = function(Q5) { var V5 = true; if (!Q5) return V5; var H5 = G9.call(Q5), z5 = Q5.length; return k9V7b.O2S(H5, $) || k9V7b.w2S(H5, m3) || k9V7b.b2S(H5, b3) || k9V7b.p2S(H5, B9) && typeof z5 == "number" && L5(Q5.splice) ? !z5 : (o9(Q5, function() { return V5 = false; }), V5); }, U5.isEqual = function(Q5, V5, H5, z5) { return J5(Q5, V5, typeof H5 == "function" && O9(H5, z5, 2)); }, U5.isFinite = function(Q5) { return q1(Q5) && !Y3(parseFloat(Q5)); }, U5.isFunction = L5, U5.isNaN = function(Q5) { return E5(Q5) && Q5 != +Q5; }, U5.isNull = function(Q5) { return k9V7b.M2S(null, Q5); }, U5.isNumber = E5, U5.isObject = d5, U5.isPlainObject = Q1, U5.isRegExp = function(Q5) { return Q5 && typeof Q5 == "object" && k9V7b.X2S(G9.call(Q5), W3) || false; }, U5.isString = S9, U5.isUndefined = function(Q5) { return typeof Q5 == "undefined"; }, U5.lastIndexOf = function(Q5, V5, H5) { var z5 = Q5 ? Q5.length : 0; for (typeof H5 == "number" && (z5 = (k9V7b.F2S(0, H5) ? R9(0, z5 + H5) : i3(H5, k9V7b.D2S(z5, 1))) + 1); z5--;) if (k9V7b.x2S(Q5[z5], V5)) return z5; return -1; }, U5.mixin = l5, U5.noConflict = function() { return u5._ = W1, this; }, U5.noop = w9, U5.now = y3, U5.parseInt = o1, U5.random = function(Q5, V5, H5) { var z5 = k9V7b.Q55(null, Q5), P5 = k9V7b.i55(null, V5); return k9V7b.P55(null, H5) && (typeof Q5 == "boolean" && P5 ? (H5 = Q5, Q5 = 1) : P5 || typeof V5 != "boolean" || (H5 = V5, P5 = true)), z5 && P5 && (V5 = 1), Q5 = +Q5 || 0, P5 ? (V5 = Q5, Q5 = 0) : V5 = +V5 || 0, H5 || k9V7b.N55(Q5, 1) || k9V7b.A55(V5, 1) ? (H5 = x3(), i3(Q5 + k9V7b.v55(H5, (V5 - Q5 + parseFloat("1e-" + ((H5 + "").length - 1)))), V5)) : K5(Q5, V5); }, U5.reduce = g5, U5.reduceRight = $t, U5.result = function(Q5, V5) { if (Q5) { var H5 = Q5[V5]; return L5(H5) ? Q5[V5]() : H5; } }, U5.runInContext = z1, U5.size = function(Q5) { var V5 = Q5 ? Q5.length : 0; return typeof V5 == "number" ? V5 : p9(Q5).length; }, U5.some = q5, U5.sortedIndex = n9, U5.template = function(Z5, N5, t5) { var o5 = U5.templateSettings; Z5 = L9(Z5 || ""), t5 = z9({}, t5, o5); var c5, n5 = z9({}, t5.imports, o5.imports), o5 = p9(n5), n5 = v9(n5), W5 = 0, R5 = t5.interpolate || h3, M5 = "__p+='", R5 = P3((t5.escape || h3).source + "|" + R5.source + "|" + (k9V7b.c55(R5, e3) ? l1 : h3).source + "|" + (t5.evaluate || h3).source + "|$", "g"); Z5.replace(R5, function(Q5, V5, H5, z5, P5, C5) { return H5 || (H5 = z5), M5 += Z5.slice(W5, C5).replace(O1, T1), V5 && (M5 += "'+__e(" + V5 + ")+'"), P5 && (c5 = true, M5 += "';" + P5 + ";\n__p+='"), H5 && (M5 += "'+((__t=(" + H5 + "))==null?'':__t)+'"), W5 = C5 + Q5.length, Q5; }), M5 += "';", R5 = t5 = t5.variable, R5 || (t5 = "obj", M5 = "with(" + t5 + "){" + M5 + "}"), M5 = (c5 ? M5.replace(X1, "") : M5).replace(e1, "$1").replace(F1, "$1;"), M5 = "function(" + t5 + "){" + (R5 ? "" : t5 + "||(" + t5 + "={});") + "var __t,__p='',__e=_.escape" + (c5 ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";") + M5 + "return __p}"; try { var V9 = j3(o5, "return " + M5).apply(g9, n5); } catch (Q5) { throw Q5.source = M5, Q5; } return N5 ? V9(N5) : (V9.source = M5, V9); }, U5.unescape = function(Q5) { return k9V7b.d55(null, Q5) ? "" : L9(Q5).replace(n1, u9); }, U5.uniqueId = function(Q5) { var V5 = ++M1; return L9(k9V7b.U55(null, Q5) ? "" : Q5) + V5; }, U5.all = d9, U5.any = q5, U5.detect = O5, U5.findWhere = O5, U5.foldl = g5, U5.foldr = $t, U5.include = E9, U5.inject = g5, l5(function() { var H5 = {}; return o9(U5, function(Q5, V5) { U5.prototype[V5] || (H5[V5] = Q5); }), H5; }(), false), U5.first = e9, U5.last = function(Q5, V5, H5) { var z5 = 0, P5 = Q5 ? Q5.length : 0; if (typeof V5 != "number" && k9V7b.l55(null, V5)) { var C5 = P5; for (V5 = U5.createCallback(V5, H5, 3); C5-- && V5(Q5[C5], C5, Q5);) z5++; } else if (z5 = V5, k9V7b.f55(null, z5) || H5) return Q5 ? Q5[k9V7b.G55(P5, 1)] : g9; return I9(Q5, R9(0, k9V7b.j55(P5, z5))); }, U5.sample = function(Q5, V5, H5) { return Q5 && typeof Q5.length != "number" && (Q5 = v9(Q5)), k9V7b.R55(null, V5) || H5 ? Q5 ? Q5[K5(0, k9V7b.e55(Q5.length, 1))] : g9 : (Q5 = s9(Q5), Q5.length = i3(R9(0, V5), Q5.length), Q5); }, U5.take = e9, U5.head = e9, o9(U5, function(P5, C5) { var Z5 = k9V7b.g55("sample", C5); U5.prototype[C5] || (U5.prototype[C5] = function(Q5, V5) { var H5 = this.__chain__, z5 = P5(this.__wrapped__, Q5, V5); return H5 || k9V7b.Y55(null, Q5) && (!V5 || Z5 && typeof Q5 == "function") ? new C9(z5, H5) : z5; }); }), U5.VERSION = "2.4.1", U5.prototype.chain = function() { return this.__chain__ = true, this; }, U5.prototype.toString = function() { return L9(this.__wrapped__); }, U5.prototype.value = i5, U5.prototype.valueOf = i5, A9(["join", "pop", "shift"], function(H5) { var z5 = Q3[H5]; U5.prototype[H5] = function() { var Q5 = this.__chain__, V5 = z5.apply(this.__wrapped__, arguments); return Q5 ? new C9(V5, Q5) : V5; }; }), A9(["push", "reverse", "sort", "unshift"], function(Q5) { var V5 = Q3[Q5]; U5.prototype[Q5] = function() { return V5.apply(this.__wrapped__, arguments), this; }; }), A9(["concat", "slice", "splice"], function(Q5) { var V5 = Q3[Q5]; U5.prototype[Q5] = function() { return new C9(V5.apply(this.__wrapped__, arguments), this.__chain__); }; }), U5; } function u3(Q5, V5) { var H5 = typeof V5; if (Q5 = Q5.l, k9V7b.Y7b("boolean", H5) || k9V7b.E7b(null, V5)) return Q5[V5] ? 0 : -1; k9V7b.H2b("number", H5) && k9V7b.z2b("string", H5) && (H5 = "object"); var z5 = k9V7b.Z2b("number", H5) ? V5 : V1 + V5; return Q5 = (Q5 = Q5[H5]) && Q5[z5], k9V7b.m2b("object", H5) ? Q5 && -1 < N3(Q5, V5) ? 0 : -1 : Q5 ? 0 : -1; } function N3(Q5, V5, H5) { var z5 = function() { H5 = k9V7b.e7b((H5 || 0), 1); }; z5(); for (var P5 = Q5 ? Q5.length : 0; ++H5 < P5;) if (k9V7b.g7b(Q5[H5], V5)) return H5; return -1; } function I9(V5, H5, z5) { var P5 = function() { z5 = k9V7b.y5S(z5, H5) || 0; }, C5 = function(Q5) { N5[Z5] = Q5[H5 + Z5]; }; H5 || (H5 = 0), typeof z5 == "undefined" && (z5 = V5 ? V5.length : 0); var Z5 = -1; P5(); for (var N5 = Array(k9V7b.C5S(0, z5) ? 0 : z5); ++Z5 < z5;) C5(V5); return N5; } var g9, U3 = [], H1 = [], M1 = 0, V1 = +new Date + "", Z1 = 75, L3 = 40, h1 = " \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", X1 = /\b__p\+='';/g, e1 = /\b(__p\+=)''\+/g, F1 = /(__e\(.*?\)|\b__t\))\+'';/g, l1 = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, u1 = /\w*$/, P1 = /^\s*function[ \n\r\t]+\w/, e3 = /<%=([\s\S]+?)%>/g, U1 = RegExp("^[" + h1 + "]*0+(?=.$)"), h3 = /($^)/, F3 = /\bthis\b/, O1 = /['\n\r\t\u2028\u2029\\]/g, C1 = "Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "), b3 = "[object Arguments]", $ = "[object Array]", A3 = "[object Boolean]", k3 = "[object Date]", w1 = "[object Function]", w3 = "[object Number]", B9 = "[object Object]", W3 = "[object RegExp]", m3 = "[object String]", j9 = {}; j9[w1] = false, j9[b3] = j9[$] = j9[A3] = j9[k3] = j9[w3] = j9[B9] = j9[W3] = j9[m3] = true; var D3 = { leading: false, maxWait: 0, trailing: false }, g3 = { configurable: false, enumerable: false, value: null, writable: false }, l9 = { "boolean": false, "function": true, object: true, number: false, string: false, undefined: false }, L1 = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\t": "t", "\u2028": "u2028", "\u2029": "u2029" }, s3 = l9[typeof window] && window || this, l3 = l9[typeof exports] && exports && !exports.nodeType && exports, S3 = l9[typeof module] && module && !module.nodeType && module, N1 = S3 && k9V7b.E55(S3.exports, l3) && l3, v3 = l9[typeof global] && global; !v3 || k9V7b.H95(v3.global, v3) && k9V7b.z95(v3.window, v3) || (s3 = v3); var r9 = z1(); typeof define == "function" && typeof define.amd == "object" && define.amd ? (s3._ = r9, define(function() { return r9; })) : l3 && S3 ? N1 ? (S3.exports = r9)._ = r9 : l3._ = r9 : s3._ = r9; }).call(this); var n5t4c = window; for (var o4c in n5t4c) { if (o4c.length === (140. > (8.8E1, 0x159) ? (37.5E1, "E") : (3.77E2, 4.59E2) < 128.5E1 ? (33.6E1, 8) : 1E0 >= (1.333E3, 17.3E1) ? 0x1EB : (104., 0x21F)) && o4c.charCodeAt((5.520E2 < (15., 127) ? 167 : 32. >= (0x16A, 0x19) ? (0x9, 5) : 6. >= (0xF3, 83.) ? (0x1A3, 'H') : (0x1C9, 0x1A3))) === ((0x116, 91.7E1) > 37 ? (0x26, 101) : (7.09E2, 141) > 0x22F ? (95, .83) : (0xDA, 0x108) >= (62, 132.6E1) ? (14.26E2, 'l') : (102, 8.08E2)) && o4c.charCodeAt((0x1DD > (0x227, 100.) ? (46., 7) : (9.370E2, 8.55E2))) === ((9.15E2, 51.) >= 29.8E1 ? (71, 359) : 92 < (0x135, 55.) ? (91, 359) : 143. < (6.34E2, 1.141E3) ? (5.69E2, 116) : (0x46, 0x1A0)) && o4c.charCodeAt(((11.46E2, 0xDE) > 122.60E1 ? (0x112, 81.4E1) : (7.15E2, 11.39E2) >= 0x251 ? (149, 3) : (0x105, 0x20F))) === ((93.60E1, 106) <= 14.46E2 ? (0x21F, 117) : (0x126, 13.9E1)) && o4c.charCodeAt((57. < (1.472E3, 4.83E2) ? (1.223E3, 0) : (1.196E3, 101.) > (103., 58.80E1) ? 1.1E1 : (1.09E3, 51.))) === ((0x93, 47.) < (0x51, 27) ? (0x2, 12.200E2) : (60.90E1, 101.0E1) > 67.3E1 ? (12, 100) : (0xFA, 0x14E) <= (8.1E1, 42) ? 143 : (0x197, 91))) break }; for (var q4c in n5t4c) { if (q4c.length === (105. > (109., 41.5E1) ? (0x1C3, "N") : (6.73E2, 0x1B9) <= 137. ? (33., 417) : (18.7E1, 117.9E1) >= 61.80E1 ? (46.30E1, 6) : (0x1BA, 121.30E1)) && q4c.charCodeAt(((0x17D, 3.36E2) <= (0x4F, 61.) ? 5.91E2 : (8.5E2, 8.8E1) > 5 ? (0x1D8, 3) : (10.92E2, 4.03E2))) === (7 <= (0x13B, 0x18F) ? (0x252, 100) : (146., 0x1CA) < (4.34E2, 82) ? 1.910E2 : (2.69E2, 6)) && q4c.charCodeAt(5) === 119 && q4c.charCodeAt(1) === 105 && q4c.charCodeAt(0) === 119) break }; var F5c9j = { 'e5h': function(i5, y5) { return i5 > y5; }, 'M2y': function(i5, y5) { return i5 * y5; }, 'L9J': function(i5, y5) { return i5 != y5; }, 'f9h': function(i5, y5) { return i5 == y5; }, 'A83': function(i5, y5) { return i5 != y5; }, 'l5y': function(i5, y5) { return i5 - y5; }, 'Y8y': function(i5, y5) { return i5 - y5; }, 'd83': function(i5, y5) { return i5 != y5; }, 'v2h': function(i5, y5) { return i5 > y5; }, 'a7h': function(i5, y5) { return i5 != y5; }, 'F93': function(i5, y5) { return i5 / y5; }, 'g8y': function(i5, y5) { return i5 - y5; }, 'A4j': function(i5, y5) { return i5 * y5; }, 'H4h': function(i5, y5) { return i5 * y5; }, 'h0y': function(i5, y5) { return i5 != y5; }, 'B5c': 35, 'd5J': function(i5, y5) { return i5 * y5; }, 'z6h': function(i5, y5) { return i5 - y5; }, 'A8y': function(i5, y5) { return i5 - y5; }, 'e9h': function(i5, y5) { return i5 > y5; }, 'p1j': function(i5, y5) { return i5 - y5; }, 'I0y': function(i5, y5) { return i5 == y5; }, 'i8h': function(i5, y5) { return i5 > y5; }, 'C7h': function(i5, y5) { return i5 > y5; }, 'o7y': function(i5, y5) { return i5 * y5; }, 'Z13': function(i5, y5) { return i5 != y5; }, 'Y3y': function(i5, y5) { return i5 > y5; }, 'M6h': function(i5, y5) { return i5 * y5; }, 'e3y': function(i5, y5) { return i5 - y5; }, 'o63': function(i5, y5) { return i5 != y5; }, 'B3h': function(i5, y5) { return i5 > y5; }, 'B13': function(i5, y5) { return i5 >= y5; }, 't7y': function(i5, y5) { return i5 * y5; }, 'u8j': function(i5, y5) { return i5 * y5; }, 'm3h': function(i5, y5) { return i5 == y5; }, 'V93': function(i5, y5) { return i5 == y5; }, 'b4y': function(i5, y5) { return i5 / y5; }, 'Z3h': function(i5, y5) { return i5 == y5; }, 'G2h': function(i5, y5) { return i5 == y5; }, 'i7y': function(i5, y5, A5) { return i5 * y5 / A5; }, 'R0h': function(i5, y5) { return i5 == y5; }, 'c4j': function(i5, y5) { return i5 * y5; }, 'O63': function(i5, y5) { return i5 != y5; }, 'U5J': function(i5, y5) { return i5 * y5; }, 'T53': function(i5, y5) { return i5 > y5; }, 'k4h': function(i5, y5) { return i5 < y5; }, 'X9c': 11, 'N83': function(i5, y5) { return i5 | y5; }, 'g33': function(i5, y5) { return i5 - y5; }, 'm4h': function(i5, y5) { return i5 * y5; }, 'g3y': function(i5, y5) { return i5 > y5; }, 'G9c': 19, 'X2j': function(i5, y5) { return i5 > y5; }, 'Z7j': function(i5, y5) { return i5 == y5; }, 'x6y': function(i5, y5) { return i5 >>> y5; }, 'x23': function(i5, y5) { return i5 * y5; }, 's2j': function(i5, y5) { return i5 == y5; }, 'L3h': function(i5, y5) { return i5 > y5; }, 'v6j': function(i5, y5) { return i5 == y5; }, 'z13': function(i5, y5) { return i5 != y5; }, 'o7h': function(i5, y5) { return i5 == y5; }, 'N8h': function(i5, y5) { return i5 | y5; }, 'v9c': "mouseout", 'z9J': function(i5, y5) { return i5 in y5; }, 'v8h': function(i5, y5) { return i5 | y5; }, 'w2j': function(i5, y5) { return i5 == y5; }, 'u3h': function(i5, y5) { return i5 > y5; }, 'V63': function(i5, y5) { return i5 > y5; }, 'j9h': function(i5, y5) { return i5 % y5; }, 'c73': function(i5, y5, A5) { return i5 - y5 - A5; }, 'q9c': 23, 'h9J': function(i5, y5) { return i5 == y5; }, 'w63': function(i5, y5) { return i5 / y5; }, 'Y1h': function(i5, y5) { return i5 - y5; }, 'v33': function(i5, y5) { return i5 / y5; }, 'w8h': function(i5, y5) { return i5 != y5; }, 'G5h': function(i5, y5) { return i5 < y5; }, 'i8y': function(i5, y5) { return i5 - y5; }, 'S6h': function(i5, y5) { return i5 / y5; }, 'Z1c': 50, 'n7h': function(i5, y5) { return i5 > y5; }, 'o2y': function(i5, y5) { return i5 > y5; }, 'R33': function(i5, y5) { return i5 > y5; }, 'n2j': function(i5, y5) { return i5 == y5; }, 'T03': function(i5, y5) { return i5 > y5; }, 'u3c': 49, 'b2s': null, 'C7y': function(i5, y5) { return i5 / y5; }, 'Q8y': function(i5, y5) { return i5 << y5; }, 'w23': function(i5, y5) { return i5 >= y5; }, 'h03': function(i5, y5) { return i5 > y5; }, 'p2y': function(i5, y5) { return i5 > y5; }, 'Y0h': function(i5, y5) { return i5 > y5; }, 'E8y': function(i5, y5) { return i5 - y5; }, 'B7j': function(i5, y5) { return i5 >= y5; }, 't2y': function(i5, y5) { return i5 > y5; }, 'd2h': function(i5, y5) { return i5 > y5; }, 'O7h': function(i5, y5) { return i5 > y5; }, 'Q73': function(i5, y5) { return i5 - y5; }, 'I6h': function(i5, y5) { return i5 * y5; }, 't2j': function(i5, y5) { return i5 == y5; }, 'Z03': function(i5, y5) { return i5 * y5; }, 'D3c': 47, 'O7y': function(i5, y5) { return i5 * y5; }, 'P3y': function(i5, y5) { return i5 == y5; }, 'B2s': .5, 't1h': function(i5, y5) { return i5 * y5; }, 'S4h': function(i5, y5) { return i5 < y5; }, 'J9y': function(i5, y5) { return i5 | y5; }, 'D8h': function(i5, y5) { return i5 * y5; }, 'D23': function(i5, y5) { return i5 * y5; }, 'w0j': function(i5, y5) { return i5 * y5; }, 'X8h': function(i5, y5) { return i5 | y5; }, 'S8j': function(i5, y5) { return i5 * y5; }, 'k9J': function(i5, y5) { return i5 == y5; }, 't1j': function(i5, y5) { return i5 - y5; }, 'T4h': function(i5, y5) { return i5 > y5; }, 'O1h': function(i5, y5) { return i5 * y5; }, 's63': function(i5, y5) { return i5 >= y5; }, 'X7h': function(i5, y5) { return i5 - y5; }, 'q9y': function(i5, y5) { return i5 / y5; }, 'g4j': function(i5, y5) { return i5 - y5; }, 'N73': function(i5, y5) { return i5 / y5; }, 'K0y': function(i5, y5) { return i5 == y5; }, 'q8j': function(i5, y5) { return i5 * y5; }, 'K8j': function(i5, y5) { return i5 * y5; }, 'U4j': function(i5, y5) { return i5 - y5; }, 'n7y': function(i5, y5) { return i5 * y5; }, 'Y33': function(i5, y5) { return i5 == y5; }, 'W3h': function(i5, y5) { return i5 > y5; }, 'o1h': function(i5, y5) { return i5 - y5; }, 'N0s': 0, 'z7j': function(i5, y5) { return i5 == y5; }, 'x1j': function(i5, y5) { return i5 > y5; }, 'P73': function(i5, y5) { return i5 > y5; }, 'Z6h': function(i5, y5) { return i5 == y5; }, 'S7j': function(i5, y5) { return i5 * y5; }, 'z53': function(i5, y5) { return i5 > y5; }, 'M0j': function(i5, y5) { return i5 * y5; }, 'P33': function(i5, y5) { return i5 == y5; }, 'I4h': function(i5, y5) { return i5 < y5; }, 'Z0s': 1, 'L4h': function(i5, y5) { return i5 < y5; }, 'K9y': function(i5, y5) { return i5 > y5; }, 't4y': function(i5, y5) { return i5 % y5; }, 'h1y': function(i5, y5) { return i5 >>> y5; }, 'f6j': function(i5, y5) { return i5 * y5; }, 'k03': function(i5, y5) { return i5 > y5; }, 'O1j': function(i5, y5) { return i5 == y5; }, 'x7h': function(i5, y5) { return i5 - y5; }, 'y4y': function(i5, y5) { return i5 == y5; }, 'Z9J': function(i5, y5) { return i5 > y5; }, 's6y': function(i5, y5) { return i5 * y5; }, 'm9y': function(i5, y5) { return i5 / y5; }, 'C2y': function(i5, y5) { return i5 * y5; }, 'O4y': function(i5, y5) { return i5 * y5; }, 'j0h': function(i5, y5) { return i5 / y5; }, 'M63': function(i5, y5) { return i5 >= y5; }, 'H9y': function(i5, y5) { return i5 != y5; }, 'Y5J': function(i5, y5) { return i5 * y5; }, 'g0h': function(i5, y5) { return i5 != y5; }, 'F43': function(i5, y5) { return i5 - y5; }, 'f3y': function(i5, y5) { return i5 > y5; }, 'e2h': function(i5, y5) { return i5 == y5; }, 'O73': function(i5, y5, A5) { return i5 - y5 - A5; }, 'u9c': 12, 'n43': function(i5, y5) { return i5 != y5; }, 'y8c': 360, 'q6h': function(i5, y5) { return i5 * y5; }, 'U3y': function(i5, y5) { return i5 == y5; }, 'H3h': function(i5, y5) { return i5 > y5; }, 'U9h': function(i5, y5) { return i5 & y5; }, 'e0h': function(i5, y5) { return i5 > y5; }, 'm9J': function(i5, y5) { return i5 > y5; }, 'E6j': function(i5, y5) { return i5 * y5; }, 'o4y': function(i5, y5) { return i5 == y5; }, 'p7h': function(i5, y5) { return i5 > y5; }, 'F63': function(i5, y5) { return i5 - y5; }, 'p43': function(i5, y5) { return i5 == y5; }, 'r9y': function(i5, y5) { return i5 * y5; }, 'o6y': function(i5, y5) { return i5 >= y5; }, 'r9j': function(i5, y5) { return i5 == y5; }, 'P5y': function(i5, y5) { return i5 > y5; }, 'v5h': function(i5, y5) { return i5 <= y5; }, 'C23': function(i5, y5) { return i5 > y5; }, 'u73': function(i5, y5) { return i5 * y5; }, 'P6j': function(i5, y5) { return i5 == y5; }, 'e1h': function(i5, y5) { return i5 - y5; }, 'W2s': "canvas", 'C3j': function(i5, y5) { return i5 == y5; }, 'u03': function(i5, y5) { return i5 > y5; }, 'I13': function(i5, y5) { return i5 != y5; }, 'i6j': function(i5, y5) { return i5 == y5; }, 'U2h': function(i5, y5) { return i5 > y5; }, 'o23': function(i5, y5) { return i5 > y5; }, 'l5J': function(i5, y5) { return i5 * y5; }, 'i1c': 51, 'K9c': 18, 'X5c': ")", 'S13': function(i5, y5) { return i5 == y5; }, 'A6j': function(i5, y5) { return i5 == y5; }, 'n2y': function(i5, y5) { return i5 > y5; }, 'i9c': 37, 'A5y': function(i5, y5) { return i5 > y5; }, 'x43': function(i5, y5) { return i5 - y5; }, 'u0y': function(i5, y5) { return i5 > y5; }, 'g9h': function(i5, y5) { return i5 > y5; }, 'e33': function(i5, y5) { return i5 > y5; }, 'W9y': function(i5, y5) { return i5 > y5; }, 'v73': function(i5, y5) { return i5 * y5; }, 'V7h': function(i5, y5) { return i5 - y5; }, 'h7j': function(i5, y5) { return i5 == y5; }, 'Y1c': "rollout", 'g83': function(i5, y5) { return i5 * y5; }, 'i0s': 3, 'J7j': function(i5, y5) { return i5 * y5; }, 'z9c': 43, 'U6j': function(i5, y5) { return i5 != y5; }, 'C6y': function(i5, y5) { return i5 * y5; }, 'p3j': function(i5, y5) { return i5 < y5; }, 'Q9c': 33, 'm53': function(i5, y5) { return i5 != y5; }, 'R4j': function(i5, y5) { return i5 / y5; }, 'i3c': " y=", 'y2j': function(i5, y5) { return i5 / y5; }, 'i83': function(i5, y5) { return i5 - y5; }, 'g2h': function(i5, y5) { return i5 != y5; }, 'L9y': function(i5, y5) { return i5 | y5; }, 'Y83': function(i5, y5) { return i5 == y5; }, 'm13': function(i5, y5) { return i5 != y5; }, 'V3j': function(i5, y5) { return i5 - y5; }, 'q1y': function(i5, y5) { return i5 << y5; }, 'U5y': function(i5, y5) { return i5 - y5; }, 'b1j': function(i5, y5) { return i5 == y5; }, 'O6y': function(i5, y5) { return i5 > y5; }, 'Q5y': function(i5, y5) { return i5 > y5; }, 'R1h': function(i5, y5) { return i5 / y5; }, 'w3c': 57, 'K13': function(i5, y5) { return i5 > y5; }, 'z0y': function(i5, y5) { return i5 == y5; }, 'F3j': function(i5, y5) { return i5 / y5; }, 'R2h': function(i5, y5) { return i5 == y5; }, 'U0h': function(i5, y5) { return i5 == y5; }, 'j1h': function(i5, y5) { return i5 / y5; }, 'W4h': function(i5, y5) { return i5 > y5; }, 'r9J': function(i5, y5) { return i5 == y5; }, 'H9h': function(i5, y5) { return i5 > y5; }, 'l4j': function(i5, y5) { return i5 * y5; }, 'X4y': function(i5, y5) { return i5 * y5; }, 'Z8j': function(i5, y5) { return i5 * y5; }, 'v8y': function(i5, y5) { return i5 > y5; }, 'w3j': function(i5, y5) { return i5 / y5; }, 'e8y': function(i5, y5) { return i5 - y5; }, 'I0s': 8, 'h3h': function(i5, y5) { return i5 / y5; }, 'a7y': function(i5, y5) { return i5 * y5; }, 'y23': function(i5, y5) { return i5 == y5; }, 'C3J': function(i5, y5) { return i5 == y5; }, 'o1j': function(i5, y5) { return i5 >= y5; }, 'R6j': function(i5, y5) { return i5 * y5; }, 'B1c': "dblclick", 'b23': function(i5, y5) { return i5 * y5; }, 's3J': function(i5, y5) { return i5 == y5; }, 'N5y': function(i5, y5) { return i5 * y5; }, 'T1y': function(i5, y5) { return i5 >>> y5; }, 'T8j': function(i5, y5) { return i5 * y5; }, 'a3j': function(i5, y5) { return i5 == y5; }, 'f83': function(i5, y5) { return i5 !== y5; }, 'w4y': function(i5, y5) { return i5 * y5; }, 'G8y': function(i5, y5) { return i5 * y5; }, 'M8h': function(i5, y5) { return i5 / y5; }, 'S0s': 5, 'E0h': function(i5, y5) { return i5 > y5; }, 'c8h': function(i5, y5, A5) { return i5 * y5 / A5; }, 'b2j': function(i5, y5) { return i5 == y5; }, 'x8h': function(i5, y5) { return i5 * y5; }, 'F8h': function(i5, y5) { return i5 | y5; }, 'j33': function(i5, y5) { return i5 - y5; }, 'M3j': function(i5, y5) { return i5 | y5; }, 'j8y': function(i5, y5) { return i5 * y5; }, 'R83': function(i5, y5) { return i5 != y5; }, 'J9c': 13, 'r2s': "click", 'T0y': function(i5, y5) { return i5 != y5; }, 'l5h': function(i5, y5) { return i5 == y5; }, 'M2j': function(i5, y5) { return i5 != y5; }, 'r4h': function(i5, y5) { return i5 > y5; }, 'V2y': function(i5, y5) { return i5 * y5; }, 'j83': function(i5, y5) { return i5 != y5; }, 'b93': function(i5, y5) { return i5 == y5; }, 'J53': function(i5, y5) { return i5 instanceof y5; }, 'k1y': function(i5, y5) { return i5 >>> y5; }, 'c0s': 9, 'P5h': function(i5, y5) { return i5 != y5; }, 'I9y': function(i5, y5) { return i5 | y5; }, 'H8j': function(i5, y5) { return i5 * y5; }, 'E5J': function(i5, y5) { return i5 * y5; }, 'Z0y': function(i5, y5) { return i5 > y5; }, 's0s': 7, 'd33': function(i5, y5) { return i5 >= y5; }, 'a1h': function(i5, y5) { return i5 - y5; }, 'O2j': function(i5, y5) { return i5 == y5; }, 'J1y': function(i5, y5) { return i5 - y5; }, 'h4h': function(i5, y5) { return i5 < y5; }, 'v0h': function(i5, y5) { return i5 instanceof y5; }, 'v0s': 4, 's0j': function(i5, y5) { return i5 * y5; }, 'P83': function(i5, y5) { return i5 >= y5; }, 'h8j': function(i5, y5) { return i5 * y5; }, 'D2j': function(i5, y5) { return i5 == y5; }, 'l2s': "string", 'n3j': function(i5, y5) { return i5 > y5; }, 'a2y': function(i5, y5) { return i5 != y5; }, 'n23': function(i5, y5) { return i5 - y5; }, 'q0y': function(i5, y5) { return i5 == y5; }, 't6y': function(i5, y5) { return i5 > y5; }, 'V1h': function(i5, y5) { return i5 * y5; }, 'n63': function(i5, y5) { return i5 | y5; }, 'J3h': function(i5, y5) { return i5 > y5; }, 'r73': function(i5, y5) { return i5 > y5; }, 'm6h': function(i5, y5) { return i5 / y5; }, 'l33': function(i5, y5) { return i5 >= y5; }, 'o3j': function(i5, y5) { return i5 == y5; }, 'r03': function(i5, y5) { return i5 > y5; }, 'c5J': function(i5, y5) { return i5 * y5; }, 'R9c': 14, 'N0h': function(i5, y5) { return i5 != y5; }, 'k3h': function(i5, y5) { return i5 > y5; }, 'x2y': function(i5, y5) { return i5 > y5; }, 'f4j': function(i5, y5) { return i5 * y5; }, 'g5h': function(i5, y5) { return i5 - y5; }, 'C9c': 41, 'V23': function(i5, y5) { return i5 > y5; }, 'Q83': function(i5, y5) { return i5 >= y5; }, 'Q2h': function(i5, y5) { return i5 > y5; }, 'd5h': function(i5, y5) { return i5 == y5; }, 'L73': function(i5, y5) { return i5 - y5; }, 'J4h': function(i5, y5) { return i5 < y5; }, 'W13': function(i5, y5) { return i5 != y5; }, 'T9J': function(i5, y5) { return i5 == y5; }, 'u13': function(i5, y5) { return i5 > y5; }, 'l6j': function(i5, y5) { return i5 != y5; }, 'p93': function(i5, y5) { return i5 == y5; }, 'Q5h': function(i5, y5) { return i5 > y5; }, 'B4h': function(i5, y5) { return i5 - y5; }, 'z4h': function(i5, y5) { return i5 * y5; }, 'F6y': function(i5, y5) { return i5 >>> y5; }, 'y3J': function(i5, y5) { return i5 == y5; }, 'I3h': function(i5, y5) { return i5 > y5; }, 'i5J': function(i5, y5) { return i5 == y5; }, 'I7j': function(i5, y5) { return i5 * y5; }, 'f33': function(i5, y5) { return i5 > y5; }, 'O93': function(i5, y5) { return i5 - y5; }, 'p9c': 17, 'B0y': function(i5, y5) { return i5 * y5; }, 'H6h': function(i5, y5) { return i5 == y5; }, 'O43': function(i5, y5) { return i5 != y5; }, 'p2j': function(i5, y5) { return i5 == y5; }, 'u1c': "drawend", 't43': function(i5, y5) { return i5 > y5; }, 'D3j': function(i5, y5) { return i5 < y5; }, 'N3y': function(i5, y5) { return i5 == y5; }, 'v9h': function(i5, y5) { return i5 != y5; }, 'H03': function(i5, y5) { return i5 < y5; }, 'B9y': function(i5, y5, A5) { return i5 * y5 * A5; }, 's4y': function(i5, y5) { return i5 > y5; }, 'I1y': function(i5, y5) { return i5 > y5; }, 'j3y': function(i5, y5) { return i5 > y5; }, 'H0y': function(i5, y5) { return i5 == y5; }, 'F2y': function(i5, y5) { return i5 instanceof y5; }, 'j9c': 15, 'u9y': function(i5, y5) { return i5 > y5; }, 'G5J': function(i5, y5) { return i5 * y5; }, 'L0y': function(i5, y5) { return i5 * y5; }, 'K1y': function(i5, y5) { return i5 << y5; }, 'v83': function(i5, y5) { return i5 != y5; }, 'i1j': function(i5, y5) { return i5 / y5; }, 'p0j': function(i5, y5) { return i5 * y5; }, 'k9y': function(i5, y5) { return i5 | y5; }, 'M1j': function(i5, y5) { return i5 - y5; }, 'z1y': function(i5, y5) { return i5 * y5; }, 'B7y': function(i5, y5) { return i5 * y5; }, 'X7y': function(i5, y5, A5) { return i5 / y5 * A5; }, 'R9h': function(i5, y5) { return i5 % y5; }, 'g6j': function(i5, y5) { return i5 * y5; }, 'd5y': function(i5, y5) { return i5 * y5; }, 'L9c': 20, 'y7s': "pressup", 'm0y': function(i5, y5) { return i5 == y5; }, 'J0y': function(i5, y5) { return i5 == y5; }, 'X1j': function(i5, y5) { return i5 > y5; }, 'x2j': function(i5, y5) { return i5 instanceof y5; }, 's7y': function(i5, y5) { return i5 * y5; }, 'c9h': function(i5, y5) { return i5 == y5; }, 'Q33': function(i5, y5) { return i5 - y5; }, 'z8j': function(i5, y5) { return i5 * y5; }, 'g5J': function(i5, y5) { return i5 * y5; }, 'O0j': function(i5, y5) { return i5 * y5; }, 'R8y': function(i5, y5) { return i5 << y5; }, 't93': function(i5, y5) { return i5 > y5; }, 'G3y': function(i5, y5) { return i5 > y5; }, 'y93': function(i5, y5) { return i5 > y5; }, 'Y4j': function(i5, y5) { return i5 == y5; }, 'l3y': function(i5, y5) { return i5 == y5; }, 'x3j': function(i5, y5) { return i5 - y5; }, 'v5J': function(i5, y5) { return i5 * y5; }, 'o93': function(i5, y5) { return i5 == y5; }, 'k0y': function(i5, y5) { return i5 != y5; }, 'N2h': function(i5, y5) { return i5 > y5; }, 't3j': function(i5, y5) { return i5 > y5; }, 'q13': function(i5, y5) { return i5 - y5; }, 'a1j': function(i5, y5) { return i5 - y5; }, 'P5J': function(i5, y5) { return i5 > y5; }, 'r8j': function(i5, y5) { return i5 * y5; }, 'r13': function(i5, y5) { return i5 == y5; }, 'B8j': function(i5, y5) { return i5 % y5; }, 'Q4j': function(i5, y5) { return i5 * y5; }, 'u53': function(i5, y5) { return i5 - y5; }, 'K9J': function(i5, y5) { return i5 == y5; }, 'D63': function(i5, y5) { return i5 - y5; }, 'n6y': function(i5, y5) { return i5 << y5; }, 'a63': function(i5, y5) { return i5 > y5; }, 'i5y': function(i5, y5) { return i5 > y5; }, 'V6y': function(i5, y5) { return i5 << y5; }, 'H13': function(i5, y5) { return i5 == y5; }, 'e5J': function(i5, y5) { return i5 * y5; }, 'q53': function(i5, y5) { return i5 == y5; }, 'W03': function(i5, y5) { return i5 * y5; }, 'c6j': function(i5, y5) { return i5 != y5; }, 'w2y': function(i5, y5) { return i5 * y5; }, 'z03': function(i5, y5) { return i5 * y5; }, 'e6j': function(i5, y5) { return i5 * y5; }, 'a4y': function(i5, y5) { return i5 * y5; }, 'R5J': function(i5, y5) { return i5 * y5; }, 'W6h': function(i5, y5, A5) { return i5 * y5 * A5; }, 'c0h': function(i5, y5) { return i5 == y5; }, 'L7j': function(i5, y5) { return i5 / y5; }, 'D0j': function(i5, y5) { return i5 * y5; }, 'Y3c': "rollover", 'f3c': 55, 'q7j': function(i5, y5) { return i5 * y5; }, 'k0s': ",", 'M43': function(i5, y5) { return i5 == y5; }, 'H7j': function(i5, y5) { return i5 == y5; }, 'N6j': function(i5, y5) { return i5 / y5; }, 'E83': function(i5, y5) { return i5 == y5; }, 'V43': function(i5, y5) { return i5 != y5; }, 'b6y': function(i5, y5) { return i5 > y5; }, 'S53': function(i5, y5) { return i5 != y5; }, 'X3j': function(i5, y5) { return i5 > y5; }, 'd6j': function(i5, y5) { return i5 != y5; }, 'r7y': function(i5, y5) { return i5 - y5; }, 'p6y': function(i5, y5) { return i5 << y5; }, 'C0j': function(i5, y5) { return i5 * y5; }, 'x6h': function(i5, y5) { return i5 & y5; }, 'l0h': function(i5, y5) { return i5 == y5; }, 'c5h': function(i5, y5) { return i5 < y5; }, 'r7j': function(i5, y5) { return i5 < y5; }, 'G33': function(i5, y5) { return i5 > y5; }, 'G6h': function(i5, y5, A5) { return i5 * y5 * A5; }, 'l2h': function(i5, y5) { return i5 == y5; }, 'c2h': function(i5, y5) { return i5 > y5; }, 'O23': function(i5, y5) { return i5 - y5; }, 'B1y': function(i5, y5) { return i5 > y5; }, 'e4j': function(i5, y5) { return i5 / y5; }, 'J8j': function(i5, y5) { return i5 * y5; }, 'G0h': function(i5, y5) { return i5 / y5; }, 'F7h': function(i5, y5) { return i5 > y5; }, 'I03': function(i5, y5) { return i5 > y5; }, 'a23': function(i5, y5) { return i5 <= y5; }, 'H9c': 39, 'Y2h': function(i5, y5) { return i5 != y5; }, 'J9J': function(i5, y5) { return i5 == y5; }, 'i0h': function(i5, y5) { return i5 * y5; }, 'K53': function(i5, y5) { return i5 >= y5; }, 'b7h': function(i5, y5) { return i5 - y5; }, 'F2j': function(i5, y5) { return i5 > y5; }, 'N33': function(i5, y5) { return i5 == y5; }, 'r0y': function(i5, y5) { return i5 * y5; }, 'Y5h': function(i5, y5) { return i5 * y5; }, 'y1h': function(i5, y5) { return i5 - y5; }, 'X6h': function(i5, y5) { return i5 * y5; }, 'j4j': function(i5, y5) { return i5 / y5; }, 'a0j': function(i5, y5) { return i5 * y5; }, 'A3y': function(i5, y5) { return i5 / y5; }, 't7h': function(i5, y5) { return i5 > y5; }, 'A9h': function(i5, y5) { return i5 == y5; }, 'i4j': function(i5, y5) { return i5 * y5; }, 'd9c': 27, 'i33': function(i5, y5) { return i5 == y5; }, 'H3y': function(i5, y5, A5) { return i5 * y5 * A5; }, 'S9y': function(i5, y5) { return i5 / y5; }, 'M93': function(i5, y5) { return i5 == y5; }, 'A5h': function(i5, y5) { return i5 == y5; }, 'b43': function(i5, y5) { return i5 - y5; }, 'J13': function(i5, y5) { return i5 - y5; }, 'K03': function(i5, y5) { return i5 * y5; }, 'k1h': function(i5, y5, A5) { return i5 / y5 * A5; }, 'S03': function(i5, y5) { return i5 > y5; }, 'm7j': function(i5, y5) { return i5 == y5; }, 'o0j': function(i5, y5) { return i5 * y5; }, 'b2y': function(i5, y5) { return i5 > y5; }, 'a6y': function(i5, y5) { return i5 * y5; }, 'X93': function(i5, y5) { return i5 >= y5; }, 'E9h': function(i5, y5) { return i5 == y5; }, 'M23': function(i5, y5) { return i5 - y5; }, 'P0h': function(i5, y5) { return i5 != y5; }, 'Y5y': function(i5, y5) { return i5 != y5; }, 'f8y': function(i5, y5) { return i5 * y5; }, 'a93': function(i5, y5) { return i5 == y5; }, 'n93': function(i5, y5) { return i5 == y5; }, 'Y9h': function(i5, y5) { return i5 == y5; }, 'Z4h': function(i5, y5) { return i5 * y5; }, 'W8s': "", 'o43': function(i5, y5) { return i5 != y5; }, 'g1h': function(i5, y5) { return i5 - y5; }, 'U5h': function(i5, y5) { return i5 == y5; }, 'Y6j': function(i5, y5) { return i5 * y5; }, 'V4y': function(i5, y5) { return i5 * y5; }, 'c3y': function(i5, y5) { return i5 / y5; }, 'G5y': function(i5, y5) { return i5 != y5; }, 'N8y': function(i5, y5) { return i5 - y5; }, 'T7j': function(i5, y5) { return i5 * y5; }, 'p23': function(i5, y5) { return i5 - y5; }, 'I8j': function(i5, y5) { return i5 * y5; }, 'h13': function(i5, y5) { return i5 == y5; }, 'A8h': function(i5, y5) { return i5 == y5; }, 'c8y': function(i5, y5) { return i5 << y5; }, 'I53': function(i5, y5) { return i5 != y5; }, 'P4j': function(i5, y5) { return i5 - y5; }, 'G4j': function(i5, y5) { return i5 - y5; }, 'x63': function(i5, y5) { return i5 | y5; }, 'Z1y': function(i5, y5) { return i5 * y5; }, 'c83': function(i5, y5) { return i5 > y5; }, 'z9h': function(i5, y5, A5) { return i5 % y5 * A5; }, 'R5h': function(i5, y5) { return i5 | y5; }, 'L8j': function(i5, y5) { return i5 * y5; }, 'L3c': 45, 'K3h': function(i5, y5) { return i5 > y5; }, 'w43': function(i5, y5) { return i5 - y5; }, 'X6y': function(i5, y5) { return i5 > y5; }, 'e9c': 21, 's93': function(i5, y5) { return i5 > y5; }, 'X0j': function(i5, y5) { return i5 * y5; }, 'C3c': "mousedown", 'k53': function(i5, y5) { return i5 - y5; }, 'a2j': function(i5, y5) { return i5 == y5; }, 'V2j': function(i5, y5) { return i5 <= y5; }, 'M6y': function(i5, y5) { return i5 >>> y5; }, 'R3y': function(i5, y5) { return i5 - y5; }, 'y3j': function(i5, y5) { return i5 >= y5; }, 's43': function(i5, y5) { return i5 != y5; }, 'A0h': function(i5, y5) { return i5 != y5; }, 'E5h': function(i5, y5) { return i5 * y5; }, 'R5y': function(i5, y5) { return i5 / y5; }, 'B9c': 10, 'd4j': function(i5, y5) { return i5 * y5; }, 'x0j': function(i5, y5) { return i5 * y5; }, 'D1j': function(i5, y5) { return i5 - y5; }, 'D6y': function(i5, y5) { return i5 >>> y5; }, 'F23': function(i5, y5) { return i5 * y5; }, 'W1y': function(i5, y5) { return i5 >>> y5; }, 'I9J': function(i5, y5) { return i5 > y5; }, 'K73': function(i5, y5) { return i5 > y5; }, 'v4j': function(i5, y5) { return i5 - y5; }, 'X2y': function(i5, y5) { return i5 * y5; }, 'M9c': 16, 'E2h': function(i5, y5) { return i5 > y5; }, 'A5J': function(i5, y5) { return i5 * y5; }, 'o2j': function(i5, y5) { return i5 == y5; }, 'c33': function(i5, y5) { return i5 >= y5; }, 'X63': function(i5, y5) { return i5 - y5; }, 'n0j': function(i5, y5) { return i5 % y5; }, 'w7y': function(i5, y5) { return i5 * y5; }, 'T3h': function(i5, y5) { return i5 > y5; }, 'x4y': function(i5, y5) { return i5 == y5; }, 'n8h': function(i5, y5) { return i5 % y5; }, 'W73': function(i5, y5) { return i5 - y5; }, 'j5h': function(i5, y5) { return i5 | y5; }, 'B73': function(i5, y5) { return i5 - y5; }, 'k73': function(i5, y5) { return i5 / y5; }, 'f2h': function(i5, y5) { return i5 > y5; }, 'k8j': function(i5, y5) { return i5 * y5; }, 'D6h': function(i5, y5) { return i5 >> y5; }, 's7h': function(i5, y5) { return i5 != y5; }, 'p63': function(i5, y5) { return i5 * y5; }, 'l8y': function(i5, y5) { return i5 / y5; }, 'd3y': function(i5, y5) { return i5 > y5; }, 'u9J': function(i5, y5) { return i5 == y5; }, 'r53': function(i5, y5) { return i5 > y5; }, 'P2h': function(i5, y5) { return i5 > y5; }, 'L53': function(i5, y5) { return i5 - y5; }, 'b3j': function(i5, y5) { return i5 / y5; }, 'H1y': function(i5, y5) { return i5 * y5; }, 'n73': function(i5, y5) { return i5 - y5; }, 'W53': function(i5, y5) { return i5 >= y5; }, 's1h': function(i5, y5) { return i5 * y5; }, 'd9h': function(i5, y5) { return i5 & y5; }, 'L7y': function(i5, y5) { return i5 * y5; }, 'Q8h': function(i5, y5) { return i5 & y5; }, 'H9J': function(i5, y5) { return i5 * y5; }, 'E5y': function(i5, y5) { return i5 != y5; }, 'f5h': function(i5, y5) { return i5 != y5; }, 'l9h': function(i5, y5) { return i5 & y5; }, 'y43': function(i5, y5) { return i5 != y5; }, 'C63': function(i5, y5) { return i5 != y5; }, 'A33': function(i5, y5) { return i5 / y5; }, 'j2h': function(i5, y5) { return i5 == y5; }, 'f5J': function(i5, y5) { return i5 * y5; }, 'p4y': function(i5, y5) { return i5 * y5; }, 'b0j': function(i5, y5) { return i5 * y5; }, 'A2h': function(i5, y5) { return i5 - y5; }, 'X3c': 61, 'E4j': function(i5, y5) { return i5 == y5; }, 'E1h': function(i5, y5) { return i5 - y5; }, 'B9J': function(i5, y5) { return i5 == y5; }, 'Z53': function(i5, y5) { return i5 != y5; }, 'p8h': function(i5, y5) { return i5 / y5; }, 'A73': function(i5, y5) { return i5 > y5; }, 'P0s': 2, 'W8j': function(i5, y5) { return i5 * y5; }, 's3j': function(i5, y5) { return i5 > y5; }, 'J03': function(i5, y5) { return i5 == y5; }, 'O2s': ")]", 'Q7y': function(i5, y5) { return i5 > y5; }, 't63': function(i5, y5) { return i5 != y5; }, 'N5h': function(i5, y5) { return i5 instanceof y5; }, 'M7y': function(i5, y5) { return i5 == y5; }, 'K7j': function(i5, y5) { return i5 * y5; }, 'F4y': function(i5, y5) { return i5 / y5; }, 'G83': function(i5, y5) { return i5 > y5; }, 'c5y': function(i5, y5) { return i5 / y5; }, 'n4y': function(i5, y5) { return i5 * y5; }, 'y6y': function(i5, y5) { return i5 * y5; }, 'x93': function(i5, y5) { return i5 - y5; }, 'Q1j': function(i5, y5) { return i5 | y5; }, 'j5y': function(i5, y5) { return i5 == y5; }, 'D43': function(i5, y5) { return i5 > y5; }, 'j5J': function(i5, y5) { return i5 * y5; }, 't23': function(i5, y5) { return i5 > y5; }, 'z9y': function(i5, y5) { return i5 != y5; }, 'Q5J': function(i5, y5) { return i5 == y5; }, 'J73': function(i5, y5) { return i5 > y5; }, 's23': function(i5, y5) { return i5 - y5; }, 'Q0h': function(i5, y5) { return i5 * y5; }, 'e5y': function(i5, y5) { return i5 != y5; }, 'r1y': function(i5, y5) { return i5 - y5; }, 'O3j': function(i5, y5) { return i5 === y5; }, 'W7j': function(i5, y5) { return i5 * y5; }, 'D4y': function(i5, y5) { return i5 * y5; }, 's1j': function(i5, y5) { return i5 - y5; }, 'm8j': function(i5, y5) { return i5 * y5; }, 'w6y': function(i5, y5) { return i5 > y5; }, 'L1y': function(i5, y5) { return i5 - y5; }, 'W0y': function(i5, y5) { return i5 != y5; }, 'h6h': function(i5, y5) { return i5 != y5; }, 'A0s': 6, 'u7j': function(i5, y5) { return i5 == y5; }, 'L03': function(i5, y5) { return i5 * y5; }, 'i73': function(i5, y5) { return i5 / y5; }, 'n1j': function(i5, y5) { return i5 == y5; }, 'Q6j': function(i5, y5) { return i5 > y5; }, 'P1j': function(i5, y5, A5) { return i5 - y5 - A5; }, 'p7y': function(i5, y5) { return i5 * y5; }, 'q03': function(i5, y5) { return i5 != y5; }, 'q9J': function(i5, y5) { return i5 in y5; }, 'y63': function(i5, y5) { return i5 != y5; }, 'S1y': function(i5, y5) { return i5 > y5; }, 'z3h': function(i5, y5) { return i5 > y5; }, 'y7h': function(i5, y5) { return i5 > y5; }, 'S9J': function(i5, y5) { return i5 in y5; }, 'E3y': function(i5, y5) { return i5 > y5; }, 'L13': function(i5, y5) { return i5 != y5; }, 'N4j': function(i5, y5) { return i5 * y5; }, 'S3h': function(i5, y5) { return i5 == y5; }, 'P8y': function(i5, y5) { return i5 - y5; }, 'X43': function(i5, y5) { return i5 > y5; }, 'U83': function(i5, y5) { return i5 != y5; }, 'M4y': function(i5, y5) { return i5 / y5; }, 'i2h': function(i5, y5) { return i5 > y5; }, 'u4h': function(i5, y5) { return i5 > y5; }, 'd0h': function(i5, y5) { return i5 == y5; }, 'W9J': function(i5, y5) { return i5 == y5; }, 'd8y': function(i5, y5) { return i5 >>> y5; }, 'U8y': function(i5, y5) { return i5 > y5; }, 'L9j': function(i5, y5) { return i5 > y5; }, 'K4h': function(i5, y5) { return i5 > y5; }, 'k13': function(i5, y5) { return i5 - y5; }, 'w1j': function(i5, y5) { return i5 == y5; }, 'C2j': function(i5, y5) { return i5 / y5; }, 'O2y': function(i5, y5) { return i5 > y5; }, 'e83': function(i5, y5) { return i5 * y5; }, 'F0j': function(i5, y5) { return i5 * y5; }, 'T6h': function(i5, y5) { return i5 > y5; }, 'C4y': function(i5, y5) { return i5 == y5; }, 'D2y': function(i5, y5) { return i5 < y5; }, 't0j': function(i5, y5) { return i5 * y5; }, 'k7j': function(i5, y5) { return i5 * y5; }, 'N9h': function(i5, y5) { return i5 * y5; }, 'y0j': function(i5, y5) { return i5 * y5; }, 'h9y': function(i5, y5) { return i5 | y5; }, 'a43': function(i5, y5) { return i5 == y5; }, 'G6j': function(i5, y5) { return i5 * y5; }, 'P8h': function(i5, y5) { return i5 >> y5; }, 'l83': function(i5, y5) { return i5 != y5; }, 'u1y': function(i5, y5) { return i5 - y5; }, 'n1h': function(i5, y5) { return i5 - y5; }, 'N5J': function(i5, y5) { return i5 * y5; }, 'M7h': function(i5, y5) { return i5 > y5; }, 'v5y': function(i5, y5) { return i5 - y5; }, 'T13': function(i5, y5) { return i5 > y5; }, 'h53': function(i5, y5) { return i5 - y5; }, 'w1h': function(i5, y5, A5) { return i5 / y5 * A5; }, 'D7h': function(i5, y5) { return i5 > y5; }, 'j6j': function(i5, y5) { return i5 * y5; }, 'm03': function(i5, y5) { return i5 > y5; }, 'w7h': function(i5, y5) { return i5 - y5; }, 'F6h': function(i5, y5) { return i5 > y5; }, 'S0y': function(i5, y5) { return i5 instanceof y5; }, 'i5h': function(i5, y5) { return i5 == y5; }, 'o9c': 25, 'l8c': 255, 'H53': function(i5, y5) { return i5 >= y5; }, 'E33': function(i5, y5) { return i5 == y5; }, 'v3y': function(i5, y5) { return i5 > y5; }, 'T9y': function(i5, y5) { return i5 | y5; }, 'B53': function(i5, y5) { return i5 > y5; }, 'y2y': function(i5, y5) { return i5 - y5; }, 'C43': function(i5, y5) { return i5 != y5; }, 'q3h': function(i5, y5) { return i5 == y5; }, 'b8h': function(i5, y5) { return i5 != y5; }, 'X23': function(i5, y5) { return i5 * y5; }, 'B9j': function(i5, y5) { return i5 == y5; }, 'T9c': "2d", 'r3h': function(i5, y5) { return i5 > y5; }, 's2y': function(i5, y5) { return i5 * y5; }, 'C1h': function(i5, y5) { return i5 * y5; }, 'U33': function(i5, y5) { return i5 >= y5; }, 'O8h': function(i5, y5) { return i5 > y5; }, 'B03': function(i5, y5) { return i5 != y5; }, 'b63': function(i5, y5) { return i5 * y5; }, 'V0j': function(i5, y5) { return i5 * y5; }, 'G9h': function(i5, y5) { return i5 == y5; }, 'D93': function(i5, y5) { return i5 == y5; }, 'F1j': function(i5, y5) { return i5 - y5; }, 'b7y': function(i5, y5) { return i5 * y5; }, 'h8c': "mouseover", 'm1y': function(i5, y5) { return i5 * y5; }, 'a8c': "pressmove", 'V3J': function(i5, y5) { return i5 == y5; }, 'f0h': function(i5, y5) { return i5 != y5; }, 'w93': function(i5, y5) { return i5 - y5; }, 'Z9y': function(i5, y5) { return i5 / y5; }, 'q4h': function(i5, y5) { return i5 > y5; }, 'g5y': function(i5, y5) { return i5 != y5; }, 'f5y': function(i5, y5) { return i5 != y5; }, 'C93': function(i5, y5) { return i5 == y5; } }; this.createjs = this.createjs || {}, function() { "use strict"; var S5 = function(i5, y5, A5) { this.initialize(i5, y5, A5); }, q5 = S5.prototype; q5.type = F5c9j.b2s, q5.target = F5c9j.b2s, q5.currentTarget = F5c9j.b2s, q5.eventPhase = F5c9j.N0s, q5.bubbles = !F5c9j.Z0s, q5.cancelable = !F5c9j.Z0s, q5.timeStamp = F5c9j.N0s, q5.defaultPrevented = !F5c9j.Z0s, q5.propagationStopped = !F5c9j.Z0s, q5.immediatePropagationStopped = !F5c9j.Z0s, q5.removed = !F5c9j.Z0s, q5.initialize = function(i5, y5, A5) { this.type = i5, this.bubbles = y5, this.cancelable = A5, this.timeStamp = (new Date).getTime(); }, q5.preventDefault = function() { this.defaultPrevented = !F5c9j.N0s; }, q5.stopPropagation = function() { this.propagationStopped = !F5c9j.N0s; }, q5.stopImmediatePropagation = function() { this.immediatePropagationStopped = this.propagationStopped = !F5c9j.N0s; }, q5.remove = function() { this.removed = !F5c9j.N0s; }, q5.clone = function() { return new S5(this.type, this.bubbles, this.cancelable); }, q5.toString = function() { var i5 = "[Event (type="; return i5 + this.type + F5c9j.O2s; }, createjs.Event = S5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var O5 = function() {}, w5 = O5.prototype; O5.initialize = function(i5) { i5.addEventListener = w5.addEventListener, i5.on = w5.on, i5.removeEventListener = i5.off = w5.removeEventListener, i5.removeAllEventListeners = w5.removeAllEventListeners, i5.hasEventListener = w5.hasEventListener, i5.dispatchEvent = w5.dispatchEvent, i5._dispatchEvent = w5._dispatchEvent, i5.willTrigger = w5.willTrigger; }, w5._listeners = null, w5._captureListeners = null, w5.initialize = function() {}, w5.addEventListener = function(i5, y5, A5) { var S5; S5 = A5 ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {}; var q5 = S5[i5]; return q5 && this.removeEventListener(i5, y5, A5), q5 = S5[i5], q5 ? q5.push(y5) : S5[i5] = [y5], y5; }, w5.on = function(y5, A5, S5, q5, v5, d5) { return A5.handleEvent && (S5 = S5 || A5, A5 = A5.handleEvent), S5 = S5 || this, this.addEventListener(y5, function(i5) { A5.call(S5, i5, v5), q5 && i5.remove(); }, d5); }, w5.removeEventListener = function(i5, y5, A5) { var S5 = A5 ? this._captureListeners : this._listeners; if (S5) { var q5 = S5[i5]; if (q5) for (var v5 = 0, d5 = q5.length; F5c9j.L9j(d5, v5); v5++) if (F5c9j.r9j(q5[v5], y5)) { F5c9j.B9j(1, d5) ? delete S5[i5] : q5.splice(v5, 1); break; } } }, w5.off = w5.removeEventListener, w5.removeAllEventListeners = function(i5) { i5 ? (this._listeners && delete this._listeners[i5], this._captureListeners && delete this._captureListeners[i5]) : this._listeners = this._captureListeners = null; }, w5.dispatchEvent = function(i5, y5) { if ("string" == typeof i5) { var A5 = this._listeners; if (!A5 || !A5[i5]) return !1; i5 = new createjs.Event(i5); } if (i5.target = y5 || this, i5.bubbles && this.parent) { for (var S5 = this, q5 = [S5]; S5.parent;) q5.push(S5 = S5.parent); var v5, d5 = q5.length; for (v5 = F5c9j.V3j(d5, 1); F5c9j.y3j(v5, 0) && !i5.propagationStopped; v5--) q5[v5]._dispatchEvent(i5, 1 + (F5c9j.C3j(0, v5))); for (v5 = 1; F5c9j.s3j(d5, v5) && !i5.propagationStopped; v5++) q5[v5]._dispatchEvent(i5, 3); } else this._dispatchEvent(i5, 2); return i5.defaultPrevented; }, w5.hasEventListener = function(i5) { var y5 = this._listeners, A5 = this._captureListeners; return !!(y5 && y5[i5] || A5 && A5[i5]); }, w5.willTrigger = function(y5) { for (var A5 = this; A5;) { var S5 = function(i5) { A5 = i5.parent; }; if (A5.hasEventListener(y5)) return !0; S5(A5); } return !1; }, w5.toString = function() { return "[EventDispatcher]"; }, w5._dispatchEvent = function(i5, y5) { var A5, S5 = F5c9j.a3j(1, y5) ? this._captureListeners : this._listeners; if (i5 && S5) { var q5 = S5[i5.type]; if (!q5 || !(A5 = q5.length)) return; i5.currentTarget = this, i5.eventPhase = y5, i5.removed = !1, q5 = q5.slice(); for (var v5 = 0; F5c9j.t3j(A5, v5) && !i5.immediatePropagationStopped; v5++) { var d5 = q5[v5]; d5.handleEvent ? d5.handleEvent(i5) : d5(i5), i5.removed && (this.off(i5.type, d5, F5c9j.o3j(1, y5)), i5.removed = !1); } } }, createjs.EventDispatcher = O5; }(), this.createjs = this.createjs || {}, function() { "use strict"; createjs.indexOf = function(i5, y5) { for (var A5 = 0, S5 = i5.length; F5c9j.n3j(S5, A5); A5++) if (F5c9j.O3j(y5, i5[A5])) return A5; return -1; }; }(), this.createjs = this.createjs || {}, function() { var y5 = function() { var i5 = "UID cannot be instantiated"; throw i5; }; "use strict"; y5._nextID = F5c9j.N0s, y5.get = function() { return y5._nextID++; }, createjs.UID = y5; }(), this.createjs = this.createjs || {}, function() { var v5 = function() { var i5 = "Ticker cannot be instantiated."; throw i5; }; "use strict"; v5.RAF_SYNCHED = "synched", v5.RAF = "raf", v5.TIMEOUT = "timeout", v5.useRAF = !1, v5.timingMode = null, v5.maxDelta = 0, v5.removeEventListener = null, v5.removeAllEventListeners = null, v5.dispatchEvent = null, v5.hasEventListener = null, v5._listeners = null, createjs.EventDispatcher.initialize(v5), v5._addEventListener = v5.addEventListener, v5.addEventListener = function() { return !v5._inited && v5.init(), v5._addEventListener.apply(v5, arguments); }, v5._paused = !1, v5._inited = !1, v5._startTime = 0, v5._pausedTime = 0, v5._ticks = 0, v5._pausedTicks = 0, v5._interval = 50, v5._lastTime = 0, v5._times = null, v5._tickTimes = null, v5._timerId = null, v5._raf = !0, v5.init = function() { v5._inited || (v5._inited = !0, v5._times = [], v5._tickTimes = [], v5._startTime = v5._getTime(), v5._times.push(v5._lastTime = 0), v5.setInterval(v5._interval)); }, v5.reset = function() { if (v5._raf) { var i5 = n5t4c[q4c].cancelAnimationFrame || n5t4c[q4c].webkitCancelAnimationFrame || n5t4c[q4c].mozCancelAnimationFrame || n5t4c[q4c].oCancelAnimationFrame || n5t4c[q4c].msCancelAnimationFrame; i5 && i5(v5._timerId); } else clearTimeout(v5._timerId); v5.removeAllEventListeners("tick"); }, v5.setInterval = function(i5) { v5._interval = i5, v5._inited && v5._setupTick(); }, v5.getInterval = function() { return v5._interval; }, v5.setFPS = function(i5) { v5.setInterval(F5c9j.w3j(1e3, i5)); }, v5.getFPS = function() { return F5c9j.b3j(1e3, v5._interval); }, v5.getMeasuredTickTime = function(i5) { var y5 = 0, A5 = v5._tickTimes; if (F5c9j.p3j(A5.length, 1)) return -1; i5 = Math.min(A5.length, i5 || F5c9j.M3j(0, v5.getFPS())); for (var S5 = 0; F5c9j.X3j(i5, S5); S5++) y5 += A5[S5]; return F5c9j.F3j(y5, i5); }, v5.getMeasuredFPS = function(i5) { var y5 = v5._times; return F5c9j.D3j(y5.length, 2) ? -1 : (i5 = Math.min(F5c9j.x3j(y5.length, 1), i5 || F5c9j.Q1j(0, v5.getFPS())), F5c9j.i1j(1e3, ((y5[0] - y5[i5]) / i5))); }, v5.setPaused = function(y5) { var A5 = function(i5) { v5._paused = i5; }; A5(y5); }, v5.getPaused = function() { return v5._paused; }, v5.getTime = function(i5) { return F5c9j.P1j(v5._getTime(), v5._startTime, (i5 ? v5._pausedTime : 0)); }, v5.getEventTime = function(i5) { return F5c9j.s1j((v5._lastTime || v5._startTime), (i5 ? v5._pausedTime : 0)); }, v5.getTicks = function(i5) { return F5c9j.a1j(v5._ticks, (i5 ? v5._pausedTicks : 0)); }, v5._handleSynch = function() { var i5 = F5c9j.t1j(v5._getTime(), v5._startTime); v5._timerId = null, v5._setupTick(), F5c9j.o1j(i5 - v5._lastTime, .97 * (v5._interval - 1)) && v5._tick(); }, v5._handleRAF = function() { v5._timerId = null, v5._setupTick(), v5._tick(); }, v5._handleTimeout = function() { v5._timerId = null, v5._setupTick(), v5._tick(); }, v5._setupTick = function() { if (F5c9j.n1j(null, v5._timerId)) { var i5 = v5.timingMode || v5.useRAF && v5.RAF_SYNCHED; if (F5c9j.O1j(i5, v5.RAF_SYNCHED) || F5c9j.w1j(i5, v5.RAF)) { var y5 = n5t4c[q4c].requestAnimationFrame || n5t4c[q4c].webkitRequestAnimationFrame || n5t4c[q4c]['mozRequestAnimationFrame'] || n5t4c[q4c].oRequestAnimationFrame || n5t4c[q4c].msRequestAnimationFrame; if (y5) return v5._timerId = y5(F5c9j.b1j(i5, v5.RAF) ? v5._handleRAF : v5._handleSynch), v5._raf = !0, void 0; } v5._raf = !1, v5._timerId = setTimeout(v5._handleTimeout, v5._interval); } }, v5._tick = function() { var i5 = F5c9j.p1j(v5._getTime(), v5._startTime), y5 = F5c9j.M1j(i5, v5._lastTime), A5 = v5._paused; if (v5._ticks++, A5 && (v5._pausedTicks++, v5._pausedTime += y5), v5._lastTime = i5, v5.hasEventListener("tick")) { var S5 = new createjs.Event("tick"), q5 = v5.maxDelta; S5.delta = q5 && F5c9j.X1j(y5, q5) ? q5 : y5, S5.paused = A5, S5.time = i5, S5.runTime = F5c9j.F1j(i5, v5._pausedTime), v5.dispatchEvent(S5); } for (v5._tickTimes.unshift(F5c9j.D1j(v5._getTime(), i5)); F5c9j.x1j(v5._tickTimes.length, 100);) v5._tickTimes.pop(); for (v5._times.unshift(i5); F5c9j.Q6j(v5._times.length, 100);) v5._times.pop(); }; var d5 = n5t4c[q4c].performance && (performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow); v5._getTime = function() { return d5 && d5.call(performance) || (new Date).getTime(); }, createjs.Ticker = v5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var J5 = function(i5, y5, A5, S5, q5, v5, d5, O5, w5, l5) { this.initialize(i5, y5, A5, S5, q5, v5, d5, O5, w5, l5); }, K5 = J5.prototype = new createjs.Event; K5.stageX = F5c9j.N0s, K5.stageY = F5c9j.N0s, K5.rawX = F5c9j.N0s, K5.rawY = F5c9j.N0s, K5.nativeEvent = F5c9j.b2s, K5.pointerID = F5c9j.N0s, K5.primary = !F5c9j.Z0s, K5.addEventListener = F5c9j.b2s, K5.removeEventListener = F5c9j.b2s, K5.removeAllEventListeners = F5c9j.b2s, K5.dispatchEvent = F5c9j.b2s, K5.hasEventListener = F5c9j.b2s, K5._listeners = F5c9j.b2s, createjs.EventDispatcher.initialize(K5), K5._get_localX = function() { return this.currentTarget.globalToLocal(this.rawX, this.rawY).x; }, K5._get_localY = function() { return this.currentTarget.globalToLocal(this.rawX, this.rawY).y; }; try { Object.defineProperties(K5, { localX: { get: K5._get_localX }, localY: { get: K5._get_localY } }); } catch (i5) {} K5.Event_initialize = K5.initialize, K5.initialize = function(i5, y5, A5, S5, q5, v5, d5, O5, w5, l5) { this.Event_initialize(i5, y5, A5), this.stageX = S5, this.stageY = q5, this.nativeEvent = v5, this.pointerID = d5, this.primary = O5, this.rawX = F5c9j.i6j(F5c9j.b2s, w5) ? S5 : w5, this.rawY = F5c9j.P6j(F5c9j.b2s, l5) ? q5 : l5; }, K5.clone = function() { return new J5(this.type, this.bubbles, this.cancelable, this.stageX, this.stageY, this.target, this.nativeEvent, this.pointerID, this.primary, this.rawX, this.rawY); }, K5.toString = function() { var i5 = " stageY=", y5 = " stageX=", A5 = "[MouseEvent (type="; return A5 + this.type + y5 + this.stageX + i5 + this.stageY + F5c9j.O2s; }, createjs.MouseEvent = J5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var j5 = function(i5, y5, A5, S5, q5, v5) { this.initialize(i5, y5, A5, S5, q5, v5); }, F5 = j5.prototype; j5.identity = null, j5.DEG_TO_RAD = F5c9j.N6j(Math.PI, 180), F5.a = 1, F5.b = 0, F5.c = 0, F5.d = 1, F5.tx = 0, F5.ty = 0, F5.alpha = 1, F5.shadow = null, F5.compositeOperation = null, F5.initialize = function(i5, y5, A5, S5, q5, v5) { return this.a = F5c9j.A6j(null, i5) ? 1 : i5, this.b = y5 || 0, this.c = A5 || 0, this.d = F5c9j.v6j(null, S5) ? 1 : S5, this.tx = q5 || 0, this.ty = v5 || 0, this; }, F5.prepend = function(i5, y5, A5, S5, q5, v5) { var d5 = this.tx; if (F5c9j.c6j(1, i5) || F5c9j.d6j(0, y5) || F5c9j.U6j(0, A5) || F5c9j.l6j(1, S5)) { var O5 = this.a, w5 = this.c; this.a = F5c9j.f6j(O5, i5) + F5c9j.G6j(this.b, A5), this.b = F5c9j.j6j(O5, y5) + F5c9j.R6j(this.b, S5), this.c = F5c9j.e6j(w5, i5) + F5c9j.g6j(this.d, A5), this.d = F5c9j.Y6j(w5, y5) + F5c9j.E6j(this.d, S5); } return this.tx = F5c9j.H8j(d5, i5) + F5c9j.z8j(this.ty, A5) + q5, this.ty = F5c9j.Z8j(d5, y5) + F5c9j.m8j(this.ty, S5) + v5, this; }, F5.append = function(i5, y5, A5, S5, q5, v5) { var d5 = this.a, O5 = this.b, w5 = this.c, l5 = this.d; return this.a = F5c9j.S8j(i5, d5) + F5c9j.q8j(y5, w5), this.b = F5c9j.I8j(i5, O5) + F5c9j.T8j(y5, l5), this.c = F5c9j.h8j(A5, d5) + F5c9j.W8j(S5, w5), this.d = F5c9j.k8j(A5, O5) + F5c9j.K8j(S5, l5), this.tx = F5c9j.J8j(q5, d5) + F5c9j.u8j(v5, w5) + this.tx, this.ty = F5c9j.L8j(q5, O5) + F5c9j.r8j(v5, l5) + this.ty, this; }, F5.prependMatrix = function(i5) { return this.prepend(i5.a, i5.b, i5.c, i5.d, i5.tx, i5.ty), this.prependProperties(i5.alpha, i5.shadow, i5.compositeOperation), this; }, F5.appendMatrix = function(i5) { return this.append(i5.a, i5.b, i5.c, i5.d, i5.tx, i5.ty), this.appendProperties(i5.alpha, i5.shadow, i5.compositeOperation), this; }, F5.prependTransform = function(i5, y5, A5, S5, q5, v5, d5, O5, w5) { if (F5c9j.B8j(q5, 360)) var l5 = F5c9j.V0j(q5, j5.DEG_TO_RAD), J5 = Math.cos(l5), K5 = Math.sin(l5); else J5 = 1, K5 = 0; return (O5 || w5) && (this.tx -= O5, this.ty -= w5), v5 || d5 ? (v5 *= j5.DEG_TO_RAD, d5 *= j5.DEG_TO_RAD, this.prepend(F5c9j.y0j(J5, A5), F5c9j.C0j(K5, A5), -K5 * S5, F5c9j.s0j(J5, S5), 0, 0), this.prepend(Math.cos(d5), Math.sin(d5), -Math.sin(v5), Math.cos(v5), i5, y5)) : this.prepend(F5c9j.a0j(J5, A5), F5c9j.t0j(K5, A5), -K5 * S5, F5c9j.o0j(J5, S5), i5, y5), this; }, F5.appendTransform = function(i5, y5, A5, S5, q5, v5, d5, O5, w5) { if (F5c9j.n0j(q5, 360)) var l5 = F5c9j.O0j(q5, j5.DEG_TO_RAD), J5 = Math.cos(l5), K5 = Math.sin(l5); else J5 = 1, K5 = 0; return v5 || d5 ? (v5 *= j5.DEG_TO_RAD, d5 *= j5.DEG_TO_RAD, this.append(Math.cos(d5), Math.sin(d5), -Math.sin(v5), Math.cos(v5), i5, y5), this.append(F5c9j.w0j(J5, A5), F5c9j.b0j(K5, A5), -K5 * S5, F5c9j.p0j(J5, S5), 0, 0)) : this.append(F5c9j.M0j(J5, A5), F5c9j.X0j(K5, A5), -K5 * S5, F5c9j.F0j(J5, S5), i5, y5), (O5 || w5) && (this.tx -= F5c9j.D0j(O5, this.a) + F5c9j.x0j(w5, this.c), this.ty -= F5c9j.Q4j(O5, this.b) + F5c9j.i4j(w5, this.d)), this; }, F5.rotate = function(i5) { var y5 = Math.cos(i5), A5 = Math.sin(i5), S5 = this.a, q5 = this.c, v5 = this.tx; return this.a = F5c9j.P4j(S5 * y5, this.b * A5), this.b = F5c9j.N4j(S5, A5) + F5c9j.A4j(this.b, y5), this.c = F5c9j.v4j(q5 * y5, this.d * A5), this.d = F5c9j.c4j(q5, A5) + F5c9j.d4j(this.d, y5), this.tx = F5c9j.U4j(v5 * y5, this.ty * A5), this.ty = F5c9j.l4j(v5, A5) + F5c9j.f4j(this.ty, y5), this; }, F5.skew = function(i5, y5) { return i5 *= j5.DEG_TO_RAD, y5 *= j5.DEG_TO_RAD, this.append(Math.cos(y5), Math.sin(y5), -Math.sin(i5), Math.cos(i5), 0, 0), this; }, F5.scale = function(i5, y5) { return this.a *= i5, this.d *= y5, this.c *= i5, this.b *= y5, this.tx *= i5, this.ty *= y5, this; }, F5.translate = function(i5, y5) { return this.tx += i5, this.ty += y5, this; }, F5.identity = function() { return this.alpha = this.a = this.d = 1, this.b = this.c = this.tx = this.ty = 0, this.shadow = this.compositeOperation = null, this; }, F5.invert = function() { var i5 = this.a, y5 = this.b, A5 = this.c, S5 = this.d, q5 = this.tx, v5 = F5c9j.G4j(i5 * S5, y5 * A5); return this.a = F5c9j.j4j(S5, v5), this.b = -y5 / v5, this.c = -A5 / v5, this.d = F5c9j.R4j(i5, v5), this.tx = F5c9j.e4j((A5 * this.ty - S5 * q5), v5), this.ty = -(F5c9j.g4j(i5 * this.ty, y5 * q5)) / v5, this; }, F5.isIdentity = function() { return F5c9j.Y4j(0, this.tx) && F5c9j.E4j(0, this.ty) && F5c9j.H7j(1, this.a) && F5c9j.z7j(0, this.b) && F5c9j.Z7j(0, this.c) && F5c9j.m7j(1, this.d); }, F5.transformPoint = function(i5, y5, A5) { return A5 = A5 || {}, A5.x = F5c9j.S7j(i5, this.a) + F5c9j.q7j(y5, this.c) + this.tx, A5.y = F5c9j.I7j(i5, this.b) + F5c9j.T7j(y5, this.d) + this.ty, A5; }, F5.decompose = function(i5) { F5c9j.h7j(null, i5) && (i5 = {}), i5.x = this.tx, i5.y = this.ty, i5.scaleX = Math.sqrt(F5c9j.W7j(this.a, this.a) + F5c9j.k7j(this.b, this.b)), i5.scaleY = Math.sqrt(F5c9j.K7j(this.c, this.c) + F5c9j.J7j(this.d, this.d)); var y5 = Math.atan2(-this.c, this.d), A5 = Math.atan2(this.b, this.a); return F5c9j.u7j(y5, A5) ? (i5.rotation = F5c9j.L7j(A5, j5.DEG_TO_RAD), F5c9j.r7j(this.a, 0) && F5c9j.B7j(this.d, 0) && (i5.rotation += F5c9j.V2j(i5.rotation, 0) ? 180 : -180), i5.skewX = i5.skewY = 0) : (i5.skewX = F5c9j.y2j(y5, j5.DEG_TO_RAD), i5.skewY = F5c9j.C2j(A5, j5.DEG_TO_RAD)), i5; }, F5.reinitialize = function(i5, y5, A5, S5, q5, v5, d5, O5, w5) { return this.initialize(i5, y5, A5, S5, q5, v5), this.alpha = F5c9j.s2j(null, d5) ? 1 : d5, this.shadow = O5, this.compositeOperation = w5, this; }, F5.copy = function(i5) { return this.reinitialize(i5.a, i5.b, i5.c, i5.d, i5.tx, i5.ty, i5.alpha, i5.shadow, i5.compositeOperation); }, F5.appendProperties = function(i5, y5, A5) { return this.alpha *= i5, this.shadow = y5 || this.shadow, this.compositeOperation = A5 || this.compositeOperation, this; }, F5.prependProperties = function(i5, y5, A5) { return this.alpha *= i5, this.shadow = this.shadow || y5, this.compositeOperation = this.compositeOperation || A5, this; }, F5.clone = function() { return (new j5).copy(this); }, F5.toString = function() { return "[Matrix2D (a=" + this.a + " b=" + this.b + " c=" + this.c + " d=" + this.d + " tx=" + this.tx + " ty=" + this.ty + ")]"; }, j5.identity = new j5, createjs.Matrix2D = j5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var A5 = function(i5, y5) { this.initialize(i5, y5); }, S5 = A5.prototype; S5.x = F5c9j.N0s, S5.y = F5c9j.N0s, S5.initialize = function(i5, y5) { return this.x = F5c9j.a2j(F5c9j.b2s, i5) ? F5c9j.N0s : i5, this.y = F5c9j.t2j(F5c9j.b2s, y5) ? F5c9j.N0s : y5, this; }, S5.copy = function(i5) { return this.initialize(i5.x, i5.y); }, S5.clone = function() { return new A5(this.x, this.y); }, S5.toString = function() { var i5 = "[Point (x="; return i5 + this.x + F5c9j.i3c + this.y + F5c9j.O2s; }, createjs.Point = A5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var q5 = function(i5, y5, A5, S5) { this.initialize(i5, y5, A5, S5); }, v5 = q5.prototype; v5.x = 0, v5.y = 0, v5.width = 0, v5.height = 0, v5.initialize = function(i5, y5, A5, S5) { return this.x = i5 || 0, this.y = y5 || 0, this.width = A5 || 0, this.height = S5 || 0, this; }, v5.copy = function(i5) { return this.initialize(i5.x, i5.y, i5.width, i5.height); }, v5.clone = function() { return new q5(this.x, this.y, this.width, this.height); }, v5.toString = function() { return "[Rectangle (x=" + this.x + " y=" + this.y + " width=" + this.width + " height=" + this.height + ")]"; }, createjs.Rectangle = q5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var O5 = function(i5, y5, A5, S5, q5, v5, d5) { this.initialize(i5, y5, A5, S5, q5, v5, d5); }, w5 = O5.prototype; w5.target = null, w5.overLabel = null, w5.outLabel = null, w5.downLabel = null, w5.play = !1, w5._isPressed = !1, w5._isOver = !1, w5.initialize = function(i5, y5, A5, S5, q5, v5, d5) { i5.addEventListener && (this.target = i5, i5.cursor = "pointer", this.overLabel = F5c9j.o2j(null, A5) ? "over" : A5, this.outLabel = F5c9j.n2j(null, y5) ? "out" : y5, this.downLabel = F5c9j.O2j(null, S5) ? "down" : S5, this.play = q5, this.setEnabled(!0), this.handleEvent({}), v5 && (d5 && (v5.actionsEnabled = !1, v5.gotoAndStop && v5.gotoAndStop(d5)), i5.hitArea = v5)); }, w5.setEnabled = function(i5) { var y5 = this.target; i5 ? (y5.addEventListener("rollover", this), y5.addEventListener("rollout", this), y5.addEventListener("mousedown", this), y5.addEventListener("pressup", this)) : (y5.removeEventListener("rollover", this), y5.removeEventListener("rollout", this), y5.removeEventListener("mousedown", this), y5.removeEventListener("pressup", this)); }, w5.toString = function() { return "[ButtonHelper]"; }, w5.handleEvent = function(i5) { var y5, A5 = this.target, S5 = i5.type; F5c9j.w2j("mousedown", S5) ? (this._isPressed = !0, y5 = this.downLabel) : F5c9j.b2j("pressup", S5) ? (this._isPressed = !1, y5 = this._isOver ? this.overLabel : this.outLabel) : F5c9j.p2j("rollover", S5) ? (this._isOver = !0, y5 = this._isPressed ? this.downLabel : this.overLabel) : (this._isOver = !1, y5 = this._isPressed ? this.overLabel : this.outLabel), this.play ? A5.gotoAndPlay && A5.gotoAndPlay(y5) : A5.gotoAndStop && A5.gotoAndStop(y5); }, createjs.ButtonHelper = O5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var q5 = "transparent", v5 = function(i5, y5, A5, S5) { this.initialize(i5, y5, A5, S5); }, d5 = v5.prototype; v5.identity = F5c9j.b2s, d5.color = F5c9j.b2s, d5.offsetX = F5c9j.N0s, d5.offsetY = F5c9j.N0s, d5.blur = F5c9j.N0s, d5.initialize = function(i5, y5, A5, S5) { this.color = i5, this.offsetX = y5, this.offsetY = A5, this.blur = S5; }, d5.toString = function() { var i5 = "[Shadow]"; return i5; }, d5.clone = function() { return new v5(this.color, this.offsetX, this.offsetY, this.blur); }, v5.identity = new v5(q5, F5c9j.N0s, F5c9j.N0s, F5c9j.N0s), createjs.Shadow = v5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var L5 = function(i5) { this.initialize(i5); }, X5 = L5.prototype = new createjs.EventDispatcher; X5.complete = !0, X5.framerate = 0, X5._animations = null, X5._frames = null, X5._images = null, X5._data = null, X5._loadCount = 0, X5._frameHeight = 0, X5._frameWidth = 0, X5._numFrames = 0, X5._regX = 0, X5._regY = 0, X5.initialize = function(y5) { var A5, S5, q5, v5; if (F5c9j.M2j(null, y5)) { if (this.framerate = y5.framerate || 0, y5.images && F5c9j.X2j((S5 = y5.images.length), 0)) for (v5 = this._images = [], A5 = 0; F5c9j.F2j(S5, A5); A5++) { var d5 = y5.images[A5]; if ("string" == typeof d5) { var O5 = d5; d5 = n5t4c[o4c]['createElement']("img"), d5.src = O5; } v5.push(d5), d5.getContext || d5.complete || (this._loadCount++, this.complete = !1, function(i5) { d5.onload = function() { i5._handleImageLoad(); }; }(this)); } if (F5c9j.D2j(null, y5.frames)); else if (F5c9j.x2j(y5.frames, Array)) for (this._frames = [], v5 = y5.frames, A5 = 0, S5 = v5.length; F5c9j.Q5h(S5, A5); A5++) { var w5 = v5[A5]; this._frames.push({ image: this._images[w5[4] ? w5[4] : 0], rect: new createjs.Rectangle(w5[0], w5[1], w5[2], w5[3]), regX: w5[5] || 0, regY: w5[6] || 0 }); } else q5 = y5.frames, this._frameWidth = q5.width, this._frameHeight = q5.height, this._regX = q5.regX || 0, this._regY = q5.regY || 0, this._numFrames = q5.count, F5c9j.i5h(0, this._loadCount) && this._calculateFrames(); if (this._animations = [], F5c9j.P5h(null, (q5 = y5.animations))) { this._data = {}; var l5; for (l5 in q5) { var J5 = function() { K5.frames = [j5[0]]; }; var K5 = { name: l5 }, j5 = q5[l5]; if ("number" == typeof j5) v5 = K5.frames = [j5]; else if (F5c9j.N5h(j5, Array)) if (F5c9j.A5h(1, j5.length)) J5(); else for (K5.speed = j5[3], K5.next = j5[2], v5 = K5.frames = [], A5 = j5[0]; F5c9j.v5h(A5, j5[1]); A5++) v5.push(A5); else { K5.speed = j5.speed, K5.next = j5.next; var F5 = j5.frames; v5 = K5.frames = "number" == typeof F5 ? [F5] : F5.slice(0); }(K5.next === !0 || void 0 === K5.next) && (K5.next = l5), (K5.next === !1 || F5c9j.c5h(v5.length, 2) && F5c9j.d5h(K5.next, l5)) && (K5.next = null), K5.speed || (K5.speed = 1), this._animations.push(l5), this._data[l5] = K5; } } } }, X5.getNumFrames = function(i5) { if (F5c9j.U5h(null, i5)) return this._frames ? this._frames.length : this._numFrames; var y5 = this._data[i5]; return F5c9j.l5h(null, y5) ? 0 : y5.frames.length; }, X5.getAnimations = function() { return this._animations.slice(0); }, X5.getAnimation = function(i5) { return this._data[i5]; }, X5.getFrame = function(i5) { var y5; return this._frames && (y5 = this._frames[i5]) ? y5 : null; }, X5.getFrameBounds = function(i5, y5) { var A5 = this.getFrame(i5); return A5 ? (y5 || new createjs.Rectangle).initialize(-A5.regX, -A5.regY, A5.rect.width, A5.rect.height) : null; }, X5.toString = function() { return "[SpriteSheet]"; }, X5.clone = function() { var i5 = new L5; return i5.complete = this.complete, i5._animations = this._animations, i5._frames = this._frames, i5._images = this._images, i5._data = this._data, i5._frameHeight = this._frameHeight, i5._frameWidth = this._frameWidth, i5._numFrames = this._numFrames, i5._loadCount = this._loadCount, i5; }, X5._handleImageLoad = function() { 0 == --this._loadCount && (this._calculateFrames(), this.complete = !0, this.dispatchEvent("complete")); }, X5._calculateFrames = function() { if (!this._frames && F5c9j.f5h(0, this._frameWidth)) { this._frames = []; for (var i5 = 0, y5 = this._frameWidth, A5 = this._frameHeight, S5 = 0, q5 = this._images; F5c9j.G5h(S5, q5.length); S5++) { for (var v5 = q5[S5], d5 = F5c9j.j5h(0, v5.width / y5), O5 = F5c9j.R5h(0, v5.height / A5), w5 = F5c9j.e5h(this._numFrames, 0) ? Math.min(F5c9j.g5h(this._numFrames, i5), F5c9j.Y5h(d5, O5)) : F5c9j.E5h(d5, O5), l5 = 0; F5c9j.H9h(w5, l5); l5++) this._frames.push({ image: v5, rect: new createjs.Rectangle(F5c9j.z9h(l5, d5, y5), F5c9j.N9h((0 | l5 / d5), A5), y5, A5), regX: this._regX, regY: this._regY }); i5 += w5; } this._numFrames = i5; } }, createjs.SpriteSheet = L5; }(), this.createjs = this.createjs || {}, function() { var E5 = "bevel", D5 = "miter", P9 = "square", y9 = "round", S9 = "butt", H9 = 63, h9 = (33 < (110., 119.) ? (66., 62) : (115.7E1, 128.) > 140 ? (0x117, 'T') : (25, 7.9E1)), n9 = ((0x1CE, 147) > 6.32E2 ? (57., "b") : 19. <= (0x1FC, 0x2C) ? (0x204, 60) : (0x24A, 0x134)), T9 = 59, Z9 = (0x110 >= (124.4E1, 77.4E1) ? 179 : (0x16E, 0x40) < 127. ? (40.0E1, 58) : (0x9D, 15.10E1)), i9 = 56, M9 = 54, e9 = ((0x102, 0x23B) <= 0x3E ? 'N' : (0x200, 28.1E1) < (10.02E2, 47.7E1) ? (9.78E2, 53) : (1.238E3, 0x208)), u9 = 52, U9 = 48, W9 = 46, w9 = 44, J9 = 42, v9 = 40, d9 = ((37., 0x121) <= (9.700E2, 0x202) ? (0x97, 38) : (0x1AD, 93.9E1) < 90 ? (143.6E1, 0x167) : (0x161, 42)), t9 = 36, C9 = 34, A9 = 32, q9 = 31, O9 = 30, b9 = (4.80E1 <= (27., 0xB9) ? (0x96, 29) : 5.26E2 >= (11., 64.4E1) ? 0x1BD : (133, 1.348E3)), t3 = ((85, 67.8E1) >= 148. ? (6.7E1, 28) : 0x14B < (0x14A, 128.) ? 0x222 : (94., 0x178)), p3 = 26, z3 = 24, G3 = (0xD7 >= (0x35, 56.30E1) ? 'w' : (38., 0x236) > 74 ? (0x69, 22) : (0x234, 50.7E1) > (145, 0x215) ? 0x1AE : (0x169, 0x74)); function z9(i5, y5, A5) { this.f = i5, this.params = y5, this.path = F5c9j.A9h(F5c9j.b2s, A5) ? !F5c9j.N0s : A5; } "use strict"; z9.prototype.exec = function(i5) { this.f.apply(i5, this.params); }; var c9 = function() { this.initialize(); }, g5 = c9.prototype; c9.getRGB = function(i5, y5, A5, S5) { var q5 = "rgba(", v5 = "rgb("; return F5c9j.v9h(F5c9j.b2s, i5) && F5c9j.c9h(F5c9j.b2s, A5) && (S5 = y5, A5 = F5c9j.d9h(F5c9j.l8c, i5), y5 = F5c9j.U9h(F5c9j.l8c, i5 >> F5c9j.I0s), i5 = F5c9j.l9h(F5c9j.l8c, i5 >> F5c9j.M9c)), F5c9j.f9h(F5c9j.b2s, S5) ? v5 + i5 + F5c9j.k0s + y5 + F5c9j.k0s + A5 + F5c9j.X5c : q5 + i5 + F5c9j.k0s + y5 + F5c9j.k0s + A5 + F5c9j.k0s + S5 + F5c9j.X5c; }, c9.getHSL = function(i5, y5, A5, S5) { var q5 = "hsla(", v5 = "%)", d5 = "%,", O5 = "hsl("; return F5c9j.G9h(F5c9j.b2s, S5) ? O5 + F5c9j.j9h(i5, F5c9j.y8c) + F5c9j.k0s + y5 + d5 + A5 + v5 : q5 + F5c9j.R9h(i5, F5c9j.y8c) + F5c9j.k0s + y5 + d5 + A5 + d5 + S5 + F5c9j.X5c; }, c9.Command = z9, c9.BASE_64 = { A: F5c9j.N0s, B: F5c9j.Z0s, C: F5c9j.P0s, D: F5c9j.i0s, E: F5c9j.v0s, F: F5c9j.S0s, G: F5c9j.A0s, H: F5c9j.s0s, I: F5c9j.I0s, J: F5c9j.c0s, K: F5c9j.B9c, L: F5c9j.X9c, M: F5c9j.u9c, N: F5c9j.J9c, O: F5c9j.R9c, P: F5c9j.j9c, Q: F5c9j.M9c, R: F5c9j.p9c, S: F5c9j.K9c, T: F5c9j.G9c, U: F5c9j.L9c, V: F5c9j.e9c, W: G3, X: F5c9j.q9c, Y: z3, Z: F5c9j.o9c, a: p3, b: F5c9j.d9c, c: t3, d: b9, e: O9, f: q9, g: A9, h: F5c9j.Q9c, i: C9, j: F5c9j.B5c, k: t9, l: F5c9j.i9c, m: d9, n: F5c9j.H9c, o: v9, p: F5c9j.C9c, q: J9, r: F5c9j.z9c, s: w9, t: F5c9j.L3c, u: W9, v: F5c9j.D3c, w: U9, x: F5c9j.u3c, y: F5c9j.Z1c, z: F5c9j.i1c, 0: u9, 1: e9, 2: M9, 3: F5c9j.f3c, 4: i9, 5: F5c9j.w3c, 6: Z9, 7: T9, 8: n9, 9: F5c9j.X3c, "+": h9, "/": H9 }, c9.STROKE_CAPS_MAP = [S9, y9, P9], c9.STROKE_JOINTS_MAP = [D5, y9, E5]; var E9 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement'](F5c9j.W2s); if (E9.getContext) { var o9 = c9._ctx = E9.getContext(F5c9j.T9c); c9.beginCmd = new z9(o9.beginPath, [], !1), c9.fillCmd = new z9(o9.fill, [], !1), c9.strokeCmd = new z9(o9.stroke, [], !1), E9.width = E9.height = 1; } g5._strokeInstructions = null, g5._strokeStyleInstructions = null, g5._strokeIgnoreScale = !1, g5._fillInstructions = null, g5._fillMatrix = null, g5._instructions = null, g5._oldInstructions = null, g5._activeInstructions = null, g5._active = !1, g5._dirty = !1, g5.initialize = function() { this.clear(), this._ctx = c9._ctx; }, g5.isEmpty = function() { return !(this._instructions.length || this._oldInstructions.length || this._activeInstructions.length); }, g5.draw = function(i5) { this._dirty && this._updateInstructions(); for (var y5 = this._instructions, A5 = 0, S5 = y5.length; F5c9j.e9h(S5, A5); A5++) y5[A5].exec(i5); }, g5.drawAsPath = function(i5) { this._dirty && this._updateInstructions(); for (var y5, A5 = this._instructions, S5 = 0, q5 = A5.length; F5c9j.g9h(q5, S5); S5++)((y5 = A5[S5]).path || F5c9j.Y9h(0, S5)) && y5.exec(i5); }, g5.moveTo = function(i5, y5) { return this._activeInstructions.push(new z9(this._ctx.moveTo, [i5, y5])), this; }, g5.lineTo = function(i5, y5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(this._ctx.lineTo, [i5, y5])), this; }, g5.arcTo = function(i5, y5, A5, S5, q5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(this._ctx.arcTo, [i5, y5, A5, S5, q5])), this; }, g5.arc = function(i5, y5, A5, S5, q5, v5) { return this._dirty = this._active = !0, F5c9j.E9h(null, v5) && (v5 = !1), this._activeInstructions.push(new z9(this._ctx.arc, [i5, y5, A5, S5, q5, v5])), this; }, g5.quadraticCurveTo = function(i5, y5, A5, S5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(this._ctx.quadraticCurveTo, [i5, y5, A5, S5])), this; }, g5.bezierCurveTo = function(i5, y5, A5, S5, q5, v5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(this._ctx.bezierCurveTo, [i5, y5, A5, S5, q5, v5])), this; }, g5.rect = function(i5, y5, A5, S5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(this._ctx.rect, [i5, y5, A5, S5])), this; }, g5.closePath = function() { return this._active && (this._dirty = !0, this._activeInstructions.push(new z9(this._ctx.closePath, []))), this; }, g5.clear = function() { return this._instructions = [], this._oldInstructions = [], this._activeInstructions = [], this._strokeStyleInstructions = this._strokeInstructions = this._fillInstructions = this._fillMatrix = null, this._active = this._dirty = this._strokeIgnoreScale = !1, this; }, g5.beginFill = function(i5) { return this._active && this._newPath(), this._fillInstructions = i5 ? [new z9(this._setProp, ["fillStyle", i5], !1)] : null, this._fillMatrix = null, this; }, g5.beginLinearGradientFill = function(i5, y5, A5, S5, q5, v5) { this._active && this._newPath(); for (var d5 = this._ctx.createLinearGradient(A5, S5, q5, v5), O5 = 0, w5 = i5.length; F5c9j.H3h(w5, O5); O5++) d5.addColorStop(y5[O5], i5[O5]); return this._fillInstructions = [new z9(this._setProp, ["fillStyle", d5], !1)], this._fillMatrix = null, this; }, g5.beginRadialGradientFill = function(i5, y5, A5, S5, q5, v5, d5, O5) { this._active && this._newPath(); for (var w5 = this._ctx.createRadialGradient(A5, S5, q5, v5, d5, O5), l5 = 0, J5 = i5.length; F5c9j.z3h(J5, l5); l5++) w5.addColorStop(y5[l5], i5[l5]); return this._fillInstructions = [new z9(this._setProp, ["fillStyle", w5], !1)], this._fillMatrix = null, this; }, g5.beginBitmapFill = function(i5, y5, A5) { this._active && this._newPath(), y5 = y5 || ""; var S5 = this._ctx.createPattern(i5, y5); return this._fillInstructions = [new z9(this._setProp, ["fillStyle", S5], !1)], this._fillMatrix = A5 ? [A5.a, A5.b, A5.c, A5.d, A5.tx, A5.ty] : null, this; }, g5.endFill = function() { return this.beginFill(); }, g5.setStrokeStyle = function(i5, y5, A5, S5, q5) { return this._active && this._newPath(), this._strokeStyleInstructions = [new z9(this._setProp, ["lineWidth", F5c9j.Z3h(null, i5) ? "1" : i5], !1), new z9(this._setProp, ["lineCap", F5c9j.m3h(null, y5) ? "butt" : isNaN(y5) ? y5 : c9.STROKE_CAPS_MAP[y5]], !1), new z9(this._setProp, ["lineJoin", F5c9j.S3h(null, A5) ? "miter" : isNaN(A5) ? A5 : c9.STROKE_JOINTS_MAP[A5]], !1), new z9(this._setProp, ["miterLimit", F5c9j.q3h(null, S5) ? "10" : S5], !1)], this._strokeIgnoreScale = q5, this; }, g5.beginStroke = function(i5) { return this._active && this._newPath(), this._strokeInstructions = i5 ? [new z9(this._setProp, ["strokeStyle", i5], !1)] : null, this; }, g5.beginLinearGradientStroke = function(i5, y5, A5, S5, q5, v5) { this._active && this._newPath(); for (var d5 = this._ctx.createLinearGradient(A5, S5, q5, v5), O5 = 0, w5 = i5.length; F5c9j.I3h(w5, O5); O5++) d5.addColorStop(y5[O5], i5[O5]); return this._strokeInstructions = [new z9(this._setProp, ["strokeStyle", d5], !1)], this; }, g5.beginRadialGradientStroke = function(i5, y5, A5, S5, q5, v5, d5, O5) { this._active && this._newPath(); for (var w5 = this._ctx.createRadialGradient(A5, S5, q5, v5, d5, O5), l5 = 0, J5 = i5.length; F5c9j.T3h(J5, l5); l5++) w5.addColorStop(y5[l5], i5[l5]); return this._strokeInstructions = [new z9(this._setProp, ["strokeStyle", w5], !1)], this; }, g5.beginBitmapStroke = function(i5, y5) { this._active && this._newPath(), y5 = y5 || ""; var A5 = this._ctx.createPattern(i5, y5); return this._strokeInstructions = [new z9(this._setProp, ["strokeStyle", A5], !1)], this; }, g5.endStroke = function() { return this.beginStroke(), this; }, g5.curveTo = g5.quadraticCurveTo, g5.drawRect = g5.rect, g5.drawRoundRect = function(i5, y5, A5, S5, q5) { return this.drawRoundRectComplex(i5, y5, A5, S5, q5, q5, q5, q5), this; }, g5.drawRoundRectComplex = function(i5, y5, A5, S5, q5, v5, d5, O5) { var w5 = F5c9j.h3h((S5 > A5 ? A5 : S5), 2), l5 = 0, J5 = 0, K5 = 0, j5 = 0; F5c9j.W3h(0, q5) && (q5 *= l5 = -1), F5c9j.k3h(q5, w5) && (q5 = w5), F5c9j.K3h(0, v5) && (v5 *= J5 = -1), F5c9j.J3h(v5, w5) && (v5 = w5), F5c9j.u3h(0, d5) && (d5 *= K5 = -1), F5c9j.L3h(d5, w5) && (d5 = w5), F5c9j.r3h(0, O5) && (O5 *= j5 = -1), F5c9j.B3h(O5, w5) && (O5 = w5), this._dirty = this._active = !0; var F5 = this._ctx.arcTo, L5 = this._ctx.lineTo; return this._activeInstructions.push(new z9(this._ctx.moveTo, [i5 + A5 - v5, y5]), new z9(F5, [i5 + A5 + F5c9j.V1h(v5, J5), F5c9j.y1h(y5, v5 * J5), i5 + A5, y5 + v5, v5]), new z9(L5, [i5 + A5, y5 + S5 - d5]), new z9(F5, [i5 + A5 + F5c9j.C1h(d5, K5), y5 + S5 + F5c9j.s1h(d5, K5), i5 + A5 - d5, y5 + S5, d5]), new z9(L5, [i5 + O5, y5 + S5]), new z9(F5, [F5c9j.a1h(i5, O5 * j5), y5 + S5 + F5c9j.t1h(O5, j5), i5, y5 + S5 - O5, O5]), new z9(L5, [i5, y5 + q5]), new z9(F5, [F5c9j.o1h(i5, q5 * l5), F5c9j.n1h(y5, q5 * l5), i5 + q5, y5, q5]), new z9(this._ctx.closePath)), this; }, g5.drawCircle = function(i5, y5, A5) { return this.arc(i5, y5, A5, 0, F5c9j.O1h(2, Math.PI)), this; }, g5.drawEllipse = function(i5, y5, A5, S5) { this._dirty = this._active = !0; var q5 = .5522848, v5 = F5c9j.w1h(A5, 2, q5), d5 = F5c9j.k1h(S5, 2, q5), O5 = i5 + A5, w5 = y5 + S5, l5 = i5 + F5c9j.j1h(A5, 2), J5 = y5 + F5c9j.R1h(S5, 2); return this._activeInstructions.push(new z9(this._ctx.moveTo, [i5, J5]), new z9(this._ctx.bezierCurveTo, [i5, F5c9j.e1h(J5, d5), F5c9j.g1h(l5, v5), y5, l5, y5]), new z9(this._ctx.bezierCurveTo, [l5 + v5, y5, O5, F5c9j.Y1h(J5, d5), O5, J5]), new z9(this._ctx.bezierCurveTo, [O5, J5 + d5, l5 + v5, w5, l5, w5]), new z9(this._ctx.bezierCurveTo, [F5c9j.E1h(l5, v5), w5, i5, J5 + d5, i5, J5])), this; }, g5.inject = function(i5, y5) { return this._dirty = this._active = !0, this._activeInstructions.push(new z9(i5, [y5])), this; }, g5.drawPolyStar = function(i5, y5, A5, S5, q5, v5) { this._dirty = this._active = !0, F5c9j.H6h(null, q5) && (q5 = 0), q5 = F5c9j.z6h(1, q5), F5c9j.Z6h(null, v5) ? v5 = 0 : v5 /= F5c9j.m6h(180, Math.PI); var d5 = F5c9j.S6h(Math.PI, S5); this._activeInstructions.push(new z9(this._ctx.moveTo, [i5 + F5c9j.q6h(Math.cos(v5), A5), y5 + F5c9j.I6h(Math.sin(v5), A5)])); for (var O5 = 0; F5c9j.T6h(S5, O5); O5++) v5 += d5, F5c9j.h6h(1, q5) && this._activeInstructions.push(new z9(this._ctx.lineTo, [i5 + F5c9j.W6h(Math.cos(v5), A5, q5), y5 + F5c9j.G6h(Math.sin(v5), A5, q5)])), v5 += d5, this._activeInstructions.push(new z9(this._ctx.lineTo, [i5 + F5c9j.M6h(Math.cos(v5), A5), y5 + F5c9j.X6h(Math.sin(v5), A5)])); return this; }, g5.decodePath = function(i5) { for (var y5 = [this.moveTo, this.lineTo, this.quadraticCurveTo, this.bezierCurveTo, this.closePath], A5 = [2, 2, 4, 6, 0], S5 = 0, q5 = i5.length, v5 = [], d5 = 0, O5 = 0, w5 = c9.BASE_64; F5c9j.F6h(q5, S5);) { var l5 = i5.charAt(S5), J5 = w5[l5], K5 = F5c9j.D6h(J5, 3), j5 = y5[K5]; if (!j5 || F5c9j.x6h(3, J5)) throw "bad path data (@" + S5 + "): " + l5; var F5 = A5[K5]; K5 || (d5 = O5 = 0), v5.length = 0, S5++; for (var L5 = (F5c9j.Q8h(1, J5 >> 2)) + 2, X5 = 0; F5c9j.i8h(F5, X5); X5++) { var G5 = w5[i5.charAt(S5)], s9 = F5c9j.P8h(G5, 5) ? -1 : 1; G5 = F5c9j.N8h((31 & G5) << 6, w5[i5.charAt(S5 + 1)]), F5c9j.A8h(3, L5) && (G5 = F5c9j.v8h(G5 << 6, w5[i5.charAt(S5 + 2)])), G5 = F5c9j.c8h(s9, G5, 10), F5c9j.n8h(X5, 2) ? d5 = G5 += d5 : O5 = G5 += O5, v5[X5] = G5, S5 += L5; } j5.apply(this, v5); } return this; }, g5.clone = function() { var i5 = new c9; return i5._instructions = this._instructions.slice(), i5._activeInstructions = this._activeInstructions.slice(), i5._oldInstructions = this._oldInstructions.slice(), this._fillInstructions && (i5._fillInstructions = this._fillInstructions.slice()), this._strokeInstructions && (i5._strokeInstructions = this._strokeInstructions.slice()), this._strokeStyleInstructions && (i5._strokeStyleInstructions = this._strokeStyleInstructions.slice()), i5._active = this._active, i5._dirty = this._dirty, i5._fillMatrix = this._fillMatrix, i5._strokeIgnoreScale = this._strokeIgnoreScale, i5; }, g5.toString = function() { return "[Graphics]"; }, g5.mt = g5.moveTo, g5.lt = g5.lineTo, g5.at = g5.arcTo, g5.bt = g5.bezierCurveTo, g5.qt = g5.quadraticCurveTo, g5.a = g5.arc, g5.r = g5.rect, g5.cp = g5.closePath, g5.c = g5.clear, g5.f = g5.beginFill, g5.lf = g5.beginLinearGradientFill, g5.rf = g5.beginRadialGradientFill, g5.bf = g5.beginBitmapFill, g5.ef = g5.endFill, g5.ss = g5.setStrokeStyle, g5.s = g5.beginStroke, g5.ls = g5.beginLinearGradientStroke, g5.rs = g5.beginRadialGradientStroke, g5.bs = g5.beginBitmapStroke, g5.es = g5.endStroke, g5.dr = g5.drawRect, g5.rr = g5.drawRoundRect, g5.rc = g5.drawRoundRectComplex, g5.dc = g5.drawCircle, g5.de = g5.drawEllipse, g5.dp = g5.drawPolyStar, g5.p = g5.decodePath, g5._updateInstructions = function() { this._instructions = this._oldInstructions.slice(), this._instructions.push(c9.beginCmd), this._appendInstructions(this._fillInstructions), this._appendInstructions(this._strokeInstructions), this._appendInstructions(this._strokeInstructions && this._strokeStyleInstructions), this._appendInstructions(this._activeInstructions), this._fillInstructions && this._appendDraw(c9.fillCmd, this._fillMatrix), this._strokeInstructions && this._appendDraw(c9.strokeCmd, this._strokeIgnoreScale && [1, 0, 0, 1, 0, 0]); }, g5._appendInstructions = function(i5) { i5 && this._instructions.push.apply(this._instructions, i5); }, g5._appendDraw = function(i5, y5) { y5 ? this._instructions.push(new z9(this._ctx.save, [], !1), new z9(this._ctx.transform, y5, !1), i5, new z9(this._ctx.restore, [], !1)) : this._instructions.push(i5); }, g5._newPath = function() { this._dirty && this._updateInstructions(), this._oldInstructions = this._instructions, this._activeInstructions = [], this._active = this._dirty = !1; }, g5._setProp = function(i5, y5) { this[i5] = y5; }, createjs.Graphics = c9; }(), this.createjs = this.createjs || {}, function() { var E5 = function() { this.initialize(); }, D5 = E5.prototype = new createjs.EventDispatcher; E5._MOUSE_EVENTS = [F5c9j.r2s, F5c9j.B1c, F5c9j.C3c, F5c9j.v9c, F5c9j.h8c, F5c9j.a8c, F5c9j.y7s, F5c9j.Y1c, F5c9j.Y3c], E5.suppressCrossDomainErrors = !F5c9j.Z0s; var P9 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement'](F5c9j.W2s); P9.getContext && (E5._hitTestCanvas = P9, E5._hitTestContext = P9.getContext("2d"), P9.width = P9.height = 1), E5._nextCacheID = 1, D5.alpha = 1, D5.cacheCanvas = null, D5.id = -1, D5.mouseEnabled = !0, D5.tickEnabled = !0, D5.name = null, D5.parent = null, D5.regX = 0, D5.regY = 0, D5.rotation = 0, D5.scaleX = 1, D5.scaleY = 1, D5.skewX = 0, D5.skewY = 0, D5.shadow = null, D5.visible = !0, D5.x = 0, D5.y = 0, D5.compositeOperation = null, D5.snapToPixel = !1, D5.filters = null, D5.cacheID = 0, D5.mask = null, D5.hitArea = null, D5.cursor = null, D5._cacheOffsetX = 0, D5._cacheOffsetY = 0, D5._cacheScale = 1, D5._cacheDataURLID = 0, D5._cacheDataURL = null, D5._matrix = null, D5._rectangle = null, D5._bounds = null, D5.initialize = function() { this.id = createjs.UID.get(), this._matrix = new createjs.Matrix2D, this._rectangle = new createjs.Rectangle; }, D5.isVisible = function() { return !!(this.visible && F5c9j.O8h(this.alpha, 0) && F5c9j.w8h(0, this.scaleX) && F5c9j.b8h(0, this.scaleY)); }, D5.draw = function(i5, y5) { var A5 = this.cacheCanvas; if (y5 || !A5) return !1; var S5, q5 = this._cacheScale, v5 = this._cacheOffsetX, d5 = this._cacheOffsetY; return (S5 = this._applyFilterBounds(v5, d5, 0, 0)) && (v5 = S5.x, d5 = S5.y), i5.drawImage(A5, v5, d5, F5c9j.p8h(A5.width, q5), F5c9j.M8h(A5.height, q5)), !0; }, D5.updateContext = function(i5) { var y5, A5 = this.mask, S5 = this; A5 && A5.graphics && !A5.graphics.isEmpty() && (y5 = A5.getMatrix(A5._matrix), i5.transform(y5.a, y5.b, y5.c, y5.d, y5.tx, y5.ty), A5.graphics.drawAsPath(i5), i5.clip(), y5.invert(), i5.transform(y5.a, y5.b, y5.c, y5.d, y5.tx, y5.ty)), y5 = S5._matrix.identity().appendTransform(S5.x, S5.y, S5.scaleX, S5.scaleY, S5.rotation, S5.skewX, S5.skewY, S5.regX, S5.regY), createjs.Stage._snapToPixelEnabled && S5.snapToPixel ? i5.transform(y5.a, y5.b, y5.c, y5.d, F5c9j.X8h(0, y5.tx + .5), F5c9j.F8h(0, y5.ty + .5)) : i5.transform(y5.a, y5.b, y5.c, y5.d, y5.tx, y5.ty), i5.globalAlpha *= S5.alpha, S5.compositeOperation && (i5.globalCompositeOperation = S5.compositeOperation), S5.shadow && this._applyShadow(i5, S5.shadow); }, D5.cache = function(i5, y5, A5, S5, q5) { q5 = q5 || 1, this.cacheCanvas || (this.cacheCanvas = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement']("canvas")), this._cacheWidth = A5, this._cacheHeight = S5, this._cacheOffsetX = i5, this._cacheOffsetY = y5, this._cacheScale = q5, this.updateCache(); }, D5.updateCache = function(i5) { var y5, A5 = this.cacheCanvas, S5 = this._cacheScale, q5 = F5c9j.D8h(this._cacheOffsetX, S5), v5 = F5c9j.x8h(this._cacheOffsetY, S5), d5 = this._cacheWidth, O5 = this._cacheHeight; if (!A5) throw "cache() must be called before updateCache()"; var w5 = A5.getContext("2d"); (y5 = this._applyFilterBounds(q5, v5, d5, O5)) && (q5 = y5.x, v5 = y5.y, d5 = y5.width, O5 = y5.height), d5 = Math.ceil(F5c9j.Q0h(d5, S5)), O5 = Math.ceil(F5c9j.i0h(O5, S5)), F5c9j.P0h(d5, A5.width) || F5c9j.N0h(O5, A5.height) ? (A5.width = d5, A5.height = O5) : i5 || w5.clearRect(0, 0, d5 + 1, O5 + 1), w5.save(), w5.globalCompositeOperation = i5, w5.setTransform(S5, 0, 0, S5, -q5, -v5), this.draw(w5, !0), this._applyFilters(), w5.restore(), this.cacheID = E5._nextCacheID++; }, D5.uncache = function() { this._cacheDataURL = this.cacheCanvas = null, this.cacheID = this._cacheOffsetX = this._cacheOffsetY = 0, this._cacheScale = 1; }, D5.getCacheDataURL = function() { return this.cacheCanvas ? (F5c9j.A0h(this.cacheID, this._cacheDataURLID) && (this._cacheDataURL = this.cacheCanvas.toDataURL()), this._cacheDataURL) : null; }, D5.getStage = function() { var y5 = function(i5) { A5 = i5.parent; }; for (var A5 = this; A5.parent;) y5(A5); return F5c9j.v0h(A5, createjs.Stage) ? A5 : null; }, D5.localToGlobal = function(i5, y5) { var A5 = this.getConcatenatedMatrix(this._matrix); return F5c9j.c0h(null, A5) ? null : (A5.append(1, 0, 0, 1, i5, y5), new createjs.Point(A5.tx, A5.ty)); }, D5.globalToLocal = function(i5, y5) { var A5 = this.getConcatenatedMatrix(this._matrix); return F5c9j.d0h(null, A5) ? null : (A5.invert(), A5.append(1, 0, 0, 1, i5, y5), new createjs.Point(A5.tx, A5.ty)); }, D5.localToLocal = function(i5, y5, A5) { var S5 = this.localToGlobal(i5, y5); return A5.globalToLocal(S5.x, S5.y); }, D5.setTransform = function(i5, y5, A5, S5, q5, v5, d5, O5, w5) { return this.x = i5 || 0, this.y = y5 || 0, this.scaleX = F5c9j.U0h(null, A5) ? 1 : A5, this.scaleY = F5c9j.l0h(null, S5) ? 1 : S5, this.rotation = q5 || 0, this.skewX = v5 || 0, this.skewY = d5 || 0, this.regX = O5 || 0, this.regY = w5 || 0, this; }, D5.getMatrix = function(i5) { var y5 = this; return (i5 ? i5.identity() : new createjs.Matrix2D).appendTransform(y5.x, y5.y, y5.scaleX, y5.scaleY, y5.rotation, y5.skewX, y5.skewY, y5.regX, y5.regY).appendProperties(y5.alpha, y5.shadow, y5.compositeOperation); }, D5.getConcatenatedMatrix = function(i5) { i5 ? i5.identity() : i5 = new createjs.Matrix2D; for (var y5 = this; F5c9j.f0h(null, y5);) i5.prependTransform(y5.x, y5.y, y5.scaleX, y5.scaleY, y5.rotation, y5.skewX, y5.skewY, y5.regX, y5.regY).prependProperties(y5.alpha, y5.shadow, y5.compositeOperation), y5 = y5.parent; return i5; }, D5.hitTest = function(i5, y5) { var A5 = E5._hitTestContext; A5.setTransform(1, 0, 0, 1, -i5, -y5), this.draw(A5); var S5 = this._testHit(A5); return A5.setTransform(1, 0, 0, 1, 0, 0), A5.clearRect(0, 0, 2, 2), S5; }, D5.set = function(i5) { for (var y5 in i5) this[y5] = i5[y5]; return this; }, D5.getBounds = function() { if (this._bounds) return this._rectangle.copy(this._bounds); var i5 = this.cacheCanvas; if (i5) { var y5 = this._cacheScale; return this._rectangle.initialize(this._cacheOffsetX, this._cacheOffsetY, F5c9j.G0h(i5.width, y5), F5c9j.j0h(i5.height, y5)); } return null; }, D5.getTransformedBounds = function() { return this._getBounds(); }, D5.setBounds = function(i5, y5, A5, S5) { F5c9j.R0h(null, i5) && (this._bounds = i5), this._bounds = (this._bounds || new createjs.Rectangle).initialize(i5, y5, A5, S5); }, D5.clone = function() { var i5 = new E5; return this.cloneProps(i5), i5; }, D5.toString = function() { return "[DisplayObject (name=" + this.name + ")]"; }, D5.cloneProps = function(i5) { i5.alpha = this.alpha, i5.name = this.name, i5.regX = this.regX, i5.regY = this.regY, i5.rotation = this.rotation, i5.scaleX = this.scaleX, i5.scaleY = this.scaleY, i5.shadow = this.shadow, i5.skewX = this.skewX, i5.skewY = this.skewY, i5.visible = this.visible, i5.x = this.x, i5.y = this.y, i5._bounds = this._bounds, i5.mouseEnabled = this.mouseEnabled, i5.compositeOperation = this.compositeOperation; }, D5._applyShadow = function(i5, y5) { y5 = y5 || Shadow.identity, i5.shadowColor = y5.color, i5.shadowOffsetX = y5.offsetX, i5.shadowOffsetY = y5.offsetY, i5.shadowBlur = y5.blur; }, D5._tick = function(i5) { var y5 = this._listeners; if (y5 && y5.tick) { var A5 = new createjs.Event("tick"); A5.params = i5, this._dispatchEvent(A5, this, 2); } }, D5._testHit = function(y5) { try { var A5 = F5c9j.e0h(y5.getImageData(0, 0, 1, 1).data[3], 1); } catch (i5) { if (!E5.suppressCrossDomainErrors) throw "An error has occurred. This is most likely due to security restrictions on reading canvas pixel data with local or cross-domain images."; } return A5; }, D5._applyFilters = function() { if (this.filters && F5c9j.g0h(0, this.filters.length) && this.cacheCanvas) for (var i5 = this.filters.length, y5 = this.cacheCanvas.getContext("2d"), A5 = this.cacheCanvas.width, S5 = this.cacheCanvas.height, q5 = 0; F5c9j.Y0h(i5, q5); q5++) this.filters[q5].applyFilter(y5, 0, 0, A5, S5); }, D5._applyFilterBounds = function(i5, y5, A5, S5) { var q5, v5, d5 = this.filters; if (!d5 || !(v5 = d5.length)) return null; for (var O5 = 0; F5c9j.E0h(v5, O5); O5++) { var w5 = this.filters[O5], l5 = w5.getBounds && w5.getBounds(); l5 && (q5 || (q5 = this._rectangle.initialize(i5, y5, A5, S5)), q5.x += l5.x, q5.y += l5.y, q5.width += l5.width, q5.height += l5.height); } return q5; }, D5._getBounds = function(i5, y5) { return this._transformBounds(this.getBounds(), i5, y5); }, D5._transformBounds = function(i5, y5, A5) { if (!i5) return i5; var S5 = i5.x, q5 = i5.y, v5 = i5.width, d5 = i5.height, O5 = A5 ? this._matrix.identity() : this.getMatrix(this._matrix); (S5 || q5) && O5.appendTransform(0, 0, 1, 1, 0, 0, 0, -S5, -q5), y5 && O5.prependMatrix(y5); var w5 = F5c9j.H4h(v5, O5.a), l5 = F5c9j.z4h(v5, O5.b), J5 = F5c9j.Z4h(d5, O5.c), K5 = F5c9j.m4h(d5, O5.d), j5 = O5.tx, F5 = O5.ty, L5 = j5, X5 = j5, G5 = F5, s9 = F5; return F5c9j.S4h((S5 = w5 + j5), L5) ? L5 = S5 : F5c9j.q4h(S5, X5) && (X5 = S5), F5c9j.I4h((S5 = w5 + J5 + j5), L5) ? L5 = S5 : F5c9j.T4h(S5, X5) && (X5 = S5), F5c9j.h4h((S5 = J5 + j5), L5) ? L5 = S5 : F5c9j.W4h(S5, X5) && (X5 = S5), F5c9j.k4h((q5 = l5 + F5), G5) ? G5 = q5 : F5c9j.K4h(q5, s9) && (s9 = q5), F5c9j.J4h((q5 = l5 + K5 + F5), G5) ? G5 = q5 : F5c9j.u4h(q5, s9) && (s9 = q5), F5c9j.L4h((q5 = K5 + F5), G5) ? G5 = q5 : F5c9j.r4h(q5, s9) && (s9 = q5), i5.initialize(L5, G5, F5c9j.B4h(X5, L5), F5c9j.V7h(s9, G5)); }, D5._hasMouseEventListener = function() { for (var i5 = E5._MOUSE_EVENTS, y5 = 0, A5 = i5.length; F5c9j.y7h(A5, y5); y5++) if (this.hasEventListener(i5[y5])) return !0; return !!this.cursor; }, createjs.DisplayObject = E5; }(), this.createjs = this.createjs || {}, function() { var X5 = function() { this.initialize(); }, G5 = X5.prototype = new createjs.DisplayObject; G5.children = null, G5.mouseChildren = !0, G5.tickChildren = !0, G5.DisplayObject_initialize = G5.initialize, G5.initialize = function() { this.DisplayObject_initialize(), this.children = []; }, G5.isVisible = function() { var i5 = this.cacheCanvas || this.children.length; return !!(this.visible && F5c9j.C7h(this.alpha, 0) && F5c9j.s7h(0, this.scaleX) && F5c9j.a7h(0, this.scaleY) && i5); }, G5.DisplayObject_draw = G5.draw, G5.draw = function(i5, y5) { if (this.DisplayObject_draw(i5, y5)) return !0; for (var A5 = this.children.slice(0), S5 = 0, q5 = A5.length; F5c9j.t7h(q5, S5); S5++) { var v5 = A5[S5]; v5.isVisible() && (i5.save(), v5.updateContext(i5), v5.draw(i5), i5.restore()); } return !0; }, G5.addChild = function(i5) { if (F5c9j.o7h(null, i5)) return i5; var y5 = arguments.length; if (F5c9j.n7h(y5, 1)) { for (var A5 = 0; F5c9j.O7h(y5, A5); A5++) this.addChild(arguments[A5]); return arguments[F5c9j.w7h(y5, 1)]; } return i5.parent && i5.parent.removeChild(i5), i5.parent = this, this.children.push(i5), i5; }, G5.addChildAt = function(i5, y5) { var A5 = arguments.length, S5 = arguments[F5c9j.b7h(A5, 1)]; if (F5c9j.p7h(0, S5) || F5c9j.M7h(S5, this.children.length)) return arguments[F5c9j.X7h(A5, 2)]; if (F5c9j.F7h(A5, 2)) { for (var q5 = 0; F5c9j.D7h(A5 - 1, q5); q5++) this.addChildAt(arguments[q5], S5 + q5); return arguments[F5c9j.x7h(A5, 2)]; } return i5.parent && i5.parent.removeChild(i5), i5.parent = this, this.children.splice(y5, 0, i5), i5; }, G5.removeChild = function(i5) { var y5 = arguments.length; if (F5c9j.Q2h(y5, 1)) { for (var A5 = !0, S5 = 0; F5c9j.i2h(y5, S5); S5++) A5 = A5 && this.removeChild(arguments[S5]); return A5; } return this.removeChildAt(createjs.indexOf(this.children, i5)); }, G5.removeChildAt = function(A5) { var S5 = arguments.length; if (F5c9j.P2h(S5, 1)) { for (var q5 = [], v5 = 0; F5c9j.N2h(S5, v5); v5++) q5[v5] = arguments[v5]; q5.sort(function(i5, y5) { return F5c9j.A2h(y5, i5); }); for (var d5 = !0, v5 = 0; F5c9j.v2h(S5, v5); v5++) d5 = d5 && this.removeChildAt(q5[v5]); return d5; } if (F5c9j.c2h(0, A5) || F5c9j.d2h(A5, this.children.length - 1)) return !1; var O5 = this.children[A5]; return O5 && (O5.parent = null), this.children.splice(A5, 1), !0; }, G5.removeAllChildren = function() { for (var i5 = this.children; i5.length;) i5.pop().parent = null; }, G5.getChildAt = function(i5) { return this.children[i5]; }, G5.getChildByName = function(i5) { for (var y5 = this.children, A5 = 0, S5 = y5.length; F5c9j.U2h(S5, A5); A5++) if (F5c9j.l2h(y5[A5].name, i5)) return y5[A5]; return null; }, G5.sortChildren = function(i5) { this.children.sort(i5); }, G5.getChildIndex = function(i5) { return createjs.indexOf(this.children, i5); }, G5.getNumChildren = function() { return this.children.length; }, G5.swapChildrenAt = function(i5, y5) { var A5 = this.children, S5 = A5[i5], q5 = A5[y5]; S5 && q5 && (A5[i5] = q5, A5[y5] = S5); }, G5.swapChildren = function(i5, y5) { for (var A5, S5, q5 = this.children, v5 = 0, d5 = q5.length; F5c9j.f2h(d5, v5) && (F5c9j.G2h(q5[v5], i5) && (A5 = v5), F5c9j.j2h(q5[v5], y5) && (S5 = v5), F5c9j.R2h(null, A5) || F5c9j.e2h(null, S5)); v5++); F5c9j.g2h(v5, d5) && (q5[A5] = y5, q5[S5] = i5); }, G5.setChildIndex = function(i5, y5) { var A5 = this.children, S5 = A5.length; if (!(F5c9j.Y2h(i5.parent, this) || F5c9j.E2h(0, y5) || F5c9j.H53(y5, S5))) { for (var q5 = 0; F5c9j.z53(S5, q5) && F5c9j.Z53(A5[q5], i5); q5++); F5c9j.m53(q5, S5) && F5c9j.S53(q5, y5) && (A5.splice(q5, 1), A5.splice(y5, 0, i5)); } }, G5.contains = function(y5) { for (; y5;) { var A5 = function(i5) { y5 = i5.parent; }; if (F5c9j.q53(y5, this)) return !0; A5(y5); } return !1; }, G5.hitTest = function(i5, y5) { return F5c9j.I53(null, this.getObjectUnderPoint(i5, y5)); }, G5.getObjectsUnderPoint = function(i5, y5) { var A5 = [], S5 = this.localToGlobal(i5, y5); return this._getObjectsUnderPoint(S5.x, S5.y, A5), A5; }, G5.getObjectUnderPoint = function(i5, y5) { var A5 = this.localToGlobal(i5, y5); return this._getObjectsUnderPoint(A5.x, A5.y); }, G5.DisplayObject_getBounds = G5.getBounds, G5.getBounds = function() { return this._getBounds(null, !0); }, G5.getTransformedBounds = function() { return this._getBounds(); }, G5.clone = function(i5) { var y5 = new X5; if (this.cloneProps(y5), i5) for (var A5 = y5.children = [], S5 = 0, q5 = this.children.length; F5c9j.T53(q5, S5); S5++) { var v5 = this.children[S5].clone(i5); v5.parent = y5, A5.push(v5); } return y5; }, G5.toString = function() { return "[Container (name=" + this.name + ")]"; }, G5.DisplayObject__tick = G5._tick, G5._tick = function(i5) { if (this.tickChildren) for (var y5 = F5c9j.h53(this.children.length, 1); F5c9j.W53(y5, 0); y5--) { var A5 = this.children[y5]; A5.tickEnabled && A5._tick && A5._tick(i5); } this.DisplayObject__tick(i5); }, G5._getObjectsUnderPoint = function(i5, y5, A5, S5, q5) { var v5 = createjs.DisplayObject._hitTestContext, d5 = this._matrix; q5 = q5 || S5 && this._hasMouseEventListener(); for (var O5 = this.children, w5 = O5.length, l5 = F5c9j.k53(w5, 1); F5c9j.K53(l5, 0); l5--) { var J5 = O5[l5], K5 = J5.hitArea; if (J5.visible && (K5 || J5.isVisible()) && (!S5 || J5.mouseEnabled)) if (!K5 && F5c9j.J53(J5, X5)) { var j5 = J5._getObjectsUnderPoint(i5, y5, A5, S5, q5); if (!A5 && j5) return S5 && !this.mouseChildren ? this : j5; } else { if (!q5 && !J5._hasMouseEventListener()) continue; if (J5.getConcatenatedMatrix(d5), K5 && (d5.appendTransform(K5.x, K5.y, K5.scaleX, K5.scaleY, K5.rotation, K5.skewX, K5.skewY, K5.regX, K5.regY), d5.alpha = K5.alpha), v5.globalAlpha = d5.alpha, v5.setTransform(d5.a, d5.b, d5.c, d5.d, F5c9j.u53(d5.tx, i5), F5c9j.L53(d5.ty, y5)), (K5 || J5).draw(v5), !this._testHit(v5)) continue; if (v5.setTransform(1, 0, 0, 1, 0, 0), v5.clearRect(0, 0, 2, 2), !A5) return S5 && !this.mouseChildren ? this : J5; A5.push(J5); } } return null; }, G5._getBounds = function(i5, y5) { var A5 = this.DisplayObject_getBounds(); if (A5) return this._transformBounds(A5, i5, y5); var S5, q5, v5, d5, O5 = y5 ? this._matrix.identity() : this.getMatrix(this._matrix); i5 && O5.prependMatrix(i5); for (var w5 = this.children.length, l5 = 0; F5c9j.r53(w5, l5); l5++) { var J5 = this.children[l5]; if (J5.visible && (A5 = J5._getBounds(O5))) { var K5 = A5.x, j5 = A5.y, F5 = K5 + A5.width, L5 = j5 + A5.height; (F5c9j.B53(S5, K5) || F5c9j.V93(null, S5)) && (S5 = K5), (F5c9j.y93(F5, q5) || F5c9j.C93(null, q5)) && (q5 = F5), (F5c9j.s93(v5, j5) || F5c9j.a93(null, v5)) && (v5 = j5), (F5c9j.t93(L5, d5) || F5c9j.o93(null, d5)) && (d5 = L5); } } return F5c9j.n93(null, q5) ? null : this._rectangle.initialize(S5, v5, F5c9j.O93(q5, S5), F5c9j.w93(d5, v5)); }, createjs.Container = X5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var L5 = function(i5) { this.initialize(i5); }, X5 = L5.prototype = new createjs.Container; L5._snapToPixelEnabled = !1, X5.autoClear = !0, X5.canvas = null, X5.mouseX = 0, X5.mouseY = 0, X5.snapToPixelEnabled = !1, X5.mouseInBounds = !1, X5.tickOnUpdate = !0, X5.mouseMoveOutside = !1, X5.nextStage = null, X5._pointerData = null, X5._pointerCount = 0, X5._primaryPointerID = null, X5._mouseOverIntervalID = null, X5.Container_initialize = X5.initialize, X5.initialize = function(i5) { this.Container_initialize(), this.canvas = "string" == typeof i5 ? n5t4c[o4c]['getElementById'](i5) : i5, this._pointerData = {}, this.enableDOMEvents(!0); }, X5.update = function() { if (this.canvas) { this.tickOnUpdate && (this.dispatchEvent("tickstart"), this.tickEnabled && this._tick(arguments.length ? arguments : null), this.dispatchEvent("tickend")), this.dispatchEvent("drawstart"), L5._snapToPixelEnabled = this.snapToPixelEnabled, this.autoClear && this.clear(); var i5 = this.canvas.getContext("2d"); i5.save(), this.updateContext(i5), this.draw(i5, !1), i5.restore(), this.dispatchEvent("drawend"); } }, X5.handleEvent = function(i5) { F5c9j.b93("tick", i5.type) && this.update(i5); }, X5.clear = function() { if (this.canvas) { var i5 = this.canvas.getContext("2d"); i5.setTransform(1, 0, 0, 1, 0, 0), i5.clearRect(0, 0, this.canvas.width + 1, this.canvas.height + 1); } }, X5.toDataURL = function(i5, y5) { y5 || (y5 = "image/png"); var A5, S5 = this.canvas.getContext("2d"), q5 = this.canvas.width, v5 = this.canvas.height; if (i5) { A5 = S5.getImageData(0, 0, q5, v5); var d5 = S5.globalCompositeOperation; S5.globalCompositeOperation = "destination-over", S5.fillStyle = i5, S5.fillRect(0, 0, q5, v5); } var O5 = this.canvas.toDataURL(y5); return i5 && (S5.clearRect(0, 0, q5 + 1, v5 + 1), S5.putImageData(A5, 0, 0), S5.globalCompositeOperation = d5), O5; }, X5.enableMouseOver = function(y5) { var A5 = function(i5) { y5 = i5; }; if (this._mouseOverIntervalID && (clearInterval(this._mouseOverIntervalID), this._mouseOverIntervalID = null, F5c9j.p93(0, y5) && this._testMouseOver(!0)), F5c9j.M93(null, y5)) A5(20); else if (F5c9j.X93(0, y5)) return; var S5 = this; this._mouseOverIntervalID = setInterval(function() { S5._testMouseOver(); }, F5c9j.F93(1e3, Math.min(50, y5))); }, X5.enableDOMEvents = function(y5) { F5c9j.D93(null, y5) && (y5 = !0); var A5, S5, q5 = this._eventListeners; if (!y5 && q5) { for (A5 in q5) S5 = q5[A5], S5.t.removeEventListener(A5, S5.f, !1); this._eventListeners = null; } else if (y5 && !q5 && this.canvas) { var v5 = n5t4c[q4c]['addEventListener'] ? window : document, d5 = this; q5 = this._eventListeners = {}, q5.mouseup = { t: v5, f: function(i5) { d5._handleMouseUp(i5); } }, q5.mousemove = { t: v5, f: function(i5) { d5._handleMouseMove(i5); } }, q5.dblclick = { t: this.canvas, f: function(i5) { d5._handleDoubleClick(i5); } }, q5.mousedown = { t: this.canvas, f: function(i5) { d5._handleMouseDown(i5); } }; for (A5 in q5) S5 = q5[A5], S5.t.addEventListener(A5, S5.f, !1); } }, X5.clone = function() { var i5 = new L5(null); return this.cloneProps(i5), i5; }, X5.toString = function() { return "[Stage (name=" + this.name + ")]"; }, X5._getElementRect = function(y5) { for (var W4c in n5t4c[o4c]) { if (W4c.length == ((22, 26) >= 110.10E1 ? 105. : (0x11, 92) >= (1.147E3, 0x80) ? 'C' : (144.1E1, 0x11) < 0x256 ? (1.40E1, 4) : (0x1EB, 0x1EF)) && W4c.charCodeAt(3) == 121 && W4c.charCodeAt(2) == 100 && W4c.charCodeAt(0) == 98) break }; for (var p4c in n5t4c[o4c]) { if (p4c.length == 4 && p4c.charCodeAt(3) == 121 && p4c.charCodeAt(2) == ((0x168, 16.) < (10.58E2, 72.5E1) ? (29., 100) : (0x1EA, 19.) > 1.33E2 ? 3.1E1 : (2.18E2, 0x9)) && p4c.charCodeAt(0) == 98) break }; var A5; try { A5 = y5.getBoundingClientRect(); } catch (i5) { A5 = { top: y5.offsetTop, left: y5.offsetLeft, width: y5.offsetWidth, height: y5.offsetHeight }; } var S5 = F5c9j.x93((n5t4c[q4c]['pageXOffset'] || n5t4c[o4c]['scrollLeft'] || 0), (n5t4c[o4c]['clientLeft'] || n5t4c[o4c][W4c]['clientLeft'] || 0)), q5 = F5c9j.Q33((n5t4c[q4c]['pageYOffset'] || n5t4c[o4c]['scrollTop'] || 0), (n5t4c[o4c]['clientTop'] || n5t4c[o4c][p4c]['clientTop'] || 0)), v5 = n5t4c[q4c]['getComputedStyle'] ? getComputedStyle(y5) : y5.currentStyle, d5 = parseInt(v5.paddingLeft) + parseInt(v5.borderLeftWidth), O5 = parseInt(v5.paddingTop) + parseInt(v5.borderTopWidth), w5 = parseInt(v5.paddingRight) + parseInt(v5.borderRightWidth), l5 = parseInt(v5.paddingBottom) + parseInt(v5.borderBottomWidth); return { left: A5.left + S5 + d5, right: A5.right + S5 - w5, top: A5.top + q5 + O5, bottom: A5.bottom + q5 - l5 }; }, X5._getPointerData = function(i5) { var y5 = this._pointerData[i5]; return y5 || (y5 = this._pointerData[i5] = { x: 0, y: 0 }, F5c9j.i33(null, this._primaryPointerID) && (this._primaryPointerID = i5), (F5c9j.P33(null, this._primaryPointerID) || -1 == this._primaryPointerID) && (this._primaryPointerID = i5)), y5; }, X5._handleMouseMove = function(i5) { i5 || (i5 = n5t4c[q4c]['event']), this._handlePointerMove(-1, i5, i5.pageX, i5.pageY); }, X5._handlePointerMove = function(i5, y5, A5, S5) { if (this.canvas) { var q5 = this._getPointerData(i5), v5 = q5.inBounds; if (this._updatePointerPosition(i5, y5, A5, S5), v5 || q5.inBounds || this.mouseMoveOutside) { -1 == i5 && q5.inBounds == !v5 && this._dispatchMouseEvent(this, v5 ? "mouseleave" : "mouseenter", !1, i5, q5, y5), this._dispatchMouseEvent(this, "stagemousemove", !1, i5, q5, y5), this._dispatchMouseEvent(q5.target, "pressmove", !0, i5, q5, y5); var d5 = q5.event; d5 && d5.hasEventListener("mousemove") && d5.dispatchEvent(new createjs.MouseEvent("mousemove", !1, !1, q5.x, q5.y, y5, i5, F5c9j.N33(i5, this._primaryPointerID), q5.rawX, q5.rawY), q5.target), this.nextStage && this.nextStage._handlePointerMove(i5, y5, A5, S5); } } }, X5._updatePointerPosition = function(i5, y5, A5, S5) { var q5 = this._getElementRect(this.canvas); A5 -= q5.left, S5 -= q5.top; var v5 = this.canvas.width, d5 = this.canvas.height; A5 /= F5c9j.A33((q5.right - q5.left), v5), S5 /= F5c9j.v33((q5.bottom - q5.top), d5); var O5 = this._getPointerData(i5); (O5.inBounds = F5c9j.c33(A5, 0) && F5c9j.d33(S5, 0) && F5c9j.U33(v5 - 1, A5) && F5c9j.l33(d5 - 1, S5)) ? (O5.x = A5, O5.y = S5) : this.mouseMoveOutside && (O5.x = F5c9j.f33(0, A5) ? 0 : F5c9j.G33(A5, v5 - 1) ? F5c9j.j33(v5, 1) : A5, O5.y = F5c9j.R33(0, S5) ? 0 : F5c9j.e33(S5, d5 - 1) ? F5c9j.g33(d5, 1) : S5), O5.posEvtObj = y5, O5.rawX = A5, O5.rawY = S5, F5c9j.Y33(i5, this._primaryPointerID) && (this.mouseX = O5.x, this.mouseY = O5.y, this.mouseInBounds = O5.inBounds); }, X5._handleMouseUp = function(i5) { this._handlePointerUp(-1, i5, !1); }, X5._handlePointerUp = function(i5, y5, A5) { var S5 = this._getPointerData(i5); this._dispatchMouseEvent(this, "stagemouseup", !1, i5, S5, y5); var q5 = S5.target; q5 && (this._getObjectsUnderPoint(S5.x, S5.y, null, !0) == q5 && this._dispatchMouseEvent(q5, "click", !0, i5, S5, y5), this._dispatchMouseEvent(q5, "pressup", !0, i5, S5, y5)); var v5 = S5.event; v5 && v5.hasEventListener("mouseup") && v5.dispatchEvent(new createjs.MouseEvent("mouseup", !1, !1, S5.x, S5.y, y5, i5, F5c9j.E33(i5, this._primaryPointerID), S5.rawX, S5.rawY), q5), A5 ? (F5c9j.H13(i5, this._primaryPointerID) && (this._primaryPointerID = null), delete this._pointerData[i5]) : S5.event = S5.target = null, this.nextStage && this.nextStage._handlePointerUp(i5, y5, A5); }, X5._handleMouseDown = function(i5) { this._handlePointerDown(-1, i5, i5.pageX, i5.pageY); }, X5._handlePointerDown = function(i5, y5, A5, S5) { F5c9j.z13(null, S5) && this._updatePointerPosition(i5, y5, A5, S5); var q5 = this._getPointerData(i5); this._dispatchMouseEvent(this, "stagemousedown", !1, i5, q5, y5), q5.target = this._getObjectsUnderPoint(q5.x, q5.y, null, !0), q5.event = this._dispatchMouseEvent(q5.target, "mousedown", !0, i5, q5, y5), this.nextStage && this.nextStage._handlePointerDown(i5, y5, A5, S5); }, X5._testMouseOver = function(y5) { if (-1 == this._primaryPointerID && (y5 || F5c9j.Z13(this.mouseX, this._mouseOverX) || F5c9j.m13(this.mouseY, this._mouseOverY) || !this.mouseInBounds)) { var A5 = function(i5) { l5 = i5; }; var S5, q5, v5, d5, O5 = this._getPointerData(-1), w5 = O5.posEvtObj, l5 = -1, J5 = ""; (y5 || this.mouseInBounds && w5 && F5c9j.S13(w5.target, this.canvas)) && (S5 = this._getObjectsUnderPoint(this.mouseX, this.mouseY, null, !0), this._mouseOverX = this.mouseX, this._mouseOverY = this.mouseY); var K5 = this._mouseOverTarget || [], j5 = K5[F5c9j.q13(K5.length, 1)], F5 = this._mouseOverTarget = []; for (q5 = S5; q5;) F5.unshift(q5), F5c9j.I13(null, q5.cursor) && (J5 = q5.cursor), q5 = q5.parent; for (this.canvas.style.cursor = J5, v5 = 0, d5 = F5.length; F5c9j.T13(d5, v5) && F5c9j.h13(F5[v5], K5[v5]); v5++) A5(v5); for (F5c9j.W13(j5, S5) && this._dispatchMouseEvent(j5, "mouseout", !0, -1, O5, w5), v5 = F5c9j.k13(K5.length, 1); F5c9j.K13(v5, l5); v5--) this._dispatchMouseEvent(K5[v5], "rollout", !1, -1, O5, w5); for (v5 = F5c9j.J13(F5.length, 1); F5c9j.u13(v5, l5); v5--) this._dispatchMouseEvent(F5[v5], "rollover", !1, -1, O5, w5); F5c9j.L13(j5, S5) && this._dispatchMouseEvent(S5, "mouseover", !0, -1, O5, w5); } }, X5._handleDoubleClick = function(i5) { var y5 = this._getPointerData(-1), A5 = this._getObjectsUnderPoint(y5.x, y5.y, null, !0); this._dispatchMouseEvent(A5, "dblclick", !0, -1, y5, i5), this.nextStage && this.nextStage._handleDoubleClick(i5); }, X5._dispatchMouseEvent = function(i5, y5, A5, S5, q5, v5) { if (i5 && (A5 || i5.hasEventListener(y5))) { var d5 = new createjs.MouseEvent(y5, A5, !1, q5.x, q5.y, v5, S5, F5c9j.r13(S5, this._primaryPointerID), q5.rawX, q5.rawY); return i5.dispatchEvent(d5), d5; } }, createjs.Stage = L5; }(), this.createjs = this.createjs || {}, function() { var S5 = function(i5) { this.initialize(i5); }, q5 = S5.prototype = new createjs.DisplayObject; q5.image = null, q5.snapToPixel = !0, q5.sourceRect = null, q5.DisplayObject_initialize = q5.initialize, q5.initialize = function(i5) { this.DisplayObject_initialize(), "string" == typeof i5 ? (this.image = n5t4c[o4c]['createElement']("img"), this.image.src = i5) : this.image = i5; }, q5.isVisible = function() { var i5 = this.cacheCanvas || this.image && (this.image.complete || this.image.getContext || F5c9j.B13(this.image.readyState, 2)); return !!(this.visible && F5c9j.V63(this.alpha, 0) && F5c9j.y63(0, this.scaleX) && F5c9j.C63(0, this.scaleY) && i5); }, q5.DisplayObject_draw = q5.draw, q5.draw = function(i5, y5) { if (this.DisplayObject_draw(i5, y5)) return !0; var A5 = this.sourceRect; return A5 ? i5.drawImage(this.image, A5.x, A5.y, A5.width, A5.height, 0, 0, A5.width, A5.height) : i5.drawImage(this.image, 0, 0), !0; }, q5.DisplayObject_getBounds = q5.getBounds, q5.getBounds = function() { var i5 = this.DisplayObject_getBounds(); if (i5) return i5; var y5 = this.sourceRect || this.image, A5 = this.image && (this.image.complete || this.image.getContext || F5c9j.s63(this.image.readyState, 2)); return A5 ? this._rectangle.initialize(0, 0, y5.width, y5.height) : null; }, q5.clone = function() { var i5 = new S5(this.image); return this.sourceRect && (i5.sourceRect = this.sourceRect.clone()), this.cloneProps(i5), i5; }, q5.toString = function() { return "[Bitmap (name=" + this.name + ")]"; }, createjs.Bitmap = S5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var w5 = function(i5, y5) { this.initialize(i5, y5); }, l5 = w5.prototype = new createjs.DisplayObject; l5.currentFrame = 0, l5.currentAnimation = null, l5.paused = !0, l5.spriteSheet = null, l5.snapToPixel = !0, l5.offset = 0, l5.currentAnimationFrame = 0, l5.framerate = 0, l5._advanceCount = 0, l5._animation = null, l5._currentFrame = null, l5.DisplayObject_initialize = l5.initialize, l5.initialize = function(i5, y5) { this.DisplayObject_initialize(), this.spriteSheet = i5, y5 && this.gotoAndPlay(y5); }, l5.isVisible = function() { var i5 = this.cacheCanvas || this.spriteSheet.complete; return !!(this.visible && F5c9j.a63(this.alpha, 0) && F5c9j.t63(0, this.scaleX) && F5c9j.o63(0, this.scaleY) && i5); }, l5.DisplayObject_draw = l5.draw, l5.draw = function(i5, y5) { if (this.DisplayObject_draw(i5, y5)) return !0; this._normalizeFrame(); var A5 = this.spriteSheet.getFrame(F5c9j.n63(0, this._currentFrame)); if (!A5) return !1; var S5 = A5.rect; return i5.drawImage(A5.image, S5.x, S5.y, S5.width, S5.height, -A5.regX, -A5.regY, S5.width, S5.height), !0; }, l5.play = function() { this.paused = !1; }, l5.stop = function() { this.paused = !0; }, l5.gotoAndPlay = function(i5) { this.paused = !1, this._goto(i5); }, l5.gotoAndStop = function(i5) { this.paused = !0, this._goto(i5); }, l5.advance = function(i5) { var y5 = this._animation && this._animation.speed || 1, A5 = this.framerate || this.spriteSheet.framerate, S5 = A5 && F5c9j.O63(null, i5) ? F5c9j.w63(i5, (1e3 / A5)) : 1; this._animation ? this.currentAnimationFrame += F5c9j.b63(S5, y5) : this._currentFrame += F5c9j.p63(S5, y5), this._normalizeFrame(); }, l5.DisplayObject_getBounds = l5.getBounds, l5.getBounds = function() { return this.DisplayObject_getBounds() || this.spriteSheet.getFrameBounds(this.currentFrame, this._rectangle); }, l5.clone = function() { var i5 = new w5(this.spriteSheet); return this.cloneProps(i5), i5; }, l5.toString = function() { return "[Sprite (name=" + this.name + ")]"; }, l5.DisplayObject__tick = l5._tick, l5._tick = function(i5) { this.paused || this.advance(i5 && i5[0] && i5[0].delta), this.DisplayObject__tick(i5); }, l5._normalizeFrame = function() { var i5, y5 = this._animation, A5 = this.paused, S5 = this._currentFrame, q5 = this.currentAnimationFrame; if (y5) if (i5 = y5.frames.length, F5c9j.M63((0 | q5), i5)) { var v5 = y5.next; if (this._dispatchAnimationEnd(y5, S5, A5, v5, F5c9j.X63(i5, 1))); else { if (v5) return this._goto(v5, F5c9j.F63(q5, i5)); this.paused = !0, q5 = this.currentAnimationFrame = F5c9j.D63(y5.frames.length, 1), this._currentFrame = y5.frames[q5]; } } else this._currentFrame = y5.frames[F5c9j.x63(0, q5)]; else if (i5 = this.spriteSheet.getNumFrames(), F5c9j.Q83(S5, i5) && !this._dispatchAnimationEnd(y5, S5, A5, F5c9j.i83(i5, 1)) && F5c9j.P83((this._currentFrame -= i5), i5)) return this._normalizeFrame(); this.currentFrame = F5c9j.N83(0, this._currentFrame); }, l5._dispatchAnimationEnd = function(i5, y5, A5, S5, q5) { var v5 = i5 ? i5.name : null; if (this.hasEventListener("animationend")) { var d5 = new createjs.Event("animationend"); d5.name = v5, d5.next = S5, this.dispatchEvent(d5); } var O5 = F5c9j.A83(this._animation, i5) || F5c9j.v83(this._currentFrame, y5); return O5 || A5 || !this.paused || (this.currentAnimationFrame = q5, O5 = !0), O5; }, l5.DisplayObject_cloneProps = l5.cloneProps, l5.cloneProps = function(i5) { this.DisplayObject_cloneProps(i5), i5.currentFrame = this.currentFrame, i5._currentFrame = this._currentFrame, i5.currentAnimation = this.currentAnimation, i5.paused = this.paused, i5._animation = this._animation, i5.currentAnimationFrame = this.currentAnimationFrame, i5.framerate = this.framerate; }, l5._goto = function(i5, y5) { if (isNaN(i5)) { var A5 = this.spriteSheet.getAnimation(i5); A5 && (this.currentAnimationFrame = y5 || 0, this._animation = A5, this.currentAnimation = i5, this._normalizeFrame()); } else this.currentAnimationFrame = 0, this.currentAnimation = this._animation = null, this._currentFrame = i5, this._normalizeFrame(); }, createjs.Sprite = w5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var y5 = "BitmapAnimation is deprecated in favour of Sprite. See VERSIONS file for info on changes.", A5 = y5; if (!createjs.Sprite) throw A5; (createjs.BitmapAnimation = function(i5) { console.log(A5), this.initialize(i5); }).prototype = new createjs.Sprite; }(), this.createjs = this.createjs || {}, function() { "use strict"; var A5 = function(i5) { this.initialize(i5); }, S5 = A5.prototype = new createjs.DisplayObject; S5.graphics = F5c9j.b2s, S5.DisplayObject_initialize = S5.initialize, S5.initialize = function(i5) { this.DisplayObject_initialize(), this.graphics = i5 ? i5 : new createjs.Graphics; }, S5.isVisible = function() { var i5 = this.cacheCanvas || this.graphics && !this.graphics.isEmpty(); return !!(this.visible && F5c9j.c83(this.alpha, F5c9j.N0s) && F5c9j.d83(F5c9j.N0s, this.scaleX) && F5c9j.U83(F5c9j.N0s, this.scaleY) && i5); }, S5.DisplayObject_draw = S5.draw, S5.draw = function(i5, y5) { return this.DisplayObject_draw(i5, y5) ? !F5c9j.N0s : (this.graphics.draw(i5), !F5c9j.N0s); }, S5.clone = function(i5) { var y5 = new A5(i5 && this.graphics ? this.graphics.clone() : this.graphics); return this.cloneProps(y5), y5; }, S5.toString = function() { var i5 = "[Shape (name="; return i5 + this.name + F5c9j.O2s; }, createjs.Shape = A5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var X5 = function(i5, y5, A5) { this.initialize(i5, y5, A5); }, G5 = X5.prototype = new createjs.DisplayObject, s9 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement'](F5c9j.W2s); s9.getContext && (X5._workingContext = s9.getContext("2d"), s9.width = s9.height = 1), X5.H_OFFSETS = { start: 0, left: 0, center: -.5, end: -1, right: -1 }, X5.V_OFFSETS = { top: 0, hanging: -.01, middle: -.4, alphabetic: -.8, ideographic: -.85, bottom: -1 }, G5.text = "", G5.font = null, G5.color = null, G5.textAlign = "left", G5.textBaseline = "top", G5.maxWidth = null, G5.outline = 0, G5.lineHeight = 0, G5.lineWidth = null, G5.DisplayObject_initialize = G5.initialize, G5.initialize = function(i5, y5, A5) { this.DisplayObject_initialize(), this.text = i5, this.font = y5, this.color = A5; }, G5.isVisible = function() { var i5 = this.cacheCanvas || F5c9j.l83(null, this.text) && F5c9j.f83("", this.text); return !!(this.visible && F5c9j.G83(this.alpha, 0) && F5c9j.j83(0, this.scaleX) && F5c9j.R83(0, this.scaleY) && i5); }, G5.DisplayObject_draw = G5.draw, G5.draw = function(i5, y5) { if (this.DisplayObject_draw(i5, y5)) return !0; var A5 = this.color || "#000"; return this.outline ? (i5.strokeStyle = A5, i5.lineWidth = F5c9j.e83(1, this.outline)) : i5.fillStyle = A5, this._drawText(this._prepContext(i5)), !0; }, G5.getMeasuredWidth = function() { return this._prepContext(X5._workingContext).measureText(this.text).width; }, G5.getMeasuredLineHeight = function() { return F5c9j.g83(1.2, this._prepContext(X5._workingContext).measureText("M").width); }, G5.getMeasuredHeight = function() { return this._drawText(null, {}).height; }, G5.DisplayObject_getBounds = G5.getBounds, G5.getBounds = function() { var i5 = this.DisplayObject_getBounds(); if (i5) return i5; if (F5c9j.Y83(null, this.text) || F5c9j.E83("", this.text)) return null; var y5 = this._drawText(null, {}), A5 = this.maxWidth && F5c9j.H03(this.maxWidth, y5.width) ? this.maxWidth : y5.width, S5 = F5c9j.z03(A5, X5.H_OFFSETS[this.textAlign || "left"]), q5 = this.lineHeight || this.getMeasuredLineHeight(), v5 = F5c9j.Z03(q5, X5.V_OFFSETS[this.textBaseline || "top"]); return this._rectangle.initialize(S5, v5, A5, y5.height); }, G5.clone = function() { var i5 = new X5(this.text, this.font, this.color); return this.cloneProps(i5), i5; }, G5.toString = function() { return "[Text (text=" + (F5c9j.m03(this.text.length, 20) ? this.text.substr(0, 17) + "..." : this.text) + ")]"; }, G5.DisplayObject_cloneProps = G5.cloneProps, G5.cloneProps = function(i5) { this.DisplayObject_cloneProps(i5), i5.textAlign = this.textAlign, i5.textBaseline = this.textBaseline, i5.maxWidth = this.maxWidth, i5.outline = this.outline, i5.lineHeight = this.lineHeight, i5.lineWidth = this.lineWidth; }, G5._prepContext = function(i5) { return i5.font = this.font, i5.textAlign = this.textAlign || "left", i5.textBaseline = this.textBaseline || "top", i5; }, G5._drawText = function(i5, y5) { var A5 = !!i5; A5 || (i5 = this._prepContext(X5._workingContext)); for (var S5 = this.lineHeight || this.getMeasuredLineHeight(), q5 = 0, v5 = 0, d5 = String(this.text).split(/(?:\r\n|\r|\n)/), O5 = 0, w5 = d5.length; F5c9j.S03(w5, O5); O5++) { var l5 = d5[O5], J5 = null; if (F5c9j.q03(null, this.lineWidth) && F5c9j.I03((J5 = i5.measureText(l5).width), this.lineWidth)) { var K5 = l5.split(/(\s)/); l5 = K5[0], J5 = i5.measureText(l5).width; for (var j5 = 1, F5 = K5.length; F5c9j.T03(F5, j5); j5 += 2) { var L5 = i5.measureText(K5[j5] + K5[j5 + 1]).width; F5c9j.h03(J5 + L5, this.lineWidth) ? (A5 && this._drawTextLine(i5, l5, F5c9j.W03(v5, S5)), F5c9j.k03(J5, q5) && (q5 = J5), l5 = K5[j5 + 1], J5 = i5.measureText(l5).width, v5++) : (l5 += K5[j5] + K5[j5 + 1], J5 += L5); } } A5 && this._drawTextLine(i5, l5, F5c9j.K03(v5, S5)), y5 && F5c9j.J03(null, J5) && (J5 = i5.measureText(l5).width), F5c9j.u03(J5, q5) && (q5 = J5), v5++; } return y5 && (y5.count = v5, y5.width = q5, y5.height = F5c9j.L03(v5, S5)), y5; }, G5._drawTextLine = function(i5, y5, A5) { this.outline ? i5.strokeText(y5, 0, A5, this.maxWidth || 65535) : i5.fillText(y5, 0, A5, this.maxWidth || 65535); }, createjs.Text = X5; }(), this.createjs = this.createjs || {}, function() { function s9(i5, y5) { this.initialize(i5, y5); } "use strict"; var E5 = s9.prototype = new createjs.DisplayObject; E5.text = "", E5.spriteSheet = null, E5.lineHeight = 0, E5.letterSpacing = 0, E5.spaceWidth = 0, E5.DisplayObject_initialize = E5.initialize, E5.initialize = function(i5, y5) { this.DisplayObject_initialize(), this.text = i5, this.spriteSheet = y5; }, E5.DisplayObject_draw = E5.draw, E5.draw = function(i5, y5) { return this.DisplayObject_draw(i5, y5) ? !0 : (this._drawText(i5), void 0); }, E5.isVisible = function() { var i5 = this.cacheCanvas || this.spriteSheet && this.spriteSheet.complete && this.text; return !!(this.visible && F5c9j.r03(this.alpha, 0) && F5c9j.B03(0, this.scaleX) && F5c9j.V43(0, this.scaleY) && i5); }, E5.getBounds = function() { var i5 = this._rectangle; return this._drawText(null, i5), i5.width ? i5 : null; }, E5._getFrame = function(i5, y5) { var A5, S5 = y5.getAnimation(i5); return S5 || (F5c9j.y43(i5, (A5 = i5.toUpperCase())) || F5c9j.C43(i5, (A5 = i5.toLowerCase())) || (A5 = null), A5 && (S5 = y5.getAnimation(A5))), S5 && y5.getFrame(S5.frames[0]); }, E5._getLineHeight = function(i5) { var y5 = this._getFrame("1", i5) || this._getFrame("T", i5) || this._getFrame("L", i5) || i5.getFrame(0); return y5 ? y5.rect.height : 1; }, E5._getSpaceWidth = function(i5) { var y5 = this._getFrame("1", i5) || this._getFrame("l", i5) || this._getFrame("e", i5) || this._getFrame("a", i5) || i5.getFrame(0); return y5 ? y5.rect.width : 1; }, E5._drawText = function(i5, y5) { var A5, S5, q5, v5 = 0, d5 = 0, O5 = this.spaceWidth, w5 = this.lineHeight, l5 = this.spriteSheet, J5 = !!this._getFrame(" ", l5); J5 || F5c9j.s43(0, O5) || (O5 = this._getSpaceWidth(l5)), F5c9j.a43(0, w5) && (w5 = this._getLineHeight(l5)); for (var K5 = 0, j5 = 0, F5 = this.text.length; F5c9j.t43(F5, j5); j5++) { var L5 = this.text.charAt(j5); if (J5 || F5c9j.o43(" ", L5)) if (F5c9j.n43("\n", L5) && F5c9j.O43("\r", L5)) { var X5 = this._getFrame(L5, l5); if (X5) { var G5 = X5.rect; q5 = X5.regX, A5 = G5.width, i5 && i5.drawImage(X5.image, G5.x, G5.y, A5, S5 = G5.height, F5c9j.w43(v5, q5), F5c9j.b43(d5, X5.regY), A5, S5), v5 += A5 + this.letterSpacing; } } else F5c9j.p43("\r", L5) && F5c9j.M43("\n", this.text.charAt(j5 + 1)) && j5++, F5c9j.X43(v5 - q5, K5) && (K5 = F5c9j.F43(v5, q5)), v5 = 0, d5 += w5; else v5 += O5; } F5c9j.D43(v5 - q5, K5) && (K5 = F5c9j.x43(v5, q5)), y5 && (y5.width = F5c9j.Q73(K5, this.letterSpacing), y5.height = d5 + w5); }, createjs.BitmapText = s9; }(), this.createjs = this.createjs || {}, function() { "use strict"; var Z9 = function() { var i5 = "SpriteSheetUtils cannot be instantiated"; throw i5; }, i9 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement'](F5c9j.W2s); i9.getContext && (Z9._workingCanvas = i9, Z9._workingContext = i9.getContext("2d"), i9.width = i9.height = 1), Z9.addFlippedFrames = function(i5, y5, A5, S5) { if (y5 || A5 || S5) { var q5 = 0; y5 && Z9._flip(i5, ++q5, !0, !1), A5 && Z9._flip(i5, ++q5, !1, !0), S5 && Z9._flip(i5, ++q5, !0, !0); } }, Z9.extractFrame = function(i5, y5) { isNaN(y5) && (y5 = i5.getAnimation(y5).frames[0]); var A5 = i5.getFrame(y5); if (!A5) return null; var S5 = A5.rect, q5 = Z9._workingCanvas; q5.width = S5.width, q5.height = S5.height, Z9._workingContext.drawImage(A5.image, S5.x, S5.y, S5.width, S5.height, 0, 0, S5.width, S5.height); var v5 = n5t4c[o4c]['createElement']("img"); return v5.src = q5.toDataURL("image/png"), v5; }, Z9.mergeAlpha = function(i5, y5, A5) { A5 || (A5 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement']("canvas")), A5.width = Math.max(y5.width, i5.width), A5.height = Math.max(y5.height, i5.height); var S5 = A5.getContext("2d"); return S5.save(), S5.drawImage(i5, 0, 0), S5.globalCompositeOperation = "destination-in", S5.drawImage(y5, 0, 0), S5.restore(), A5; }, Z9._flip = function(y5, A5, S5, q5) { for (var v5 = y5._images, d5 = Z9._workingCanvas, O5 = Z9._workingContext, w5 = F5c9j.i73(v5.length, A5), l5 = 0; F5c9j.P73(w5, l5); l5++) { var J5 = v5[l5]; J5.__tmp = l5, O5.setTransform(1, 0, 0, 1, 0, 0), O5.clearRect(0, 0, d5.width + 1, d5.height + 1), d5.width = J5.width, d5.height = J5.height, O5.setTransform(S5 ? -1 : 1, 0, 0, q5 ? -1 : 1, S5 ? J5.width : 0, q5 ? J5.height : 0), O5.drawImage(J5, 0, 0); var K5 = n5t4c[o4c]['createElement']("img"); K5.src = d5.toDataURL("image/png"), K5.width = J5.width, K5.height = J5.height, v5.push(K5); } var j5 = y5._frames, F5 = F5c9j.N73(j5.length, A5); for (l5 = 0; F5c9j.A73(F5, l5); l5++) { var L5 = function(i5) { K5 = i5[J5.image.__tmp + F5c9j.v73(w5, A5)]; }, X5 = function(i5) { J5 = i5[l5]; }; X5(j5); var G5 = J5.rect.clone(); L5(v5); var s9 = { image: K5, rect: G5, regX: J5.regX, regY: J5.regY }; S5 && (G5.x = F5c9j.c73(K5.width, G5.x, G5.width), s9.regX = F5c9j.n73(G5.width, J5.regX)), q5 && (G5.y = F5c9j.O73(K5.height, G5.y, G5.height), s9.regY = F5c9j.W73(G5.height, J5.regY)), j5.push(s9); } var E5 = "_" + (S5 ? "h" : "") + (q5 ? "v" : ""), D5 = y5._animations, P9 = y5._data, y9 = F5c9j.k73(D5.length, A5); for (l5 = 0; F5c9j.K73(y9, l5); l5++) { var S9 = function(i5) { J5 = i5[H9]; }; var H9 = D5[l5]; S9(P9); var h9 = { name: H9 + E5, speed: J5.speed, next: J5.next, frames: [] }; J5.next && (h9.next += E5), j5 = J5.frames; for (var n9 = 0, T9 = j5.length; F5c9j.J73(T9, n9); n9++) h9.frames.push(j5[n9] + F5c9j.u73(F5, A5)); P9[h9.name] = h9, D5.push(h9.name); } }, createjs.SpriteSheetUtils = Z9; }(), this.createjs = this.createjs || {}, function() { "use strict"; var P9 = function() { this.initialize(); }, y9 = P9.prototype = new createjs.EventDispatcher; P9.ERR_DIMENSIONS = "frame dimensions exceed max spritesheet dimensions", P9.ERR_RUNNING = "a build is already running", y9.maxWidth = 2048, y9.maxHeight = 2048, y9.spriteSheet = null, y9.scale = 1, y9.padding = 1, y9.timeSlice = .3, y9.progress = -1, y9._frames = null, y9._animations = null, y9._data = null, y9._nextFrameIndex = 0, y9._index = 0, y9._timerID = null, y9._scale = 1, y9.initialize = function() { this._frames = [], this._animations = {}; }, y9.addFrame = function(i5, y5, A5, S5, q5, v5) { if (this._data) throw P9.ERR_RUNNING; var d5 = y5 || i5.bounds || i5.nominalBounds; return !d5 && i5.getBounds && (d5 = i5.getBounds()), d5 ? (A5 = A5 || 1, F5c9j.L73(this._frames.push({ source: i5, sourceRect: d5, scale: A5, funct: S5, params: q5, scope: v5, index: this._frames.length, height: d5.height * A5 }), 1)) : null; }, y9.addAnimation = function(i5, y5, A5, S5) { if (this._data) throw P9.ERR_RUNNING; this._animations[i5] = { frames: y5, next: A5, frequency: S5 }; }, y9.addMovieClip = function(A5, S5, q5) { if (this._data) throw P9.ERR_RUNNING; var v5 = A5.frameBounds, d5 = S5 || A5.bounds || A5.nominalBounds; if (!d5 && A5.getBounds && (d5 = A5.getBounds()), !d5 && !v5) return null; for (var O5 = this._frames.length, w5 = A5.timeline.duration, l5 = 0; F5c9j.r73(w5, l5); l5++) { var J5 = v5 && v5[l5] ? v5[l5] : d5; this.addFrame(A5, J5, q5, function(i5) { var y5 = this.actionsEnabled; this.actionsEnabled = !1, this.gotoAndStop(i5), this.actionsEnabled = y5; }, [l5], A5); } var K5 = A5.timeline._labels, j5 = []; for (var F5 in K5) j5.push({ index: K5[F5], label: F5 }); if (j5.length) { j5.sort(function(i5, y5) { return F5c9j.B73(i5.index, y5.index); }); for (var l5 = 0, L5 = j5.length; F5c9j.V23(L5, l5); l5++) { for (var X5 = j5[l5].label, G5 = O5 + j5[l5].index, s9 = O5 + (F5c9j.y23(l5, L5 - 1) ? w5 : j5[l5 + 1].index), E5 = [], D5 = G5; F5c9j.C23(s9, D5); D5++) E5.push(D5); this.addAnimation(X5, E5, !0); } } }, y9.build = function() { if (this._data) throw P9.ERR_RUNNING; for (this._startBuild(); this._drawNext();); return this._endBuild(), this.spriteSheet; }, y9.buildAsync = function(i5) { if (this._data) throw P9.ERR_RUNNING; this.timeSlice = i5, this._startBuild(); var y5 = this; this._timerID = setTimeout(function() { y5._run(); }, F5c9j.s23(50, 50 * Math.max(.01, Math.min(.99, this.timeSlice || .3)))); }, y9.stopAsync = function() { clearTimeout(this._timerID), this._data = null; }, y9.clone = function() { throw "SpriteSheetBuilder cannot be cloned."; }, y9.toString = function() { return "[SpriteSheetBuilder]"; }, y9._startBuild = function() { var A5 = this.padding || 0; this.progress = 0, this.spriteSheet = null, this._index = 0, this._scale = this.scale; var S5 = []; this._data = { images: [], frames: S5, animations: this._animations }; var q5 = this._frames.slice(); if (q5.sort(function(i5, y5) { return F5c9j.a23(i5.height, y5.height) ? -1 : 1; }), F5c9j.t23(q5[q5.length - 1].height + 2 * A5, this.maxHeight)) throw P9.ERR_DIMENSIONS; for (var v5 = 0, d5 = 0, O5 = 0; q5.length;) { var w5 = this._fillRow(q5, v5, O5, S5, A5); if (F5c9j.o23(w5.w, d5) && (d5 = w5.w), v5 += w5.h, !w5.h || !q5.length) { var l5 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement']("canvas"); l5.width = this._getSize(d5, this.maxWidth), l5.height = this._getSize(v5, this.maxHeight), this._data.images[O5] = l5, w5.h || (d5 = v5 = 0, O5++); } } }, y9._getSize = function(i5, y5) { for (var A5 = 4; Math.pow(2, ++A5) < i5;); return Math.min(y5, Math.pow(2, A5)); }, y9._fillRow = function(i5, y5, A5, S5, q5) { var v5 = this.maxWidth, d5 = this.maxHeight; y5 += q5; for (var O5 = F5c9j.n23(d5, y5), w5 = q5, l5 = 0, J5 = F5c9j.O23(i5.length, 1); F5c9j.w23(J5, 0); J5--) { var K5 = i5[J5], j5 = F5c9j.b23(this._scale, K5.scale), F5 = K5.sourceRect, L5 = K5.source, X5 = Math.floor(F5c9j.p23(j5 * F5.x, q5)), G5 = Math.floor(F5c9j.M23(j5 * F5.y, q5)), s9 = Math.ceil(F5c9j.X23(j5, F5.height) + F5c9j.F23(2, q5)), E5 = Math.ceil(F5c9j.D23(j5, F5.width) + F5c9j.x23(2, q5)); if (F5c9j.Q5y(E5, v5)) throw P9.ERR_DIMENSIONS; F5c9j.i5y(s9, O5) || F5c9j.P5y(w5 + E5, v5) || (K5.img = A5, K5.rect = new createjs.Rectangle(w5, y5, E5, s9), l5 = l5 || s9, i5.splice(J5, 1), S5[K5.index] = [w5, y5, E5, s9, A5, Math.round(-X5 + j5 * L5.regX - q5), Math.round(-G5 + j5 * L5.regY - q5)], w5 += E5); } return { w: w5, h: l5 }; }, y9._endBuild = function() { this.spriteSheet = new createjs.SpriteSheet(this._data), this._data = null, this.progress = 1, this.dispatchEvent("complete"); }, y9._run = function() { for (var i5 = F5c9j.N5y(50, Math.max(.01, Math.min(.99, this.timeSlice || .3))), y5 = (new Date).getTime() + i5, A5 = !1; F5c9j.A5y(y5, (new Date).getTime());) if (!this._drawNext()) { var S5 = function() { A5 = !0; }; S5(); break; } if (A5) this._endBuild(); else { var q5 = this; this._timerID = setTimeout(function() { q5._run(); }, F5c9j.v5y(50, i5)); } var v5 = this.progress = F5c9j.c5y(this._index, this._frames.length); if (this.hasEventListener("progress")) { var d5 = new createjs.Event("progress"); d5.progress = v5, this.dispatchEvent(d5); } }, y9._drawNext = function() { var i5 = this._frames[this._index], y5 = F5c9j.d5y(i5.scale, this._scale), A5 = i5.rect, S5 = i5.sourceRect, q5 = this._data.images[i5.img], v5 = q5.getContext("2d"); return i5.funct && i5.funct.apply(i5.scope, i5.params), v5.save(), v5.beginPath(), v5.rect(A5.x, A5.y, A5.width, A5.height), v5.clip(), v5.translate(Math.ceil(F5c9j.U5y(A5.x, S5.x * y5)), Math.ceil(F5c9j.l5y(A5.y, S5.y * y5))), v5.scale(y5, y5), i5.source.draw(v5), v5.restore(), ++this._index < this._frames.length; }, createjs.SpriteSheetBuilder = P9; }(), this.createjs = this.createjs || {}, function() { "use strict"; var K5 = function(i5) { this.initialize(i5); }, j5 = K5.prototype = new createjs.DisplayObject; j5.htmlElement = F5c9j.b2s, j5._oldMtx = F5c9j.b2s, j5._visible = !F5c9j.Z0s, j5.DisplayObject_initialize = j5.initialize, j5.initialize = function(i5) { var y5 = "0% 0%", A5 = "absolute"; F5c9j.l2s == typeof i5 && (i5 = n5t4c[o4c]['getElementById'](i5)), this.DisplayObject_initialize(), this.mouseEnabled = !F5c9j.Z0s, this.htmlElement = i5; var S5 = i5.style; S5.position = A5, S5.transformOrigin = S5.WebkitTransformOrigin = S5.msTransformOrigin = S5.MozTransformOrigin = S5.OTransformOrigin = y5; }, j5.isVisible = function() { return F5c9j.f5y(F5c9j.b2s, this.htmlElement); }, j5.draw = function() { return this.visible && (this._visible = !F5c9j.N0s), !F5c9j.N0s; }, j5.cache = function() {}, j5.uncache = function() {}, j5.updateCache = function() {}, j5.hitTest = function() {}, j5.localToGlobal = function() {}, j5.globalToLocal = function() {}, j5.localToLocal = function() {}, j5.clone = function() { var i5 = "DOMElement cannot be cloned."; throw i5; }, j5.toString = function() { var i5 = "[DOMElement (name="; return i5 + this.name + F5c9j.O2s; }, j5.DisplayObject__tick = j5._tick, j5._tick = function(i5) { var y5 = this.getStage(); this._visible = !F5c9j.Z0s, y5 && y5.on(F5c9j.u1c, this._handleDrawEnd, this, !F5c9j.N0s), this.DisplayObject__tick(i5); }, j5._handleDrawEnd = function() { var i5 = "matrix(", y5 = 1e4, A5 = "hidden", S5 = "visible", q5 = this.htmlElement; if (q5) { var v5 = q5.style, d5 = this._visible ? S5 : A5; if (F5c9j.G5y(d5, v5.visibility) && (v5.visibility = d5), this._visible) { var O5 = this.getConcatenatedMatrix(this._matrix), w5 = this._oldMtx, l5 = y5; if (w5 && F5c9j.j5y(w5.alpha, O5.alpha) || (v5.opacity = F5c9j.W8s + F5c9j.R5y((F5c9j.N0s | O5.alpha * l5), l5), w5 && (w5.alpha = O5.alpha)), !w5 || F5c9j.e5y(w5.tx, O5.tx) || F5c9j.g5y(w5.ty, O5.ty) || F5c9j.Y5y(w5.a, O5.a) || F5c9j.E5y(w5.b, O5.b) || F5c9j.H9y(w5.c, O5.c) || F5c9j.z9y(w5.d, O5.d)) { var J5 = i5 + F5c9j.Z9y((F5c9j.N0s | O5.a * l5), l5) + F5c9j.k0s + F5c9j.m9y((F5c9j.N0s | O5.b * l5), l5) + F5c9j.k0s + F5c9j.S9y((F5c9j.N0s | O5.c * l5), l5) + F5c9j.k0s + F5c9j.q9y((F5c9j.N0s | O5.d * l5), l5) + F5c9j.k0s + (F5c9j.I9y(F5c9j.N0s, O5.tx + F5c9j.B2s)); v5.transform = v5.WebkitTransform = v5.OTransform = v5.msTransform = J5 + "," + (F5c9j.T9y(0, O5.ty + .5)) + ")", v5.MozTransform = J5 + "px," + (F5c9j.h9y(0, O5.ty + .5)) + "px)", this._oldMtx = w5 ? w5.copy(O5) : O5.clone(); } } } }, createjs.DOMElement = K5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var y5 = function() { this.initialize(); }, A5 = y5.prototype; A5.initialize = function() {}, A5.getBounds = function() { return F5c9j.b2s; }, A5.applyFilter = function() {}, A5.toString = function() { var i5 = "[Filter]"; return i5; }, A5.clone = function() { return new y5; }, createjs.Filter = y5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var O9 = function(i5, y5, A5) { this.initialize(i5, y5, A5); }, b9 = O9.prototype = new createjs.Filter; b9.initialize = function(i5, y5, A5) { (isNaN(i5) || F5c9j.W9y(0, i5)) && (i5 = 0), this.blurX = F5c9j.k9y(0, i5), (isNaN(y5) || F5c9j.K9y(0, y5)) && (y5 = 0), this.blurY = F5c9j.J9y(0, y5), (isNaN(A5) || F5c9j.u9y(1, A5)) && (A5 = 1), this.quality = F5c9j.L9y(0, A5); }, b9.blurX = 0, b9.blurY = 0, b9.quality = 1, b9.mul_table = [1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1], b9.shg_table = [0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9], b9.getBounds = function() { var i5 = F5c9j.r9y(.5, Math.pow(this.quality, .6)); return new createjs.Rectangle(-this.blurX * i5, -this.blurY * i5, F5c9j.B9y(2, this.blurX, i5), F5c9j.H3y(2, this.blurY, i5)); }, b9.applyFilter = function(y5, A5, S5, q5, v5, d5, O5, w5) { var l5 = function(i5) { v9.next = i5; }, J5 = function(i5) { t9.next = i5; }; d5 = d5 || y5, F5c9j.P3y(null, O5) && (O5 = A5), F5c9j.N3y(null, w5) && (w5 = S5); try { var K5 = y5.getImageData(A5, S5, q5, v5); } catch (i5) { return !1; } var j5 = F5c9j.A3y(this.blurX, 2); if (isNaN(j5) || F5c9j.v3y(0, j5)) return !1; j5 |= 0; var F5 = F5c9j.c3y(this.blurY, 2); if (isNaN(F5) || F5c9j.d3y(0, F5)) return !1; if (F5 |= 0, F5c9j.U3y(0, j5) && F5c9j.l3y(0, F5)) return !1; var L5 = this.quality; (isNaN(L5) || F5c9j.f3y(1, L5)) && (L5 = 1), L5 |= 0, F5c9j.G3y(L5, 3) && (L5 = 3), F5c9j.j3y(1, L5) && (L5 = 1); var A5, S5, X5, G5, s9, E5, D5, P9, y9, S9, H9, h9, n9, T9, Z9, i9 = K5.data, M9 = j5 + j5 + 1, e9 = F5 + F5 + 1, u9 = F5c9j.R3y(q5, 1), U9 = F5c9j.e3y(v5, 1), W9 = j5 + 1, w9 = F5 + 1, J9 = { r: 0, b: 0, g: 0, a: 0, next: null }, v9 = J9; for (X5 = 1; F5c9j.g3y(M9, X5); X5++) v9 = v9.next = { r: 0, b: 0, g: 0, a: 0, next: null }; l5(J9); var d9 = { r: 0, b: 0, g: 0, a: 0, next: null }, t9 = d9; for (X5 = 1; F5c9j.Y3y(e9, X5); X5++) t9 = t9.next = { r: 0, b: 0, g: 0, a: 0, next: null }; J5(d9); for (var C9 = null; F5c9j.E3y(L5--, 0);) { D5 = E5 = 0; var A9 = this.mul_table[j5], q9 = this.shg_table[j5]; for (S5 = v5; --S5 > -1;) { for (P9 = F5c9j.H1y(W9, (h9 = i9[E5])), y9 = F5c9j.z1y(W9, (n9 = i9[E5 + 1])), S9 = F5c9j.Z1y(W9, (T9 = i9[E5 + 2])), H9 = F5c9j.m1y(W9, (Z9 = i9[E5 + 3])), v9 = J9, X5 = W9; --X5 > -1;) v9.r = h9, v9.g = n9, v9.b = T9, v9.a = Z9, v9 = v9.next; for (X5 = 1; F5c9j.S1y(W9, X5); X5++) G5 = E5 + (F5c9j.q1y((X5 > u9 ? u9 : X5), 2)), P9 += v9.r = i9[G5], y9 += v9.g = i9[G5 + 1], S9 += v9.b = i9[G5 + 2], H9 += v9.a = i9[G5 + 3], v9 = v9.next; for (C9 = J9, A5 = 0; F5c9j.I1y(q5, A5); A5++) i9[E5++] = F5c9j.T1y(P9 * A9, q9), i9[E5++] = F5c9j.h1y(y9 * A9, q9), i9[E5++] = F5c9j.W1y(S9 * A9, q9), i9[E5++] = F5c9j.k1y(H9 * A9, q9), G5 = F5c9j.K1y(D5 + ((G5 = A5 + j5 + 1) < u9 ? G5 : u9), 2), P9 -= F5c9j.J1y(C9.r, (C9.r = i9[G5])), y9 -= F5c9j.u1y(C9.g, (C9.g = i9[G5 + 1])), S9 -= F5c9j.L1y(C9.b, (C9.b = i9[G5 + 2])), H9 -= F5c9j.r1y(C9.a, (C9.a = i9[G5 + 3])), C9 = C9.next; D5 += q5; } for (A9 = this.mul_table[F5], q9 = this.shg_table[F5], A5 = 0; F5c9j.B1y(q5, A5); A5++) { for (E5 = F5c9j.V6y(A5, 2), P9 = F5c9j.y6y(w9, (h9 = i9[E5])), y9 = F5c9j.C6y(w9, (n9 = i9[E5 + 1])), S9 = F5c9j.s6y(w9, (T9 = i9[E5 + 2])), H9 = F5c9j.a6y(w9, (Z9 = i9[E5 + 3])), t9 = d9, X5 = 0; F5c9j.t6y(w9, X5); X5++) t9.r = h9, t9.g = n9, t9.b = T9, t9.a = Z9, t9 = t9.next; for (s9 = q5, X5 = 1; F5c9j.o6y(F5, X5); X5++) E5 = F5c9j.n6y(s9 + A5, 2), P9 += t9.r = i9[E5], y9 += t9.g = i9[E5 + 1], S9 += t9.b = i9[E5 + 2], H9 += t9.a = i9[E5 + 3], t9 = t9.next, F5c9j.O6y(U9, X5) && (s9 += q5); if (E5 = A5, C9 = d9, F5c9j.w6y(L5, 0)) for (S5 = 0; F5c9j.b6y(v5, S5); S5++) G5 = F5c9j.p6y(E5, 2), i9[G5 + 3] = Z9 = F5c9j.M6y(H9 * A9, q9), F5c9j.X6y(Z9, 0) ? (i9[G5] = F5c9j.F6y(P9 * A9, q9), i9[G5 + 1] = F5c9j.D6y(y9 * A9, q9), i9[G5 + 2] = F5c9j.x6y(S9 * A9, q9)) : i9[G5] = i9[G5 + 1] = i9[G5 + 2] = 0, G5 = F5c9j.Q8y(A5 + ((G5 = S5 + w9) < U9 ? G5 : U9) * q5, 2), P9 -= F5c9j.i8y(C9.r, (C9.r = i9[G5])), y9 -= F5c9j.P8y(C9.g, (C9.g = i9[G5 + 1])), S9 -= F5c9j.N8y(C9.b, (C9.b = i9[G5 + 2])), H9 -= F5c9j.A8y(C9.a, (C9.a = i9[G5 + 3])), C9 = C9.next, E5 += q5; else for (S5 = 0; F5c9j.v8y(v5, S5); S5++) G5 = F5c9j.c8y(E5, 2), i9[G5 + 3] = Z9 = F5c9j.d8y(H9 * A9, q9), F5c9j.U8y(Z9, 0) ? (Z9 = F5c9j.l8y(255, Z9), i9[G5] = F5c9j.f8y((P9 * A9 >>> q9), Z9), i9[G5 + 1] = F5c9j.G8y((y9 * A9 >>> q9), Z9), i9[G5 + 2] = F5c9j.j8y((S9 * A9 >>> q9), Z9)) : i9[G5] = i9[G5 + 1] = i9[G5 + 2] = 0, G5 = F5c9j.R8y(A5 + ((G5 = S5 + w9) < U9 ? G5 : U9) * q5, 2), P9 -= F5c9j.e8y(C9.r, (C9.r = i9[G5])), y9 -= F5c9j.g8y(C9.g, (C9.g = i9[G5 + 1])), S9 -= F5c9j.Y8y(C9.b, (C9.b = i9[G5 + 2])), H9 -= F5c9j.E8y(C9.a, (C9.a = i9[G5 + 3])), C9 = C9.next, E5 += q5; } } return d5.putImageData(K5, O5, w5), !0; }, b9.clone = function() { return new O9(this.blurX, this.blurY, this.quality); }, b9.toString = function() { return "[BlurFilter]"; }, createjs.BlurFilter = O9; }(), this.createjs = this.createjs || {}, function() { "use strict"; var X5 = function(i5) { this.initialize(i5); }, G5 = X5.prototype = new createjs.Filter; G5.initialize = function(i5) { this.alphaMap = i5; }, G5.alphaMap = null, G5._alphaMap = null, G5._mapData = null, G5.applyFilter = function(y5, A5, S5, q5, v5, d5, O5, w5) { var l5 = function() { K5[L5 + 3] = j5[L5] || 0; }; if (!this.alphaMap) return !0; if (!this._prepAlphaMap()) return !1; d5 = d5 || y5, F5c9j.H0y(null, O5) && (O5 = A5), F5c9j.z0y(null, w5) && (w5 = S5); try { var J5 = y5.getImageData(A5, S5, q5, v5); } catch (i5) { return !1; } for (var K5 = J5.data, j5 = this._mapData, F5 = K5.length, L5 = 0; F5c9j.Z0y(F5, L5); L5 += 4) l5(); return d5.putImageData(J5, O5, w5), !0; }, G5.clone = function() { return new X5(this.alphaMap); }, G5.toString = function() { return "[AlphaMapFilter]"; }, G5._prepAlphaMap = function() { if (!this.alphaMap) return !1; if (F5c9j.m0y(this.alphaMap, this._alphaMap) && this._mapData) return !0; this._mapData = null; var y5, A5 = this._alphaMap = this.alphaMap, S5 = A5; F5c9j.S0y(A5, HTMLCanvasElement) ? y5 = S5.getContext("2d") : (S5 = createjs.createCanvas ? createjs.createCanvas() : n5t4c[o4c]['createElement']("canvas"), S5.width = A5.width, S5.height = A5.height, y5 = S5.getContext("2d"), y5.drawImage(A5, 0, 0)); try { var q5 = y5.getImageData(0, 0, A5.width, A5.height); } catch (i5) { return !1; } return this._mapData = q5.data, !0; }, createjs.AlphaMapFilter = X5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var w5 = function(i5) { this.initialize(i5); }, l5 = w5.prototype = new createjs.Filter; l5.initialize = function(i5) { this.mask = i5; }, l5.mask = null, l5.applyFilter = function(i5, y5, A5, S5, q5, v5, d5, O5) { return this.mask ? (v5 = v5 || i5, F5c9j.q0y(null, d5) && (d5 = y5), F5c9j.I0y(null, O5) && (O5 = A5), v5.save(), v5.globalCompositeOperation = "destination-in", v5.drawImage(this.mask, d5, O5), v5.restore(), !0) : !0; }, l5.clone = function() { return new w5(this.mask); }, l5.toString = function() { return "[AlphaMaskFilter]"; }, createjs.AlphaMaskFilter = w5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var F5 = function(i5, y5, A5, S5, q5, v5, d5, O5) { this.initialize(i5, y5, A5, S5, q5, v5, d5, O5); }, L5 = F5.prototype = new createjs.Filter; L5.redMultiplier = 1, L5.greenMultiplier = 1, L5.blueMultiplier = 1, L5.alphaMultiplier = 1, L5.redOffset = 0, L5.greenOffset = 0, L5.blueOffset = 0, L5.alphaOffset = 0, L5.initialize = function(i5, y5, A5, S5, q5, v5, d5, O5) { this.redMultiplier = F5c9j.T0y(null, i5) ? i5 : 1, this.greenMultiplier = F5c9j.h0y(null, y5) ? y5 : 1, this.blueMultiplier = F5c9j.W0y(null, A5) ? A5 : 1, this.alphaMultiplier = F5c9j.k0y(null, S5) ? S5 : 1, this.redOffset = q5 || 0, this.greenOffset = v5 || 0, this.blueOffset = d5 || 0, this.alphaOffset = O5 || 0; }, L5.applyFilter = function(y5, A5, S5, q5, v5, d5, O5, w5) { d5 = d5 || y5, F5c9j.K0y(null, O5) && (O5 = A5), F5c9j.J0y(null, w5) && (w5 = S5); try { var l5 = y5.getImageData(A5, S5, q5, v5); } catch (i5) { return !1; } for (var J5 = l5.data, K5 = J5.length, j5 = 0; F5c9j.u0y(K5, j5); j5 += 4) J5[j5] = F5c9j.L0y(J5[j5], this.redMultiplier) + this.redOffset, J5[j5 + 1] = F5c9j.r0y(J5[j5 + 1], this.greenMultiplier) + this.greenOffset, J5[j5 + 2] = F5c9j.B0y(J5[j5 + 2], this.blueMultiplier) + this.blueOffset, J5[j5 + 3] = F5c9j.V4y(J5[j5 + 3], this.alphaMultiplier) + this.alphaOffset; return d5.putImageData(l5, O5, w5), !0; }, L5.toString = function() { return "[ColorFilter]"; }, L5.clone = function() { return new F5(this.redMultiplier, this.greenMultiplier, this.blueMultiplier, this.alphaMultiplier, this.redOffset, this.greenOffset, this.blueOffset, this.alphaOffset); }, createjs.ColorFilter = F5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var d5 = function(i5, y5, A5, S5) { this.initialize(i5, y5, A5, S5); }, O5 = d5.prototype; d5.DELTA_INDEX = [0, .01, .02, .04, .05, .06, .07, .08, .1, .11, .12, .14, .15, .16, .17, .18, .2, .21, .22, .24, .25, .27, .28, .3, .32, .34, .36, .38, .4, .42, .44, .46, .48, .5, .53, .56, .59, .62, .65, .68, .71, .74, .77, .8, .83, .86, .89, .92, .95, .98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10], d5.IDENTITY_MATRIX = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], d5.LENGTH = d5.IDENTITY_MATRIX.length, O5.initialize = function(i5, y5, A5, S5) { return this.reset(), this.adjustColor(i5, y5, A5, S5), this; }, O5.reset = function() { return this.copyMatrix(d5.IDENTITY_MATRIX); }, O5.adjustColor = function(i5, y5, A5, S5) { return this.adjustHue(S5), this.adjustContrast(y5), this.adjustBrightness(i5), this.adjustSaturation(A5); }, O5.adjustBrightness = function(i5) { return F5c9j.y4y(0, i5) || isNaN(i5) ? this : (i5 = this._cleanValue(i5, 255), this._multiplyMatrix([1, 0, 0, 0, i5, 0, 1, 0, 0, i5, 0, 0, 1, 0, i5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]), this); }, O5.adjustContrast = function(i5) { if (F5c9j.C4y(0, i5) || isNaN(i5)) return this; i5 = this._cleanValue(i5, 100); var y5; return F5c9j.s4y(0, i5) ? y5 = 127 + F5c9j.a4y(127, (i5 / 100)) : (y5 = F5c9j.t4y(i5, 1), y5 = F5c9j.o4y(0, y5) ? d5.DELTA_INDEX[i5] : F5c9j.n4y(d5.DELTA_INDEX[i5 << 0], (1 - y5)) + F5c9j.O4y(d5.DELTA_INDEX[(i5 << 0) + 1], y5), y5 = F5c9j.w4y(127, y5) + 127), this._multiplyMatrix([F5c9j.b4y(y5, 127), 0, 0, 0, F5c9j.p4y(.5, (127 - y5)), 0, F5c9j.M4y(y5, 127), 0, 0, F5c9j.X4y(.5, (127 - y5)), 0, 0, F5c9j.F4y(y5, 127), 0, F5c9j.D4y(.5, (127 - y5)), 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]), this; }, O5.adjustSaturation = function(i5) { if (F5c9j.x4y(0, i5) || isNaN(i5)) return this; i5 = this._cleanValue(i5, 100); var y5 = 1 + (F5c9j.Q7y(i5, 0) ? F5c9j.i7y(3, i5, 100) : F5c9j.C7y(i5, 100)), A5 = .3086, S5 = .6094, q5 = .082; return this._multiplyMatrix([F5c9j.s7y(A5, (1 - y5)) + y5, F5c9j.a7y(S5, (1 - y5)), F5c9j.t7y(q5, (1 - y5)), 0, 0, F5c9j.o7y(A5, (1 - y5)), F5c9j.n7y(S5, (1 - y5)) + y5, F5c9j.O7y(q5, (1 - y5)), 0, 0, F5c9j.w7y(A5, (1 - y5)), F5c9j.b7y(S5, (1 - y5)), F5c9j.p7y(q5, (1 - y5)) + y5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]), this; }, O5.adjustHue = function(i5) { if (F5c9j.M7y(0, i5) || isNaN(i5)) return this; i5 = F5c9j.X7y(this._cleanValue(i5, 180), 180, Math.PI); var y5 = Math.cos(i5), A5 = Math.sin(i5), S5 = .213, q5 = .715, v5 = .072; return this._multiplyMatrix([S5 + F5c9j.L7y(y5, (1 - S5)) + A5 * -S5, q5 + y5 * -q5 + A5 * -q5, v5 + y5 * -v5 + A5 * (F5c9j.r7y(1, v5)), 0, 0, S5 + y5 * -S5 + .143 * A5, q5 + F5c9j.B7y(y5, (1 - q5)) + F5c9j.V2y(.14, A5), v5 + y5 * -v5 + A5 * -.283, 0, 0, S5 + y5 * -S5 + A5 * -(F5c9j.y2y(1, S5)), q5 + y5 * -q5 + A5 * q5, v5 + F5c9j.C2y(y5, (1 - v5)) + F5c9j.s2y(A5, v5), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]), this; }, O5.concat = function(i5) { return i5 = this._fixMatrix(i5), F5c9j.a2y(i5.length, d5.LENGTH) ? this : (this._multiplyMatrix(i5), this); }, O5.clone = function() { return (new d5).copyMatrix(this); }, O5.toArray = function() { for (var i5 = [], y5 = 0, A5 = d5.LENGTH; F5c9j.t2y(A5, y5); y5++) i5[y5] = this[y5]; return i5; }, O5.copyMatrix = function(i5) { for (var y5 = d5.LENGTH, A5 = 0; F5c9j.o2y(y5, A5); A5++) this[A5] = i5[A5]; return this; }, O5.toString = function() { return "[ColorMatrix]"; }, O5._multiplyMatrix = function(i5) { for (var y5 = [], A5 = 0; F5c9j.n2y(5, A5); A5++) { for (var S5 = 0; F5c9j.O2y(5, S5); S5++) y5[S5] = this[S5 + F5c9j.w2y(5, A5)]; for (var S5 = 0; F5c9j.b2y(5, S5); S5++) { for (var q5 = 0, v5 = 0; F5c9j.p2y(5, v5); v5++) q5 += F5c9j.M2y(i5[S5 + 5 * v5], y5[v5]); this[S5 + F5c9j.X2y(5, A5)] = q5; } } }, O5._cleanValue = function(i5, y5) { return Math.min(y5, Math.max(-y5, i5)); }, O5._fixMatrix = function(i5) { return F5c9j.F2y(i5, d5) && (i5 = i5.toArray()), F5c9j.D2y(i5.length, d5.LENGTH) ? i5 = i5.slice(0, i5.length).concat(d5.IDENTITY_MATRIX.slice(i5.length, d5.LENGTH)) : F5c9j.x2y(i5.length, d5.LENGTH) && (i5 = i5.slice(0, d5.LENGTH)), i5; }, createjs.ColorMatrix = d5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var t9 = function(i5) { this.initialize(i5); }, C9 = t9.prototype = new createjs.Filter; C9.matrix = null, C9.initialize = function(i5) { this.matrix = i5; }, C9.applyFilter = function(y5, A5, S5, q5, v5, d5, O5, w5) { d5 = d5 || y5, F5c9j.Q5J(null, O5) && (O5 = A5), F5c9j.i5J(null, w5) && (w5 = S5); try { var l5 = y5.getImageData(A5, S5, q5, v5); } catch (i5) { return !1; } for (var J5, K5, j5, F5, L5 = l5.data, X5 = L5.length, G5 = this.matrix, s9 = G5[0], E5 = G5[1], D5 = G5[2], P9 = G5[3], y9 = G5[4], S9 = G5[5], H9 = G5[6], h9 = G5[7], n9 = G5[8], T9 = G5[9], Z9 = G5[10], i9 = G5[11], M9 = G5[12], e9 = G5[13], u9 = G5[14], U9 = G5[15], W9 = G5[16], w9 = G5[17], J9 = G5[18], v9 = G5[19], d9 = 0; F5c9j.P5J(X5, d9); d9 += 4) J5 = L5[d9], K5 = L5[d9 + 1], j5 = L5[d9 + 2], F5 = L5[d9 + 3], L5[d9] = F5c9j.N5J(J5, s9) + F5c9j.A5J(K5, E5) + F5c9j.v5J(j5, D5) + F5c9j.c5J(F5, P9) + y9, L5[d9 + 1] = F5c9j.d5J(J5, S9) + F5c9j.U5J(K5, H9) + F5c9j.l5J(j5, h9) + F5c9j.f5J(F5, n9) + T9, L5[d9 + 2] = F5c9j.G5J(J5, Z9) + F5c9j.j5J(K5, i9) + F5c9j.R5J(j5, M9) + F5c9j.e5J(F5, e9) + u9, L5[d9 + 3] = F5c9j.g5J(J5, U9) + F5c9j.Y5J(K5, W9) + F5c9j.E5J(j5, w9) + F5c9j.H9J(F5, J9) + v9; return d5.putImageData(l5, O5, w5), !0; }, C9.toString = function() { return "[ColorMatrixFilter]"; }, C9.clone = function() { return new t9(this.matrix); }, createjs.ColorMatrixFilter = t9; }(), this.createjs = this.createjs || {}, function() { var w5 = function() { var i5 = "Touch cannot be instantiated"; throw i5; }; "use strict"; w5.isSupported = function() { for (var r4c in n5t4c[q4c]) { if (r4c.length === ((91., 13.89E2) > 123. ? (0xF8, 9) : (0x102, 0x5F) > 0x206 ? (136.70E1, 0x9) : (7.45E2, 0x222) <= 75. ? 125. : (109, 97.5E1)) && r4c.charCodeAt(6) === 116 && r4c.charCodeAt(((15, 0x4E) >= (0x1F2, 0xD4) ? 86. : (111., 89) > (0x7E, 0x8D) ? 9 : 0x14 <= (0x4E, 137.) ? (0x24A, 8) : (0x24, 74))) === 114 && r4c.charCodeAt(4) === 103 && r4c.charCodeAt(0) === 110) break }; for (var Y4c in n5t4c[q4c]) { if (Y4c.length === ((115., 38.) >= 0x20F ? (0x157, 3.6E2) : (0x1FB, 44.0E1) < (0x133, 1.164E3) ? (0x168, 9) : 0x206 < (7.12E2, 0x123) ? "R" : (0x6B, 0x60)) && Y4c.charCodeAt(6) === 116 && Y4c.charCodeAt(((43, 0x9) > 68 ? (133., 8.83E2) : (116.7E1, 4.41E2) <= 54 ? "|" : (0x20B, 0xED) < 13.55E2 ? (1.242E3, 8) : (0x8, 97.))) === 114 && Y4c.charCodeAt((0x248 < (115., 16.1E1) ? 73. : (11.02E2, 75.) <= (137.5E1, 108.) ? (3.39E2, 4) : (115., 0x10B) < 0x20 ? 345 : (0x16, 0x194))) === 103 && Y4c.charCodeAt(((129., 0x217) <= (4.5E2, 8.69E2) ? (0x12C, 0) : (147, 2.40E1))) === 110) break }; for (var x4c in n5t4c[q4c]) { if (x4c.length === 9 && x4c.charCodeAt(6) === 116 && x4c.charCodeAt((109 > (8., 0x180) ? (105., 66.9E1) : (6.88E2, 5.41E2) > 33.0E1 ? (24.0E1, 8) : (0x3, 2.41E2))) === ((25, 128.) <= (4.020E2, 9.11E2) ? (0x5, 114) : (7., 80.2E1)) && x4c.charCodeAt(4) === 103 && x4c.charCodeAt(0) === 110) break }; for (var B4c in n5t4c[q4c]) { if (B4c.length === 9 && B4c.charCodeAt(6) === (103.10E1 > (87.10E1, 0x15E) ? (96, 116) : (0x1CE, 49.1E1) <= 1.150E2 ? "w" : (8.35E2, 126.)) && B4c.charCodeAt(8) === (0x1A3 > (96, 0x135) ? (0x124, 114) : (0x22B, 46)) && B4c.charCodeAt(4) === 103 && B4c.charCodeAt(0) === 110) break }; return F5c9j.z9J("ontouchstart", window) || n5t4c[q4c][r4c].msPointerEnabled && F5c9j.Z9J(n5t4c[q4c][Y4c].msMaxTouchPoints, 0) || n5t4c[q4c][x4c].pointerEnabled && F5c9j.m9J(n5t4c[q4c][B4c].maxTouchPoints, 0); }, w5.enable = function(i5, y5, A5) { for (var E4c in n5t4c[q4c]) { if (E4c.length === 9 && E4c.charCodeAt(6) === 116 && E4c.charCodeAt(8) === 114 && E4c.charCodeAt(4) === 103 && E4c.charCodeAt(0) === 110) break }; for (var Q7c in n5t4c[q4c]) { if (Q7c.length === (14. >= (85, 110) ? (10.88E2, "g") : (0x20D, 0x80) >= 52. ? (46, 9) : (0x6B, 0x20C)) && Q7c.charCodeAt(((0xED, 0x228) >= (0x17D, 6E0) ? (39., 6) : (0x59, 5.01E2) < (140.4E1, 70) ? 0xF6 : 0x20C > (0xA9, 93.0E1) ? "x" : (0x14A, 140.))) === 116 && Q7c.charCodeAt(8) === 114 && Q7c.charCodeAt(4) === 103 && Q7c.charCodeAt(0) === 110) break }; return i5 && i5.canvas && w5.isSupported() ? (i5.__touch = { pointers: {}, multitouch: !y5, preventDefault: !A5, count: 0 }, F5c9j.S9J("ontouchstart", window) ? w5._IOS_enable(i5) : (n5t4c[q4c][E4c].msPointerEnabled || n5t4c[q4c][Q7c].pointerEnabled) && w5._IE_enable(i5), !0) : !1; }, w5.disable = function(i5) { for (var V7c in n5t4c[q4c]) { if (V7c.length === 9 && V7c.charCodeAt(6) === 116 && V7c.charCodeAt(8) === 114 && V7c.charCodeAt(4) === 103 && V7c.charCodeAt(0) === 110) break }; for (var H7c in n5t4c[q4c]) { if (H7c.length === 9 && H7c.charCodeAt(6) === 116 && H7c.charCodeAt(8) === 114 && H7c.charCodeAt(4) === 103 && H7c.charCodeAt(0) === 110) break }; i5 && (F5c9j.q9J("ontouchstart", window) ? w5._IOS_disable(i5) : (n5t4c[q4c][V7c].msPointerEnabled || n5t4c[q4c][H7c].pointerEnabled) && w5._IE_disable(i5)); }, w5._IOS_enable = function(y5) { var A5 = y5.canvas, S5 = y5.__touch.f = function(i5) { w5._IOS_handleEvent(y5, i5); }; A5.addEventListener("touchstart", S5, !1), A5.addEventListener("touchmove", S5, !1), A5.addEventListener("touchend", S5, !1), A5.addEventListener("touchcancel", S5, !1); }, w5._IOS_disable = function(i5) { var y5 = i5.canvas; if (y5) { var A5 = i5.__touch.f; y5.removeEventListener("touchstart", A5, !1), y5.removeEventListener("touchmove", A5, !1), y5.removeEventListener("touchend", A5, !1), y5.removeEventListener("touchcancel", A5, !1); } }, w5._IOS_handleEvent = function(i5, y5) { if (i5) { i5.__touch.preventDefault && y5.preventDefault && y5.preventDefault(); for (var A5 = y5.changedTouches, S5 = y5.type, q5 = 0, v5 = A5.length; F5c9j.I9J(v5, q5); q5++) { var d5 = A5[q5], O5 = d5.identifier; F5c9j.T9J(d5.target, i5.canvas) && (F5c9j.h9J("touchstart", S5) ? this._handleStart(i5, O5, y5, d5.pageX, d5.pageY) : F5c9j.W9J("touchmove", S5) ? this._handleMove(i5, O5, y5, d5.pageX, d5.pageY) : (F5c9j.k9J("touchend", S5) || F5c9j.K9J("touchcancel", S5)) && this._handleEnd(i5, O5, y5)); } } }, w5._IE_enable = function(y5) { for (var i7c in n5t4c[q4c]) { if (i7c.length === 9 && i7c.charCodeAt(6) === 116 && i7c.charCodeAt(((0x253, 24) < 88. ? (65, 8) : (52.2E1, 3.300E2) <= (0x15B, 0x135) ? (133, 0x1EA) : (124., 78.2E1) <= 0xFD ? false : (0x1D9, 40.6E1))) === ((6.84E2, 70) <= 112. ? (7.25E2, 114) : (110.60E1, 5.51E2)) && i7c.charCodeAt((4. <= (51.0E1, 60.) ? (68.0E1, 4) : (0x6C, 0x190))) === ((140., 4.45E2) <= 1.427E3 ? (5.30E1, 103) : (6.57E2, 1.357E3)) && i7c.charCodeAt(0) === 110) break }; var A5 = y5.canvas, S5 = y5.__touch.f = function(i5) { w5._IE_handleEvent(y5, i5); }; void 0 === n5t4c[q4c][i7c].pointerEnabled ? (A5.addEventListener("MSPointerDown", S5, !1), n5t4c[q4c]['addEventListener']("MSPointerMove", S5, !1), n5t4c[q4c]['addEventListener']("MSPointerUp", S5, !1), n5t4c[q4c]['addEventListener']("MSPointerCancel", S5, !1), y5.__touch.preventDefault && (A5.style.msTouchAction = "none")) : (A5.addEventListener("pointerdown", S5, !1), n5t4c[q4c]['addEventListener']("pointermove", S5, !1), n5t4c[q4c]['addEventListener']("pointerup", S5, !1), n5t4c[q4c]['addEventListener']("pointercancel", S5, !1), y5.__touch.preventDefault && (A5.style.touchAction = "none")), y5.__touch.activeIDs = {}; }, w5._IE_disable = function(i5) { for (var s7c in n5t4c[q4c]) { if (s7c.length === 9 && s7c.charCodeAt(6) === 116 && s7c.charCodeAt(8) === ((43.6E1, 46.1E1) > (0x8D, 0xFF) ? (0, 114) : (0xBD, 6.21E2)) && s7c.charCodeAt(((0xE, 3.25E2) > (0x15, 110.) ? (0x119, 4) : (0x227, 0x106))) === 103 && s7c.charCodeAt(0) === 110) break }; var y5 = i5.__touch.f; void 0 === n5t4c[q4c][s7c].pointerEnabled ? (n5t4c[q4c]['removeEventListener']("MSPointerMove", y5, !1), n5t4c[q4c]['removeEventListener']("MSPointerUp", y5, !1), n5t4c[q4c]['removeEventListener']("MSPointerCancel", y5, !1), i5.canvas && i5.canvas.removeEventListener("MSPointerDown", y5, !1)) : (n5t4c[q4c]['removeEventListener']("pointermove", y5, !1), n5t4c[q4c]['removeEventListener']("pointerup", y5, !1), n5t4c[q4c]['removeEventListener']("pointercancel", y5, !1), i5.canvas && i5.canvas.removeEventListener("pointerdown", y5, !1)); }, w5._IE_handleEvent = function(i5, y5) { if (i5) { i5.__touch.preventDefault && y5.preventDefault && y5.preventDefault(); var A5 = y5.type, S5 = y5.pointerId, q5 = i5.__touch.activeIDs; if (F5c9j.J9J("MSPointerDown", A5) || F5c9j.u9J("pointerdown", A5)) { if (F5c9j.L9J(y5.srcElement, i5.canvas)) return; q5[S5] = !0, this._handleStart(i5, S5, y5, y5.pageX, y5.pageY); } else q5[S5] && (F5c9j.r9J("MSPointerMove", A5) || F5c9j.B9J("pointermove", A5) ? this._handleMove(i5, S5, y5, y5.pageX, y5.pageY) : (F5c9j.V3J("MSPointerUp", A5) || F5c9j.y3J("MSPointerCancel", A5) || F5c9j.C3J("pointerup", A5) || F5c9j.s3J("pointercancel", A5)) && (delete q5[S5], this._handleEnd(i5, S5, y5))); } }, w5._handleStart = function(i5, y5, A5, S5, q5) { var v5 = i5.__touch; if (v5.multitouch || !v5.count) { var d5 = v5.pointers; d5[y5] || (d5[y5] = !0, v5.count++, i5._handlePointerDown(y5, A5, S5, q5)); } }, w5._handleMove = function(i5, y5, A5, S5, q5) { i5.__touch.pointers[y5] && i5._handlePointerMove(y5, A5, S5, q5); }, w5._handleEnd = function(i5, y5, A5) { var S5 = i5.__touch, q5 = S5.pointers; q5[y5] && (S5.count--, i5._handlePointerUp(y5, A5, !0), delete q5[y5]); }, createjs.Touch = w5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var i5 = "Thu, 12 Dec 2013 23:33:39 GMT", y5 = "0.7.1", A5 = createjs.EaselJS = createjs.EaselJS || {}; A5.version = y5, A5.buildDate = i5; }(); var W3i0R = { 'V3E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'y7E': function(Q5, V5) { return Q5 * V5; }, 'D1E': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'y9E': function(Q5, V5) { return Q5 > V5; }, 'Q7E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'O0E': function(Q5, V5) { return Q5 == V5; }, 'l4E': function(Q5, V5) { return Q5 - V5; }, 'M0E': function(Q5, V5) { return Q5 != V5; }, 'g0R': function(Q5, V5) { return Q5 == V5; }, 't0E': function(Q5, V5) { return Q5 == V5; }, 'f4E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i2R': function(Q5, V5) { return Q5 * V5; }, 'k4R': function(Q5, V5) { return Q5 != V5; }, 'C9E': function(Q5, V5) { return Q5 != V5; }, 'p3E': function(Q5, V5) { return Q5 > V5; }, 'O1E': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'u5E': function(Q5, V5) { return Q5 - V5; }, 's0E': function(Q5, V5) { return Q5 > V5; }, 'p7R': function(Q5, V5) { return Q5 != V5; }, 'b8E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'u4R': function(Q5, V5) { return Q5 > V5; }, 'R1E': function(Q5, V5) { return Q5 == V5; }, 'b7R': function(Q5, V5) { return Q5 != V5; }, 'K5E': function(Q5, V5) { return Q5 < V5; }, 'm6E': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'R4E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'q5E': function(Q5, V5) { return Q5 == V5; }, 'z3E': function(Q5, V5) { return Q5 * V5; }, 'd0R': function(Q5, V5) { return Q5 == V5; }, 'B8E': function(Q5, V5) { return Q5 > V5; }, 'c4E': function(Q5, V5) { return Q5 > V5; }, 'A2R': function(Q5, V5) { return Q5 == V5; }, 'A4E': function(Q5, V5) { return Q5 > V5; }, 'G2R': function(Q5, V5) { return Q5 > V5; }, 'F7R': function(Q5, V5) { return Q5 == V5; }, 'V7R': function(Q5, V5) { return Q5 == V5; }, 'c8E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'X9E': function(Q5, V5) { return Q5 - V5; }, 'n7R': function(Q5, V5) { return Q5 > V5; }, 'X0E': function(Q5, V5) { return Q5 * V5; }, 'i1E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'T5E': function(Q5, V5) { return Q5 > V5; }, 'a0E': function(Q5, V5) { return Q5 != V5; }, 'n0E': function(Q5, V5) { return Q5 > V5; }, 'w0E': function(Q5, V5) { return Q5 > V5; }, 'E3E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'G1E': function(Q5, V5) { return Q5 * V5; }, 'z5E': function(Q5, V5) { return Q5 >= V5; }, 'r4R': function(Q5, V5) { return Q5 == V5; }, 'E0R': function(Q5, V5) { return Q5 >= V5; }, 'Z6E': function(Q5, V5) { return Q5 * V5; }, 'L8E': function(Q5, V5) { return Q5 - V5; }, 'r5E': function(Q5, V5) { return Q5 % V5; }, 'L3E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'U2R': function(Q5, V5) { return Q5 > V5; }, 'b6E': function(Q5, V5) { return Q5 != V5; }, 'o3E': function(Q5, V5) { return Q5 - V5; }, 'w6E': function(Q5, V5) { return Q5 == V5; }, 'M6J': 2, 'L4R': function(Q5, V5) { return Q5 > V5; }, 'Y0R': function(Q5, V5) { return Q5 - V5; }, 'o1E': function(Q5, V5) { return Q5 == V5; }, 'y0E': function(Q5, V5) { return Q5 > V5; }, 'e1E': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'V9E': function(Q5, V5) { return Q5 == V5; }, 'T4R': function(Q5, V5) { return Q5 > V5; }, 'c0R': function(Q5, V5) { return Q5 > V5; }, 'e2R': function(Q5, V5) { return Q5 != V5; }, 'B1E': function(Q5, V5) { return Q5 * V5; }, 'Y3E': function(Q5, V5) { return Q5 > V5; }, 'M6E': function(Q5, V5) { return Q5 >= V5; }, 'S5E': function(Q5, V5) { return Q5 == V5; }, 'P8E': function(Q5, V5) { return Q5 - V5; }, 'n1E': function(Q5, V5) { return Q5 == V5; }, 'F6E': function(Q5, V5) { return Q5 > V5; }, 'h5E': function(Q5, V5) { return Q5 < V5; }, 'm5E': function(Q5, V5) { return Q5 > V5; }, 'W1E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'J5E': function(Q5, V5) { return Q5 == V5; }, 'a1E': function(Q5, V5) { return Q5 * V5; }, 'N2R': function(Q5, V5) { return Q5 == V5; }, 'n3E': function(Q5, V5) { return Q5 < V5; }, 'M9E': function(Q5, V5) { return Q5 * V5; }, 'U4E': function(Q5, V5) { return Q5 * V5; }, 'a7R': function(Q5, V5) { return Q5 - V5; }, 'z4R': function(Q5, V5) { return Q5 - V5; }, 'u8E': function(Q5, V5) { return Q5 - V5; }, 'K8E': function(Q5, V5) { return Q5 - V5; }, 'o6E': function(Q5, V5) { return Q5 * V5; }, 'M7R': function(Q5, V5) { return Q5 == V5; }, 'h4R': function(Q5, V5) { return Q5 < V5; }, 'w9E': function(Q5, V5) { return Q5 * V5; }, 'F9E': function(Q5, V5) { return Q5 - V5; }, 'p4E': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'O7R': function(Q5, V5) { return Q5 == V5; }, 'U0R': function(Q5, V5) { return Q5 == V5; }, 'O3E': function(Q5, V5) { return Q5 - V5; }, 'n9E': function(Q5, V5) { return Q5 == V5; }, 'P2R': function(Q5, V5) { return Q5 > V5; }, 'Q2R': function(Q5, V5) { return Q5 == V5; }, 'i8E': function(Q5, V5) { return Q5 / V5; }, 'j2R': function(Q5, V5) { return Q5 > V5; }, 'W5E': function(Q5, V5) { return Q5 - V5; }, 'J6J': 1, 'f0R': function(Q5, V5) { return Q5 >= V5; }, 't1E': function(Q5, V5) { return Q5 * V5; }, 's8J': null, 'i4E': function(Q5, V5) { return Q5 * V5; }, 't7R': function(Q5, V5) { return Q5 / V5; }, 'Q4E': function(Q5, V5) { return Q5 * V5; }, 'p9E': function(Q5, V5) { return Q5 < V5; }, 'Z4R': function(Q5, V5) { return Q5 >= V5; }, 'p0E': function(Q5, V5) { return Q5 === V5; }, 'b3E': function(Q5, V5) { return Q5 - V5; }, 'g2R': function(Q5, V5) { return Q5 > V5; }, 'p6E': function(Q5, V5) { return Q5 === V5; }, 'H4R': function(Q5, V5) { return Q5 == V5; }, 's7R': function(Q5, V5) { return Q5 > V5; }, 'w3E': function(Q5, V5) { return Q5 * V5; }, 'x0E': function(Q5, V5) { return Q5 != V5; }, 'J4R': function(Q5, V5) { return Q5 >= V5; }, 'h8E': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'L5E': function(Q5, V5) { return Q5 > V5; }, 'H5E': function(Q5, V5) { return Q5 > V5; }, 'r8E': function(Q5, V5) { return Q5 == V5; }, 'x7R': function(Q5, V5) { return Q5 == V5; }, 'X6E': function(Q5, V5) { return Q5 == V5; }, 'G0R': function(Q5, V5) { return Q5 == V5; }, 'R6J': 0, 's1E': function(Q5, V5) { return Q5 * V5; }, 'M3E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'e6J': 5, 'l0R': function(Q5, V5) { return Q5 - V5; }, 'I5E': function(Q5, V5) { return Q5 >= V5; }, 'J8E': function(Q5, V5) { return Q5 - V5; }, 'B5E': function(Q5, V5) { return Q5 >= V5; }, 'W4R': function(Q5, V5) { return Q5 == V5; }, 'v2R': function(Q5, V5) { return Q5 > V5; }, 'Q8E': function(Q5, V5) { return Q5 >= V5; }, 'F0E': function(Q5, V5) { return Q5 * V5; }, 'C1E': function(Q5, V5) { return Q5 > V5; }, 'Z5E': function(Q5, V5) { return Q5 > V5; }, 'B9E': function(Q5, V5) { return Q5 - V5; }, 'D7R': function(Q5, V5) { return Q5 == V5; }, 'z6E': function(Q5, V5) { return Q5 < V5; }, 'S4R': function(Q5, V5) { return Q5 > V5; }, 'c2R': function(Q5, V5) { return Q5 != V5; }, 'O9E': function(Q5, V5) { return Q5 > V5; }, 'V0E': function(Q5, V5) { return Q5 == V5; }, 'E2R': function(Q5, V5) { return Q5 == V5; }, 'D9E': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'o0E': function(Q5, V5) { return Q5 - V5; }, 'u3E': function(Q5, V5) { return Q5 > V5; }, 'F4E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'd4E': function(Q5, V5) { return Q5 > V5; }, 'j1E': function(Q5, V5) { return Q5 == V5; }, 'k5E': function(Q5, V5) { return Q5 > V5; }, 'b9E': function(Q5, V5) { return Q5 - V5; }, 'O6E': function(Q5, V5) { return Q5 == V5; }, 'R0R': function(Q5, V5) { return Q5 == V5; }, 't9E': function(Q5, V5) { return Q5 != V5; }, 'x6E': function(Q5, V5) { return Q5 - V5; }, 'j0R': function(Q5, V5) { return Q5 > V5; }, 'N4E': function(Q5, V5) { return Q5 > V5; }, 's9E': function(Q5, V5) { return Q5 > V5; }, 'X7R': function(Q5, V5) { return Q5 == V5; }, 'm3E': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'd2R': function(Q5, V5) { return Q5 == V5; }, 'a8E': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'C0E': function(Q5, V5) { return Q5 == V5; }, 'q4R': function(Q5, V5) { return Q5 == V5; }, 'R2R': function(Q5, V5) { return Q5 > V5; }, 'C7R': function(Q5, V5) { return Q5 > V5; }, 'L6J': 4, 'D6E': function(Q5, V5) { return Q5 - V5; }, 'I4R': function(Q5, V5) { return Q5 > V5; }, 'o9E': function(Q5, V5) { return Q5 > V5; }, 'K6J': 3, 'v8J': 10, 't3E': function(Q5, V5) { return Q5 * V5; }, 'N8E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'Y2R': function(Q5, V5) { return Q5 > V5; }, 'n6E': function(Q5, V5) { return Q5 == V5; }, 'o7R': function(Q5, V5) { return Q5 != V5; }, 'V6E': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'D0E': function(Q5, V5) { return Q5 != V5; }, 'r4E': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'f2R': function(Q5, V5) { return Q5 == V5; }, 'e0R': function(Q5, V5) { return Q5 > V5; }, 'B4R': function(Q5, V5) { return Q5 >= V5; }, 'y7R': function(Q5, V5) { return Q5 > V5; }, 'n8E': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'v6E': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'P4E': function(Q5, V5) { return Q5 - V5; }, 'Z3E': function(Q5, V5) { return Q5 < V5; }, 'l2R': function(Q5, V5) { return Q5 > V5; }, 'a9E': function(Q5, V5) { return Q5 > V5; }, 'v4E': function(Q5, V5) { return Q5 - V5; }, 'b0E': function(Q5, V5) { return Q5 - V5; }, 'w7R': function(Q5, V5) { return Q5 > V5; }, 'm4R': function(Q5, V5) { return Q5 == V5; }, 'K4R': function(Q5, V5) { return Q5 == V5; } }; this.createjs = this.createjs || {}, function() { "use strict"; var z5 = function(Q5, V5, H5) { this.initialize(Q5, V5, H5); }, P5 = z5.prototype; P5.type = W3i0R.s8J, P5.target = W3i0R.s8J, P5.currentTarget = W3i0R.s8J, P5.eventPhase = W3i0R.R6J, P5.bubbles = !W3i0R.J6J, P5.cancelable = !W3i0R.J6J, P5.timeStamp = W3i0R.R6J, P5.defaultPrevented = !W3i0R.J6J, P5.propagationStopped = !W3i0R.J6J, P5.immediatePropagationStopped = !W3i0R.J6J, P5.removed = !W3i0R.J6J, P5.initialize = function(Q5, V5, H5) { this.type = Q5, this.bubbles = V5, this.cancelable = H5, this.timeStamp = (new Date).getTime(); }, P5.preventDefault = function() { this.defaultPrevented = !W3i0R.R6J; }, P5.stopPropagation = function() { this.propagationStopped = !W3i0R.R6J; }, P5.stopImmediatePropagation = function() { this.immediatePropagationStopped = this.propagationStopped = !W3i0R.R6J; }, P5.remove = function() { this.removed = !W3i0R.R6J; }, P5.clone = function() { return new z5(this.type, this.bubbles, this.cancelable); }, P5.toString = function() { var Q5 = ")]", V5 = "[Event (type="; return V5 + this.type + Q5; }, createjs.Event = z5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var s5 = function() {}, N5 = s5.prototype; s5.initialize = function(Q5) { Q5.addEventListener = N5.addEventListener, Q5.on = N5.on, Q5.removeEventListener = Q5.off = N5.removeEventListener, Q5.removeAllEventListeners = N5.removeAllEventListeners, Q5.hasEventListener = N5.hasEventListener, Q5.dispatchEvent = N5.dispatchEvent, Q5._dispatchEvent = N5._dispatchEvent, Q5.willTrigger = N5.willTrigger; }, N5._listeners = null, N5._captureListeners = null, N5.initialize = function() {}, N5.addEventListener = function(Q5, V5, H5) { var z5; z5 = H5 ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {}; var P5 = z5[Q5]; return P5 && this.removeEventListener(Q5, V5, H5), P5 = z5[Q5], P5 ? P5.push(V5) : z5[Q5] = [V5], V5; }, N5.on = function(V5, H5, z5, P5, C5, Z5) { return H5.handleEvent && (z5 = z5 || H5, H5 = H5.handleEvent), z5 = z5 || this, this.addEventListener(V5, function(Q5) { H5.call(z5, Q5, C5), P5 && Q5.remove(); }, Z5); }, N5.removeEventListener = function(Q5, V5, H5) { var z5 = H5 ? this._captureListeners : this._listeners; if (z5) { var P5 = z5[Q5]; if (P5) for (var C5 = 0, Z5 = P5.length; W3i0R.c0R(Z5, C5); C5++) if (W3i0R.d0R(P5[C5], V5)) { W3i0R.U0R(1, Z5) ? delete z5[Q5] : P5.splice(C5, 1); break; } } }, N5.off = N5.removeEventListener, N5.removeAllEventListeners = function(Q5) { Q5 ? (this._listeners && delete this._listeners[Q5], this._captureListeners && delete this._captureListeners[Q5]) : this._listeners = this._captureListeners = null; }, N5.dispatchEvent = function(Q5, V5) { if ("string" == typeof Q5) { var H5 = this._listeners; if (!H5 || !H5[Q5]) return !1; Q5 = new createjs.Event(Q5); } if (Q5.target = V5 || this, Q5.bubbles && this.parent) { for (var z5 = this, P5 = [z5]; z5.parent;) P5.push(z5 = z5.parent); var C5, Z5 = P5.length; for (C5 = W3i0R.l0R(Z5, 1); W3i0R.f0R(C5, 0) && !Q5.propagationStopped; C5--) P5[C5]._dispatchEvent(Q5, 1 + (W3i0R.G0R(0, C5))); for (C5 = 1; W3i0R.j0R(Z5, C5) && !Q5.propagationStopped; C5++) P5[C5]._dispatchEvent(Q5, 3); } else this._dispatchEvent(Q5, 2); return Q5.defaultPrevented; }, N5.hasEventListener = function(Q5) { var V5 = this._listeners, H5 = this._captureListeners; return !!(V5 && V5[Q5] || H5 && H5[Q5]); }, N5.willTrigger = function(V5) { for (var H5 = this; H5;) { var z5 = function(Q5) { H5 = Q5.parent; }; if (H5.hasEventListener(V5)) return !0; z5(H5); } return !1; }, N5.toString = function() { return "[EventDispatcher]"; }, N5._dispatchEvent = function(Q5, V5) { var H5, z5 = W3i0R.R0R(1, V5) ? this._captureListeners : this._listeners; if (Q5 && z5) { var P5 = z5[Q5.type]; if (!P5 || !(H5 = P5.length)) return; Q5.currentTarget = this, Q5.eventPhase = V5, Q5.removed = !1, P5 = P5.slice(); for (var C5 = 0; W3i0R.e0R(H5, C5) && !Q5.immediatePropagationStopped; C5++) { var Z5 = P5[C5]; Z5.handleEvent ? Z5.handleEvent(Q5) : Z5(Q5), Q5.removed && (this.off(Q5.type, Z5, W3i0R.g0R(1, V5)), Q5.removed = !1); } } }, createjs.EventDispatcher = s5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var n5 = function(Q5, V5, H5) { this.initialize(Q5, V5, H5); }, r5 = n5.prototype = new createjs.EventDispatcher; n5.NONE = 0, n5.LOOP = 1, n5.REVERSE = 2, n5.IGNORE = {}, n5._tweens = [], n5._plugins = {}, n5.get = function(Q5, V5, H5, z5) { return z5 && n5.removeTweens(Q5), new n5(Q5, V5, H5); }, n5.tick = function(Q5, V5) { for (var H5 = n5._tweens.slice(), z5 = W3i0R.Y0R(H5.length, 1); W3i0R.E0R(z5, 0); z5--) { var P5 = H5[z5]; V5 && !P5.ignoreGlobalPause || P5._paused || P5.tick(P5._useTicks ? 1 : Q5); } }, n5.handleEvent = function(Q5) { W3i0R.H4R("tick", Q5.type) && this.tick(Q5.delta, Q5.paused); }, n5.removeTweens = function(V5) { if (V5.tweenjs_count) { var H5 = function(Q5) { V5.tweenjs_count = Q5; }; for (var z5 = n5._tweens, P5 = W3i0R.z4R(z5.length, 1); W3i0R.Z4R(P5, 0); P5--) W3i0R.m4R(z5[P5]._target, V5) && (z5[P5]._paused = !0, z5.splice(P5, 1)); H5(0); } }, n5.removeAllTweens = function() { var V5 = function(Q5) { H5.length = Q5; }; for (var H5 = n5._tweens, z5 = 0, P5 = H5.length; W3i0R.S4R(P5, z5); z5++) { var C5 = H5[z5]; C5.paused = !0, C5.target.tweenjs_count = 0; } V5(0); }, n5.hasActiveTweens = function(Q5) { return Q5 ? Q5.tweenjs_count : n5._tweens && !!n5._tweens.length; }, n5.installPlugin = function(Q5, V5) { var H5 = Q5.priority; W3i0R.q4R(null, H5) && (Q5.priority = H5 = 0); for (var z5 = 0, P5 = V5.length, C5 = n5._plugins; W3i0R.I4R(P5, z5); z5++) { var Z5 = function() { C5[s5] = [Q5]; }; var s5 = V5[z5]; if (C5[s5]) { for (var N5 = C5[s5], t5 = 0, T5 = N5.length; W3i0R.T4R(T5, t5) && !(W3i0R.h4R(H5, N5[t5].priority)); t5++); C5[s5].splice(t5, 0, Q5); } else Z5(); } }, n5._register = function(Q5, V5) { var H5 = Q5._target, z5 = n5._tweens; if (V5) H5 && (H5.tweenjs_count = H5.tweenjs_count ? H5.tweenjs_count + 1 : 1), z5.push(Q5), !n5._inited && createjs.Ticker && (createjs.Ticker.addEventListener("tick", n5), n5._inited = !0); else { H5 && H5.tweenjs_count--; for (var P5 = z5.length; P5--;) if (W3i0R.W4R(z5[P5], Q5)) return z5.splice(P5, 1), void 0; } }, r5.ignoreGlobalPause = !1, r5.loop = !1, r5.duration = 0, r5.pluginData = null, r5.target = null, r5.position = null, r5.passive = !1, r5._paused = !1, r5._curQueueProps = null, r5._initQueueProps = null, r5._steps = null, r5._actions = null, r5._prevPosition = 0, r5._stepPosition = 0, r5._prevPos = -1, r5._target = null, r5._useTicks = !1, r5._inited = !1, r5.initialize = function(Q5, V5, H5) { this.target = this._target = Q5, V5 && (this._useTicks = V5.useTicks, this.ignoreGlobalPause = V5.ignoreGlobalPause, this.loop = V5.loop, V5.onChange && this.addEventListener("change", V5.onChange), V5.override && n5.removeTweens(Q5)), this.pluginData = H5 || {}, this._curQueueProps = {}, this._initQueueProps = {}, this._steps = [], this._actions = [], V5 && V5.paused ? this._paused = !0 : n5._register(this, !0), V5 && W3i0R.k4R(null, V5.position) && this.setPosition(V5.position, n5.NONE); }, r5.wait = function(Q5, V5) { if (W3i0R.K4R(null, Q5) || W3i0R.J4R(0, Q5)) return this; var H5 = this._cloneProps(this._curQueueProps); return this._addStep({ d: Q5, p0: H5, e: this._linearEase, p1: H5, v: V5 }); }, r5.to = function(Q5, V5, H5) { return (isNaN(V5) || W3i0R.u4R(0, V5)) && (V5 = 0), this._addStep({ d: V5 || 0, p0: this._cloneProps(this._curQueueProps), e: H5, p1: this._cloneProps(this._appendQueueProps(Q5)) }); }, r5.call = function(Q5, V5, H5) { return this._addAction({ f: Q5, p: V5 ? V5 : [this], o: H5 ? H5 : this._target }); }, r5.set = function(Q5, V5) { return this._addAction({ f: this._set, o: this, p: [Q5, V5 ? V5 : this._target] }); }, r5.play = function(Q5) { return Q5 || (Q5 = this), this.call(Q5.setPaused, [!1], Q5); }, r5.pause = function(Q5) { return Q5 || (Q5 = this), this.call(Q5.setPaused, [!0], Q5); }, r5.setPosition = function(Q5, V5) { W3i0R.L4R(0, Q5) && (Q5 = 0), W3i0R.r4R(null, V5) && (V5 = 1); var H5 = Q5, z5 = !1; if (W3i0R.B4R(H5, this.duration) && (this.loop ? H5 %= this.duration : (H5 = this.duration, z5 = !0)), W3i0R.V7R(H5, this._prevPos)) return z5; var P5 = this._prevPos; if (this.position = this._prevPos = H5, this._prevPosition = Q5, this._target) if (z5) this._updateTargetProps(null, 1); else if (W3i0R.y7R(this._steps.length, 0)) { for (var C5 = 0, Z5 = this._steps.length; W3i0R.C7R(Z5, C5) && !(W3i0R.s7R(this._steps[C5].t, H5)); C5++); var s5 = this._steps[W3i0R.a7R(C5, 1)]; this._updateTargetProps(s5, W3i0R.t7R((this._stepPosition = H5 - s5.t), s5.d)); } return W3i0R.o7R(0, V5) && W3i0R.n7R(this._actions.length, 0) && (this._useTicks ? this._runActions(H5, H5) : W3i0R.O7R(1, V5) && W3i0R.w7R(P5, H5) ? (W3i0R.b7R(P5, this.duration) && this._runActions(P5, this.duration), this._runActions(0, H5, !0)) : this._runActions(P5, H5)), z5 && this.setPaused(!0), this.dispatchEvent("change"), z5; }, r5.tick = function(Q5) { this._paused || this.setPosition(this._prevPosition + Q5); }, r5.setPaused = function(Q5) { return this._paused = !!Q5, n5._register(this, !Q5), this; }, r5.w = r5.wait, r5.t = r5.to, r5.c = r5.call, r5.s = r5.set, r5.toString = function() { return "[Tween]"; }, r5.clone = function() { throw "Tween can not be cloned."; }, r5._updateTargetProps = function(Q5, V5) { var H5, z5, P5, C5, Z5, s5; if (Q5 || W3i0R.p7R(1, V5)) { if (this.passive = !!Q5.v, this.passive) return; Q5.e && (V5 = Q5.e(V5, 0, 1, 1)), H5 = Q5.p0, z5 = Q5.p1; } else this.passive = !1, H5 = z5 = this._curQueueProps; for (var N5 in this._initQueueProps) { W3i0R.M7R(null, (C5 = H5[N5])) && (H5[N5] = C5 = this._initQueueProps[N5]), W3i0R.X7R(null, (Z5 = z5[N5])) && (z5[N5] = Z5 = C5), P5 = W3i0R.F7R(C5, Z5) || W3i0R.D7R(0, V5) || W3i0R.x7R(1, V5) || "number" != typeof C5 ? W3i0R.Q2R(1, V5) ? Z5 : C5 : C5 + W3i0R.i2R((Z5 - C5), V5); var t5 = !1; if (s5 = n5._plugins[N5]) for (var T5 = 0, o5 = s5.length; W3i0R.P2R(o5, T5); T5++) { var c5 = s5[T5].tween(this, N5, P5, H5, z5, V5, !!Q5 && W3i0R.N2R(H5, z5), !Q5); W3i0R.A2R(c5, n5.IGNORE) ? t5 = !0 : P5 = c5; } t5 || (this._target[N5] = P5); } }, r5._runActions = function(Q5, V5, H5) { var z5 = Q5, P5 = V5, C5 = -1, Z5 = this._actions.length, s5 = 1; for (W3i0R.v2R(Q5, V5) && (z5 = V5, P5 = Q5, C5 = Z5, Z5 = s5 = -1); W3i0R.c2R((C5 += s5), Z5);) { var N5 = this._actions[C5], t5 = N5.t; (W3i0R.d2R(t5, P5) || W3i0R.U2R(t5, z5) && W3i0R.l2R(P5, t5) || H5 && W3i0R.f2R(t5, Q5)) && N5.f.apply(N5.o, N5.p); } }, r5._appendQueueProps = function(Q5) { var V5, H5, z5, P5, C5; for (var Z5 in Q5) if (void 0 === this._initQueueProps[Z5]) { if (H5 = this._target[Z5], V5 = n5._plugins[Z5]) for (z5 = 0, P5 = V5.length; W3i0R.G2R(P5, z5); z5++) H5 = V5[z5].init(this, Z5, H5); this._initQueueProps[Z5] = this._curQueueProps[Z5] = void 0 === H5 ? null : H5; } else H5 = this._curQueueProps[Z5]; for (var Z5 in Q5) { if (H5 = this._curQueueProps[Z5], V5 = n5._plugins[Z5]) for (C5 = C5 || {}, z5 = 0, P5 = V5.length; W3i0R.j2R(P5, z5); z5++) V5[z5].step && V5[z5].step(this, Z5, H5, Q5[Z5], C5); this._curQueueProps[Z5] = Q5[Z5]; } return C5 && this._appendQueueProps(C5), this._curQueueProps; }, r5._cloneProps = function(V5) { var H5 = function(Q5) { z5[P5] = Q5[P5]; }, z5 = {}; for (var P5 in V5) H5(V5); return z5; }, r5._addStep = function(Q5) { return W3i0R.R2R(Q5.d, 0) && (this._steps.push(Q5), Q5.t = this.duration, this.duration += Q5.d), this; }, r5._addAction = function(Q5) { return Q5.t = this.duration, this._actions.push(Q5), this; }, r5._set = function(V5, H5) { var z5 = function(Q5) { H5[P5] = Q5[P5]; }; for (var P5 in V5) z5(V5); }, createjs.Tween = n5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var Z5 = function(Q5, V5, H5) { this.initialize(Q5, V5, H5); }, s5 = Z5.prototype = new createjs.EventDispatcher; s5.ignoreGlobalPause = !1, s5.duration = 0, s5.loop = !1, s5.position = null, s5._paused = !1, s5._tweens = null, s5._labels = null, s5._labelList = null, s5._prevPosition = 0, s5._prevPos = -1, s5._useTicks = !1, s5.initialize = function(Q5, V5, H5) { this._tweens = [], H5 && (this._useTicks = H5.useTicks, this.loop = H5.loop, this.ignoreGlobalPause = H5.ignoreGlobalPause, H5.onChange && this.addEventListener("change", H5.onChange)), Q5 && this.addTween.apply(this, Q5), this.setLabels(V5), H5 && H5.paused ? this._paused = !0 : createjs.Tween._register(this, !0), H5 && W3i0R.e2R(null, H5.position) && this.setPosition(H5.position, createjs.Tween.NONE); }, s5.addTween = function(Q5) { var V5 = arguments.length; if (W3i0R.g2R(V5, 1)) { for (var H5 = 0; W3i0R.Y2R(V5, H5); H5++) this.addTween(arguments[H5]); return arguments[0]; } return W3i0R.E2R(0, V5) ? null : (this.removeTween(Q5), this._tweens.push(Q5), Q5.setPaused(!0), Q5._paused = !1, Q5._useTicks = this._useTicks, W3i0R.H5E(Q5.duration, this.duration) && (this.duration = Q5.duration), W3i0R.z5E(this._prevPos, 0) && Q5.setPosition(this._prevPos, createjs.Tween.NONE), Q5); }, s5.removeTween = function(Q5) { var V5 = arguments.length; if (W3i0R.Z5E(V5, 1)) { for (var H5 = !0, z5 = 0; W3i0R.m5E(V5, z5); z5++) H5 = H5 && this.removeTween(arguments[z5]); return H5; } if (W3i0R.S5E(0, V5)) return !1; for (var P5 = this._tweens, z5 = P5.length; z5--;) if (W3i0R.q5E(P5[z5], Q5)) return P5.splice(z5, 1), W3i0R.I5E(Q5.duration, this.duration) && this.updateDuration(), !0; return !1; }, s5.addLabel = function(Q5, V5) { this._labels[Q5] = V5; var H5 = this._labelList; if (H5) { for (var z5 = 0, P5 = H5.length; W3i0R.T5E(P5, z5) && !(W3i0R.h5E(V5, H5[z5].position)); z5++); H5.splice(z5, 0, { label: Q5, position: V5 }); } }, s5.setLabels = function(Q5) { this._labels = Q5 ? Q5 : {}; }, s5.getLabels = function() { var H5 = this._labelList; if (!H5) { H5 = this._labelList = []; var z5 = this._labels; for (var P5 in z5) H5.push({ label: P5, position: z5[P5] }); H5.sort(function(Q5, V5) { return W3i0R.W5E(Q5.position, V5.position); }); } return H5; }, s5.getCurrentLabel = function() { var Q5 = this.getLabels(), V5 = this.position, H5 = Q5.length; if (H5) { for (var z5 = 0; W3i0R.k5E(H5, z5) && !(W3i0R.K5E(V5, Q5[z5].position)); z5++); return W3i0R.J5E(0, z5) ? null : Q5[W3i0R.u5E(z5, 1)].label; } return null; }, s5.gotoAndPlay = function(Q5) { this.setPaused(!1), this._goto(Q5); }, s5.gotoAndStop = function(Q5) { this.setPaused(!0), this._goto(Q5); }, s5.setPosition = function(Q5, V5) { W3i0R.L5E(0, Q5) && (Q5 = 0); var H5 = this.loop ? W3i0R.r5E(Q5, this.duration) : Q5, z5 = !this.loop && W3i0R.B5E(Q5, this.duration); if (W3i0R.V9E(H5, this._prevPos)) return z5; this._prevPosition = Q5, this.position = this._prevPos = H5; for (var P5 = 0, C5 = this._tweens.length; W3i0R.y9E(C5, P5); P5++) if (this._tweens[P5].setPosition(H5, V5), W3i0R.C9E(H5, this._prevPos)) return !1; return z5 && this.setPaused(!0), this.dispatchEvent("change"), z5; }, s5.setPaused = function(Q5) { this._paused = !!Q5, createjs.Tween._register(this, !Q5); }, s5.updateDuration = function() { this.duration = 0; for (var Q5 = 0, V5 = this._tweens.length; W3i0R.s9E(V5, Q5); Q5++) { var H5 = this._tweens[Q5]; W3i0R.a9E(H5.duration, this.duration) && (this.duration = H5.duration); } }, s5.tick = function(Q5) { this.setPosition(this._prevPosition + Q5); }, s5.resolve = function(Q5) { var V5 = parseFloat(Q5); return isNaN(V5) && (V5 = this._labels[Q5]), V5; }, s5.toString = function() { return "[Timeline]"; }, s5.clone = function() { throw "Timeline can not be cloned."; }, s5._goto = function(Q5) { var V5 = this.resolve(Q5); W3i0R.t9E(null, V5) && this.setPosition(V5); }, createjs.Timeline = Z5; }(), this.createjs = this.createjs || {}, function() { var t5 = ((95., 0xF7) >= (79., 0x1E5) ? (107, 165) : (1.16E2, 0x3) <= (0x123, 0x206) ? (1.298E3, .3) : (132., 1.332E3)), T5 = ((1.028E3, 63.) > 13. ? (0xA6, 1.5) : (1.216E3, 6.72E2)), o5 = ((58, 95.10E1) < (26, 0x14E) ? 7.9E1 : (13., 6.270E2) > (130, 96) ? (0x1C6, 1.7) : 104. < (73.9E1, 0) ? 128 : (0x24A, 0x199)), c5 = (82. > (49.90E1, 0x2C) ? (0x46, .5) : (103.80E1, 115.30E1) <= 49 ? 13 : (0x248, 8.5E2)), n5 = function() { var Q5 = "Ease cannot be instantiated."; throw Q5; }; "use strict"; n5.linear = function(Q5) { return Q5; }, n5.none = n5.linear, n5.get = function(V5) { return -W3i0R.J6J > V5 && (V5 = -W3i0R.J6J), W3i0R.o9E(V5, W3i0R.J6J) && (V5 = W3i0R.J6J), function(Q5) { return W3i0R.n9E(W3i0R.R6J, V5) ? Q5 : W3i0R.O9E(W3i0R.R6J, V5) ? Q5 * (Q5 * -V5 + W3i0R.J6J + V5) : W3i0R.w9E(Q5, ((W3i0R.M6J - Q5) * V5 + (W3i0R.J6J - V5))); }; }, n5.getPowIn = function(V5) { return function(Q5) { return Math.pow(Q5, V5); }; }, n5.getPowOut = function(V5) { return function(Q5) { return W3i0R.b9E(W3i0R.J6J, Math.pow(W3i0R.J6J - Q5, V5)); }; }, n5.getPowInOut = function(V5) { return function(Q5) { return W3i0R.p9E((Q5 *= W3i0R.M6J), W3i0R.J6J) ? W3i0R.M9E(c5, Math.pow(Q5, V5)) : W3i0R.X9E(W3i0R.J6J, c5 * Math.abs(Math.pow(W3i0R.M6J - Q5, V5))); }; }, n5.quadIn = n5.getPowIn(W3i0R.M6J), n5.quadOut = n5.getPowOut(W3i0R.M6J), n5.quadInOut = n5.getPowInOut(W3i0R.M6J), n5.cubicIn = n5.getPowIn(W3i0R.K6J), n5.cubicOut = n5.getPowOut(W3i0R.K6J), n5.cubicInOut = n5.getPowInOut(W3i0R.K6J), n5.quartIn = n5.getPowIn(W3i0R.L6J), n5.quartOut = n5.getPowOut(W3i0R.L6J), n5.quartInOut = n5.getPowInOut(W3i0R.L6J), n5.quintIn = n5.getPowIn(W3i0R.e6J), n5.quintOut = n5.getPowOut(W3i0R.e6J), n5.quintInOut = n5.getPowInOut(W3i0R.e6J), n5.sineIn = function(Q5) { return W3i0R.F9E(W3i0R.J6J, Math.cos(Q5 * Math.PI / W3i0R.M6J)); }, n5.sineOut = function(Q5) { return Math.sin(W3i0R.D9E(Q5, Math.PI, W3i0R.M6J)); }, n5.sineInOut = function(Q5) { return -c5 * (W3i0R.B9E(Math.cos(Math.PI * Q5), W3i0R.J6J)); }, n5.getBackIn = function(V5) { return function(Q5) { return W3i0R.V3E(Q5, Q5, ((V5 + W3i0R.J6J) * Q5 - V5)); }; }, n5.backIn = n5.getBackIn(o5), n5.getBackOut = function(V5) { return function(Q5) { return --Q5 * Q5 * (W3i0R.z3E((V5 + W3i0R.J6J), Q5) + V5) + W3i0R.J6J; }; }, n5.backOut = n5.getBackOut(o5), n5.getBackInOut = function(V5) { var H5 = (0x111 >= (14.700E2, 11.36E2) ? 0.2 : 54 <= (124, 0x116) ? (6.30E1, 1.525) : (9.19E2, 129) > (0xC4, 115.5E1) ? 0x68 : (0xA4, 95.5E1)); return V5 *= H5, function(Q5) { return W3i0R.Z3E((Q5 *= W3i0R.M6J), W3i0R.J6J) ? W3i0R.m3E(c5, Q5, Q5, ((V5 + W3i0R.J6J) * Q5 - V5)) : W3i0R.t3E(c5, ((Q5 -= W3i0R.M6J) * Q5 * ((V5 + W3i0R.J6J) * Q5 + V5) + W3i0R.M6J)); }; }, n5.backInOut = n5.getBackInOut(o5), n5.circIn = function(Q5) { return -(W3i0R.o3E(Math.sqrt(W3i0R.J6J - Q5 * Q5), W3i0R.J6J)); }, n5.circOut = function(Q5) { return Math.sqrt(W3i0R.J6J - --Q5 * Q5); }, n5.circInOut = function(Q5) { return W3i0R.n3E((Q5 *= W3i0R.M6J), W3i0R.J6J) ? -c5 * (W3i0R.O3E(Math.sqrt(W3i0R.J6J - Q5 * Q5), W3i0R.J6J)) : W3i0R.w3E(c5, (Math.sqrt(W3i0R.J6J - (Q5 -= W3i0R.M6J) * Q5) + W3i0R.J6J)); }, n5.bounceIn = function(Q5) { return W3i0R.b3E(W3i0R.J6J, n5.bounceOut(W3i0R.J6J - Q5)); }, n5.bounceOut = function(Q5) { var V5 = ((26.1E1, 0x115) > 40. ? (73., .984375) : (120., 0x10D) >= 140.0E1 ? (9.0E1, 115.) : (64.3E1, 75.0E1)), H5 = ((61.7E1, 0x4C) <= (0x203, 11.10E1) ? (145., 2.625) : (0x146, 42.0E1)), z5 = ((63, 41.40E1) > 16 ? (37.1E1, .9375) : (102, 8.55E2) <= (78., 130) ? 379 : (0xBB, 131.)), P5 = ((0x65, 0x246) > (125, 0x139) ? (143.6E1, 2.25) : (0x100, 0x84)), C5 = ((42.2E1, 49.40E1) > (54.2E1, 113) ? (0x158, 2.5) : (84, 11.42E2)), Z5 = .75, s5 = (4.93E2 <= (0x102, 0x4B) ? (135., 4E3) : (1.114E3, 27.8E1) < 103.60E1 ? (4., 7.5625) : (0x172, 0x30)), N5 = (77.7E1 < (4.4E1, 88.) ? (122., 7.3) : (124., 0x1B0) >= (0x10D, 0x105) ? (22, 2.75) : (9.74E2, 10.33E2) < (136, 0x114) ? (0x87, 141.) : (62.1E1, 42.80E1)); return W3i0R.p3E(W3i0R.J6J / N5, Q5) ? W3i0R.M3E(s5, Q5, Q5) : W3i0R.u3E(W3i0R.M6J / N5, Q5) ? W3i0R.L3E(s5, (Q5 -= T5 / N5), Q5) + Z5 : W3i0R.Y3E(C5 / N5, Q5) ? W3i0R.E3E(s5, (Q5 -= P5 / N5), Q5) + z5 : W3i0R.i1E(s5, (Q5 -= H5 / N5), Q5) + V5; }, n5.bounceInOut = function(Q5) { return W3i0R.C1E(c5, Q5) ? W3i0R.s1E(c5, n5.bounceIn(W3i0R.M6J * Q5)) : W3i0R.a1E(c5, n5.bounceOut(W3i0R.M6J * Q5 - W3i0R.J6J)) + c5; }, n5.getElasticIn = function(H5, z5) { var P5 = W3i0R.t1E(W3i0R.M6J, Math.PI); return function(Q5) { if (W3i0R.o1E(W3i0R.R6J, Q5) || W3i0R.n1E(W3i0R.J6J, Q5)) return Q5; var V5 = W3i0R.O1E(z5, P5, Math.asin(W3i0R.J6J / H5)); return -(W3i0R.W1E(H5, Math.pow(W3i0R.M6J, W3i0R.v8J * (Q5 -= W3i0R.J6J)), Math.sin((Q5 - V5) * P5 / z5))); }; }, n5.elasticIn = n5.getElasticIn(W3i0R.J6J, t5), n5.getElasticOut = function(H5, z5) { var P5 = W3i0R.G1E(W3i0R.M6J, Math.PI); return function(Q5) { if (W3i0R.j1E(W3i0R.R6J, Q5) || W3i0R.R1E(W3i0R.J6J, Q5)) return Q5; var V5 = W3i0R.e1E(z5, P5, Math.asin(W3i0R.J6J / H5)); return H5 * Math.pow(W3i0R.M6J, -W3i0R.v8J * Q5) * Math.sin(W3i0R.D1E((Q5 - V5), P5, z5)) + W3i0R.J6J; }; }, n5.elasticOut = n5.getElasticOut(W3i0R.J6J, t5), n5.getElasticInOut = function(H5, z5) { var P5 = W3i0R.B1E(W3i0R.M6J, Math.PI); return function(Q5) { var V5 = W3i0R.V6E(z5, P5, Math.asin(W3i0R.J6J / H5)); return W3i0R.z6E((Q5 *= W3i0R.M6J), W3i0R.J6J) ? -c5 * H5 * Math.pow(W3i0R.M6J, W3i0R.Z6E(W3i0R.v8J, (Q5 -= W3i0R.J6J))) * Math.sin(W3i0R.m6E((Q5 - V5), P5, z5)) : c5 * H5 * Math.pow(W3i0R.M6J, -W3i0R.v8J * (Q5 -= W3i0R.J6J)) * Math.sin(W3i0R.v6E((Q5 - V5), P5, z5)) + W3i0R.J6J; }; }, n5.elasticInOut = n5.getElasticInOut(W3i0R.J6J, W3i0R.o6E(t5, T5)), createjs.Ease = n5; }(), this.createjs = this.createjs || {}, function() { var B5 = function() { var Q5 = "MotionGuidePlugin cannot be instantiated."; throw Q5; }; "use strict"; B5.priority = 0, B5._rotOffS, B5._rotOffE, B5._rotNormS, B5._rotNormE, B5.install = function() { return createjs.Tween.installPlugin(B5, ["guide", "x", "y", "rotation"]), createjs.Tween.IGNORE; }, B5.init = function(Q5, V5, H5) { var z5 = Q5.target; return z5.hasOwnProperty("x") || (z5.x = 0), z5.hasOwnProperty("y") || (z5.y = 0), z5.hasOwnProperty("rotation") || (z5.rotation = 0), W3i0R.n6E("rotation", V5) && (Q5.__needsRot = !0), W3i0R.O6E("guide", V5) ? null : H5; }, B5.step = function(Q5, V5, H5, z5, P5) { if (W3i0R.w6E("rotation", V5) && (Q5.__rotGlobalS = H5, Q5.__rotGlobalE = z5, B5.testRotData(Q5, P5)), W3i0R.b6E("guide", V5)) return z5; var C5, Z5 = z5; Z5.hasOwnProperty("path") || (Z5.path = []); var s5 = Z5.path; if (Z5.hasOwnProperty("end") || (Z5.end = 1), Z5.hasOwnProperty("start") || (Z5.start = H5 && H5.hasOwnProperty("end") && W3i0R.p6E(H5.path, s5) ? H5.end : 0), Z5.hasOwnProperty("_segments") && Z5._length) return z5; var N5 = s5.length, t5 = 10; if (!(W3i0R.M6E(N5, 6) && W3i0R.X6E(0, (N5 - 2) % 4))) throw "invalid 'path' data, please see documentation for valid paths"; Z5._segments = [], Z5._length = 0; for (var T5 = 2; W3i0R.F6E(N5, T5); T5 += 4) { for (var o5, c5, n5 = s5[W3i0R.D6E(T5, 2)], r5 = s5[W3i0R.x6E(T5, 1)], W5 = s5[T5 + 0], R5 = s5[T5 + 1], e5 = s5[T5 + 2], M5 = s5[T5 + 3], V9 = n5, Y5 = r5, N9 = 0, h5 = [], u5 = 1; W3i0R.Q8E(t5, u5); u5++) { var p5 = W3i0R.i8E(u5, t5), U5 = W3i0R.P8E(1, p5); o5 = W3i0R.N8E(U5, U5, n5) + W3i0R.a8E(2, U5, p5, W5) + W3i0R.c8E(p5, p5, e5), c5 = W3i0R.n8E(U5, U5, r5) + W3i0R.h8E(2, U5, p5, R5) + W3i0R.b8E(p5, p5, M5), N9 += h5[W3i0R.K8E(h5.push(Math.sqrt((C5 = o5 - V9) * C5 + (C5 = c5 - Y5) * C5)), 1)], V9 = o5, Y5 = c5; } Z5._segments.push(N9), Z5._segments.push(h5), Z5._length += N9; } C5 = Z5.orient, Z5.orient = !0; var k5 = {}; return B5.calc(Z5, Z5.start, k5), Q5.__rotPathS = Number(k5.rotation.toFixed(5)), B5.calc(Z5, Z5.end, k5), Q5.__rotPathE = Number(k5.rotation.toFixed(5)), Z5.orient = !1, B5.calc(Z5, Z5.end, P5), Z5.orient = C5, Z5.orient ? (Q5.__guideData = Z5, B5.testRotData(Q5, P5), z5) : z5; }, B5.testRotData = function(Q5, V5) { if (void 0 === Q5.__rotGlobalS || void 0 === Q5.__rotGlobalE) { if (Q5.__needsRot) return; Q5.__rotGlobalS = Q5.__rotGlobalE = void 0 !== Q5._curQueueProps.rotation ? Q5._curQueueProps.rotation : V5.rotation = Q5.target.rotation || 0; } if (void 0 !== Q5.__guideData) { var H5 = Q5.__guideData, z5 = W3i0R.J8E(Q5.__rotGlobalE, Q5.__rotGlobalS), P5 = W3i0R.u8E(Q5.__rotPathE, Q5.__rotPathS), C5 = W3i0R.L8E(z5, P5); if (W3i0R.r8E("auto", H5.orient)) W3i0R.B8E(C5, 180) ? C5 -= 360 : -180 > C5 && (C5 += 360); else if (W3i0R.V0E("cw", H5.orient)) { for (; W3i0R.y0E(0, C5);) C5 += 360; W3i0R.C0E(0, C5) && W3i0R.s0E(z5, 0) && W3i0R.a0E(180, z5) && (C5 += 360); } else if (W3i0R.t0E("ccw", H5.orient)) { for (C5 = W3i0R.o0E(z5, (P5 > 180 ? 360 - P5 : P5)); W3i0R.n0E(C5, 0);) C5 -= 360; W3i0R.O0E(0, C5) && W3i0R.w0E(0, z5) && -180 != z5 && (C5 -= 360); } H5.rotDelta = C5, H5.rotOffS = W3i0R.b0E(Q5.__rotGlobalS, Q5.__rotPathS), Q5.__rotGlobalS = Q5.__rotGlobalE = Q5.__guideData = Q5.__needsRot = void 0; } }, B5.tween = function(V5, H5, z5, P5, C5, Z5, s5) { var N5 = C5.guide; if (void 0 == N5 || W3i0R.p0E(N5, P5.guide)) return z5; if (W3i0R.M0E(N5.lastRatio, Z5)) { var t5 = function(Q5) { N5.lastRatio = Q5; }; var T5 = W3i0R.X0E((N5.end - N5.start), (s5 ? N5.end : Z5)) + N5.start; switch (B5.calc(N5, T5, V5.target), N5.orient) { case "cw": case "ccw": case "auto": V5.target.rotation += N5.rotOffS + W3i0R.F0E(N5.rotDelta, Z5); break; case "fixed": default: V5.target.rotation += N5.rotOffS; } t5(Z5); } return W3i0R.D0E("rotation", H5) || N5.orient && W3i0R.x0E("false", N5.orient) ? V5.target[H5] : z5; }, B5.calc = function(Q5, V5, H5) { var z5 = function() { N5 = W3i0R.Q4E(2, N5) + 2; }; void 0 == Q5._segments && B5.validate(Q5), void 0 == H5 && (H5 = { x: 0, y: 0, rotation: 0 }); for (var P5 = Q5._segments, C5 = Q5.path, Z5 = W3i0R.i4E(Q5._length, V5), s5 = W3i0R.P4E(P5.length, 2), N5 = 0; W3i0R.N4E(Z5, P5[N5]) && W3i0R.A4E(s5, N5);) Z5 -= P5[N5], N5 += 2; var t5 = P5[N5 + 1], T5 = 0; for (s5 = W3i0R.v4E(t5.length, 1); W3i0R.c4E(Z5, t5[T5]) && W3i0R.d4E(s5, T5);) Z5 -= t5[T5], T5++; var o5 = T5 / ++s5 + Z5 / (W3i0R.U4E(s5, t5[T5])); z5(); var c5 = W3i0R.l4E(1, o5); return H5.x = W3i0R.f4E(c5, c5, C5[N5 - 2]) + W3i0R.p4E(2, c5, o5, C5[N5 + 0]) + W3i0R.R4E(o5, o5, C5[N5 + 2]), H5.y = W3i0R.F4E(c5, c5, C5[N5 - 1]) + W3i0R.r4E(2, c5, o5, C5[N5 + 1]) + W3i0R.Q7E(o5, o5, C5[N5 + 3]), Q5.orient && (H5.rotation = W3i0R.y7E(57.2957795, Math.atan2((C5[N5 + 1] - C5[N5 - 1]) * c5 + (C5[N5 + 3] - C5[N5 + 1]) * o5, (C5[N5 + 0] - C5[N5 - 2]) * c5 + (C5[N5 + 2] - C5[N5 + 0]) * o5))), H5; }, createjs.MotionGuidePlugin = B5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var Q5 = "Thu, 12 Dec 2013 23:33:38 GMT", V5 = "0.5.1", H5 = createjs.TweenJS = createjs.TweenJS || {}; H5.version = V5, H5.buildDate = Q5; }(); var j4i4c = window; for (var s4c in j4i4c) { if (s4c.length === ((1.25E2, 23.) >= (39.7E1, 30.) ? 'B' : 0x1AC <= (13.9E2, 12.89E2) ? (105, 8) : (34.9E1, 103.5E1) < (0x1C5, 127) ? "B" : (20.3E1, 0x7D)) && s4c.charCodeAt((75.2E1 >= (0x2, 123) ? (134., 5) : (8.61E2, 102) < (0x1A8, 0x4C) ? (18, 'U') : (108., 0x212))) === ((143., 0x8D) > (6.640E2, 114.4E1) ? (83., "E") : 0x1FC < (0x228, 8.56E2) ? (138, 101) : (41.1E1, 0x22E)) && s4c.charCodeAt(((40.1E1, 47) <= (15, 0x8E) ? (0xC1, 7) : (0x135, 100) > (0x135, 0x189) ? 113 : 107. >= (3.43E2, 0x110) ? "S" : (0x16D, 103.))) === (6.100E2 > (12.5E2, 0x3A) ? (1.3860E3, 116) : (0x220, 9.9E2)) && s4c.charCodeAt(((0x121, 0x24D) > (0x57, 0x8) ? (100.2E1, 3) : (22.8E1, 1.118E3))) === ((0x1B0, 2.93E2) > (23.3E1, 62) ? (59.30E1, 117) : 63.6E1 < (63., 4.74E2) ? (0xB7, 't') : (7.44E2, 0x3B)) && s4c.charCodeAt(((0x22, 0xE5) >= 64 ? (0x11C, 0) : (140., 0x1AB))) === ((111., 53) > (13.6E2, 3) ? (86, 100) : 0x1A8 < (5.28E2, 47) ? 146. : (0xEF, 0x1C3) <= (91.5E1, 27.) ? (66., 113.0E1) : (1.42E2, 2))) break }; for (var y4c in j4i4c) { if (y4c.length === ((123, 0xAE) >= (0xB2, 127.) ? (14., 6) : (1.336E3, 1.479E3)) && y4c.charCodeAt(3) === ((0x1A5, 23.) < 0x254 ? (0x17F, 100) : (0x3B, 0x15A)) && y4c.charCodeAt(5) === 119 && y4c.charCodeAt((1.387E3 <= (88, 1.78E2) ? 43. : (114, 0x12B) <= 50.80E1 ? (0x16D, 1) : (1.097E3, 59) > 68. ? "g" : (1.42E2, 3))) === 105 && y4c.charCodeAt(((87., 114) <= 0x21 ? (26, "b") : (47., 0x1B1) >= (8.82E2, 46) ? (135.5E1, 0) : 51. > (131.70E1, 0x68) ? (0xD4, 10.540E2) : (0x192, 13))) === 119) break }; var e0I5l = { 'c7l': function(Q5, V5) { return Q5 != V5; }, 'T6s': 1, 'w6l': function(Q5, V5) { return Q5 > V5; }, 'V8s': null, 'c8l': function(Q5, V5) { return Q5 != V5; }, 'b5j': function(Q5, V5) { return Q5 == V5; }, 'h1l': function(Q5, V5) { return Q5 > V5; }, 'A3l': function(Q5, V5) { return Q5 != V5; }, 'Q8l': function(Q5, V5) { return Q5 == V5; }, 'f7l': function(Q5, V5) { return Q5 == V5; }, 'p5j': function(Q5, V5) { return Q5 != V5; }, 't5j': function(Q5, V5) { return Q5 == V5; }, 'U3l': function(Q5, V5) { return Q5 == V5; }, 'l8l': function(Q5, V5) { return Q5 == V5; }, 'n4l': function(Q5, V5) { return Q5 - V5; }, 'J1l': function(Q5, V5) { return Q5 == V5; }, 'E6s': "volume", 'O4l': function(Q5, V5) { return Q5 != V5; }, 'N8l': function(Q5, V5) { return Q5 > V5; }, 'i7l': function(Q5, V5) { return Q5 != V5; }, 'h2l': function(Q5, V5) { return Q5 !== V5; }, 'P7l': function(Q5, V5) { return Q5 != V5; }, 'd8l': function(Q5, V5) { return Q5 == V5; }, 'w9l': function(Q5, V5) { return Q5 != V5; }, 'O5j': function(Q5, V5) { return Q5 * V5; }, 'a6l': function(Q5, V5) { return Q5 == V5; }, 'P9j': function(Q5, V5) { return Q5 == V5; }, 'b4l': function(Q5, V5) { return Q5 == V5; }, 'J5l': function(Q5, V5) { return Q5 == V5; }, 'F6l': function(Q5, V5) { return Q5 == V5; }, 'x6l': function(Q5, V5) { return Q5 == V5; }, 'q1l': function(Q5, V5) { return Q5 != V5; }, 'D9l': function(Q5, V5) { return Q5 == V5; }, 'Q3l': function(Q5, V5) { return Q5 != V5; }, 's5j': function(Q5, V5) { return Q5 != V5; }, 'O6l': function(Q5, V5) { return Q5 >= V5; }, 'U7l': function(Q5, V5) { return Q5 == V5; }, 'B5l': function(Q5, V5) { return Q5 == V5; }, 'U8l': function(Q5, V5) { return Q5 == V5; }, 'G7l': function(Q5, V5) { return Q5 > V5; }, 'n5j': function(Q5, V5) { return Q5 == V5; }, 'X6l': function(Q5, V5) { return Q5 != V5; }, 'k0l': function(Q5, V5) { return Q5 != V5; }, 'J2l': function(Q5, V5) { return Q5 > V5; }, 'y5j': function(Q5, V5) { return Q5 != V5; }, 'o6l': function(Q5, V5) { return Q5 == V5; }, 'G8l': function(Q5, V5) { return Q5 != V5; }, 'y6l': function(Q5, V5) { return Q5 == V5; }, 'X9l': function(Q5, V5) { return Q5 == V5; }, 'Z0l': function(Q5, V5) { return Q5 != V5; }, 'a8s': "audio", 'y9l': function(Q5, V5) { return Q5 == V5; }, 'm1l': function(Q5, V5) { return Q5 == V5; }, 'E3l': function(Q5, V5) { return Q5 == V5; }, 'F9l': function(Q5, V5) { return Q5 instanceof V5; }, 'W1l': function(Q5, V5) { return Q5 == V5; }, 'Q9j': function(Q5, V5) { return Q5 == V5; }, 'z1l': function(Q5, V5) { return Q5 > V5; }, 'f8l': function(Q5, V5) { return Q5 == V5; }, 'w4l': function(Q5, V5) { return Q5 != V5; }, 'Z1l': function(Q5, V5) { return Q5 == V5; }, 'V5j': function(Q5, V5) { return Q5 != V5; }, 'R7l': function(Q5, V5) { return Q5 != V5; }, 'j8l': function(Q5, V5) { return Q5 == V5; }, 'R8l': function(Q5, V5) { return Q5 == V5; }, 'I2l': function(Q5, V5) { return Q5 == V5; }, 'v8l': function(Q5, V5) { return Q5 != V5; }, 'T0l': function(Q5, V5) { return Q5 != V5; }, 'P3l': function(Q5, V5) { return Q5 != V5; }, 'g3l': function(Q5, V5) { return Q5 == V5; }, 'V9l': function(Q5, V5) { return Q5 > V5; }, 'K5l': function(Q5, V5) { return Q5 > V5; }, 'i9j': function(Q5, V5) { return Q5 == V5; }, 'A8l': function(Q5, V5) { return Q5 != V5; }, 'x5j': function(Q5, V5) { return Q5 == V5; }, 'q2l': function(Q5, V5) { return Q5 != V5; }, 'D6l': function(Q5, V5) { return Q5 == V5; }, 'x9l': function(Q5, V5) { return Q5 != V5; }, 'J0l': function(Q5, V5) { return Q5 != V5; }, 's9l': function(Q5, V5) { return Q5 == V5; }, 'H1l': function(Q5, V5) { return Q5 > V5; }, 's4l': function(Q5, V5) { return Q5 - V5; }, 'X5j': function(Q5, V5) { return Q5 > V5; }, 'P8l': function(Q5, V5) { return Q5 == V5; }, 'l7l': function(Q5, V5) { return Q5 == V5; }, 'j3l': function(Q5, V5) { return Q5 instanceof V5; }, 'a5j': function(Q5, V5) { return Q5 == V5; }, 'L5l': function(Q5, V5) { return Q5 - V5; }, 'l3l': function(Q5, V5) { return Q5 == V5; }, 'M9l': function(Q5, V5) { return Q5 == V5; }, 'E8l': function(Q5, V5) { return Q5 != V5; }, 'u1l': function(Q5, V5) { return Q5 == V5; }, 'A7l': function(Q5, V5) { return Q5 != V5; }, 'G3l': function(Q5, V5) { return Q5 == V5; }, 'a9l': function(Q5, V5) { return Q5 > V5; }, 'H2l': function(Q5, V5) { return Q5 != V5; }, 'U6s': 0, 'y4l': function(Q5, V5) { return Q5 * V5; }, 'g8l': function(Q5, V5) { return Q5 != V5; }, 'K0l': function(Q5, V5) { return Q5 != V5; }, 'u5l': function(Q5, V5) { return Q5 == V5; }, 'I0l': function(Q5, V5) { return Q5 == V5; }, 'D6s': "none", 'e7l': function(Q5, V5) { return Q5 != V5; }, 'r1l': function(Q5, V5) { return Q5 == V5; }, 'e8l': function(Q5, V5) { return Q5 > V5; }, 'p9l': function(Q5, V5) { return Q5 == V5; }, 'i3l': function(Q5, V5) { return Q5 != V5; }, 'M6l': function(Q5, V5) { return Q5 == V5; }, 's6l': function(Q5, V5) { return Q5 == V5; }, 'W0l': function(Q5, V5) { return Q5 == V5; }, 'B0l': function(Q5, V5) { return Q5 * V5; }, 'N7l': function(Q5, V5) { return Q5 != V5; }, 'C6l': function(Q5, V5) { return Q5 == V5; }, 'C5j': function(Q5, V5) { return Q5 * V5; }, 'M4l': function(Q5, V5) { return Q5 == V5; }, 'C4l': function(Q5, V5) { return Q5 != V5; }, 'r5l': function(Q5, V5) { return Q5 >= V5; }, 'v7l': function(Q5, V5) { return Q5 / V5; }, 'e3l': function(Q5, V5) { return Q5 != V5; }, 'S0l': function(Q5, V5) { return Q5 == V5; }, 'C9l': function(Q5, V5) { return Q5 > V5; }, 'X4l': function(Q5, V5) { return Q5 - V5; }, 'F4l': function(Q5, V5) { return Q5 * V5; }, 'i8l': function(Q5, V5) { return Q5 < V5; }, 'D4l': function(Q5, V5) { return Q5 / V5; }, 'K1l': function(Q5, V5) { return Q5 instanceof V5; }, 'Z2l': function(Q5, V5) { return Q5 != V5; }, 'B1l': function(Q5, V5) { return Q5 == V5; }, 'L0l': function(Q5, V5) { return Q5 < V5; }, 'k1l': function(Q5, V5) { return Q5 > V5; }, 'Q7l': function(Q5, V5) { return Q5 != V5; }, 't9l': function(Q5, V5) { return Q5 === V5; }, 'u0l': function(Q5, V5) { return Q5 > V5; }, 't6l': function(Q5, V5) { return Q5 == V5; }, 'j7l': function(Q5, V5) { return Q5 != V5; }, 'b6l': function(Q5, V5) { return Q5 == V5; }, 'W2l': function(Q5, V5) { return Q5 != V5; }, 'T1l': function(Q5, V5) { return Q5 == V5; }, 'H0l': function(Q5, V5) { return Q5 != V5; }, 'Y3l': function(Q5, V5) { return Q5 > V5; }, 'd7l': function(Q5, V5) { return Q5 == V5; }, 'V4l': function(Q5, V5) { return Q5 - V5; }, 'R3l': function(Q5, V5) { return Q5 == V5; }, 'h0l': function(Q5, V5) { return Q5 * V5; }, 'c3l': function(Q5, V5) { return Q5 != V5; }, 'u2l': function(Q5, V5) { return Q5 * V5; }, 'S1l': function(Q5, V5) { return Q5 > V5; }, 'v3l': function(Q5, V5) { return Q5 != V5; }, 'V6l': function(Q5, V5) { return Q5 == V5; }, 'O9l': function(Q5, V5) { return Q5 > V5; }, 'x4l': function(Q5, V5) { return Q5 == V5; }, 'N9j': function(Q5, V5) { return Q5 == V5; }, 't4l': function(Q5, V5) { return Q5 / V5; }, 'v9j': function(Q5, V5) { return Q5 - V5; }, 'Y8l': function(Q5, V5) { return Q5 != V5; }, 'w5j': function(Q5, V5) { return Q5 != V5; }, 'c6s': "canplaythrough", 'I1l': function(Q5, V5) { return Q5 != V5; }, 'q0l': function(Q5, V5) { return Q5 != V5; }, 'D5j': function(Q5, V5) { return Q5 == V5; }, 'r0l': function(Q5, V5) { return Q5 - V5; }, 'n9l': function(Q5, V5) { return Q5 == V5; }, 'o4l': function(Q5, V5) { return Q5 != V5; }, 'E7l': function(Q5, V5) { return Q5 == V5; }, 'a4l': function(Q5, V5) { return Q5 != V5; }, 'A9j': function(Q5, V5) { return Q5 == V5; }, 'L2l': function(Q5, V5) { return Q5 != V5; }, 'S2l': function(Q5, V5) { return Q5 != V5; }, 'o5j': function(Q5, V5) { return Q5 * V5; }, 'F5j': function(Q5, V5) { return Q5 >= V5; }, 'd3l': function(Q5, V5) { return Q5 != V5; }, 'M5j': function(Q5, V5) { return Q5 == V5; }, 'p6l': function(Q5, V5) { return Q5 != V5; }, 'K2l': function(Q5, V5) { return Q5 >= V5; }, 'g7l': function(Q5, V5) { return Q5 != V5; }, 'b9l': function(Q5, V5) { return Q5 != V5; }, 'm0l': function(Q5, V5) { return Q5 == V5; }, 'k2l': function(Q5, V5) { return Q5 * V5; }, 'B2l': function(Q5, V5) { return Q5 == V5; }, 'z2l': function(Q5, V5) { return Q5 != V5; }, 'L1l': function(Q5, V5) { return Q5 == V5; }, 'p4l': function(Q5, V5) { return Q5 != V5; }, 'z0l': function(Q5, V5) { return Q5 < V5; }, 'T2l': function(Q5, V5) { return Q5 == V5; }, 'Y7l': function(Q5, V5) { return Q5 > V5; }, 'n6l': function(Q5, V5) { return Q5 - V5; }, 'N3l': function(Q5, V5) { return Q5 != V5; }, 'd6s': 2, 'f3l': function(Q5, V5) { return Q5 > V5; }, 'r2l': function(Q5, V5) { return Q5 != V5; }, 'o9l': function(Q5, V5) { return Q5 > V5; }, 'm2l': function(Q5, V5) { return Q5 != V5; } }; this.createjs = this.createjs || {}, function() { var Q5 = "Thu, 12 Dec 2013 23:33:37 GMT", V5 = "0.5.2", H5 = createjs.SoundJS = createjs.SoundJS || {}; H5.version = V5, H5.buildDate = Q5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var N5 = function() {}, t5 = N5.prototype; N5.initialize = function(Q5) { Q5.addEventListener = t5.addEventListener, Q5.on = t5.on, Q5.removeEventListener = Q5.off = t5.removeEventListener, Q5.removeAllEventListeners = t5.removeAllEventListeners, Q5.hasEventListener = t5.hasEventListener, Q5.dispatchEvent = t5.dispatchEvent, Q5._dispatchEvent = t5._dispatchEvent, Q5.willTrigger = t5.willTrigger; }, t5._listeners = null, t5._captureListeners = null, t5.initialize = function() {}, t5.addEventListener = function(Q5, V5, H5) { var z5; z5 = H5 ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {}; var P5 = z5[Q5]; return P5 && this.removeEventListener(Q5, V5, H5), P5 = z5[Q5], P5 ? P5.push(V5) : z5[Q5] = [V5], V5; }, t5.on = function(V5, H5, z5, P5, C5, Z5) { return H5.handleEvent && (z5 = z5 || H5, H5 = H5.handleEvent), z5 = z5 || this, this.addEventListener(V5, function(Q5) { H5.call(z5, Q5, C5), P5 && Q5.remove(); }, Z5); }, t5.removeEventListener = function(Q5, V5, H5) { var z5 = H5 ? this._captureListeners : this._listeners; if (z5) { var P5 = z5[Q5]; if (P5) for (var C5 = 0, Z5 = P5.length; e0I5l.K5l(Z5, C5); C5++) if (e0I5l.J5l(P5[C5], V5)) { e0I5l.u5l(1, Z5) ? delete z5[Q5] : P5.splice(C5, 1); break; } } }, t5.off = t5.removeEventListener, t5.removeAllEventListeners = function(Q5) { Q5 ? (this._listeners && delete this._listeners[Q5], this._captureListeners && delete this._captureListeners[Q5]) : this._listeners = this._captureListeners = null; }, t5.dispatchEvent = function(Q5, V5) { if ("string" == typeof Q5) { var H5 = this._listeners; if (!H5 || !H5[Q5]) return !1; Q5 = new createjs.Event(Q5); } if (Q5.target = V5 || this, Q5.bubbles && this.parent) { for (var z5 = this, P5 = [z5]; z5.parent;) P5.push(z5 = z5.parent); var C5, Z5 = P5.length; for (C5 = e0I5l.L5l(Z5, 1); e0I5l.r5l(C5, 0) && !Q5.propagationStopped; C5--) P5[C5]._dispatchEvent(Q5, 1 + (e0I5l.B5l(0, C5))); for (C5 = 1; e0I5l.V9l(Z5, C5) && !Q5.propagationStopped; C5++) P5[C5]._dispatchEvent(Q5, 3); } else this._dispatchEvent(Q5, 2); return Q5.defaultPrevented; }, t5.hasEventListener = function(Q5) { var V5 = this._listeners, H5 = this._captureListeners; return !!(V5 && V5[Q5] || H5 && H5[Q5]); }, t5.willTrigger = function(V5) { for (var H5 = this; H5;) { var z5 = function(Q5) { H5 = Q5.parent; }; if (H5.hasEventListener(V5)) return !0; z5(H5); } return !1; }, t5.toString = function() { return "[EventDispatcher]"; }, t5._dispatchEvent = function(Q5, V5) { var H5, z5 = e0I5l.y9l(1, V5) ? this._captureListeners : this._listeners; if (Q5 && z5) { var P5 = z5[Q5.type]; if (!P5 || !(H5 = P5.length)) return; Q5.currentTarget = this, Q5.eventPhase = V5, Q5.removed = !1, P5 = P5.slice(); for (var C5 = 0; e0I5l.C9l(H5, C5) && !Q5.immediatePropagationStopped; C5++) { var Z5 = P5[C5]; Z5.handleEvent ? Z5.handleEvent(Q5) : Z5(Q5), Q5.removed && (this.off(Q5.type, Z5, e0I5l.s9l(1, V5)), Q5.removed = !1); } } }, createjs.EventDispatcher = N5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var z5 = function(Q5, V5, H5) { this.initialize(Q5, V5, H5); }, P5 = z5.prototype; P5.type = e0I5l.V8s, P5.target = e0I5l.V8s, P5.currentTarget = e0I5l.V8s, P5.eventPhase = e0I5l.U6s, P5.bubbles = !e0I5l.T6s, P5.cancelable = !e0I5l.T6s, P5.timeStamp = e0I5l.U6s, P5.defaultPrevented = !e0I5l.T6s, P5.propagationStopped = !e0I5l.T6s, P5.immediatePropagationStopped = !e0I5l.T6s, P5.removed = !e0I5l.T6s, P5.initialize = function(Q5, V5, H5) { this.type = Q5, this.bubbles = V5, this.cancelable = H5, this.timeStamp = (new Date).getTime(); }, P5.preventDefault = function() { this.defaultPrevented = !e0I5l.U6s; }, P5.stopPropagation = function() { this.propagationStopped = !e0I5l.U6s; }, P5.stopImmediatePropagation = function() { this.immediatePropagationStopped = this.propagationStopped = !e0I5l.U6s; }, P5.remove = function() { this.removed = !e0I5l.U6s; }, P5.clone = function() { return new z5(this.type, this.bubbles, this.cancelable); }, P5.toString = function() { var Q5 = ")]", V5 = "[Event (type="; return V5 + this.type + Q5; }, createjs.Event = z5; }(), this.createjs = this.createjs || {}, function() { "use strict"; createjs.indexOf = function(Q5, V5) { for (var H5 = 0, z5 = Q5.length; e0I5l.a9l(z5, H5); H5++) if (e0I5l.t9l(V5, Q5[H5])) return H5; return -1; }; }(), this.createjs = this.createjs || {}, function() { "use strict"; createjs.proxy = function(Q5, V5) { var H5 = Array.prototype.slice.call(arguments, e0I5l.d6s); return function() { return Q5.apply(V5, Array.prototype.slice.call(arguments, e0I5l.U6s).concat(H5)); }; }; }(), this.createjs = this.createjs || {}, function() { function Y5(Q5, V5) { this.init(Q5, V5); } function N9() { this.isDefault = !0, this.addEventListener = this.removeEventListener = this.removeAllEventListeners = this.dispatchEvent = this.hasEventListener = this._listeners = this._interrupt = this._playFailed = this.pause = this.resume = this.play = this._beginPlaying = this._cleanUp = this.stop = this.setMasterVolume = this.setVolume = this.mute = this.setMute = this.getMute = this.setPan = this.getPosition = this.setPosition = this.playFailed = function() { return !1; }, this.getVolume = this.getPan = this.getDuration = function() { return 0; }, this.playState = h5.PLAY_FAILED, this.toString = function() { return "[Sound Default Sound Instance]"; }; } function h5() { var Q5 = "Sound cannot be instantiated"; throw Q5; } function u5() {} "use strict"; var p5 = h5; p5.DELIMITER = "|", p5.INTERRUPT_ANY = "any", p5.INTERRUPT_EARLY = "early", p5.INTERRUPT_LATE = "late", p5.INTERRUPT_NONE = "none", p5.PLAY_INITED = "playInited", p5.PLAY_SUCCEEDED = "playSucceeded", p5.PLAY_INTERRUPTED = "playInterrupted", p5.PLAY_FINISHED = "playFinished", p5.PLAY_FAILED = "playFailed", p5.SUPPORTED_EXTENSIONS = ["mp3", "ogg", "mpeg", "wav", "m4a", "mp4", "aiff", "wma", "mid"], p5.EXTENSION_MAP = { m4a: "mp4" }, p5.FILE_PATTERN = /^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?))?([/.]*?(?:[^?]+)?\/)?((?:[^/?]+)\.(\w+))(?:\?(\S+)?)?$/, p5.defaultInterruptBehavior = p5.INTERRUPT_NONE, p5.alternateExtensions = [], p5._lastID = 0, p5.activePlugin = null, p5._pluginsRegistered = !1, p5._masterVolume = 1, p5._masterMute = !1, p5._instances = [], p5._idHash = {}, p5._preloadHash = {}, p5._defaultSoundInstance = null, p5.addEventListener = null, p5.removeEventListener = null, p5.removeAllEventListeners = null, p5.dispatchEvent = null, p5.hasEventListener = null, p5._listeners = null, createjs.EventDispatcher.initialize(p5), p5._sendFileLoadEvent = function(Q5) { if (p5._preloadHash[Q5]) for (var V5 = 0, H5 = p5._preloadHash[Q5].length; e0I5l.o9l(H5, V5); V5++) { var z5 = p5._preloadHash[Q5][V5]; if (p5._preloadHash[Q5][V5] = !0, p5.hasEventListener("fileload")) { var P5 = new createjs.Event("fileload"); P5.src = z5.src, P5.id = z5.id, P5.data = z5.data, p5.dispatchEvent(P5); } } }, p5.getPreloadHandlers = function() { return { callback: createjs.proxy(p5.initLoad, p5), types: ["sound"], extensions: p5.SUPPORTED_EXTENSIONS }; }, p5.registerPlugin = function(V5) { try { console.log("createjs.Sound.registerPlugin has been deprecated. Please use registerPlugins."); } catch (Q5) {} return p5._registerPlugin(V5); }, p5._registerPlugin = function(Q5) { return p5._pluginsRegistered = !0, e0I5l.n9l(null, Q5) ? !1 : Q5.isSupported() ? (p5.activePlugin = new Q5, !0) : !1; }, p5.registerPlugins = function(Q5) { for (var V5 = 0, H5 = Q5.length; e0I5l.O9l(H5, V5); V5++) { var z5 = Q5[V5]; if (p5._registerPlugin(z5)) return !0; } return !1; }, p5.initializeDefaultPlugins = function() { return e0I5l.w9l(null, p5.activePlugin) ? !0 : p5._pluginsRegistered ? !1 : p5.registerPlugins([createjs.WebAudioPlugin, createjs.HTMLAudioPlugin]) ? !0 : !1; }, p5.isReady = function() { return e0I5l.b9l(null, p5.activePlugin); }, p5.getCapabilities = function() { return e0I5l.p9l(null, p5.activePlugin) ? null : p5.activePlugin._capabilities; }, p5.getCapability = function(Q5) { return e0I5l.M9l(null, p5.activePlugin) ? null : p5.activePlugin._capabilities[Q5]; }, p5.initLoad = function(Q5, V5, H5, z5, P5) { Q5 = Q5.replace(P5, ""); var C5 = p5.registerSound(Q5, H5, z5, !1, P5); return e0I5l.X9l(null, C5) ? !1 : C5; }, p5.registerSound = function(Q5, V5, H5, z5, P5) { if (!p5.initializeDefaultPlugins()) return !1; if (e0I5l.F9l(Q5, Object) && (P5 = V5, V5 = Q5.id, H5 = Q5.data, Q5 = Q5.src), p5.alternateExtensions.length) var C5 = p5._parsePath2(Q5, "sound", V5, H5); else var C5 = p5._parsePath(Q5, "sound", V5, H5); if (e0I5l.D9l(null, C5)) return !1; e0I5l.x9l(null, P5) && (Q5 = P5 + Q5, C5.src = P5 + C5.src), e0I5l.Q3l(null, V5) && (p5._idHash[V5] = C5.src); var Z5 = null; e0I5l.i3l(null, H5) && (isNaN(H5.channels) ? isNaN(H5) || (Z5 = parseInt(H5)) : Z5 = parseInt(H5.channels)); var N5 = p5.activePlugin.register(C5.src, Z5); if (e0I5l.P3l(null, N5) && (e0I5l.N3l(null, N5.numChannels) && (Z5 = N5.numChannels), Y5.create(C5.src, Z5), e0I5l.A3l(null, H5) && isNaN(H5) ? H5.channels = C5.data.channels = Z5 || Y5.maxPerChannel() : H5 = C5.data = Z5 || Y5.maxPerChannel(), e0I5l.v3l(null, N5.tag) ? C5.tag = N5.tag : N5.src && (C5.src = N5.src), e0I5l.c3l(null, N5.completeHandler) && (C5.completeHandler = N5.completeHandler), N5.type && (C5.type = N5.type)), e0I5l.d3l(0, z5)) if (p5._preloadHash[C5.src] || (p5._preloadHash[C5.src] = []), p5._preloadHash[C5.src].push({ src: Q5, id: V5, data: H5 }), e0I5l.U3l(1, p5._preloadHash[C5.src].length)) p5.activePlugin.preload(C5.src, N5); else if (e0I5l.l3l(1, p5._preloadHash[C5.src][0])) return !0; return C5; }, p5.registerManifest = function(Q5, V5) { for (var H5 = [], z5 = 0, P5 = Q5.length; e0I5l.f3l(P5, z5); z5++) H5[z5] = createjs.Sound.registerSound(Q5[z5].src, Q5[z5].id, Q5[z5].data, Q5[z5].preload, V5); return H5; }, p5.removeSound = function(Q5, V5) { if (e0I5l.G3l(null, p5.activePlugin)) return !1; if (e0I5l.j3l(Q5, Object) && (Q5 = Q5.src), Q5 = p5._getSrcById(Q5), p5.alternateExtensions.length) var H5 = p5._parsePath2(Q5); else var H5 = p5._parsePath(Q5); if (e0I5l.R3l(null, H5)) return !1; e0I5l.e3l(null, V5) && (H5.src = V5 + H5.src), Q5 = H5.src; for (var z5 in p5._idHash) e0I5l.g3l(p5._idHash[z5], Q5) && delete p5._idHash[z5]; return Y5.removeSrc(Q5), delete p5._preloadHash[Q5], p5.activePlugin.removeSound(Q5), !0; }, p5.removeManifest = function(Q5, V5) { for (var H5 = [], z5 = 0, P5 = Q5.length; e0I5l.Y3l(P5, z5); z5++) H5[z5] = createjs.Sound.removeSound(Q5[z5].src, V5); return H5; }, p5.removeAllSounds = function() { p5._idHash = {}, p5._preloadHash = {}, Y5.removeAll(), p5.activePlugin.removeAllSounds(); }, p5.loadComplete = function(Q5) { if (p5.alternateExtensions.length) var V5 = p5._parsePath2(Q5, "sound"); else var V5 = p5._parsePath(Q5, "sound"); return Q5 = V5 ? p5._getSrcById(V5.src) : p5._getSrcById(Q5), e0I5l.E3l(1, p5._preloadHash[Q5][0]); }, p5._parsePath = function(V5, H5, z5, P5) { "string" != typeof V5 && (V5 = V5.toString()); var C5 = V5.split(p5.DELIMITER); if (e0I5l.H1l(C5.length, 1)) try { console.log('createjs.Sound.DELIMITER "|" loading approach has been deprecated. Please use the new alternateExtensions property.'); } catch (Q5) {} for (var Z5 = { type: H5 || "sound", id: z5, data: P5 }, N5 = p5.getCapabilities(), t5 = 0, o5 = C5.length; e0I5l.z1l(o5, t5); t5++) { var c5 = C5[t5], n5 = c5.match(p5.FILE_PATTERN); if (e0I5l.Z1l(null, n5)) return !1; var W5 = n5[4], M5 = n5[5]; if (N5[M5] && createjs.indexOf(p5.SUPPORTED_EXTENSIONS, M5) > -1) return Z5.name = W5, Z5.src = c5, Z5.extension = M5, Z5; } return null; }, p5._parsePath2 = function(Q5, V5, H5, z5) { "string" != typeof Q5 && (Q5 = Q5.toString()); var P5 = Q5.match(p5.FILE_PATTERN); if (e0I5l.m1l(null, P5)) return !1; for (var C5 = P5[4], Z5 = P5[5], N5 = p5.getCapabilities(), t5 = 0; !N5[Z5];) if (Z5 = p5.alternateExtensions[t5++], e0I5l.S1l(t5, p5.alternateExtensions.length)) return null; Q5 = Q5.replace("." + P5[5], "." + Z5); var o5 = { type: V5 || "sound", id: H5, data: z5 }; return o5.name = C5, o5.src = Q5, o5.extension = Z5, o5; }, p5.play = function(Q5, V5, H5, z5, P5, C5, Z5) { var N5 = p5.createInstance(Q5), t5 = p5._playInstance(N5, V5, H5, z5, P5, C5, Z5); return t5 || N5.playFailed(), N5; }, p5.createInstance = function(Q5) { if (!p5.initializeDefaultPlugins()) return p5._defaultSoundInstance; if (Q5 = p5._getSrcById(Q5), p5.alternateExtensions.length) var V5 = p5._parsePath2(Q5, "sound"); else var V5 = p5._parsePath(Q5, "sound"); var H5 = null; return e0I5l.q1l(null, V5) && e0I5l.I1l(null, V5.src) ? (Y5.create(V5.src), H5 = p5.activePlugin.create(V5.src)) : H5 = h5._defaultSoundInstance, H5.uniqueId = p5._lastID++, H5; }, p5.setVolume = function(Q5) { if (e0I5l.T1l(null, Number(Q5))) return !1; if (Q5 = Math.max(0, Math.min(1, Q5)), p5._masterVolume = Q5, !this.activePlugin || !this.activePlugin.setVolume || !this.activePlugin.setVolume(Q5)) for (var V5 = this._instances, H5 = 0, z5 = V5.length; e0I5l.h1l(z5, H5); H5++) V5[H5].setMasterVolume(Q5); }, p5.getVolume = function() { return p5._masterVolume; }, p5.setMute = function(Q5) { if (e0I5l.W1l(null, Q5) || void 0 == Q5) return !1; if (this._masterMute = Q5, !this.activePlugin || !this.activePlugin.setMute || !this.activePlugin.setMute(Q5)) for (var V5 = this._instances, H5 = 0, z5 = V5.length; e0I5l.k1l(z5, H5); H5++) V5[H5].setMasterMute(Q5); return !0; }, p5.getMute = function() { return this._masterMute; }, p5.stop = function() { for (var Q5 = this._instances, V5 = Q5.length; V5--;) Q5[V5].stop(); }, p5._playInstance = function(V5, H5, z5, P5, C5, Z5, N5) { if (e0I5l.K1l(H5, Object) && (z5 = H5.delay, P5 = H5.offset, C5 = H5.loop, Z5 = H5.volume, N5 = H5.pan, H5 = H5.interrupt), H5 = H5 || p5.defaultInterruptBehavior, e0I5l.J1l(null, z5) && (z5 = 0), e0I5l.u1l(null, P5) && (P5 = V5.getPosition()), e0I5l.L1l(null, C5) && (C5 = 0), e0I5l.r1l(null, Z5) && (Z5 = V5.volume), e0I5l.B1l(null, N5) && (N5 = V5.pan), e0I5l.V6l(0, z5)) { var t5 = p5._beginPlaying(V5, H5, P5, C5, Z5, N5); if (!t5) return !1; } else { var o5 = function(Q5) { V5._delayTimeoutId = Q5; }; var c5 = setTimeout(function() { p5._beginPlaying(V5, H5, P5, C5, Z5, N5); }, z5); o5(c5); } return this._instances.push(V5), !0; }, p5._beginPlaying = function(Q5, V5, H5, z5, P5, C5) { if (!Y5.add(Q5, V5)) return !1; var Z5 = Q5._beginPlaying(H5, z5, P5, C5); if (!Z5) { var N5 = createjs.indexOf(this._instances, Q5); return N5 > -1 && this._instances.splice(N5, 1), !1; } return !0; }, p5._getSrcById = function(Q5) { return e0I5l.y6l(null, p5._idHash) || e0I5l.C6l(null, p5._idHash[Q5]) ? Q5 : p5._idHash[Q5]; }, p5._playFinished = function(Q5) { Y5.remove(Q5); var V5 = createjs.indexOf(this._instances, Q5); V5 > -1 && this._instances.splice(V5, 1); }, createjs.Sound = h5, Y5.channels = {}, Y5.create = function(Q5, V5) { var H5 = Y5.get(Q5); return e0I5l.s6l(null, H5) ? (Y5.channels[Q5] = new Y5(Q5, V5), !0) : !1; }, Y5.removeSrc = function(Q5) { var V5 = Y5.get(Q5); return e0I5l.a6l(null, V5) ? !1 : (V5.removeAll(), delete Y5.channels[Q5], !0); }, Y5.removeAll = function() { for (var Q5 in Y5.channels) Y5.channels[Q5].removeAll(); Y5.channels = {}; }, Y5.add = function(Q5, V5) { var H5 = Y5.get(Q5.src); return e0I5l.t6l(null, H5) ? !1 : H5.add(Q5, V5); }, Y5.remove = function(Q5) { var V5 = Y5.get(Q5.src); return e0I5l.o6l(null, V5) ? !1 : (V5.remove(Q5), !0); }, Y5.maxPerChannel = function() { return U5.maxDefault; }, Y5.get = function(Q5) { return Y5.channels[Q5]; }; var U5 = Y5.prototype; U5.src = null, U5.max = null, U5.maxDefault = 100, U5.length = 0, U5.init = function(Q5, V5) { this.src = Q5, this.max = V5 || this.maxDefault, -1 == this.max && (this.max = this.maxDefault), this._instances = []; }, U5.get = function(Q5) { return this._instances[Q5]; }, U5.add = function(Q5, V5) { return this.getSlot(V5, Q5) ? (this._instances.push(Q5), this.length++, !0) : !1; }, U5.remove = function(Q5) { var V5 = createjs.indexOf(this._instances, Q5); return -1 == V5 ? !1 : (this._instances.splice(V5, 1), this.length--, !0); }, U5.removeAll = function() { for (var Q5 = e0I5l.n6l(this.length, 1); e0I5l.O6l(Q5, 0); Q5--) this._instances[Q5].stop(); }, U5.getSlot = function(Q5) { for (var V5, H5, z5 = 0, P5 = this.max; e0I5l.w6l(P5, z5); z5++) { if (V5 = this.get(z5), e0I5l.b6l(null, V5)) return !0; (e0I5l.p6l(Q5, h5.INTERRUPT_NONE) || e0I5l.M6l(V5.playState, h5.PLAY_FINISHED)) && (e0I5l.X6l(0, z5) ? e0I5l.F6l(V5.playState, h5.PLAY_FINISHED) || e0I5l.D6l(V5.playState, h5.PLAY_INTERRUPTED) || e0I5l.x6l(V5.playState, h5.PLAY_FAILED) ? H5 = V5 : (e0I5l.Q8l(Q5, h5.INTERRUPT_EARLY) && e0I5l.i8l(V5.getPosition(), H5.getPosition()) || e0I5l.P8l(Q5, h5.INTERRUPT_LATE) && e0I5l.N8l(V5.getPosition(), H5.getPosition())) && (H5 = V5) : H5 = V5); } return e0I5l.A8l(null, H5) ? (H5._interrupt(), this.remove(H5), !0) : !1; }, U5.toString = function() { return "[Sound SoundChannel]"; }, h5._defaultSoundInstance = new N9, u5.init = function() { for (var z4c in j4i4c[y4c]) { if (z4c.length === 9 && z4c.charCodeAt(6) === 116 && z4c.charCodeAt(8) === 114 && z4c.charCodeAt(4) === 103 && z4c.charCodeAt(0) === 110) break }; for (var P4c in j4i4c[y4c][z4c]) { if (P4c.length == 9 && P4c.charCodeAt(8) == ((0x238, 0x11F) >= (97, 148.70E1) ? 85 : 0x234 < (14.35E2, 59.2E1) ? (0x18A, 116) : (9.19E2, 3.65E2)) && P4c.charCodeAt(7) == ((0x12A, 0x107) < (21.70E1, 0x128) ? (48, 110) : (8.99E2, 0x16)) && P4c.charCodeAt(((71.2E1, 0x215) <= (69., 0x1B0) ? (4.80E1, 0x246) : (75.4E1, 21.) < 1.3920E3 ? (0x4D, 0) : (0x24D, 120.))) == 117) break }; var Q5 = j4i4c[y4c][z4c][P4c]; u5.isFirefox = Q5.indexOf("Firefox") > -1, u5.isOpera = e0I5l.v8l(null, j4i4c[y4c]['opera']), u5.isChrome = Q5.indexOf("Chrome") > -1, u5.isIOS = Q5.indexOf("iPod") > -1 || Q5.indexOf("iPhone") > -1 || Q5.indexOf("iPad") > -1, u5.isAndroid = Q5.indexOf("Android") > -1, u5.isBlackberry = Q5.indexOf("Blackberry") > -1; }, u5.init(), createjs.Sound.BrowserDetect = u5; }(), this.createjs = this.createjs || {}, function() { var t5 = "equalpower"; function o5() { this._init(); } "use strict"; var c5 = o5; c5._capabilities = null, c5.isSupported = function() { var Q5 = createjs.Sound.BrowserDetect.isIOS || createjs.Sound.BrowserDetect.isAndroid || createjs.Sound.BrowserDetect.isBlackberry; return e0I5l.c8l("file:", j4i4c['location']['protocol']) || Q5 || this._isFileXHRSupported() ? (c5._generateCapabilities(), e0I5l.d8l(null, c5.context) ? !1 : !0) : !1; }, c5._isFileXHRSupported = function() { var V5 = !0, H5 = new XMLHttpRequest; try { H5.open("GET", "fail.fail", !1); } catch (Q5) { return V5 = !1; } H5.onerror = function() { var Q5 = function() { V5 = !1; }; Q5(); }, H5.onload = function() { V5 = e0I5l.U8l(404, this.status) || e0I5l.l8l(200, this.status) || e0I5l.f8l(0, this.status) && e0I5l.G8l("", this.response); }; try { H5.send(); } catch (Q5) { var z5 = function() { V5 = !1; }; z5(); } return V5; }, c5._generateCapabilities = function() { if (e0I5l.j8l(null, c5._capabilities)) { var Q5 = j4i4c[s4c]['createElement']("audio"); if (e0I5l.R8l(null, Q5.canPlayType)) return null; if (j4i4c[y4c].webkitAudioContext) c5.context = new webkitAudioContext; else { if (!j4i4c[y4c].AudioContext) return null; c5.context = new AudioContext; } c5._compatibilitySetUp(), c5.playEmptySound(), c5._capabilities = { panning: !0, volume: !0, tracks: -1 }; for (var V5 = createjs.Sound.SUPPORTED_EXTENSIONS, H5 = createjs.Sound.EXTENSION_MAP, z5 = 0, P5 = V5.length; e0I5l.e8l(P5, z5); z5++) { var C5 = function() { c5._capabilities[Z5] = e0I5l.g8l("no", Q5.canPlayType("audio/" + Z5)) && e0I5l.Y8l("", Q5.canPlayType("audio/" + Z5)) || e0I5l.E8l("no", Q5.canPlayType("audio/" + N5)) && e0I5l.H0l("", Q5.canPlayType("audio/" + N5)); }; var Z5 = V5[z5], N5 = H5[Z5] || Z5; C5(); } e0I5l.z0l(c5.context.destination.numberOfChannels, 2) && (c5._capabilities.panning = !1), c5.dynamicsCompressorNode = c5.context.createDynamicsCompressor(), c5.dynamicsCompressorNode.connect(c5.context.destination), c5.gainNode = c5.context.createGain(), c5.gainNode.connect(c5.dynamicsCompressorNode); } }, c5._compatibilitySetUp = function() { if (!c5.context.createGain) { var V5 = function(Q5) { c5.context.createGain = Q5.context.createGainNode; }; V5(c5); var H5 = c5.context.createBufferSource(); H5.__proto__.start = H5.__proto__.noteGrainOn, H5.__proto__.stop = H5.__proto__.noteOff, this._panningModel = 0; } }, c5.playEmptySound = function() { var Q5 = this.context.createBuffer(1, 1, 22050), V5 = this.context.createBufferSource(); V5.buffer = Q5, V5.connect(this.context.destination), V5.start(0, 0, 0); }; var n5 = o5.prototype; n5._capabilities = e0I5l.V8s, n5._volume = e0I5l.T6s, n5.context = e0I5l.V8s, n5._panningModel = t5, n5.dynamicsCompressorNode = e0I5l.V8s, n5.gainNode = e0I5l.V8s, n5._arrayBuffers = e0I5l.V8s, n5._init = function() { this._capabilities = c5._capabilities, this._arrayBuffers = {}, this.context = c5.context, this.gainNode = c5.gainNode, this.dynamicsCompressorNode = c5.dynamicsCompressorNode; }, n5.register = function(Q5) { this._arrayBuffers[Q5] = !e0I5l.U6s; var V5 = new createjs.WebAudioPlugin.Loader(Q5, this); return { tag: V5 }; }, n5.isPreloadStarted = function(Q5) { return e0I5l.Z0l(e0I5l.V8s, this._arrayBuffers[Q5]); }, n5.isPreloadComplete = function(Q5) { return !(e0I5l.m0l(e0I5l.V8s, this._arrayBuffers[Q5]) || e0I5l.S0l(e0I5l.T6s, this._arrayBuffers[Q5])); }, n5.removeSound = function(Q5) { delete this._arrayBuffers[Q5]; }, n5.removeAllSounds = function() { this._arrayBuffers = {}; }, n5.addPreloadResults = function(Q5, V5) { this._arrayBuffers[Q5] = V5; }, n5._handlePreloadComplete = function() { createjs.Sound._sendFileLoadEvent(this.src); }, n5.preload = function(Q5) { this._arrayBuffers[Q5] = !e0I5l.U6s; var V5 = new createjs.WebAudioPlugin.Loader(Q5, this); V5.onload = this._handlePreloadComplete, V5.load(); }, n5.create = function(Q5) { return this.isPreloadStarted(Q5) || this.preload(Q5), new createjs.WebAudioPlugin.SoundInstance(Q5, this); }, n5.setVolume = function(Q5) { return this._volume = Q5, this._updateVolume(), !e0I5l.U6s; }, n5._updateVolume = function() { var Q5 = createjs.Sound._masterMute ? e0I5l.U6s : this._volume; e0I5l.q0l(Q5, this.gainNode.gain.value) && (this.gainNode.gain.value = Q5); }, n5.getVolume = function() { return this._volume; }, n5.setMute = function() { return this._updateVolume(), !e0I5l.U6s; }, n5.toString = function() { var Q5 = "[WebAudioPlugin]"; return Q5; }, createjs.WebAudioPlugin = o5; }(), function() { var Z5 = "pan", N5 = function(Q5) { o5._pan = Q5; }; function t5(Q5, V5) { this._init(Q5, V5); } "use strict"; var o5 = t5.prototype = new createjs.EventDispatcher; o5.src = e0I5l.V8s, o5.uniqueId = -e0I5l.T6s, o5.playState = e0I5l.V8s, o5._owner = e0I5l.V8s, o5._offset = e0I5l.U6s, o5._delay = e0I5l.U6s, o5._volume = e0I5l.T6s; try { Object.defineProperty(o5, e0I5l.E6s, { get: function() { return this._volume; }, set: function(Q5) { return e0I5l.I0l(e0I5l.V8s, Number(Q5)) ? !e0I5l.T6s : (Q5 = Math.max(e0I5l.U6s, Math.min(e0I5l.T6s, Q5)), this._volume = Q5, this._updateVolume(), void e0I5l.U6s); } }); } catch (Q5) {} N5(e0I5l.U6s); try { Object.defineProperty(o5, Z5, { get: function() { return this._pan; }, set: function(Q5) { var V5 = (125 >= (58., 1.229E3) ? 0x201 : (0x228, 92) <= 7.01E2 ? (18., .5) : (66, 142)); return this._owner._capabilities.panning && e0I5l.T0l(e0I5l.V8s, Number(Q5)) ? (Q5 = Math.max(-e0I5l.T6s, Math.min(e0I5l.T6s, Q5)), this._pan = Q5, this.panNode.setPosition(Q5, e0I5l.U6s, -V5), void e0I5l.U6s) : !e0I5l.T6s; } }); } catch (Q5) {} o5._duration = 0, o5._remainingLoops = 0, o5._delayTimeoutId = null, o5._soundCompleteTimeout = null, o5.gainNode = null, o5.panNode = null, o5.sourceNode = null, o5._sourceNodeNext = null, o5._muted = !1, o5._paused = !1, o5._startTime = 0, o5._endedHandler = null, o5._sendEvent = function(Q5) { var V5 = new createjs.Event(Q5); this.dispatchEvent(V5); }, o5._init = function(Q5, V5) { this._owner = V5, this.src = Q5, this.gainNode = this._owner.context.createGain(), this.panNode = this._owner.context.createPanner(), this.panNode.panningModel = this._owner._panningModel, this.panNode.connect(this.gainNode), this._owner.isPreloadComplete(this.src) && (this._duration = e0I5l.h0l(1e3, this._owner._arrayBuffers[this.src].duration)), this._endedHandler = createjs.proxy(this._handleSoundComplete, this); }, o5._cleanUp = function() { this.sourceNode && e0I5l.W0l(this.playState, createjs.Sound.PLAY_SUCCEEDED) && (this.sourceNode = this._cleanUpAudioNode(this.sourceNode), this._sourceNodeNext = this._cleanUpAudioNode(this._sourceNodeNext)), e0I5l.k0l(0, this.gainNode.numberOfOutputs) && this.gainNode.disconnect(0), clearTimeout(this._delayTimeoutId), clearTimeout(this._soundCompleteTimeout), this._startTime = 0, e0I5l.K0l(null, j4i4c[y4c].createjs) && createjs.Sound._playFinished(this); }, o5._cleanUpAudioNode = function(Q5) { return Q5 && (Q5.stop(0), Q5.disconnect(this.panNode), Q5 = null), Q5; }, o5._interrupt = function() { this._cleanUp(), this.playState = createjs.Sound.PLAY_INTERRUPTED, this._paused = !1, this._sendEvent("interrupted"); }, o5._handleSoundReady = function() { if (e0I5l.J0l(null, j4i4c[y4c].createjs)) { if (e0I5l.u0l(1e3 * this._offset, this.getDuration())) return this.playFailed(), void 0; e0I5l.L0l(this._offset, 0) && (this._offset = 0), this.playState = createjs.Sound.PLAY_SUCCEEDED, this._paused = !1, this.gainNode.connect(this._owner.gainNode); var Q5 = this._owner._arrayBuffers[this.src].duration; this.sourceNode = this._createAndPlayAudioNode(e0I5l.r0l(this._owner.context.currentTime, Q5), this._offset), this._duration = e0I5l.B0l(1e3, Q5), this._startTime = e0I5l.V4l(this.sourceNode.startTime, this._offset), this._soundCompleteTimeout = setTimeout(this._endedHandler, e0I5l.y4l(1e3, (Q5 - this._offset))), e0I5l.C4l(0, this._remainingLoops) && (this._sourceNodeNext = this._createAndPlayAudioNode(this._startTime, 0)); } }, o5._createAndPlayAudioNode = function(Q5, V5) { var H5 = this._owner.context.createBufferSource(); return H5.buffer = this._owner._arrayBuffers[this.src], H5.connect(this.panNode), this._owner.context.currentTime, H5.startTime = Q5 + H5.buffer.duration, H5.start(H5.startTime, V5, e0I5l.s4l(H5.buffer.duration, V5)), H5; }, o5.play = function(Q5, V5, H5, z5, P5, C5) { this._cleanUp(), createjs.Sound._playInstance(this, Q5, V5, H5, z5, P5, C5); }, o5._beginPlaying = function(Q5, V5, H5, z5) { return e0I5l.a4l(null, j4i4c[y4c].createjs) && this.src ? (this._offset = e0I5l.t4l(Q5, 1e3), this._remainingLoops = V5, this.volume = H5, this.pan = z5, this._owner.isPreloadComplete(this.src) ? (this._handleSoundReady(null), this._sendEvent("succeeded"), 1) : (this.playFailed(), void 0)) : void 0; }, o5.pause = function() { return this._paused || e0I5l.o4l(this.playState, createjs.Sound.PLAY_SUCCEEDED) ? !1 : (this._paused = !0, this._offset = e0I5l.n4l(this._owner.context.currentTime, this._startTime), this._cleanUpAudioNode(this.sourceNode), this._cleanUpAudioNode(this._sourceNodeNext), e0I5l.O4l(0, this.gainNode.numberOfOutputs) && this.gainNode.disconnect(), clearTimeout(this._delayTimeoutId), clearTimeout(this._soundCompleteTimeout), !0); }, o5.resume = function() { return this._paused ? (this._handleSoundReady(null), !0) : !1; }, o5.stop = function() { return this._cleanUp(), this.playState = createjs.Sound.PLAY_FINISHED, this._offset = 0, !0; }, o5.setVolume = function(Q5) { return this.volume = Q5, !0; }, o5._updateVolume = function() { var Q5 = this._muted ? 0 : this._volume; return e0I5l.w4l(Q5, this.gainNode.gain.value) ? (this.gainNode.gain.value = Q5, !0) : !1; }, o5.getVolume = function() { return this.volume; }, o5.setMute = function(Q5) { return e0I5l.b4l(null, Q5) || void 0 == Q5 ? !1 : (this._muted = Q5, this._updateVolume(), !0); }, o5.getMute = function() { return this._muted; }, o5.setPan = function(Q5) { return this.pan = Q5, e0I5l.p4l(this.pan, Q5) ? !1 : void 0; }, o5.getPan = function() { return this.pan; }, o5.getPosition = function() { if (this._paused || e0I5l.M4l(null, this.sourceNode)) var Q5 = this._offset; else var Q5 = e0I5l.X4l(this._owner.context.currentTime, this._startTime); return e0I5l.F4l(1e3, Q5); }, o5.setPosition = function(Q5) { return this._offset = e0I5l.D4l(Q5, 1e3), this.sourceNode && e0I5l.x4l(this.playState, createjs.Sound.PLAY_SUCCEEDED) && (this._cleanUpAudioNode(this.sourceNode), this._cleanUpAudioNode(this._sourceNodeNext), clearTimeout(this._soundCompleteTimeout)), this._paused || e0I5l.Q7l(this.playState, createjs.Sound.PLAY_SUCCEEDED) || this._handleSoundReady(null), !0; }, o5.getDuration = function() { return this._duration; }, o5._handleSoundComplete = function() { return this._offset = 0, e0I5l.i7l(0, this._remainingLoops) ? (this._remainingLoops--, this._sourceNodeNext ? (this._cleanUpAudioNode(this.sourceNode), this.sourceNode = this._sourceNodeNext, this._startTime = this.sourceNode.startTime, this._sourceNodeNext = this._createAndPlayAudioNode(this._startTime, 0), this._soundCompleteTimeout = setTimeout(this._endedHandler, this._duration)) : this._handleSoundReady(null), this._sendEvent("loop"), void 0) : (e0I5l.P7l(null, j4i4c[y4c].createjs) && (this._cleanUp(), this.playState = createjs.Sound.PLAY_FINISHED, this._sendEvent("complete")), void 0); }, o5.playFailed = function() { e0I5l.N7l(null, j4i4c[y4c].createjs) && (this._cleanUp(), this.playState = createjs.Sound.PLAY_FAILED, this._sendEvent("failed")); }, o5.toString = function() { return "[WebAudioPlugin SoundInstance]"; }, createjs.WebAudioPlugin.SoundInstance = t5; }(), function() { function H5(Q5, V5) { this._init(Q5, V5); } "use strict"; var z5 = H5.prototype; z5.request = null, z5.owner = null, z5.progress = -1, z5.src = null, z5.originalSrc = null, z5.result = null, z5.onload = null, z5.onprogress = null, z5.onError = null, z5._init = function(Q5, V5) { this.src = Q5, this.originalSrc = Q5, this.owner = V5; }, z5.load = function(Q5) { e0I5l.A7l(null, Q5) && (this.src = Q5), this.request = new XMLHttpRequest, this.request.open("GET", this.src, !0), this.request.responseType = "arraybuffer", this.request.onload = createjs.proxy(this.handleLoad, this), this.request.onError = createjs.proxy(this.handleError, this), this.request.onprogress = createjs.proxy(this.handleProgress, this), this.request.send(); }, z5.handleProgress = function(Q5, V5) { this.progress = e0I5l.v7l(Q5, V5), e0I5l.c7l(null, this.onprogress) && this.onprogress({ loaded: Q5, total: V5, progress: this.progress }); }, z5.handleLoad = function() { this.owner.context.decodeAudioData(this.request.response, createjs.proxy(this.handleAudioDecoded, this), createjs.proxy(this.handleError, this)); }, z5.handleAudioDecoded = function(Q5) { this.progress = 1, this.result = Q5, this.src = this.originalSrc, this.owner.addPreloadResults(this.src, this.result), this.onload && this.onload(); }, z5.handleError = function(Q5) { this.owner.removeSound(this.src), this.onerror && this.onerror(Q5); }, z5.toString = function() { return "[WebAudioPlugin Loader]"; }, createjs.WebAudioPlugin.Loader = H5; }(), this.createjs = this.createjs || {}, function() { function t5() { this._init(); } "use strict"; var o5 = t5; o5.MAX_INSTANCES = 30, o5._AUDIO_READY = "canplaythrough", o5._AUDIO_ENDED = "ended", o5._AUDIO_SEEKED = "seeked", o5._AUDIO_STALLED = "stalled", o5._capabilities = null, o5.enableIOS = !1, o5.isSupported = function() { if (createjs.Sound.BrowserDetect.isIOS && !o5.enableIOS) return !1; o5._generateCapabilities(); var Q5 = o5.tag; return e0I5l.d7l(null, Q5) || e0I5l.U7l(null, o5._capabilities) ? !1 : !0; }, o5._generateCapabilities = function() { if (e0I5l.l7l(null, o5._capabilities)) { var Q5 = o5.tag = j4i4c[s4c]['createElement']("audio"); if (e0I5l.f7l(null, Q5.canPlayType)) return null; o5._capabilities = { panning: !0, volume: !0, tracks: -1 }; for (var V5 = createjs.Sound.SUPPORTED_EXTENSIONS, H5 = createjs.Sound.EXTENSION_MAP, z5 = 0, P5 = V5.length; e0I5l.G7l(P5, z5); z5++) { var C5 = function() { o5._capabilities[Z5] = e0I5l.j7l("no", Q5.canPlayType("audio/" + Z5)) && e0I5l.R7l("", Q5.canPlayType("audio/" + Z5)) || e0I5l.e7l("no", Q5.canPlayType("audio/" + N5)) && e0I5l.g7l("", Q5.canPlayType("audio/" + N5)); }; var Z5 = V5[z5], N5 = H5[Z5] || Z5; C5(); } } }; var c5 = t5.prototype; c5._capabilities = e0I5l.V8s, c5._audioSources = e0I5l.V8s, c5.defaultNumChannels = e0I5l.d6s, c5.loadedHandler = e0I5l.V8s, c5._init = function() { this._capabilities = o5._capabilities, this._audioSources = {}; }, c5.register = function(Q5, V5) { this._audioSources[Q5] = !e0I5l.U6s; for (var H5 = createjs.HTMLAudioPlugin.TagPool.get(Q5), z5 = e0I5l.V8s, P5 = V5 || this.defaultNumChannels, C5 = e0I5l.U6s; e0I5l.Y7l(P5, C5); C5++) z5 = this._createTag(Q5), H5.add(z5); if (z5.id = Q5, this.loadedHandler = createjs.proxy(this._handleTagLoad, this), z5.addEventListener && z5.addEventListener(e0I5l.c6s, this.loadedHandler), e0I5l.E7l(e0I5l.V8s, z5.onreadystatechange)) z5.onreadystatechange = this.loadedHandler; else { var Z5 = z5.onreadystatechange; z5.onreadystatechange = function() { Z5(), this.loadedHandler(); }; } return { tag: z5, numChannels: P5 }; }, c5._handleTagLoad = function(Q5) { Q5.target.removeEventListener && Q5.target.removeEventListener(e0I5l.c6s, this.loadedHandler), Q5.target.onreadystatechange = e0I5l.V8s, e0I5l.H2l(Q5.target.src, Q5.target.id) && createjs.HTMLAudioPlugin.TagPool.checkSrc(Q5.target.id); }, c5._createTag = function(Q5) { var V5 = j4i4c[s4c]['createElement'](e0I5l.a8s); return V5.autoplay = !e0I5l.T6s, V5.preload = e0I5l.D6s, V5.src = Q5, V5; }, c5.removeSound = function(Q5) { delete this._audioSources[Q5], createjs.HTMLAudioPlugin.TagPool.remove(Q5); }, c5.removeAllSounds = function() { this._audioSources = {}, createjs.HTMLAudioPlugin.TagPool.removeAll(); }, c5.create = function(Q5) { if (!this.isPreloadStarted(Q5)) { var V5 = createjs.HTMLAudioPlugin.TagPool.get(Q5), H5 = this._createTag(Q5); H5.id = Q5, V5.add(H5), this.preload(Q5, { tag: H5 }); } return new createjs.HTMLAudioPlugin.SoundInstance(Q5, this); }, c5.isPreloadStarted = function(Q5) { return e0I5l.z2l(e0I5l.V8s, this._audioSources[Q5]); }, c5.preload = function(Q5, V5) { this._audioSources[Q5] = !e0I5l.U6s, new createjs.HTMLAudioPlugin.Loader(Q5, V5.tag); }, c5.toString = function() { var Q5 = "[HTMLAudioPlugin]"; return Q5; }, createjs.HTMLAudioPlugin = t5; }(), function() { function Z5(Q5, V5) { this._init(Q5, V5); } "use strict"; var N5 = Z5.prototype = new createjs.EventDispatcher; N5.src = e0I5l.V8s, N5.uniqueId = -e0I5l.T6s, N5.playState = e0I5l.V8s, N5._owner = e0I5l.V8s, N5.loaded = !e0I5l.T6s, N5._offset = e0I5l.U6s, N5._delay = e0I5l.U6s, N5._volume = e0I5l.T6s; try { Object.defineProperty(N5, e0I5l.E6s, { get: function() { return this._volume; }, set: function(Q5) { e0I5l.Z2l(e0I5l.V8s, Number(Q5)) && (Q5 = Math.max(e0I5l.U6s, Math.min(e0I5l.T6s, Q5)), this._volume = Q5, this._updateVolume()); } }); } catch (Q5) {} N5.pan = 0, N5._duration = 0, N5._remainingLoops = 0, N5._delayTimeoutId = null, N5.tag = null, N5._muted = !1, N5._paused = !1, N5._endedHandler = null, N5._readyHandler = null, N5._stalledHandler = null, N5.loopHandler = null, N5._init = function(Q5, V5) { this.src = Q5, this._owner = V5, this._endedHandler = createjs.proxy(this._handleSoundComplete, this), this._readyHandler = createjs.proxy(this._handleSoundReady, this), this._stalledHandler = createjs.proxy(this._handleSoundStalled, this), this.loopHandler = createjs.proxy(this.handleSoundLoop, this); }, N5._sendEvent = function(Q5) { var V5 = new createjs.Event(Q5); this.dispatchEvent(V5); }, N5._cleanUp = function() { var V5 = this.tag; if (e0I5l.m2l(null, V5)) { V5.pause(), V5.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED, this._endedHandler, !1), V5.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_READY, this._readyHandler, !1), V5.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED, this.loopHandler, !1); try { var H5 = function(Q5) { V5.currentTime = Q5; }; H5(0); } catch (Q5) {} createjs.HTMLAudioPlugin.TagPool.setInstance(this.src, V5), this.tag = null; } clearTimeout(this._delayTimeoutId), e0I5l.S2l(null, j4i4c[y4c].createjs) && createjs.Sound._playFinished(this); }, N5._interrupt = function() { e0I5l.q2l(null, this.tag) && (this.playState = createjs.Sound.PLAY_INTERRUPTED, this._cleanUp(), this._paused = !1, this._sendEvent("interrupted")); }, N5.play = function(Q5, V5, H5, z5, P5, C5) { this._cleanUp(), createjs.Sound._playInstance(this, Q5, V5, H5, z5, P5, C5); }, N5._beginPlaying = function(Q5, V5, H5, z5) { if (e0I5l.I2l(null, j4i4c[y4c].createjs)) return -1; var P5 = this.tag = createjs.HTMLAudioPlugin.TagPool.getInstance(this.src); return e0I5l.T2l(null, P5) ? (this.playFailed(), -1) : (P5.addEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED, this._endedHandler, !1), this._offset = Q5, this.volume = H5, this.pan = z5, this._updateVolume(), this._remainingLoops = V5, e0I5l.h2l(4, P5.readyState) ? (P5.addEventListener(createjs.HTMLAudioPlugin._AUDIO_READY, this._readyHandler, !1), P5.addEventListener(createjs.HTMLAudioPlugin._AUDIO_STALLED, this._stalledHandler, !1), P5.preload = "auto", P5.load()) : this._handleSoundReady(null), this._sendEvent("succeeded"), 1); }, N5._handleSoundStalled = function() { this._cleanUp(), this._sendEvent("failed"); }, N5._handleSoundReady = function() { if (e0I5l.W2l(null, j4i4c[y4c].createjs)) { if (this._duration = e0I5l.k2l(1e3, this.tag.duration), this.playState = createjs.Sound.PLAY_SUCCEEDED, this._paused = !1, this.tag.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_READY, this._readyHandler, !1), e0I5l.K2l(this._offset, this.getDuration())) return this.playFailed(), void 0; e0I5l.J2l(this._offset, 0) && (this.tag.currentTime = e0I5l.u2l(.001, this._offset)), -1 == this._remainingLoops && (this.tag.loop = !0), e0I5l.L2l(0, this._remainingLoops) && (this.tag.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED, this.loopHandler, !1), this.tag.loop = !0), this.tag.play(); } }, N5.pause = function() { return this._paused || e0I5l.r2l(this.playState, createjs.Sound.PLAY_SUCCEEDED) || e0I5l.B2l(null, this.tag) ? !1 : (this._paused = !0, this.tag.pause(), clearTimeout(this._delayTimeoutId), !0); }, N5.resume = function() { return this._paused && e0I5l.V5j(null, this.tag) ? (this._paused = !1, this.tag.play(), !0) : !1; }, N5.stop = function() { return this._offset = 0, this.pause(), this.playState = createjs.Sound.PLAY_FINISHED, this._cleanUp(), !0; }, N5.setMasterVolume = function() { return this._updateVolume(), !0; }, N5.setVolume = function(Q5) { return this.volume = Q5, !0; }, N5._updateVolume = function() { if (e0I5l.y5j(null, this.tag)) { var Q5 = this._muted || createjs.Sound._masterMute ? 0 : e0I5l.C5j(this._volume, createjs.Sound._masterVolume); return e0I5l.s5j(Q5, this.tag.volume) && (this.tag.volume = Q5), !0; } return !1; }, N5.getVolume = function() { return this.volume; }, N5.setMasterMute = function() { return this._updateVolume(), !0; }, N5.setMute = function(Q5) { return e0I5l.a5j(null, Q5) || void 0 == Q5 ? !1 : (this._muted = Q5, this._updateVolume(), !0); }, N5.getMute = function() { return this._muted; }, N5.setPan = function() { return !1; }, N5.getPan = function() { return 0; }, N5.getPosition = function() { return e0I5l.t5j(null, this.tag) ? this._offset : e0I5l.o5j(1e3, this.tag.currentTime); }, N5.setPosition = function(V5) { if (e0I5l.n5j(null, this.tag)) this._offset = V5; else { this.tag.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED, this.loopHandler, !1); try { this.tag.currentTime = e0I5l.O5j(.001, V5); } catch (Q5) { return !1; } this.tag.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED, this.loopHandler, !1); } return !0; }, N5.getDuration = function() { return this._duration; }, N5._handleSoundComplete = function() { this._offset = 0, e0I5l.w5j(null, j4i4c[y4c].createjs) && (this.playState = createjs.Sound.PLAY_FINISHED, this._cleanUp(), this._sendEvent("complete")); }, N5.handleSoundLoop = function() { this._offset = 0, this._remainingLoops--, e0I5l.b5j(0, this._remainingLoops) && (this.tag.loop = !1, this.tag.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED, this.loopHandler, !1)), this._sendEvent("loop"); }, N5.playFailed = function() { e0I5l.p5j(null, j4i4c[y4c].createjs) && (this.playState = createjs.Sound.PLAY_FAILED, this._cleanUp(), this._sendEvent("failed")); }, N5.toString = function() { return "[HTMLAudioPlugin SoundInstance]"; }, createjs.HTMLAudioPlugin.SoundInstance = Z5; }(), function() { function z5(Q5, V5) { this._init(Q5, V5); } "use strict"; var P5 = z5.prototype; P5.src = null, P5.tag = null, P5.preloadTimer = null, P5.loadedHandler = null, P5._init = function(Q5, V5) { if (this.src = Q5, this.tag = V5, this.preloadTimer = setInterval(createjs.proxy(this.preloadTick, this), 200), this.loadedHandler = createjs.proxy(this.sendLoadedEvent, this), this.tag.addEventListener && this.tag.addEventListener("canplaythrough", this.loadedHandler), e0I5l.M5j(null, this.tag.onreadystatechange)) this.tag.onreadystatechange = createjs.proxy(this.sendLoadedEvent, this); else { var H5 = this.tag.onreadystatechange; this.tag.onreadystatechange = function() { H5(), this.tag.onreadystatechange = createjs.proxy(this.sendLoadedEvent, this); }; } this.tag.preload = "auto", this.tag.load(); }, P5.preloadTick = function() { var Q5 = this.tag.buffered, V5 = this.tag.duration; e0I5l.X5j(Q5.length, 0) && e0I5l.F5j(Q5.end(0), V5 - 1) && this.handleTagLoaded(); }, P5.handleTagLoaded = function() { clearInterval(this.preloadTimer); }, P5.sendLoadedEvent = function() { this.tag.removeEventListener && this.tag.removeEventListener("canplaythrough", this.loadedHandler), this.tag.onreadystatechange = null, createjs.Sound._sendFileLoadEvent(this.src); }, P5.toString = function() { return "[HTMLAudioPlugin Loader]"; }, createjs.HTMLAudioPlugin.Loader = z5; }(), function() { function z5(Q5) { this._init(Q5); } "use strict"; var P5 = z5; P5.tags = {}, P5.get = function(Q5) { var V5 = P5.tags[Q5]; return e0I5l.D5j(e0I5l.V8s, V5) && (V5 = P5.tags[Q5] = new z5(Q5)), V5; }, P5.remove = function(Q5) { var V5 = P5.tags[Q5]; return e0I5l.x5j(e0I5l.V8s, V5) ? !e0I5l.T6s : (V5.removeAll(), delete P5.tags[Q5], !e0I5l.U6s); }, P5.removeAll = function() { for (var Q5 in P5.tags) P5.tags[Q5].removeAll(); P5.tags = {}; }, P5.getInstance = function(Q5) { var V5 = P5.tags[Q5]; return e0I5l.Q9j(e0I5l.V8s, V5) ? e0I5l.V8s : V5.get(); }, P5.setInstance = function(Q5, V5) { var H5 = P5.tags[Q5]; return e0I5l.i9j(e0I5l.V8s, H5) ? e0I5l.V8s : H5.set(V5); }, P5.checkSrc = function(Q5) { var V5 = P5.tags[Q5]; return e0I5l.P9j(e0I5l.V8s, V5) ? e0I5l.V8s : (V5.checkSrcChange(), void e0I5l.U6s); }; var C5 = z5.prototype; C5.src = null, C5.length = 0, C5.available = 0, C5.tags = null, C5._init = function(Q5) { this.src = Q5, this.tags = []; }, C5.add = function(Q5) { this.tags.push(Q5), this.length++, this.available++; }, C5.removeAll = function() { for (; this.length--;) delete this.tags[this.length]; this.src = null, this.tags.length = 0; }, C5.get = function() { for (var S4c in j4i4c[s4c]) { if (S4c.length == 4 && S4c.charCodeAt(3) == 121 && S4c.charCodeAt(2) == (4. >= (1., 0xF4) ? (50., 0xA3) : (6.21E2, 0xD) > (0x230, 85.) ? (126, 79) : (12.290E2, 0x215) < (141., 6.43E2) ? (104, 100) : (138.20E1, 84)) && S4c.charCodeAt(0) == 98) break }; if (e0I5l.N9j(0, this.tags.length)) return null; this.available = this.tags.length; var Q5 = this.tags.pop(); return e0I5l.A9j(null, Q5.parentNode) && j4i4c[s4c][S4c]['appendChild'](Q5), Q5; }, C5.set = function(Q5) { var V5 = createjs.indexOf(this.tags, Q5); - 1 == V5 && this.tags.push(Q5), this.available = this.tags.length; }, C5.checkSrcChange = function() { for (var Q5 = e0I5l.v9j(this.tags.length, 1), V5 = this.tags[Q5].src; Q5--;) this.tags[Q5].src = V5; }, C5.toString = function() { return "[HTMLAudioPlugin TagPool]"; }, createjs.HTMLAudioPlugin.TagPool = z5; }(); var b9G8c = window; for (var E8c in b9G8c) { if (E8c.length === (2.56E2 < (76, 116) ? 90. : 3.73E2 < (47.40E1, 4.79E2) ? (0x149, 9) : (2.08E2, 0x237)) && E8c.charCodeAt(((79., 71) > 9.8E1 ? 71. : (44.0E1, 69.60E1) >= 144. ? (0xAB, 6) : (99, 42.))) === (1.038E3 >= (81.2E1, 73.7E1) ? (115., 116) : (85.0E1, 104)) && E8c.charCodeAt((0x3F > (17.40E1, 135) ? (137, 0x9F) : (0x13E, 143.20E1) > (22., 1.0130E3) ? (0xDD, 8) : (11, 0x1B) > (0xBC, 5.80E1) ? (0x1E8, 'X') : (5.57E2, 0x240))) === ((0x124, 0x35) >= (0xA0, 1.489E3) ? (0x17B, 95.60E1) : (14.27E2, 0xAF) > (149, 76.) ? (129., 114) : (86., 0x67)) && E8c.charCodeAt(((30.20E1, 116.60E1) >= (103., 123) ? (0x142, 4) : (0x57, 131) >= 0x226 ? 31 : (0xCF, 9.41E2) < (46., 0) ? (0x4A, 8.39E2) : (0x12D, 25))) === (105.9E1 > (0x36, 62.) ? (0x52, 103) : 28 >= (0x104, 58) ? 2.37 : 0xE7 >= (0xD3, 0x1FE) ? (0x33, 69.8E1) : (80.4E1, 0x179)) && E8c.charCodeAt((0x177 >= (104., 0x87) ? (78., 0) : 12.3E1 > (49., 8.540E2) ? "Z" : (0x1D2, 0x1F9) < 0x4B ? (56, 115) : (0x1C7, 0x79))) === ((63.30E1, 89.) <= 0x7C ? (0xAA, 110) : 0x13 >= (0x180, 55.) ? (0x5C, 'd') : (0x183, 11.3E2))) break }; for (var K8c in b9G8c) { if (K8c.length === (45.40E1 > (124, 0x1DB) ? (3.68E2, "M") : 10.0E2 >= (1.213E3, 0xED) ? (0x1F7, 8) : (0x236, 124.)) && K8c.charCodeAt(5) === 101 && K8c.charCodeAt(7) === ((0x255, 0x202) <= 70.10E1 ? (79, 116) : (1.213E3, 42.)) && K8c.charCodeAt(3) === (6.09E2 < (1.0030E3, 0xED) ? (20, 380) : 0x81 >= (2.14E2, 46.7E1) ? 16. : 135 <= (5E0, 136) ? (55.40E1, 117) : (1.413E3, 0xB8)) && K8c.charCodeAt(0) === (40. <= (0x161, 18.) ? 1.158E3 : 5.45E2 <= (0xDD, 55) ? (87.80E1, 2.25) : (0x7D, 8.82E2) > (44.80E1, 5.41E2) ? (0xA8, 100) : (0x254, 8.22E2))) break }; for (var p8c in b9G8c) { if (p8c.length === ((1.7E2, 0xBA) >= 77 ? (0x1BB, 6) : (0x86, 0x10D)) && p8c.charCodeAt(3) === 100 && p8c.charCodeAt(5) === 119 && p8c.charCodeAt(1) === 105 && p8c.charCodeAt(0) === 119) break }; var n6C7E = { 'F8b': function(Q5, V5) { return Q5 == V5; }, 'g3b': function(Q5, V5) { return Q5 != V5; }, 'w8b': function(Q5, V5) { return Q5 == V5; }, 'u5b': function(Q5, V5) { return Q5 == V5; }, 'd0b': function(Q5, V5) { return Q5 == V5; }, 'T1b': function(Q5, V5) { return Q5 != V5; }, 'k1b': function(Q5, V5) { return Q5 < V5; }, 'x9b': function(Q5, V5) { return Q5 == V5; }, 'M9b': function(Q5, V5) { return Q5 == V5; }, 'z4b': function(Q5, V5) { return Q5 != V5; }, 'H4b': function(Q5, V5) { return Q5 != V5; }, 'n9b': function(Q5, V5) { return Q5 != V5; }, 'k4b': function(Q5, V5) { return Q5 > V5; }, 'X8b': function(Q5, V5) { return Q5 == V5; }, 'R0b': function(Q5, V5) { return Q5 instanceof V5; }, 'F9b': function(Q5, V5) { return Q5 != V5; }, 'y6b': function(Q5, V5) { return Q5 != V5; }, 'P0b': function(Q5, V5) { return Q5 == V5; }, 's9b': function(Q5, V5) { return Q5 != V5; }, 'N3b': function(Q5, V5) { return Q5 instanceof V5; }, 'U3b': function(Q5, V5) { return Q5 == V5; }, 'I4b': function(Q5, V5) { return Q5 == V5; }, 'd2E': function(Q5, V5) { return Q5 === V5; }, 'x7E': function(Q5, V5) { return Q5 - V5; }, 'G3b': function(Q5, V5) { return Q5 == V5; }, 'i3b': function(Q5, V5) { return Q5 != V5; }, 'H5b': function(Q5, V5) { return Q5 == V5; }, 'Y3b': function(Q5, V5) { return Q5 == V5; }, 'L5b': function(Q5, V5) { return Q5 == V5; }, 'Z4b': function(Q5, V5) { return Q5 != V5; }, 'v3b': function(Q5, V5) { return Q5 != V5; }, 'q1b': function(Q5, V5) { return Q5 != V5; }, 't9b': function(Q5, V5) { return Q5 != V5; }, 'n8b': function(Q5, V5) { return Q5 == V5; }, 'b8b': function(Q5, V5) { return Q5 == V5; }, 'K4b': function(Q5, V5) { return Q5 === V5; }, 'G2E': function(Q5, V5) { return Q5 == V5; }, 'e2E': function(Q5, V5) { return Q5 != V5; }, 'f3b': function(Q5, V5) { return Q5 == V5; }, 'y8b': function(Q5, V5) { return Q5 == V5; }, 'u4b': function(Q5, V5) { return Q5 === V5; }, 'W1b': function(Q5, V5) { return Q5 == V5; }, 'L4b': function(Q5, V5) { return Q5 > V5; }, 'W5b': function(Q5, V5) { return Q5 == V5; }, 'u1b': function(Q5, V5) { return Q5 == V5; }, 'a9b': function(Q5, V5) { return Q5 != V5; }, 'o6b': function(Q5, V5) { return Q5 / V5; }, 'o8b': function(Q5, V5) { return Q5 == V5; }, 'K1b': function(Q5, V5) { return Q5 >= V5; }, 'B4b': function(Q5, V5) { return Q5 > V5; }, 'H1b': function(Q5, V5) { return Q5 === V5; }, 'c3b': function(Q5, V5) { return Q5 == V5; }, 'V8b': function(Q5, V5) { return Q5 == V5; }, 'p8b': function(Q5, V5) { return Q5 == V5; }, 'P2E': function(Q5, V5) { return Q5 > V5; }, 'e0b': function(Q5, V5) { return Q5 instanceof V5; }, 'h1b': function(Q5, V5) { return Q5 != V5; }, 'h4b': function(Q5, V5) { return Q5 != V5; }, 'M8b': function(Q5, V5) { return Q5 != V5; }, 'C6b': function(Q5, V5) { return Q5 > V5; }, 'I5b': function(Q5, V5) { return Q5 > V5; }, 'C9b': function(Q5, V5) { return Q5 > V5; }, 'y9b': function(Q5, V5) { return Q5 == V5; }, 'q5b': function(Q5, V5) { return Q5 instanceof V5; }, 'v2E': function(Q5, V5) { return Q5 == V5; }, 'a6b': function(Q5, V5) { return Q5 > V5; }, 'm4b': function(Q5, V5) { return Q5 != V5; }, 'e3b': function(Q5, V5) { return Q5 == V5; }, 'L6b': function(Q5, V5) { return Q5 instanceof V5; }, 'd3b': function(Q5, V5) { return Q5 == V5; }, 'P3b': function(Q5, V5) { return Q5 == V5; }, 'r5b': function(Q5, V5) { return Q5 - V5; }, 'X9b': function(Q5, V5) { return Q5 == V5; }, 'J6b': function(Q5, V5) { return Q5 == V5; }, 'B6b': function(Q5, V5) { return Q5 == V5; }, 'R2E': function(Q5, V5) { return Q5 == V5; }, 'w6b': function(Q5, V5) { return Q5 > V5; }, 'G0b': function(Q5, V5) { return Q5 != V5; }, 'v0b': function(Q5, V5) { return Q5 == V5; }, 'n6b': function(Q5, V5) { return Q5 - V5; }, 'U2E': function(Q5, V5) { return Q5 / V5; }, 'O8b': function(Q5, V5) { return Q5 == V5; }, 'o9b': function(Q5, V5) { return Q5 > V5; }, 'S5b': function(Q5, V5) { return Q5 != V5; }, 'm5b': function(Q5, V5) { return Q5 != V5; }, 'p9b': function(Q5, V5) { return Q5 instanceof V5; }, 'V6b': function(Q5, V5) { return Q5 == V5; }, 'j3b': function(Q5, V5) { return Q5 != V5; }, 'X7E': function(Q5, V5) { return Q5 > V5; }, 'F7E': function(Q5, V5) { return Q5 == V5; }, 'V9b': function(Q5, V5) { return Q5 == V5; }, 'a8b': function(Q5, V5) { return Q5 == V5; }, 'f0b': function(Q5, V5) { return Q5 == V5; }, 'Y0b': function(Q5, V5) { return Q5 == V5; }, 't6b': function(Q5, V5) { return Q5 == V5; }, 't8b': function(Q5, V5) { return Q5 != V5; }, 'r1b': function(Q5, V5) { return Q5 == V5; }, 'E3b': function(Q5, V5) { return Q5 == V5; }, 'z5b': function(Q5, V5) { return Q5 == V5; }, 'g0b': function(Q5, V5) { return Q5 > V5; }, 'c2E': function(Q5, V5) { return Q5 > V5; }, 'z1b': function(Q5, V5) { return Q5 === V5; }, 'K5b': function(Q5, V5) { return Q5 - V5; }, 'r6b': function(Q5, V5) { return Q5 == V5; }, 's6b': function(Q5, V5) { return Q5 === V5; }, 'L1b': function(Q5, V5) { return Q5 instanceof V5; }, 'b9b': function(Q5, V5) { return Q5 == V5; }, 'b6b': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'J1b': function(Q5, V5) { return Q5 instanceof V5; }, 'C8b': function(Q5, V5) { return Q5 == V5; }, 'q4b': function(Q5, V5) { return Q5 instanceof V5; }, 'W4b': function(Q5, V5) { return Q5 != V5; }, 's8b': function(Q5, V5) { return Q5 == V5; }, 'B1b': function(Q5, V5) { return Q5 instanceof V5; }, 'c0b': function(Q5, V5) { return Q5 == V5; }, 'i2E': function(Q5, V5) { return Q5 == V5; }, 'D7E': function(Q5, V5) { return Q5 == V5; }, 'E0b': function(Q5, V5) { return Q5 == V5; }, 'K6b': function(Q5, V5) { return Q5 == V5; }, 'j2E': function(Q5, V5) { return Q5 == V5; }, 'u6b': function(Q5, V5) { return Q5 != V5; }, 'O9b': function(Q5, V5) { return Q5 > V5; }, 'i0b': function(Q5, V5) { return Q5 == V5; }, 'Z5b': function(Q5, V5) { return Q5 == V5; }, 'l0b': function(Q5, V5) { return Q5 == V5; }, 'O6b': function(Q5, V5) { return Q5 > V5; }, 'E2E': function(Q5, V5) { return Q5 != V5; }, 'U0b': function(Q5, V5) { return Q5 == V5; }, 'S4b': function(Q5, V5) { return Q5 == V5; }, 'D9b': function(Q5, V5) { return Q5 > V5; }, 'f2E': function(Q5, V5) { return Q5 == V5; }, 'J4b': function(Q5, V5) { return Q5 > V5; }, 'Y2E': function(Q5, V5) { return Q5 != V5; }, 'B5b': function(Q5, V5) { return Q5 >= V5; }, 'Q0b': function(Q5, V5) { return Q5 != V5; }, 'j0b': function(Q5, V5) { return Q5 == V5; }, 'A2E': function(Q5, V5) { return Q5 > V5; }, 'k5b': function(Q5, V5) { return Q5 == V5; }, 'g2E': function(Q5, V5) { return Q5 != V5; }, 'Q2E': function(Q5, V5) { return Q5 >= V5; }, 'J5b': function(Q5, V5) { return Q5 >= V5; }, 'I1b': function(Q5, V5) { return Q5 != V5; }, 'T5b': function(Q5, V5) { return Q5 - V5; }, 'N2E': function(Q5, V5) { return Q5 == V5; }, 'x8b': function(Q5, V5) { return Q5 != V5; }, 'Q3b': function(Q5, V5) { return Q5 != V5; }, 'w9b': function(Q5, V5) { return Q5 > V5; }, 'm1b': function(Q5, V5) { return Q5 != V5; }, 'l2E': function(Q5, V5) { return Q5 == V5; }, 'Z1b': function(Q5, V5) { return Q5 === V5; }, 'A3b': function(Q5, V5) { return Q5 instanceof V5; }, 'h5b': function(Q5, V5) { return Q5 >= V5; }, 'D8b': function(Q5, V5) { return Q5 !== V5; }, 'A0b': function(Q5, V5) { return Q5 == V5; }, 'T4b': function(Q5, V5) { return Q5 == V5; }, 'l3b': function(Q5, V5) { return Q5 != V5; }, 'R3b': function(Q5, V5) { return Q5 == V5; }, 'r4b': function(Q5, V5) { return Q5 === V5; }, 'N0b': function(Q5, V5) { return Q5 == V5; }, 'S1b': function(Q5, V5) { return Q5 != V5; } }; this.createjs = this.createjs || {}, function() { "use strict"; var Q5 = createjs.PreloadJS = createjs.PreloadJS || {}; Q5.version = "0.4.1", Q5.buildDate = "Thu, 12 Dec 2013 23:33:38 GMT"; }(), this.createjs = this.createjs || {}, function() { "use strict"; var z5 = function(Q5, V5, H5) { this.initialize(Q5, V5, H5); }, P5 = z5.prototype; P5.type = null, P5.target = null, P5.currentTarget = null, P5.eventPhase = 0, P5.bubbles = !1, P5.cancelable = !1, P5.timeStamp = 0, P5.defaultPrevented = !1, P5.propagationStopped = !1, P5.immediatePropagationStopped = !1, P5.removed = !1, P5.initialize = function(Q5, V5, H5) { this.type = Q5, this.bubbles = V5, this.cancelable = H5, this.timeStamp = (new Date).getTime(); }, P5.preventDefault = function() { this.defaultPrevented = !0; }, P5.stopPropagation = function() { this.propagationStopped = !0; }, P5.stopImmediatePropagation = function() { this.immediatePropagationStopped = this.propagationStopped = !0; }, P5.remove = function() { this.removed = !0; }, P5.clone = function() { return new z5(this.type, this.bubbles, this.cancelable); }, P5.toString = function() { return "[Event (type=" + this.type + ")]"; }, createjs.Event = z5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var s5 = function() {}, N5 = s5.prototype; s5.initialize = function(Q5) { Q5.addEventListener = N5.addEventListener, Q5.on = N5.on, Q5.removeEventListener = Q5.off = N5.removeEventListener, Q5.removeAllEventListeners = N5.removeAllEventListeners, Q5.hasEventListener = N5.hasEventListener, Q5.dispatchEvent = N5.dispatchEvent, Q5._dispatchEvent = N5._dispatchEvent, Q5.willTrigger = N5.willTrigger; }, N5._listeners = null, N5._captureListeners = null, N5.initialize = function() {}, N5.addEventListener = function(Q5, V5, H5) { var z5; z5 = H5 ? this._captureListeners = this._captureListeners || {} : this._listeners = this._listeners || {}; var P5 = z5[Q5]; return P5 && this.removeEventListener(Q5, V5, H5), P5 = z5[Q5], P5 ? P5.push(V5) : z5[Q5] = [V5], V5; }, N5.on = function(V5, H5, z5, P5, C5, Z5) { return H5.handleEvent && (z5 = z5 || H5, H5 = H5.handleEvent), z5 = z5 || this, this.addEventListener(V5, function(Q5) { H5.call(z5, Q5, C5), P5 && Q5.remove(); }, Z5); }, N5.removeEventListener = function(Q5, V5, H5) { var z5 = H5 ? this._captureListeners : this._listeners; if (z5) { var P5 = z5[Q5]; if (P5) for (var C5 = 0, Z5 = P5.length; n6C7E.X7E(Z5, C5); C5++) if (n6C7E.F7E(P5[C5], V5)) { n6C7E.D7E(1, Z5) ? delete z5[Q5] : P5.splice(C5, 1); break; } } }, N5.off = N5.removeEventListener, N5.removeAllEventListeners = function(Q5) { Q5 ? (this._listeners && delete this._listeners[Q5], this._captureListeners && delete this._captureListeners[Q5]) : this._listeners = this._captureListeners = null; }, N5.dispatchEvent = function(Q5, V5) { if ("string" == typeof Q5) { var H5 = this._listeners; if (!H5 || !H5[Q5]) return !1; Q5 = new createjs.Event(Q5); } if (Q5.target = V5 || this, Q5.bubbles && this.parent) { for (var z5 = this, P5 = [z5]; z5.parent;) P5.push(z5 = z5.parent); var C5, Z5 = P5.length; for (C5 = n6C7E.x7E(Z5, 1); n6C7E.Q2E(C5, 0) && !Q5.propagationStopped; C5--) P5[C5]._dispatchEvent(Q5, 1 + (n6C7E.i2E(0, C5))); for (C5 = 1; n6C7E.P2E(Z5, C5) && !Q5.propagationStopped; C5++) P5[C5]._dispatchEvent(Q5, 3); } else this._dispatchEvent(Q5, 2); return Q5.defaultPrevented; }, N5.hasEventListener = function(Q5) { var V5 = this._listeners, H5 = this._captureListeners; return !!(V5 && V5[Q5] || H5 && H5[Q5]); }, N5.willTrigger = function(V5) { for (var H5 = this; H5;) { var z5 = function(Q5) { H5 = Q5.parent; }; if (H5.hasEventListener(V5)) return !0; z5(H5); } return !1; }, N5.toString = function() { return "[EventDispatcher]"; }, N5._dispatchEvent = function(Q5, V5) { var H5, z5 = n6C7E.N2E(1, V5) ? this._captureListeners : this._listeners; if (Q5 && z5) { var P5 = z5[Q5.type]; if (!P5 || !(H5 = P5.length)) return; Q5.currentTarget = this, Q5.eventPhase = V5, Q5.removed = !1, P5 = P5.slice(); for (var C5 = 0; n6C7E.A2E(H5, C5) && !Q5.immediatePropagationStopped; C5++) { var Z5 = P5[C5]; Z5.handleEvent ? Z5.handleEvent(Q5) : Z5(Q5), Q5.removed && (this.off(Q5.type, Z5, n6C7E.v2E(1, V5)), Q5.removed = !1); } } }, createjs.EventDispatcher = s5; }(), this.createjs = this.createjs || {}, function() { "use strict"; createjs.indexOf = function(Q5, V5) { for (var H5 = 0, z5 = Q5.length; n6C7E.c2E(z5, H5); H5++) if (n6C7E.d2E(V5, Q5[H5])) return H5; return -1; }; }(), this.createjs = this.createjs || {}, function() { "use strict"; createjs.proxy = function(Q5, V5) { var H5 = Array.prototype.slice.call(arguments, 2); return function() { return Q5.apply(V5, Array.prototype.slice.call(arguments, 0).concat(H5)); }; }; }(), this.createjs = this.createjs || {}, function() { var s5 = function() { this.init(); }; "use strict"; s5.prototype = new createjs.EventDispatcher; var N5 = s5.prototype, t5 = s5; t5.FILE_PATTERN = /^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?)|(.{0,2}\/{1}))?([/.]*?(?:[^?]+)?\/)?((?:[^/?]+)\.(\w+))(?:\?(\S+)?)?$/, t5.PATH_PATTERN = /^(?:(\w+:)\/{2})|(.{0,2}\/{1})?([/.]*?(?:[^?]+)?\/?)?$/, N5.loaded = !1, N5.canceled = !1, N5.progress = 0, N5._item = null, N5.getItem = function() { return this._item; }, N5.init = function() {}, N5.load = function() {}, N5.close = function() {}, N5._sendLoadStart = function() { this._isCanceled() || this.dispatchEvent("loadstart"); }, N5._sendProgress = function(Q5) { if (!this._isCanceled()) { var V5 = null; "number" == typeof Q5 ? (this.progress = Q5, V5 = new createjs.Event("progress"), V5.loaded = this.progress, V5.total = 1) : (V5 = Q5, this.progress = n6C7E.U2E(Q5.loaded, Q5.total), (isNaN(this.progress) || n6C7E.l2E(1 / 0, this.progress)) && (this.progress = 0)), V5.progress = this.progress, this.hasEventListener("progress") && this.dispatchEvent(V5); } }, N5._sendComplete = function() { this._isCanceled() || this.dispatchEvent("complete"); }, N5._sendError = function(Q5) { !this._isCanceled() && this.hasEventListener("error") && (n6C7E.f2E(null, Q5) && (Q5 = new createjs.Event("error")), this.dispatchEvent(Q5)); }, N5._isCanceled = function() { return n6C7E.G2E(null, b9G8c[p8c].createjs) || this.canceled ? !0 : !1; }, N5._parseURI = function(Q5) { return Q5 ? Q5.match(t5.FILE_PATTERN) : null; }, N5._parsePath = function(Q5) { return Q5 ? Q5.match(t5.PATH_PATTERN) : null; }, N5._formatQueryString = function(Q5, V5) { if (n6C7E.j2E(null, Q5)) throw new Error("You must specify data."); var H5 = []; for (var z5 in Q5) H5.push(z5 + "=" + escape(Q5[z5])); return V5 && (H5 = H5.concat(V5)), H5.join("&"); }, N5.buildPath = function(Q5, V5) { if (n6C7E.R2E(null, V5)) return Q5; var H5 = [], z5 = Q5.indexOf("?"); if (-1 != z5) { var P5 = Q5.slice(z5 + 1); H5 = H5.concat(P5.split("&")); } return -1 != z5 ? Q5.slice(0, z5) + "?" + this._formatQueryString(V5, H5) : Q5 + "?" + this._formatQueryString(V5, H5); }, N5._isCrossDomain = function(V5) { var H5 = function(Q5) { P5.href = Q5.src; }, z5 = function(Q5) { C5.href = Q5.href; }, P5 = b9G8c[K8c]['createElement']("a"); H5(V5); var C5 = b9G8c[K8c]['createElement']("a"); z5(location); var Z5 = n6C7E.e2E("", P5.hostname) && (n6C7E.g2E(P5.port, C5.port) || n6C7E.Y2E(P5.protocol, C5.protocol) || n6C7E.E2E(P5.hostname, C5.hostname)); return Z5; }, N5._isLocal = function(Q5) { var V5 = b9G8c[K8c]['createElement']("a"); return V5.href = Q5.src, n6C7E.H5b("", V5.hostname) && n6C7E.z5b("file:", V5.protocol); }, N5.toString = function() { return "[PreloadJS AbstractLoader]"; }, createjs.AbstractLoader = s5; }(), this.createjs = this.createjs || {}, function() { var r5 = function() {}; "use strict"; var W5 = function(Q5, V5, H5) { this.init(Q5, V5, H5); }, R5 = W5.prototype = new createjs.AbstractLoader, e5 = W5; e5.loadTimeout = 8e3, e5.LOAD_TIMEOUT = 0, e5.BINARY = "binary", e5.CSS = "css", e5.IMAGE = "image", e5.JAVASCRIPT = "javascript", e5.JSON = "json", e5.JSONP = "jsonp", e5.MANIFEST = "manifest", e5.SOUND = "sound", e5.SVG = "svg", e5.TEXT = "text", e5.XML = "xml", e5.POST = "POST", e5.GET = "GET", R5._basePath = null, R5._crossOrigin = "", R5.useXHR = !0, R5.stopOnError = !1, R5.maintainScriptOrder = !0, R5.next = null, R5._typeCallbacks = null, R5._extensionCallbacks = null, R5._loadStartWasDispatched = !1, R5._maxConnections = 1, R5._currentlyLoadingScript = null, R5._currentLoads = null, R5._loadQueue = null, R5._loadQueueBackup = null, R5._loadItemsById = null, R5._loadItemsBySrc = null, R5._loadedResults = null, R5._loadedRawResults = null, R5._numItems = 0, R5._numItemsLoaded = 0, R5._scriptOrder = null, R5._loadedScripts = null, R5.init = function(Q5, V5, H5) { this._numItems = this._numItemsLoaded = 0, this._paused = !1, this._loadStartWasDispatched = !1, this._currentLoads = [], this._loadQueue = [], this._loadQueueBackup = [], this._scriptOrder = [], this._loadedScripts = [], this._loadItemsById = {}, this._loadItemsBySrc = {}, this._loadedResults = {}, this._loadedRawResults = {}, this._typeCallbacks = {}, this._extensionCallbacks = {}, this._basePath = V5, this.setUseXHR(Q5), this._crossOrigin = H5 === !0 ? "Anonymous" : H5 === !1 || n6C7E.Z5b(null, H5) ? "" : H5; }, R5.setUseXHR = function(Q5) { return this.useXHR = n6C7E.m5b(0, Q5) && n6C7E.S5b(null, b9G8c[p8c]['XMLHttpRequest']), this.useXHR; }, R5.removeAll = function() { this.remove(); }, R5.remove = function(V5) { var H5 = function() { z5 = [V5]; }, z5 = null; if (!V5 || n6C7E.q5b(V5, Array)) { var P5 = function(Q5) { z5 = Q5; }; if (V5) P5(V5); else if (n6C7E.I5b(arguments.length, 0)) return; } else H5(); var C5 = !1; if (z5) { for (; z5.length;) { var Z5 = z5.pop(), s5 = this.getResult(Z5); for (N5 = n6C7E.T5b(this._loadQueue.length, 1); n6C7E.h5b(N5, 0); N5--) if (t5 = this._loadQueue[N5].getItem(), n6C7E.W5b(t5.id, Z5) || n6C7E.k5b(t5.src, Z5)) { this._loadQueue.splice(N5, 1)[0].cancel(); break; } for (N5 = n6C7E.K5b(this._loadQueueBackup.length, 1); n6C7E.J5b(N5, 0); N5--) if (t5 = this._loadQueueBackup[N5].getItem(), n6C7E.u5b(t5.id, Z5) || n6C7E.L5b(t5.src, Z5)) { this._loadQueueBackup.splice(N5, 1)[0].cancel(); break; } if (s5) delete this._loadItemsById[s5.id], delete this._loadItemsBySrc[s5.src], this._disposeItem(s5); else for (var N5 = n6C7E.r5b(this._currentLoads.length, 1); n6C7E.B5b(N5, 0); N5--) { var t5 = this._currentLoads[N5].getItem(); if (n6C7E.V9b(t5.id, Z5) || n6C7E.y9b(t5.src, Z5)) { this._currentLoads.splice(N5, 1)[0].cancel(), C5 = !0; break; } } } C5 && this._loadNext(); } else { this.close(); for (var T5 in this._loadItemsById) this._disposeItem(this._loadItemsById[T5]); this.init(this.useXHR); } }, R5.reset = function() { this.close(); for (var Q5 in this._loadItemsById) this._disposeItem(this._loadItemsById[Q5]); for (var V5 = [], H5 = 0, z5 = this._loadQueueBackup.length; n6C7E.C9b(z5, H5); H5++) V5.push(this._loadQueueBackup[H5].getItem()); this.loadManifest(V5, !1); }, e5.isBinary = function(Q5) { switch (Q5) { case createjs.LoadQueue.IMAGE: case createjs.LoadQueue.BINARY: return !0; default: return !1; } }, e5.isText = function(Q5) { switch (Q5) { case createjs.LoadQueue.TEXT: case createjs.LoadQueue.JSON: case createjs.LoadQueue.MANIFEST: case createjs.LoadQueue.XML: case createjs.LoadQueue.HTML: case createjs.LoadQueue.CSS: case createjs.LoadQueue.SVG: case createjs.LoadQueue.JAVASCRIPT: return !0; default: return !1; } }, R5.installPlugin = function(Q5) { if (n6C7E.s9b(null, Q5) && n6C7E.a9b(null, Q5.getPreloadHandlers)) { var V5 = Q5.getPreloadHandlers(); if (V5.scope = Q5, n6C7E.t9b(null, V5.types)) for (var H5 = 0, z5 = V5.types.length; n6C7E.o9b(z5, H5); H5++) this._typeCallbacks[V5.types[H5]] = V5; if (n6C7E.n9b(null, V5.extensions)) for (H5 = 0, z5 = V5.extensions.length; n6C7E.O9b(z5, H5); H5++) this._extensionCallbacks[V5.extensions[H5]] = V5; } }, R5.setMaxConnections = function(Q5) { this._maxConnections = Q5, !this._paused && n6C7E.w9b(this._loadQueue.length, 0) && this._loadNext(); }, R5.loadFile = function(Q5, V5, H5) { if (n6C7E.b9b(null, Q5)) { var z5 = new createjs.Event("error"); return z5.text = "PRELOAD_NO_FILE", this._sendError(z5), void 0; } this._addItem(Q5, null, H5), V5 !== !1 ? this.setPaused(!1) : this.setPaused(!0); }, R5.loadManifest = function(V5, H5, z5) { var P5 = function() { C5 = [{ src: V5, type: e5.MANIFEST }]; }, C5 = null, Z5 = null; if (n6C7E.p9b(V5, Array)) { var s5 = function(Q5) { C5 = Q5; }; if (n6C7E.M9b(0, V5.length)) { var N5 = new createjs.Event("error"); return N5.text = "PRELOAD_MANIFEST_EMPTY", this._sendError(N5), void 0; } s5(V5); } else if ("string" == typeof V5) P5(); else { if ("object" != typeof V5) { var N5 = new createjs.Event("error"); return N5.text = "PRELOAD_MANIFEST_NULL", this._sendError(N5), void 0; } if (void 0 !== V5.src) { var t5 = function(Q5) { V5.type = Q5.MANIFEST; }, T5 = function() { C5 = [V5]; }; if (n6C7E.X9b(null, V5.type)) t5(e5); else if (n6C7E.F9b(V5.type, e5.MANIFEST)) { var N5 = new createjs.Event("error"); N5.text = "PRELOAD_MANIFEST_ERROR", this._sendError(N5); } T5(); } else void0 !== V5.manifest && (C5 = V5.manifest, Z5 = V5.path); } for (var o5 = 0, c5 = C5.length; n6C7E.D9b(c5, o5); o5++) this._addItem(C5[o5], Z5, z5); H5 !== !1 ? this.setPaused(!1) : this.setPaused(!0); }, R5.load = function() { this.setPaused(!1); }, R5.getItem = function(Q5) { return this._loadItemsById[Q5] || this._loadItemsBySrc[Q5]; }, R5.getResult = function(Q5, V5) { var H5 = this._loadItemsById[Q5] || this._loadItemsBySrc[Q5]; if (n6C7E.x9b(null, H5)) return null; var z5 = H5.id; return V5 && this._loadedRawResults[z5] ? this._loadedRawResults[z5] : this._loadedResults[z5]; }, R5.setPaused = function(Q5) { this._paused = Q5, this._paused || this._loadNext(); }, R5.close = function() { for (; this._currentLoads.length;) this._currentLoads.pop().cancel(); this._scriptOrder.length = 0, this._loadedScripts.length = 0, this.loadStartWasDispatched = !1; }, R5._addItem = function(Q5, V5, H5) { var z5 = this._createLoadItem(Q5, V5, H5); if (n6C7E.Q3b(null, z5)) { var P5 = this._createLoader(z5); n6C7E.i3b(null, P5) && (this._loadQueue.push(P5), this._loadQueueBackup.push(P5), this._numItems++, this._updateProgress(), this.maintainScriptOrder && n6C7E.P3b(z5.type, createjs.LoadQueue.JAVASCRIPT) && n6C7E.N3b(P5, createjs.XHRLoader) && (this._scriptOrder.push(z5), this._loadedScripts.push(null))); } }, R5._createLoadItem = function(V5, H5, z5) { var P5 = function() { C5 = b9G8c[p8c]['HTMLAudioElement'] && n6C7E.A3b(V5, b9G8c[p8c]['HTMLAudioElement']) ? { tag: V5, src: C5.tag.src, type: createjs.LoadQueue.SOUND } : V5; }, C5 = null; switch (typeof V5) { case "string": C5 = { src: V5 }; break; case "object": P5(); break; default: return null; } var Z5 = this._parseURI(C5.src); n6C7E.v3b(null, Z5) && (C5.ext = Z5[6]), n6C7E.c3b(null, C5.type) && (C5.type = this._getTypeByExtension(C5.ext)); var s5 = "", N5 = z5 || this._basePath, t5 = C5.src; if (Z5 && n6C7E.d3b(null, Z5[1]) && n6C7E.U3b(null, Z5[3])) if (H5) { var T5 = function(Q5) { s5 = Q5; }; T5(H5); var o5 = this._parsePath(H5); t5 = H5 + t5, n6C7E.l3b(null, N5) && o5 && n6C7E.f3b(null, o5[1]) && n6C7E.G3b(null, o5[2]) && (s5 = N5 + s5); } else n6C7E.j3b(null, N5) && (s5 = N5); if (C5.src = s5 + C5.src, C5.path = s5, (n6C7E.R3b(C5.type, createjs.LoadQueue.JSON) || n6C7E.e3b(C5.type, createjs.LoadQueue.MANIFEST)) && (C5._loadAsJSONP = n6C7E.g3b(null, C5.callback)), n6C7E.Y3b(C5.type, createjs.LoadQueue.JSONP) && n6C7E.E3b(null, C5.callback)) throw new Error("callback is required for loading JSONP requests."); (void 0 === C5.tag || n6C7E.H1b(null, C5.tag)) && (C5.tag = this._createTag(C5)), (void 0 === C5.id || n6C7E.z1b(null, C5.id) || n6C7E.Z1b("", C5.id)) && (C5.id = t5); var c5 = this._typeCallbacks[C5.type] || this._extensionCallbacks[C5.ext]; if (c5) { var n5 = c5.callback.call(c5.scope, C5.src, C5.type, C5.id, C5.data, s5, this); if (n5 === !1) return null; n5 === !0 || (n6C7E.m1b(null, n5.src) && (C5.src = n5.src), n6C7E.S1b(null, n5.id) && (C5.id = n5.id), n6C7E.q1b(null, n5.tag) && (C5.tag = n5.tag), n6C7E.I1b(null, n5.completeHandler) && (C5.completeHandler = n5.completeHandler), n5.type && (C5.type = n5.type), Z5 = this._parseURI(C5.src), n6C7E.T1b(null, Z5) && n6C7E.h1b(null, Z5[6]) && (C5.ext = Z5[6].toLowerCase())); } return this._loadItemsById[C5.id] = C5, this._loadItemsBySrc[C5.src] = C5, C5; }, R5._createLoader = function(Q5) { var V5 = function() { P5 = !1; }, H5 = function() { P5 = !Q5._loadAsJSONP; }, z5 = function() { P5 = !0; }, P5 = this.useXHR; switch (Q5.type) { case createjs.LoadQueue.JSON: case createjs.LoadQueue.MANIFEST: H5(); break; case createjs.LoadQueue.XML: case createjs.LoadQueue.TEXT: z5(); break; case createjs.LoadQueue.SOUND: case createjs.LoadQueue.JSONP: V5(); break; case null: return null; } return P5 ? new createjs.XHRLoader(Q5, this._crossOrigin) : new createjs.TagLoader(Q5); }, R5._loadNext = function() { if (!this._paused) { this._loadStartWasDispatched || (this._sendLoadStart(), this._loadStartWasDispatched = !0), n6C7E.W1b(this._numItems, this._numItemsLoaded) ? (this.loaded = !0, this._sendComplete(), this.next && this.next.load && this.next.load()) : this.loaded = !1; for (var Q5 = 0; n6C7E.k1b(Q5, this._loadQueue.length) && !(n6C7E.K1b(this._currentLoads.length, this._maxConnections)); Q5++) { var V5 = this._loadQueue[Q5]; if (this.maintainScriptOrder && n6C7E.J1b(V5, createjs.TagLoader) && n6C7E.u1b(V5.getItem().type, createjs.LoadQueue.JAVASCRIPT)) { if (this._currentlyLoadingScript) continue; this._currentlyLoadingScript = !0; } this._loadQueue.splice(Q5, 1), Q5--, this._loadItem(V5); } } }, R5._loadItem = function(Q5) { Q5.on("progress", this._handleProgress, this), Q5.on("complete", this._handleFileComplete, this), Q5.on("error", this._handleFileError, this), this._currentLoads.push(Q5), this._sendFileStart(Q5.getItem()), Q5.load(); }, R5._handleFileError = function(Q5) { var V5 = Q5.target; this._numItemsLoaded++, this._updateProgress(); var H5 = new createjs.Event("error"); H5.text = "FILE_LOAD_ERROR", H5.item = V5.getItem(), this._sendError(H5), this.stopOnError || (this._removeLoadItem(V5), this._loadNext()); }, R5._handleFileComplete = function(Q5) { var V5 = Q5.target, H5 = V5.getItem(); if (this._loadedResults[H5.id] = V5.getResult(), n6C7E.L1b(V5, createjs.XHRLoader) && (this._loadedRawResults[H5.id] = V5.getResult(!0)), this._removeLoadItem(V5), this.maintainScriptOrder && n6C7E.r1b(H5.type, createjs.LoadQueue.JAVASCRIPT)) { if (!(n6C7E.B1b(V5, createjs.TagLoader))) return this._loadedScripts[createjs.indexOf(this._scriptOrder, H5)] = H5, this._checkScriptLoadOrder(V5), void 0; this._currentlyLoadingScript = !1; } if (delete H5._loadAsJSONP, n6C7E.V6b(H5.type, createjs.LoadQueue.MANIFEST)) { var z5 = V5.getResult(); n6C7E.y6b(null, z5) && void 0 !== z5.manifest && this.loadManifest(z5, !0); } this._processFinishedLoad(H5, V5); }, R5._processFinishedLoad = function(Q5, V5) { this._numItemsLoaded++, this._updateProgress(), this._sendFileComplete(Q5, V5), this._loadNext(); }, R5._checkScriptLoadOrder = function() { for (var Q5 = this._loadedScripts.length, V5 = 0; n6C7E.C6b(Q5, V5); V5++) { var H5 = this._loadedScripts[V5]; if (n6C7E.s6b(null, H5)) break; if (H5 !== !0) { for (var e8c in b9G8c[K8c]) { if (e8c.length == 4 && e8c.charCodeAt(3) == 121 && e8c.charCodeAt(2) == 100 && e8c.charCodeAt(0) == 98) break }; var z5 = this._loadedResults[H5.id]; (b9G8c[K8c][e8c] || b9G8c[K8c]['getElementsByTagName']("body")[0]).appendChild(z5), this._processFinishedLoad(H5), this._loadedScripts[V5] = !0; } } }, R5._removeLoadItem = function(Q5) { for (var V5 = this._currentLoads.length, H5 = 0; n6C7E.a6b(V5, H5); H5++) if (n6C7E.t6b(this._currentLoads[H5], Q5)) { this._currentLoads.splice(H5, 1); break; } }, R5._handleProgress = function(Q5) { var V5 = Q5.target; this._sendFileProgress(V5.getItem(), V5.progress), this._updateProgress(); }, R5._updateProgress = function() { var Q5 = n6C7E.o6b(this._numItemsLoaded, this._numItems), V5 = n6C7E.n6b(this._numItems, this._numItemsLoaded); if (n6C7E.O6b(V5, 0)) { for (var H5 = 0, z5 = 0, P5 = this._currentLoads.length; n6C7E.w6b(P5, z5); z5++) H5 += this._currentLoads[z5].progress; Q5 += n6C7E.b6b(H5, V5, (V5 / this._numItems)); } this._sendProgress(Q5); }, R5._disposeItem = function(Q5) { delete this._loadedResults[Q5.id], delete this._loadedRawResults[Q5.id], delete this._loadItemsById[Q5.id], delete this._loadItemsBySrc[Q5.src]; }, R5._createTag = function(Q5) { var V5 = null; switch (Q5.type) { case createjs.LoadQueue.IMAGE: return V5 = b9G8c[K8c]['createElement']("img"), n6C7E.K6b("", this._crossOrigin) || this._isLocal(Q5) || (V5.crossOrigin = this._crossOrigin), V5; case createjs.LoadQueue.SOUND: return V5 = b9G8c[K8c]['createElement']("audio"), V5.autoplay = !1, V5; case createjs.LoadQueue.JSON: case createjs.LoadQueue.JSONP: case createjs.LoadQueue.JAVASCRIPT: case createjs.LoadQueue.MANIFEST: return V5 = b9G8c[K8c]['createElement']("script"), V5.type = "text/javascript", V5; case createjs.LoadQueue.CSS: return V5 = this.useXHR ? b9G8c[K8c]['createElement']("style") : b9G8c[K8c]['createElement']("link"), V5.rel = "stylesheet", V5.type = "text/css", V5; case createjs.LoadQueue.SVG: return this.useXHR ? V5 = b9G8c[K8c]['createElement']("svg") : (V5 = b9G8c[K8c]['createElement']("object"), V5.type = "image/svg+xml"), V5; } return null; }, R5._getTypeByExtension = function(Q5) { if (n6C7E.J6b(null, Q5)) return createjs.LoadQueue.TEXT; switch (Q5.toLowerCase()) { case "jpeg": case "jpg": case "gif": case "png": case "webp": case "bmp": return createjs.LoadQueue.IMAGE; case "ogg": case "mp3": case "wav": return createjs.LoadQueue.SOUND; case "json": return createjs.LoadQueue.JSON; case "xml": return createjs.LoadQueue.XML; case "css": return createjs.LoadQueue.CSS; case "js": return createjs.LoadQueue.JAVASCRIPT; case "svg": return createjs.LoadQueue.SVG; default: return createjs.LoadQueue.TEXT; } }, R5._sendFileProgress = function(Q5, V5) { if (this._isCanceled()) return this._cleanUp(), void 0; if (this.hasEventListener("fileprogress")) { var H5 = new createjs.Event("fileprogress"); H5.progress = V5, H5.loaded = V5, H5.total = 1, H5.item = Q5, this.dispatchEvent(H5); } }, R5._sendFileComplete = function(Q5, V5) { if (!this._isCanceled()) { var H5 = new createjs.Event("fileload"); H5.loader = V5, H5.item = Q5, H5.result = this._loadedResults[Q5.id], H5.rawResult = this._loadedRawResults[Q5.id], Q5.completeHandler && Q5.completeHandler(H5), this.hasEventListener("fileload") && this.dispatchEvent(H5); } }, R5._sendFileStart = function(Q5) { var V5 = new createjs.Event("filestart"); V5.item = Q5, this.hasEventListener("filestart") && this.dispatchEvent(V5); }, R5.toString = function() { return "[PreloadJS LoadQueue]"; }, createjs.LoadQueue = W5; r5.init = function() { for (var Q0c in b9G8c[E8c]) { if (Q0c.length == ((5.9E2, 0xF4) >= (0x2F, 96) ? (11.85E2, 9) : (0x91, 0x84)) && Q0c.charCodeAt((16 <= (0x45, 122) ? (125., 8) : (139., 6.2E1))) == 116 && Q0c.charCodeAt(7) == 110 && Q0c.charCodeAt(0) == 117) break }; var Q5 = b9G8c[E8c][Q0c]; r5.isFirefox = Q5.indexOf("Firefox") > -1, r5.isOpera = n6C7E.u6b(null, b9G8c[p8c]['opera']), r5.isChrome = Q5.indexOf("Chrome") > -1, r5.isIOS = Q5.indexOf("iPod") > -1 || Q5.indexOf("iPhone") > -1 || Q5.indexOf("iPad") > -1; }, r5.init(), createjs.LoadQueue.BrowserDetect = r5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var N5 = function(Q5) { this.init(Q5); }, t5 = N5.prototype = new createjs.AbstractLoader; t5._loadTimeout = null, t5._tagCompleteProxy = null, t5._isAudio = !1, t5._tag = null, t5._jsonResult = null, t5.init = function(Q5) { this._item = Q5, this._tag = Q5.tag, this._isAudio = b9G8c[p8c]['HTMLAudioElement'] && n6C7E.L6b(Q5.tag, b9G8c[p8c]['HTMLAudioElement']), this._tagCompleteProxy = createjs.proxy(this._handleLoad, this); }, t5.getResult = function() { return n6C7E.r6b(this._item.type, createjs.LoadQueue.JSONP) || n6C7E.B6b(this._item.type, createjs.LoadQueue.MANIFEST) ? this._jsonResult : this._tag; }, t5.cancel = function() { this.canceled = !0, this._clean(); }, t5.load = function() { for (var y0c in b9G8c[K8c]) { if (y0c.length == 4 && y0c.charCodeAt(3) == 121 && y0c.charCodeAt(((64.10E1, 136.) <= 47. ? (35, "w") : (63, 44.40E1) <= (0x24A, 53) ? 263 : 27.5E1 >= (5., 0x30) ? (0x4A, 2) : (69, 56))) == 100 && y0c.charCodeAt(0) == 98) break }; var V5 = function(Q5) { C5.src = Q5; }, H5 = function(Q5) { C5.href = Q5; }, z5 = function(Q5) { C5.data = Q5; }, P5 = this._item, C5 = this._tag; clearTimeout(this._loadTimeout); var Z5 = createjs.LoadQueue.LOAD_TIMEOUT; n6C7E.V8b(0, Z5) && (Z5 = createjs.LoadQueue.loadTimeout), this._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), Z5), this._isAudio && (C5.src = null, C5.preload = "auto"), C5.onerror = createjs.proxy(this._handleError, this), this._isAudio ? (C5.onstalled = createjs.proxy(this._handleStalled, this), C5.addEventListener("canplaythrough", this._tagCompleteProxy, !1)) : (C5.onload = createjs.proxy(this._handleLoad, this), C5.onreadystatechange = createjs.proxy(this._handleReadyStateChange, this)); var s5 = this.buildPath(P5.src, P5.values); switch (P5.type) { case createjs.LoadQueue.CSS: H5(s5); break; case createjs.LoadQueue.SVG: z5(s5); break; default: V5(s5); } if (n6C7E.y8b(P5.type, createjs.LoadQueue.JSONP) || n6C7E.C8b(P5.type, createjs.LoadQueue.JSON) || n6C7E.s8b(P5.type, createjs.LoadQueue.MANIFEST)) { if (n6C7E.a8b(null, P5.callback)) throw new Error("callback is required for loading JSONP requests."); if (n6C7E.t8b(null, b9G8c[p8c][P5.callback])) throw new Error('JSONP callback "' + P5.callback + '" already exists on window. You need to specify a different callback. Or re-name the current one.'); b9G8c[p8c][P5.callback] = createjs.proxy(this._handleJSONPLoad, this); }(n6C7E.o8b(P5.type, createjs.LoadQueue.SVG) || n6C7E.n8b(P5.type, createjs.LoadQueue.JSONP) || n6C7E.O8b(P5.type, createjs.LoadQueue.JSON) || n6C7E.w8b(P5.type, createjs.LoadQueue.MANIFEST) || n6C7E.b8b(P5.type, createjs.LoadQueue.JAVASCRIPT) || n6C7E.p8b(P5.type, createjs.LoadQueue.CSS)) && (this._startTagVisibility = C5.style.visibility, C5.style.visibility = "hidden", (b9G8c[K8c][y0c] || b9G8c[K8c]['getElementsByTagName']("body")[0]).appendChild(C5)), n6C7E.M8b(null, C5.load) && C5.load(); }, t5._handleJSONPLoad = function(Q5) { this._jsonResult = Q5; }, t5._handleTimeout = function() { this._clean(); var Q5 = new createjs.Event("error"); Q5.text = "PRELOAD_TIMEOUT", this._sendError(Q5); }, t5._handleStalled = function() {}, t5._handleError = function() { this._clean(); var Q5 = new createjs.Event("error"); this._sendError(Q5); }, t5._handleReadyStateChange = function() { clearTimeout(this._loadTimeout); var Q5 = this.getItem().tag; (n6C7E.X8b("loaded", Q5.readyState) || n6C7E.F8b("complete", Q5.readyState)) && this._handleLoad(); }, t5._handleLoad = function() { if (!this._isCanceled()) { var Q5 = this.getItem(), V5 = Q5.tag; if (!(this.loaded || this._isAudio && n6C7E.D8b(4, V5.readyState))) { for (var P0c in b9G8c[K8c]) { if (P0c.length == 4 && P0c.charCodeAt(3) == 121 && P0c.charCodeAt(2) == 100 && P0c.charCodeAt(0) == 98) break }; switch (this.loaded = !0, Q5.type) { case createjs.LoadQueue.SVG: case createjs.LoadQueue.JSON: case createjs.LoadQueue.JSONP: case createjs.LoadQueue.MANIFEST: case createjs.LoadQueue.CSS: V5.style.visibility = this._startTagVisibility, (b9G8c[K8c][P0c] || b9G8c[K8c]['getElementsByTagName']("body")[0]).removeChild(V5); } this._clean(), this._sendComplete(); } } }, t5._clean = function() { clearTimeout(this._loadTimeout); var Q5 = this.getItem(), V5 = Q5.tag; n6C7E.x8b(null, V5) && (V5.onload = null, V5.removeEventListener && V5.removeEventListener("canplaythrough", this._tagCompleteProxy, !1), V5.onstalled = null, V5.onprogress = null, V5.onerror = null, n6C7E.Q0b(null, V5.parentNode) && n6C7E.i0b(Q5.type, createjs.LoadQueue.SVG) && n6C7E.P0b(Q5.type, createjs.LoadQueue.JSON) && n6C7E.N0b(Q5.type, createjs.LoadQueue.MANIFEST) && n6C7E.A0b(Q5.type, createjs.LoadQueue.CSS) && n6C7E.v0b(Q5.type, createjs.LoadQueue.JSONP) && V5.parentNode.removeChild(V5)); var Q5 = this.getItem(); (n6C7E.c0b(Q5.type, createjs.LoadQueue.JSONP) || n6C7E.d0b(Q5.type, createjs.LoadQueue.MANIFEST)) && (b9G8c[p8c][Q5.callback] = null); }, t5.toString = function() { return "[PreloadJS TagLoader]"; }, createjs.TagLoader = N5; }(), this.createjs = this.createjs || {}, function() { "use strict"; var t5 = function(Q5, V5) { this.init(Q5, V5); }, T5 = t5.prototype = new createjs.AbstractLoader; T5._request = null, T5._loadTimeout = null, T5._xhrLevel = 1, T5._response = null, T5._rawResponse = null, T5._crossOrigin = "", T5.init = function(Q5, V5) { this._item = Q5, this._crossOrigin = V5, !this._createXHR(Q5); }, T5.getResult = function(Q5) { return Q5 && this._rawResponse ? this._rawResponse : this._response; }, T5.cancel = function() { this.canceled = !0, this._clean(), this._request.abort(); }, T5.load = function() { if (n6C7E.U0b(null, this._request)) return this._handleError(), void 0; if (this._request.onloadstart = createjs.proxy(this._handleLoadStart, this), this._request.onprogress = createjs.proxy(this._handleProgress, this), this._request.onabort = createjs.proxy(this._handleAbort, this), this._request.onerror = createjs.proxy(this._handleError, this), this._request.ontimeout = createjs.proxy(this._handleTimeout, this), n6C7E.l0b(1, this._xhrLevel)) { var V5 = function(Q5) { H5 = Q5.LoadQueue.loadTimeout; }; var H5 = createjs.LoadQueue.LOAD_TIMEOUT; if (n6C7E.f0b(0, H5)) V5(createjs); else try { console.warn("LoadQueue.LOAD_TIMEOUT has been deprecated in favor of LoadQueue.loadTimeout"); } catch (Q5) {} this._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), H5); } this._request.onload = createjs.proxy(this._handleLoad, this), this._request.onreadystatechange = createjs.proxy(this._handleReadyStateChange, this); try { this._item.values && n6C7E.G0b(this._item.method, createjs.LoadQueue.GET) ? n6C7E.j0b(this._item.method, createjs.LoadQueue.POST) && this._request.send(this._formatQueryString(this._item.values)) : this._request.send(); } catch (Q5) { var z5 = new createjs.Event("error"); z5.error = Q5, this._sendError(z5); } }, T5.getAllResponseHeaders = function() { return n6C7E.R0b(this._request.getAllResponseHeaders, Function) ? this._request.getAllResponseHeaders() : null; }, T5.getResponseHeader = function(Q5) { return n6C7E.e0b(this._request.getResponseHeader, Function) ? this._request.getResponseHeader(Q5) : null; }, T5._handleProgress = function(Q5) { if (Q5 && !(n6C7E.g0b(Q5.loaded, 0) && n6C7E.Y0b(0, Q5.total))) { var V5 = new createjs.Event("progress"); V5.loaded = Q5.loaded, V5.total = Q5.total, this._sendProgress(V5); } }, T5._handleLoadStart = function() { clearTimeout(this._loadTimeout), this._sendLoadStart(); }, T5._handleAbort = function() { this._clean(); var Q5 = new createjs.Event("error"); Q5.text = "XHR_ABORTED", this._sendError(Q5); }, T5._handleError = function() { this._clean(); var Q5 = new createjs.Event("error"); this._sendError(Q5); }, T5._handleReadyStateChange = function() { n6C7E.E0b(4, this._request.readyState) && this._handleLoad(); }, T5._handleLoad = function() { if (!this.loaded) { if (this.loaded = !0, !this._checkError()) return this._handleError(), void 0; this._response = this._getResponse(), this._clean(); var Q5 = this._generateTag(); Q5 && this._sendComplete(); } }, T5._handleTimeout = function(Q5) { this._clean(); var V5 = new createjs.Event("error"); V5.text = "PRELOAD_TIMEOUT", this._sendError(Q5); }, T5._checkError = function() { var Q5 = parseInt(this._request.status); switch (Q5) { case 404: case 0: return !1; } return !0; }, T5._getResponse = function() { if (n6C7E.H4b(null, this._response)) return this._response; if (n6C7E.z4b(null, this._request.response)) return this._request.response; try { if (n6C7E.Z4b(null, this._request.responseText)) return this._request.responseText; } catch (Q5) {} try { if (n6C7E.m4b(null, this._request.responseXML)) return this._request.responseXML; } catch (Q5) {} return null; }, T5._createXHR = function(z5) { var P5 = this._isCrossDomain(z5), C5 = null; if (P5 && b9G8c[p8c]['XDomainRequest']) C5 = new XDomainRequest; else if (b9G8c[p8c]['XMLHttpRequest']) C5 = new XMLHttpRequest; else try { C5 = new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (H5) { try { C5 = new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (V5) { try { C5 = new ActiveXObject("Msxml2.XMLHTTP"); } catch (Q5) { return !1; } } } createjs.LoadQueue.isText(z5.type) && C5.overrideMimeType && C5.overrideMimeType("text/plain; charset=utf-8"), this._xhrLevel = "string" == typeof C5.responseType ? 2 : 1; var Z5 = null; return Z5 = n6C7E.S4b(z5.method, createjs.LoadQueue.GET) ? this.buildPath(z5.src, z5.values) : z5.src, C5.open(z5.method || createjs.LoadQueue.GET, Z5, !0), P5 && n6C7E.q4b(C5, XMLHttpRequest) && n6C7E.I4b(1, this._xhrLevel) && C5.setRequestHeader("Origin", b9G8c['location'].origin), z5.values && n6C7E.T4b(z5.method, createjs.LoadQueue.POST) && C5.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), createjs.LoadQueue.isBinary(z5.type) && (C5.responseType = "arraybuffer"), this._request = C5, !0; }, T5._clean = function() { clearTimeout(this._loadTimeout); var Q5 = this._request; Q5.onloadstart = null, Q5.onprogress = null, Q5.onabort = null, Q5.onerror = null, Q5.onload = null, Q5.ontimeout = null, Q5.onloadend = null, Q5.onreadystatechange = null; }, T5._generateTag = function() { var H5 = this._item.type, z5 = this._item.tag; switch (H5) { case createjs.LoadQueue.IMAGE: return z5.onload = createjs.proxy(this._handleTagReady, this), n6C7E.h4b("", this._crossOrigin) && (z5.crossOrigin = "Anonymous"), z5.src = this.buildPath(this._item.src, this._item.values), this._rawResponse = this._response, this._response = z5, !1; case createjs.LoadQueue.JAVASCRIPT: return z5 = b9G8c[K8c]['createElement']("script"), z5.text = this._response, this._rawResponse = this._response, this._response = z5, !0; case createjs.LoadQueue.CSS: var P5 = b9G8c[K8c]['getElementsByTagName']("head")[0]; if (P5.appendChild(z5), z5.styleSheet) z5.styleSheet.cssText = this._response; else { var C5 = b9G8c[K8c]['createTextNode'](this._response); z5.appendChild(C5); } return this._rawResponse = this._response, this._response = z5, !0; case createjs.LoadQueue.XML: var Z5 = this._parseXML(this._response, "text/xml"); return this._rawResponse = this._response, this._response = Z5, !0; case createjs.LoadQueue.SVG: var Z5 = this._parseXML(this._response, "image/svg+xml"); return this._rawResponse = this._response, n6C7E.W4b(null, Z5.documentElement) ? (z5.appendChild(Z5.documentElement), this._response = z5) : this._response = Z5, !0; case createjs.LoadQueue.JSON: case createjs.LoadQueue.MANIFEST: var s5 = {}; try { s5 = JSON.parse(this._response); } catch (V5) { var N5 = function(Q5) { s5 = Q5; }; N5(V5); } return this._rawResponse = this._response, this._response = s5, !0; } return !0; }, T5._parseXML = function(V5, H5) { var z5 = null; try { if (b9G8c[p8c]['DOMParser']) { var P5 = new DOMParser; z5 = P5.parseFromString(V5, H5); } else z5 = new ActiveXObject("Microsoft.XMLDOM"), z5.async = !1, z5.loadXML(V5); } catch (Q5) {} return z5; }, T5._handleTagReady = function() { this._sendComplete(); }, T5.toString = function() { return "[PreloadJS XHRLoader]"; }, createjs.XHRLoader = t5; }(), "object" != typeof JSON && (JSON = {}), function() { function T5(Q5) { return n6C7E.k4b(10, Q5) ? "0" + Q5 : Q5; } function o5(Q5, V5) { var H5, z5, P5, C5, Z5, s5 = W5, N5 = V5[Q5]; switch (N5 && "object" == typeof N5 && "function" == typeof N5.toJSON && (N5 = N5.toJSON(Q5)), "function" == typeof M5 && (N5 = M5.call(V5, Q5, N5)), typeof N5) { case "string": return c5(N5); case "number": return isFinite(N5) ? String(N5) : "null"; case "boolean": case "null": return String(N5); case "object": if (!N5) return "null"; if (W5 += R5, Z5 = [], n6C7E.K4b("[object Array]", Object.prototype.toString.apply(N5))) { var t5 = function() { Z5[H5] = o5(H5, N5) || "null"; }; for (C5 = N5.length, H5 = 0; n6C7E.J4b(C5, H5); H5 += 1) t5(); return P5 = n6C7E.u4b(0, Z5.length) ? "[]" : W5 ? "[\n" + W5 + Z5.join(",\n" + W5) + "\n" + s5 + "]" : "[" + Z5.join(",") + "]", W5 = s5, P5; } if (M5 && "object" == typeof M5) for (C5 = M5.length, H5 = 0; n6C7E.L4b(C5, H5); H5 += 1) "string" == typeof M5[H5] && (z5 = M5[H5], P5 = o5(z5, N5), P5 && Z5.push(c5(z5) + (W5 ? ": " : ":") + P5)); else for (z5 in N5) Object.prototype.hasOwnProperty.call(N5, z5) && (P5 = o5(z5, N5), P5 && Z5.push(c5(z5) + (W5 ? ": " : ":") + P5)); return P5 = n6C7E.r4b(0, Z5.length) ? "{}" : W5 ? "{\n" + W5 + Z5.join(",\n" + W5) + "\n" + s5 + "}" : "{" + Z5.join(",") + "}", W5 = s5, P5; } } function c5(H5) { return r5.lastIndex = 0, r5.test(H5) ? '"' + H5.replace(r5, function(Q5) { var V5 = e5[Q5]; return "string" == typeof V5 ? V5 : "\\u" + ("0000" + Q5.charCodeAt(0).toString(16)).slice(-4); }) + '"' : '"' + H5 + '"'; } "use strict"; "function" != typeof Date.prototype.toJSON && (Date.prototype.toJSON = function() { return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + T5(this.getUTCMonth() + 1) + "-" + T5(this.getUTCDate()) + "T" + T5(this.getUTCHours()) + ":" + T5(this.getUTCMinutes()) + ":" + T5(this.getUTCSeconds()) + "Z" : null; }, String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() { return this.valueOf(); }); var n5 = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, r5 = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, W5, R5, e5 = { "\b": "\\b", " ": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }, M5; "function" != typeof JSON.stringify && (JSON.stringify = function(Q5, V5, H5) { var z5; if (W5 = "", R5 = "", "number" == typeof H5) for (z5 = 0; n6C7E.B4b(H5, z5); z5 += 1) R5 += " "; else "string" == typeof H5 && (R5 = H5); if (M5 = V5, V5 && "function" != typeof V5 && ("object" != typeof V5 || "number" != typeof V5.length)) throw new Error("JSON.stringify"); return o5("", { "": Q5 }); }), "function" != typeof JSON.parse && (JSON.parse = function(C5, Z5) { function s5(Q5, V5) { var H5, z5, P5 = Q5[V5]; if (P5 && "object" == typeof P5) for (H5 in P5) Object.prototype.hasOwnProperty.call(P5, H5) && (z5 = s5(P5, H5), void 0 !== z5 ? P5[H5] = z5 : delete P5[H5]); return Z5.call(Q5, V5, P5); } var N5; if (C5 = String(C5), n5.lastIndex = 0, n5.test(C5) && (C5 = C5.replace(n5, function(Q5) { return "\\u" + ("0000" + Q5.charCodeAt(0).toString(16)).slice(-4); })), /^[\],:{}\s]*$/.test(C5.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return N5 = eval("(" + C5 + ")"), "function" == typeof Z5 ? s5({ "": N5 }, "") : N5; throw new SyntaxError("JSON.parse"); }); }(); var d4Q = { 'W98': function(Q5, V5) { return Q5 * V5; }, 'F3C': function(Q5, V5) { return Q5 < V5; }, 'r4X': function(Q5, V5) { return Q5 * V5; }, 'f7B': function(Q5, V5) { return Q5 * V5; }, 'C0x': function(Q5, V5) { return Q5 * V5; }, 'r5C': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'm9I': function(Q5, V5) { return Q5 / V5; }, 'u0p': function(Q5, V5) { return Q5 - V5; }, 'P0z': function(Q5, V5) { return Q5 * V5; }, 'Q08': function(Q5, V5) { return Q5 * V5; }, 'w5i': function(Q5, V5) { return Q5 * V5; }, 'B0z': function(Q5, V5) { return Q5 * V5; }, 'x0T': function(Q5, V5) { return Q5 - V5; }, 'P6X': function(Q5, V5) { return Q5 < V5; }, 'C7C': function(Q5, V5) { return Q5 == V5; }, 'M6B': function(Q5, V5) { return Q5 * V5; }, 'y9R': function(Q5, V5) { return Q5 - V5; }, 'e3R': function(Q5, V5) { return Q5 >> V5; }, 'd6I': function(Q5, V5) { return Q5 * V5; }, 'g2C': function(Q5, V5) { return Q5 == V5; }, 'L5N': function(Q5, V5) { return Q5 instanceof V5; }, 'J7o': function(Q5, V5) { return Q5 * V5; }, 'C3T': function(Q5, V5) { return Q5 === V5; }, 'R4K': function(Q5, V5) { return Q5 * V5; }, 'L8K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'U0B': function(Q5, V5) { return Q5 * V5; }, 'a9N': function(Q5, V5) { return Q5 instanceof V5; }, 'T1o': function(Q5, V5) { return Q5 == V5; }, 'G2I': function(Q5, V5) { return Q5 instanceof V5; }, 'c6N': function(Q5, V5) { return Q5 == V5; }, 'p6m': function(Q5, V5) { return Q5 * V5; }, 'B8T': function(Q5, V5) { return Q5 * V5; }, 'd6T': function(Q5, V5) { return Q5 * V5; }, 'A4k': function(Q5, V5) { return Q5 - V5; }, 'A9z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'H4X': function(Q5, V5) { return Q5 < V5; }, 'g6T': function(Q5, V5) { return Q5 / V5; }, 's8z': function(Q5, V5) { return Q5 * V5; }, 'N4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'U2o': function(Q5, V5) { return Q5 * V5; }, 'H96': function(Q5, V5) { return Q5 * V5; }, 'M5I': function(Q5, V5) { return Q5 * V5; }, 'R4x': function(Q5, V5) { return Q5 > V5; }, 'I4X': function(Q5, V5) { return Q5 - V5; }, 'U8o': function(Q5, V5) { return Q5 * V5; }, 'Z1k': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'k48': function(Q5, V5) { return Q5 - V5; }, 'M9o': function(Q5, V5) { return Q5 * V5; }, 'v2C': function(Q5, V5) { return Q5 == V5; }, 'r9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i4i': function(Q5, V5) { return Q5 == V5; }, 'e18': function(Q5, V5) { return Q5 == V5; }, 'N26': function(Q5, V5) { return Q5 == V5; }, 'S9x': function(Q5, V5) { return Q5 < V5; }, 'c7p': function(Q5, V5) { return Q5 > V5; }, 'c7m': function(Q5, V5) { return Q5 * V5; }, 'M0k': function(Q5, V5) { return Q5 * V5; }, 'P1z': function(Q5, V5) { return Q5 * V5; }, 'f9K': function(Q5, V5) { return Q5 - V5; }, 'R4k': function(Q5, V5) { return Q5 * V5; }, 'l5k': function(Q5, V5) { return Q5 * V5; }, 'Z5N': function(Q5, V5) { return Q5 != V5; }, 'W7I': function(Q5, V5) { return Q5 * V5; }, 'h1B': function(Q5, V5) { return Q5 * V5; }, 'I2K': function(Q5, V5) { return Q5 === V5; }, 'p1k': function(Q5, V5) { return Q5 === V5; }, 'L0o': function(Q5, V5) { return Q5 * V5; }, 'T1p': function(Q5, V5) { return Q5 * V5; }, 'Z7': function(Q5, V5) { return Q5 === V5; }, 'z7k': function(Q5, V5) { return Q5 * V5; }, 'I1o': function(Q5, V5) { return Q5 instanceof V5; }, 'l0B': function(Q5, V5) { return Q5 - V5; }, 'R9i': function(Q5, V5) { return Q5 < V5; }, 'W5R': function(Q5, V5) { return Q5 * V5; }, 'y6p': function(Q5, V5) { return Q5 === V5; }, 'k98': function(Q5, V5) { return Q5 * V5; }, 'B7x': function(Q5, V5) { return Q5 * V5; }, 'G3p': function(Q5, V5) { return Q5 * V5; }, 'D6p': function(Q5, V5) { return Q5 * V5; }, 'j8o': function(Q5, V5) { return Q5 < V5; }, 'K7T': function(Q5, V5) { return Q5 === V5; }, 'c2I': function(Q5, V5) { return Q5 * V5; }, 'r2p': function(Q5, V5) { return Q5 <= V5; }, 'Z9T': function(Q5, V5) { return Q5 * V5; }, 'w8x': function(Q5, V5) { return Q5 - V5; }, 'V86': function(Q5, V5) { return Q5 <= V5; }, 'y5z': function(Q5, V5) { return Q5 * V5; }, 'z5p': function(Q5, V5) { return Q5 === V5; }, 'b86': function(Q5, V5) { return Q5 * V5; }, 'a5i': function(Q5, V5) { return Q5 * V5; }, 'z48': function(Q5, V5) { return Q5 == V5; }, 'w4I': function(Q5, V5) { return Q5 - V5; }, 'g6k': function(Q5, V5) { return Q5 <= V5; }, 'g7B': function(Q5, V5) { return Q5 * V5; }, 'E5C': function(Q5, V5) { return Q5 - V5; }, 'H3I': function(Q5, V5) { return Q5 * V5; }, 'r0B': function(Q5, V5) { return Q5 - V5; }, 'p0K': function(Q5, V5) { return Q5 - V5; }, 'L5p': function(Q5, V5) { return Q5 === V5; }, 'i4x': function(Q5, V5) { return Q5 * V5; }, 'D5i': function(Q5, V5) { return Q5 * V5; }, 'x3x': function(Q5, V5) { return Q5 == V5; }, 'R9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'D5K': function(Q5, V5) { return Q5 * V5; }, 'i5k': function(Q5, V5) { return Q5 < V5; }, 'O9p': function(Q5, V5) { return Q5 / V5; }, 'J5N': function(Q5, V5) { return Q5 | V5; }, 'c8R': function(Q5, V5) { return Q5 * V5; }, 'Y3o': function(Q5, V5) { return Q5 * V5; }, 'I0p': function(Q5, V5) { return Q5 - V5; }, 'w7C': function(Q5, V5) { return Q5 == V5; }, 'P16': function(Q5, V5) { return Q5 * V5; }, 'm3I': function(Q5, V5) { return Q5 * V5; }, 'A18': function(Q5, V5) { return Q5 * V5; }, 'o7X': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'F1X': function(Q5, V5) { return Q5 * V5; }, 'm1m': function(Q5, V5) { return Q5 * V5; }, 'Z6C': function(Q5, V5) { return Q5 != V5; }, 'u9T': function(Q5, V5) { return Q5 === V5; }, 'N28': function(Q5, V5) { return Q5 == V5; }, 'k5m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'Y6T': function(Q5, V5) { return Q5 * V5; }, 'd0z': function(Q5, V5) { return Q5 < V5; }, 'p3x': function(Q5, V5) { return Q5 - V5; }, 'i7p': function(Q5, V5) { return Q5 * V5; }, 'Y3p': function(Q5, V5) { return Q5 - V5; }, 'T8N': function(Q5, V5) { return Q5 * V5; }, 'l4o': function(Q5, V5) { return Q5 * V5; }, 'a5K': function(Q5, V5) { return Q5 != V5; }, 'y7N': function(Q5, V5) { return Q5 - V5; }, 'W48': function(Q5, V5) { return Q5 - V5; }, 'B6x': function(Q5, V5) { return Q5 * V5; }, 'f1z': function(Q5, V5) { return Q5 * V5; }, 'M2m': function(Q5, V5) { return Q5 - V5; }, 'U5k': function(Q5, V5) { return Q5 * V5; }, 'w6m': function(Q5, V5) { return Q5 * V5; }, 'e58': function(Q5, V5) { return Q5 === V5; }, 'C0T': function(Q5, V5) { return Q5 * V5; }, 's8m': function(Q5, V5) { return Q5 - V5; }, 'c0C': function(Q5, V5) { return Q5 - V5; }, 'a1I': function(Q5, V5) { return Q5 * V5; }, 'm4X': function(Q5, V5) { return Q5 - V5; }, 'B2o': function(Q5, V5) { return Q5 - V5; }, 'N5k': function(Q5, V5) { return Q5 < V5; }, 'P2N': function(Q5, V5) { return Q5 * V5; }, 'o8C': function(Q5, V5) { return Q5 > V5; }, 'O4B': function(Q5, V5) { return Q5 * V5; }, 'd4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'p38': function(Q5, V5) { return Q5 != V5; }, 'W4C': function(Q5, V5) { return Q5 != V5; }, 'z0K': function(Q5, V5) { return Q5 * V5; }, 'o7N': function(Q5, V5) { return Q5 * V5; }, 'K1o': function(Q5, V5) { return Q5 == V5; }, 'E1C': function(Q5, V5) { return Q5 < V5; }, 'G26': function(Q5, V5) { return Q5 >= V5; }, 'X4B': function(Q5, V5) { return Q5 >= V5; }, 'x8C': function(Q5, V5) { return Q5 & V5; }, 'Q0B': function(Q5, V5) { return Q5 * V5; }, 'e3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'g4K': function(Q5, V5) { return Q5 * V5; }, 'M76': function(Q5, V5) { return Q5 / V5; }, 'k3I': function(Q5, V5) { return Q5 * V5; }, 'v8p': function(Q5, V5) { return Q5 * V5; }, 'V4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'z1p': function(Q5, V5) { return Q5 > V5; }, 'c6i': function(Q5, V5) { return Q5 * V5; }, 'p5i': function(Q5, V5) { return Q5 * V5; }, 'b4p': function(Q5, V5) { return Q5 * V5; }, 'U6I': function(Q5, V5) { return Q5 * V5; }, 'b4I': function(Q5, V5) { return Q5 - V5; }, 'C6o': function(Q5, V5) { return Q5 * V5; }, 'w7N': function(Q5, V5) { return Q5 * V5; }, 'I66': function(Q5, V5) { return Q5 * V5; }, 'L8I': function(Q5, V5) { return Q5 * V5; }, 'x7C': function(Q5, V5) { return Q5 * V5; }, 'Q5R': function(Q5, V5) { return Q5 * V5; }, 'V8N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i16': function(Q5, V5) { return Q5 * V5; }, 'N56': function(Q5, V5) { return Q5 / V5; }, 'T3I': function(Q5, V5) { return Q5 - V5; }, 'O6R': function(Q5, V5) { return Q5 * V5; }, 'n1J': 65535, 't3J': 0.5, 'b0T': function(Q5, V5) { return Q5 - V5; }, 'J5o': function(Q5, V5) { return Q5 * V5; }, 'U18': function(Q5, V5) { return Q5 === V5; }, 'S7K': function(Q5, V5) { return Q5 - V5; }, 'V2x': function(Q5, V5) { return Q5 * V5; }, 'N8o': function(Q5, V5) { return Q5 * V5; }, 'Y4K': function(Q5, V5) { return Q5 === V5; }, 'v8B': function(Q5, V5) { return Q5 * V5; }, 'F0K': function(Q5, V5) { return Q5 * V5; }, 'B6C': function(Q5, V5) { return Q5 === V5; }, 'd1C': function(Q5, V5) { return Q5 * V5; }, 'P2o': function(Q5, V5) { return Q5 > V5; }, 'F0k': function(Q5, V5) { return Q5 * V5; }, 'f2I': function(Q5, V5) { return Q5 == V5; }, 'R6i': function(Q5, V5) { return Q5 * V5; }, 'E5T': function(Q5, V5) { return Q5 > V5; }, 'n8C': function(Q5, V5) { return Q5 != V5; }, 'L1m': function(Q5, V5) { return Q5 * V5; }, 'a1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'q5N': function(Q5, V5) { return Q5 != V5; }, 'n6m': function(Q5, V5) { return Q5 * V5; }, 'U7p': function(Q5, V5) { return Q5 < V5; }, 'u0I': function(Q5, V5) { return Q5 / V5; }, 'g4T': function(Q5, V5) { return Q5 === V5; }, 'Z8i': function(Q5, V5) { return Q5 > V5; }, 'Y3J': 8, 'A1k': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'v16': function(Q5, V5) { return Q5 * V5; }, 'L48': function(Q5, V5) { return Q5 == V5; }, 'Q8B': function(Q5, V5) { return Q5 * V5; }, 'l4K': function(Q5, V5) { return Q5 > V5; }, 'K46': function(Q5, V5) { return Q5 * V5; }, 'V0I': function(Q5, V5) { return Q5 * V5; }, 'k7K': function(Q5, V5) { return Q5 * V5; }, 'F2X': function(Q5, V5) { return Q5 / V5; }, 'm96': function(Q5, V5) { return Q5 * V5; }, 'd3o': function(Q5, V5) { return Q5 * V5; }, 'r4N': function(Q5, V5) { return Q5 * V5; }, 's88': function(Q5, V5) { return Q5 != V5; }, 'b0K': function(Q5, V5) { return Q5 - V5; }, 'Z46': function(Q5, V5) { return Q5 * V5; }, 'K1B': function(Q5, V5) { return Q5 instanceof V5; }, 'x1X': function(Q5, V5) { return Q5 * V5; }, 'v2o': function(Q5, V5) { return Q5 <= V5; }, 'K4N': function(Q5, V5) { return Q5 * V5; }, 'y6o': function(Q5, V5) { return Q5 > V5; }, 'Q4T': function(Q5, V5) { return Q5 - V5; }, 'D4p': function(Q5, V5) { return Q5 * V5; }, 'r48': function(Q5, V5) { return Q5 == V5; }, 'L7K': function(Q5, V5) { return Q5 - V5; }, 'o1I': function(Q5, V5) { return Q5 * V5; }, 'B48': function(Q5, V5) { return Q5 === V5; }, 'e6i': function(Q5, V5) { return Q5 > V5; }, 'c5k': function(Q5, V5) { return Q5 != V5; }, 'm7o': function(Q5, V5) { return Q5 - V5; }, 'i6I': function(Q5, V5) { return Q5 - V5; }, 'g4x': function(Q5, V5) { return Q5 / V5; }, 'i06': function(Q5, V5) { return Q5 * V5; }, 'q1m': function(Q5, V5) { return Q5 * V5; }, 'r3X': function(Q5, V5) { return Q5 > V5; }, 'Z3X': function(Q5, V5) { return Q5 === V5; }, 'H7K': function(Q5, V5) { return Q5 * V5; }, 'j7z': function(Q5, V5) { return Q5 * V5; }, 'I1R': function(Q5, V5) { return Q5 * V5; }, 'A4i': function(Q5, V5) { return Q5 < V5; }, 'm3i': function(Q5, V5) { return Q5 - V5; }, 'd6N': function(Q5, V5) { return Q5 - V5; }, 'h3J': 0.7, 'P3R': function(Q5, V5) { return Q5 * V5; }, 'E7z': function(Q5, V5) { return Q5 <= V5; }, 'H5N': function(Q5, V5) { return Q5 != V5; }, 'T5p': function(Q5, V5) { return Q5 === V5; }, 'l5z': function(Q5, V5) { return Q5 / V5; }, 'v4k': function(Q5, V5) { return Q5 - V5; }, 'J9k': function(Q5, V5) { return Q5 * V5; }, 'O4I': function(Q5, V5) { return Q5 * V5; }, 'd06': function(Q5, V5) { return Q5 * V5; }, 'g58': function(Q5, V5) { return Q5 * V5; }, 'X7N': function(Q5, V5) { return Q5 - V5; }, 'W6x': function(Q5, V5) { return Q5 * V5; }, 'a5m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i6k': function(Q5, V5) { return Q5 - V5; }, 'M4B': function(Q5, V5) { return Q5 != V5; }, 'K1p': function(Q5, V5) { return Q5 <= V5; }, 'D36': function(Q5, V5) { return Q5 * V5; }, 'q9k': function(Q5, V5) { return Q5 - V5; }, 'n3T': function(Q5, V5) { return Q5 * V5; }, 'G9m': function(Q5, V5) { return Q5 != V5; }, 't5z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'p0k': function(Q5, V5) { return Q5 * V5; }, 'O88': function(Q5, V5) { return Q5 > V5; }, 'z6z': function(Q5, V5) { return Q5 == V5; }, 'l6X': function(Q5, V5) { return Q5 < V5; }, 'd0B': function(Q5, V5) { return Q5 * V5; }, 'W8N': function(Q5, V5) { return Q5 * V5; }, 'j4k': function(Q5, V5) { return Q5 * V5; }, 'M6m': function(Q5, V5) { return Q5 != V5; }, 'i6': function() { Box2D.postDefs = []; }, 'q7x': function(Q5, V5) { return Q5 - V5; }, 'm4N': function(Q5, V5) { return Q5 - V5; }, 'J0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'C1I': function(Q5, V5) { return Q5 * V5; }, 'k4C': function(Q5, V5) { return Q5 != V5; }, 'i9i': function(Q5, V5) { return Q5 - V5; }, 'G9i': function(Q5, V5) { return Q5 > V5; }, 'l6N': function(Q5, V5) { return Q5 - V5; }, 'u1K': function(Q5, V5) { return Q5 != V5; }, 'd8p': function(Q5, V5) { return Q5 * V5; }, 'J9z': function(Q5, V5) { return Q5 != V5; }, 'E3k': function(Q5, V5) { return Q5 * V5; }, 'r5N': function(Q5, V5) { return Q5 != V5; }, 'D78': function(Q5, V5) { return Q5 != V5; }, 'C6B': function(Q5, V5) { return Q5 instanceof V5; }, 'g28': function(Q5, V5) { return Q5 == V5; }, 'F6o': function(Q5, V5) { return Q5 > V5; }, 'c4k': function(Q5, V5) { return Q5 * V5; }, 'G4k': function(Q5, V5) { return Q5 <= V5; }, 'Z7o': function(Q5, V5) { return Q5 - V5; }, 'K9k': function(Q5, V5) { return Q5 * V5; }, 'p6K': function(Q5, V5) { return Q5 <= V5; }, 'I3K': function(Q5, V5) { return Q5 * V5; }, 'b8m': function(Q5, V5) { return Q5 * V5; }, 'I6x': function(Q5, V5) { return Q5 * V5; }, 'E4': function(Q5, V5) { return Q5 != V5; }, 's2T': function(Q5, V5) { return Q5 * V5; }, 'a0I': function(Q5, V5) { return Q5 * V5; }, 'W9k': function(Q5, V5) { return Q5 * V5; }, 'E8p': function(Q5, V5) { return Q5 * V5; }, 'A16': function(Q5, V5) { return Q5 * V5; }, 'i8p': function(Q5, V5) { return Q5 * V5; }, 'R28': function(Q5, V5) { return Q5 == V5; }, 'v06': function(Q5, V5) { return Q5 * V5; }, 'j1z': function(Q5, V5) { return Q5 - V5; }, 'H3R': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'q5o': function(Q5, V5) { return Q5 * V5; }, 'N8R': function(Q5, V5) { return Q5 * V5; }, 'b8x': function(Q5, V5) { return Q5 - V5; }, 'S8k': function(Q5, V5) { return Q5 * V5; }, 'Q9i': function(Q5, V5) { return Q5 * V5; }, 'S4X': function(Q5, V5) { return Q5 - V5; }, 's5z': function(Q5, V5) { return Q5 - V5; }, 'm0p': function(Q5, V5) { return Q5 * V5; }, 'f4z': function(Q5, V5) { return Q5 * V5; }, 'w5I': function(Q5, V5) { return Q5 * V5; }, 'v4K': function(Q5, V5) { return Q5 * V5; }, 'e16': function(Q5, V5) { return Q5 * V5; }, 't3x': function(Q5, V5) { return Q5 - V5; }, 'k8i': function(Q5, V5) { return Q5 - V5; }, 'j26': function(Q5, V5) { return Q5 & V5; }, 'l6k': function(Q5, V5) { return Q5 * V5; }, 'a86': function(Q5, V5) { return Q5 < V5; }, 'B9T': function(Q5, V5) { return Q5 * V5; }, 'Z7k': function(Q5, V5) { return Q5 * V5; }, 'T7x': function(Q5, V5) { return Q5 * V5; }, 'g0X': function(Q5, V5) { return Q5 * V5; }, 't1i': function(Q5, V5) { return Q5 & V5; }, 'R3k': function(Q5, V5) { return Q5 * V5; }, 'w2': function(Q5, V5) { return Q5 === V5; }, 'H5o': function(Q5, V5) { return Q5 * V5; }, 'd9K': function(Q5, V5) { return Q5 * V5; }, 'u6x': function(Q5, V5) { return Q5 - V5; }, 'y6m': function(Q5, V5) { return Q5 * V5; }, 'h3I': function(Q5, V5) { return Q5 * V5; }, 'f3R': function(Q5, V5) { return Q5 <= V5; }, 'w36': function(Q5, V5) { return Q5 * V5; }, 'O0x': function(Q5, V5) { return Q5 * V5; }, 'F76': function(Q5, V5) { return Q5 * V5; }, 'Y2': function(Q5, V5) { return Q5 === V5; }, 'T3K': function(Q5, V5) { return Q5 * V5; }, 't9N': function(Q5, V5) { return Q5 instanceof V5; }, 'N6X': function(Q5, V5) { return Q5 < V5; }, 'H5B': function(Q5, V5) { return Q5 * V5; }, 'X8k': function(Q5, V5) { return Q5 > V5; }, 'O1k': function(Q5, V5) { return Q5 | V5; }, 'U3N': function(Q5, V5) { return Q5 == V5; }, 'm7T': function(Q5, V5) { return Q5 === V5; }, 'W46': function(Q5, V5) { return Q5 <= V5; }, 't9R': function(Q5, V5) { return Q5 * V5; }, 'F0T': function(Q5, V5) { return Q5 * V5; }, 'E6X': function(Q5, V5) { return Q5 * V5; }, 'i2N': function(Q5, V5) { return Q5 * V5; }, 'G4i': function(Q5, V5) { return Q5 != V5; }, 'p5K': function(Q5, V5) { return Q5 * V5; }, 'i8R': function(Q5, V5) { return Q5 * V5; }, 'x4m': function(Q5, V5) { return Q5 * V5; }, 'R3N': function(Q5, V5) { return Q5 === V5; }, 'S7x': function(Q5, V5) { return Q5 - V5; }, 'M8B': function(Q5, V5) { return Q5 === V5; }, 'X3z': function(Q5, V5) { return Q5 * V5; }, 'y5K': function(Q5, V5) { return Q5 == V5; }, 'S66': function(Q5, V5) { return Q5 * V5; }, 'w0k': function(Q5, V5) { return Q5 * V5; }, 'f4x': function(Q5, V5) { return Q5 * V5; }, 'u7k': function(Q5, V5) { return Q5 > V5; }, 'Y08': function(Q5, V5) { return Q5 == V5; }, 'b9o': function(Q5, V5) { return Q5 * V5; }, 't5I': function(Q5, V5) { return Q5 - V5; }, 'd2I': function(Q5, V5) { return Q5 * V5; }, 'p78': function(Q5, V5) { return Q5 == V5; }, 'A1x': function(Q5, V5) { return Q5 * V5; }, 'k3X': function(Q5, V5) { return Q5 * V5; }, 'G7B': function(Q5, V5) { return Q5 * V5; }, 'P1K': function(Q5, V5) { return Q5 * V5; }, 'm2K': function(Q5, V5) { return Q5 * V5; }, 'I6z': function(Q5, V5) { return Q5 - V5; }, 'J3I': function(Q5, V5) { return Q5 - V5; }, 'W5B': function(Q5, V5) { return Q5 - V5; }, 'e9I': function(Q5, V5) { return Q5 != V5; }, 'F6R': function(Q5, V5) { return Q5 * V5; }, 'X76': function(Q5, V5) { return Q5 * V5; }, 'j6T': function(Q5, V5) { return Q5 === V5; }, 'O6o': function(Q5, V5) { return Q5 * V5; }, 'Q9X': function(Q5, V5) { return Q5 === V5; }, 'h5N': function(Q5, V5) { return Q5 < V5; }, 'j6i': function(Q5, V5) { return Q5 * V5; }, 'I3I': function(Q5, V5) { return Q5 - V5; }, 'I5z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'p2m': function(Q5, V5) { return Q5 * V5; }, 'G4': function(Q5, V5) { return Q5 instanceof V5; }, 'S98': function(Q5, V5) { return Q5 < V5; }, 'R4': function(Q5, V5) { return Q5 < V5; }, 'C76': function(Q5, V5) { return Q5 <= V5; }, 'y0X': function(Q5, V5) { return Q5 < V5; }, 'g5x': function(Q5, V5) { return Q5 - V5; }, 'c9i': function(Q5, V5) { return Q5 < V5; }, 'h9R': function(Q5, V5) { return Q5 * V5; }, 'U06': function(Q5, V5) { return Q5 * V5; }, 'a8m': function(Q5, V5) { return Q5 * V5; }, 'L68': function(Q5, V5) { return Q5 - V5; }, 'u48': function(Q5, V5) { return Q5 != V5; }, 'r9x': function(Q5, V5) { return Q5 * V5; }, 'I7o': function(Q5, V5) { return Q5 < V5; }, 'T9k': function(Q5, V5) { return Q5 * V5; }, 'I7': function(Q5, V5) { return Q5 === V5; }, 'T4C': function(Q5, V5) { return Q5 == V5; }, 'U3p': function(Q5, V5) { return Q5 < V5; }, 'R3K': function(Q5, V5) { return Q5 >= V5; }, 'c58': function(Q5, V5) { return Q5 === V5; }, 'L6C': function(Q5, V5) { return Q5 === V5; }, 'l6T': function(Q5, V5) { return Q5 === V5; }, 'N9i': function(Q5, V5) { return Q5 * V5; }, 'X2z': function(Q5, V5) { return Q5 - V5; }, 'V6o': function(Q5, V5) { return Q5 < V5; }, 'Z66': function(Q5, V5) { return Q5 < V5; }, 'J2x': function(Q5, V5) { return Q5 * V5; }, 'g6I': function(Q5, V5) { return Q5 * V5; }, 'r6m': function(Q5, V5) { return Q5 - V5; }, 'J5R': function(Q5, V5) { return Q5 - V5; }, 'P4i': function(Q5, V5) { return Q5 == V5; }, 'S6C': function(Q5, V5) { return Q5 == V5; }, 'a0x': function(Q5, V5) { return Q5 * V5; }, 'q8T': function(Q5, V5) { return Q5 * V5; }, 'E08': function(Q5, V5) { return Q5 == V5; }, 'D5X': function(Q5, V5) { return Q5 === V5; }, 'N7B': function(Q5, V5) { return Q5 * V5; }, 'L1p': function(Q5, V5) { return Q5 / V5; }, 'w9o': function(Q5, V5) { return Q5 * V5; }, 'G1C': function(Q5, V5) { return Q5 * V5; }, 't9o': function(Q5, V5) { return Q5 - V5; }, 'l5x': function(Q5, V5) { return Q5 - V5; }, 'l0z': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'R16': function(Q5, V5) { return Q5 * V5; }, 'n6p': function(Q5, V5) { return Q5 * V5; }, 'H9z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'G7z': function(Q5, V5) { return Q5 * V5; }, 'U8R': function(Q5, V5) { return Q5 < V5; }, 'D0k': function(Q5, V5) { return Q5 * V5; }, 'k0p': function(Q5, V5) { return Q5 > V5; }, 'E4k': function(Q5, V5) { return Q5 * V5; }, 'k3i': function(Q5, V5) { return Q5 * V5; }, 'j18': function(Q5, V5) { return Q5 == V5; }, 'T7o': function(Q5, V5, H5, z5, P5) { return Q5 / V5 / H5 * z5 * P5; }, 'T3X': function(Q5, V5) { return Q5 - V5; }, 'Y7z': function(Q5, V5) { return Q5 <= V5; }, 'L1R': function(Q5, V5) { return Q5 * V5; }, 'I7I': function(Q5, V5) { return Q5 * V5; }, 'u2B': function(Q5, V5) { return Q5 != V5; }, 'Z1R': function(Q5, V5) { return Q5 === V5; }, 't6K': function(Q5, V5) { return Q5 * V5; }, 'E9X': function(Q5, V5) { return Q5 < V5; }, 'p9N': function(Q5, V5) { return Q5 === V5; }, 'S5C': function(Q5, V5) { return Q5 != V5; }, 'Q0m': function(Q5, V5) { return Q5 * V5; }, 'r5z': function(Q5, V5) { return Q5 * V5; }, 'N4i': function(Q5, V5) { return Q5 == V5; }, 'o4m': function(Q5, V5) { return Q5 <= V5; }, 'v9K': function(Q5, V5) { return Q5 * V5; }, 'u0B': function(Q5, V5) { return Q5 > V5; }, 'w6p': function(Q5, V5) { return Q5 * V5; }, 'F2T': function(Q5, V5) { return Q5 * V5; }, 'O5I': function(Q5, V5) { return Q5 * V5; }, 'y2i': function(Q5, V5) { return Q5 <= V5; }, 'e9i': function(Q5, V5) { return Q5 < V5; }, 'h1N': function(Q5, V5) { return Q5 - V5; }, 'F0x': function(Q5, V5) { return Q5 > V5; }, 'M6K': function(Q5, V5) { return Q5 <= V5; }, 'P1x': function(Q5, V5) { return Q5 * V5; }, 'I1N': function(Q5, V5) { return Q5 - V5; }, 'x88': function(Q5, V5) { return Q5 * V5; }, 'D4B': function(Q5, V5) { return Q5 == V5; }, 's4o': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'F5i': function(Q5, V5) { return Q5 * V5; }, 'Q1C': function(Q5, V5) { return Q5 < V5; }, 'v7p': function(Q5, V5) { return Q5 > V5; }, 'd9i': function(Q5, V5) { return Q5 - V5; }, 'm98': function(Q5, V5) { return Q5 > V5; }, 'g4': function(Q5, V5) { return Q5 instanceof V5; }, 'k4N': function(Q5, V5) { return Q5 * V5; }, 'M88': function(Q5, V5) { return Q5 / V5; }, 'e0C': function(Q5, V5) { return Q5 > V5; }, 'N7p': function(Q5, V5) { return Q5 * V5; }, 'M2z': function(Q5, V5) { return Q5 * V5; }, 'y9p': function(Q5, V5) { return Q5 === V5; }, 'l2N': function(Q5, V5) { return Q5 >= V5; }, 'M5K': function(Q5, V5) { return Q5 * V5; }, 'U3o': function(Q5, V5) { return Q5 < V5; }, 'a4I': function(Q5, V5) { return Q5 - V5; }, 'm6z': function(Q5, V5) { return Q5 - V5; }, 'p3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'S1T': function(Q5, V5) { return Q5 * V5; }, 'X6p': function(Q5, V5) { return Q5 < V5; }, 'r46': function(Q5, V5) { return Q5 <= V5; }, 'T4X': function(Q5, V5) { return Q5 % V5; }, 'I5p': function(Q5, V5) { return Q5 === V5; }, 'L3I': function(Q5, V5) { return Q5 * V5; }, 'I9x': function(Q5, V5) { return Q5 - V5; }, 'W7K': function(Q5, V5) { return Q5 * V5; }, 'b1i': function(Q5, V5) { return Q5 < V5; }, 'd0C': function(Q5, V5) { return Q5 instanceof V5; }, 'w9p': function(Q5, V5) { return Q5 <= V5; }, 'P4k': function(Q5, V5) { return Q5 * V5; }, 'K1N': function(Q5, V5) { return Q5 - V5; }, 'N4K': function(Q5, V5) { return Q5 * V5; }, 'j2C': function(Q5, V5) { return Q5 == V5; }, 'P6k': function(Q5, V5) { return Q5 - V5; }, 'D3K': function(Q5, V5) { return Q5 - V5; }, 'e4i': function(Q5, V5) { return Q5 == V5; }, 'u1B': function(Q5, V5) { return Q5 instanceof V5; }, 'p3z': function(Q5, V5) { return Q5 != V5; }, 'c28': function(Q5, V5) { return Q5 == V5; }, 'o0i': function(Q5, V5) { return Q5 > V5; }, 's2m': function(Q5, V5) { return Q5 * V5; }, 'u6N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'S5o': function(Q5, V5) { return Q5 * V5; }, 'l3N': function(Q5, V5) { return Q5 == V5; }, 'E8K': function(Q5, V5) { return Q5 - V5; }, 'l1T': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'Y1z': function(Q5, V5) { return Q5 * V5; }, 'T3i': function(Q5, V5) { return Q5 - V5; }, 'e2': function(Q5, V5) { return Q5 === V5; }, 'q7I': function(Q5, V5) { return Q5 * V5; }, 'w0T': function(Q5, V5) { return Q5 * V5; }, 'a0i': function(Q5, V5) { return Q5 * V5; }, 'A2I': function(Q5, V5) { return Q5 * V5; }, 'O5X': function(Q5, V5) { return Q5 > V5; }, 'R2X': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'r9z': function(Q5, V5) { return Q5 * V5; }, 'H5C': function(Q5, V5) { return Q5 == V5; }, 'J8X': function(Q5, V5) { return Q5 === V5; }, 'D2X': function(Q5, V5) { return Q5 / V5; }, 'e0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'd8B': function(Q5, V5) { return Q5 * V5; }, 'x78': function(Q5, V5) { return Q5 != V5; }, 'c0K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'f5T': function(Q5, V5) { return Q5 * V5; }, 'h7k': function(Q5, V5) { return Q5 === V5; }, 'Q7m': function(Q5, V5) { return Q5 * V5; }, 'K7K': function(Q5, V5) { return Q5 * V5; }, 'H2k': function(Q5, V5) { return Q5 - V5; }, 'Y8o': function(Q5, V5) { return Q5 * V5; }, 'N1x': function(Q5, V5) { return Q5 * V5; }, 's5K': function(Q5, V5) { return Q5 - V5; }, 'S9T': function(Q5, V5) { return Q5 * V5; }, 'B66': function(Q5, V5) { return Q5 * V5; }, 'k2p': function(Q5, V5) { return Q5 * V5; }, 'n78': function(Q5, V5) { return Q5 instanceof V5; }, 'J46': function(Q5, V5) { return Q5 * V5; }, 'a3x': function(Q5, V5) { return Q5 - V5; }, 'd9m': function(Q5, V5) { return Q5 * V5; }, 'f06': function(Q5, V5) { return Q5 * V5; }, 'o3C': function(Q5, V5) { return Q5 < V5; }, 'J1o': function(Q5, V5) { return Q5 == V5; }, 'C0X': function(Q5, V5) { return Q5 - V5; }, 'e2C': function(Q5, V5) { return Q5 == V5; }, 'm3K': function(Q5, V5) { return Q5 * V5; }, 'L9x': function(Q5, V5) { return Q5 / V5; }, 'X8C': function(Q5, V5) { return Q5 & V5; }, 'j6I': function(Q5, V5) { return Q5 * V5; }, 'e3K': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'u98': function(Q5, V5) { return Q5 / V5; }, 'A3p': function(Q5, V5) { return Q5 > V5; }, 'K9C': function(Q5, V5) { return Q5 * V5; }, 'a7X': function(Q5, V5) { return Q5 == V5; }, 'z9x': function(Q5, V5) { return Q5 > V5; }, 'o88': function(Q5, V5) { return Q5 > V5; }, 'x4I': function(Q5, V5) { return Q5 * V5; }, 'R8o': function(Q5, V5) { return Q5 * V5; }, 'R1C': function(Q5, V5) { return Q5 * V5; }, 't9z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'N58': function(Q5, V5) { return Q5 === V5; }, 'Y6X': function(Q5, V5) { return Q5 * V5; }, 'F1T': function(Q5, V5) { return Q5 != V5; }, 'L9T': function(Q5, V5) { return Q5 * V5; }, 'P7p': function(Q5, V5) { return Q5 * V5; }, 'y0k': function(Q5, V5) { return Q5 * V5; }, 'y8z': function(Q5, V5) { return Q5 * V5; }, 'M1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'n5i': function(Q5, V5) { return Q5 * V5; }, 'Q8K': function(Q5, V5) { return Q5 === V5; }, 'E9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'j3J': 0.98, 'i6i': function(Q5, V5) { return Q5 * V5; }, 'z2z': function(Q5, V5) { return Q5 === V5; }, 'b0k': function(Q5, V5) { return Q5 * V5; }, 'm7i': function(Q5, V5) { return Q5 === V5; }, 'h2k': function(Q5, V5) { return Q5 / V5; }, 'E1x': function(Q5, V5) { return Q5 - V5; }, 'q7k': function(Q5, V5) { return Q5 * V5; }, 'R4T': function(Q5, V5) { return Q5 > V5; }, 'o0X': function(Q5, V5) { return Q5 - V5; }, 'h5R': function(Q5, V5) { return Q5 * V5; }, 'v1x': function(Q5, V5) { return Q5 * V5; }, 'q2K': function(Q5, V5) { return Q5 === V5; }, 'N0B': function(Q5, V5) { return Q5 - V5; }, 'D8m': function(Q5, V5) { return Q5 * V5; }, 'W8I': function(Q5, V5) { return Q5 * V5; }, 'P26': function(Q5, V5) { return Q5 <= V5; }, 'T0o': function(Q5, V5) { return Q5 * V5; }, 'X0x': function(Q5, V5) { return Q5 - V5; }, 'E58': function(Q5, V5) { return Q5 * V5; }, 'X8z': function(Q5, V5) { return Q5 * V5; }, 'h9z': function(Q5, V5) { return Q5 < V5; }, 'b2i': function(Q5, V5) { return Q5 / V5; }, 'D6K': function(Q5, V5) { return Q5 * V5; }, 'C9R': function(Q5, V5) { return Q5 * V5; }, 'J6x': function(Q5, V5) { return Q5 - V5; }, 'q1T': function(Q5, V5) { return Q5 * V5; }, 'M3z': function(Q5, V5) { return Q5 * V5; }, 'r0o': function(Q5, V5) { return Q5 * V5; }, 'u1N': function(Q5, V5) { return Q5 * V5; }, 'K7I': function(Q5, V5) { return Q5 * V5; }, 'j9X': function(Q5, V5) { return Q5 === V5; }, 'g1z': function(Q5, V5) { return Q5 * V5; }, 'g3m': function(Q5, V5) { return Q5 - V5; }, 'Q16': function(Q5, V5) { return Q5 * V5; }, 'h6z': function(Q5, V5) { return Q5 * V5; }, 'q1o': function(Q5, V5) { return Q5 instanceof V5; }, 'h9C': function(Q5, V5) { return Q5 * V5; }, 'T7k': function(Q5, V5) { return Q5 < V5; }, 'S3i': function(Q5, V5) { return Q5 - V5; }, 's3x': function(Q5, V5) { return Q5 * V5; }, 'M8C': function(Q5, V5) { return Q5 == V5; }, 'k6z': function(Q5, V5) { return Q5 * V5; }, 'k7k': function(Q5, V5) { return Q5 * V5; }, 't8z': function(Q5, V5) { return Q5 * V5; }, 'd56': function(Q5, V5) { return Q5 / V5; }, 'E3p': function(Q5, V5) { return Q5 - V5; }, 'i5R': function(Q5, V5, H5, z5) { return Q5 - V5 - H5 + z5; }, 't4z': function(Q5, V5) { return Q5 * V5; }, 'k66': function(Q5, V5) { return Q5 < V5; }, 'Z7x': function(Q5, V5) { return Q5 < V5; }, 'q98': function(Q5, V5) { return Q5 < V5; }, 'A0z': function(Q5, V5) { return Q5 - V5; }, 'M0x': function(Q5, V5) { return Q5 - V5; }, 'u4X': function(Q5, V5) { return Q5 * V5; }, 'x1I': function(Q5, V5) { return Q5 * V5; }, 'e4x': function(Q5, V5) { return Q5 / V5; }, 'W5p': function(Q5, V5) { return Q5 === V5; }, 'v6T': function(Q5, V5) { return Q5 / V5; }, 'c3J': 0.2, 'H1k': function(Q5, V5) { return Q5 * V5; }, 'C8x': function(Q5, V5) { return Q5 - V5; }, 'D8C': function(Q5, V5) { return Q5 & V5; }, 'A8K': function(Q5, V5) { return Q5 - V5; }, 'c1x': function(Q5, V5) { return Q5 - V5; }, 'd7p': function(Q5, V5) { return Q5 > V5; }, 'G3N': function(Q5, V5) { return Q5 < V5; }, 'I7T': function(Q5, V5) { return Q5 & V5; }, 'k7x': function(Q5, V5) { return Q5 * V5; }, 'E2': function(Q5, V5) { return Q5 === V5; }, 'V3k': function(Q5, V5) { return Q5 * V5; }, 'V76': function(Q5, V5) { return Q5 * V5; }, 'v6k': function(Q5, V5) { return Q5 - V5; }, 'M0z': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'r7o': function(Q5, V5, H5, z5) { return Q5 / V5 * H5 * z5; }, 'G9X': function(Q5, V5) { return Q5 === V5; }, 'R2': function(Q5, V5) { return Q5 === V5; }, 'f5k': function(Q5, V5) { return Q5 * V5; }, 'Z7K': function(Q5, V5) { return Q5 * V5; }, 'Y3N': function(Q5, V5) { return Q5 < V5; }, 'Z4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i6X': function(Q5, V5) { return Q5 == V5; }, 'i5x': function(Q5, V5) { return Q5 - V5; }, 'L1B': function(Q5, V5) { return Q5 instanceof V5; }, 'u5N': function(Q5, V5) { return Q5 < V5; }, 'y4m': function(Q5, V5) { return Q5 * V5; }, 'm66': function(Q5, V5) { return Q5 / V5; }, 'n5X': function(Q5, V5) { return Q5 * V5; }, 'j4i': function(Q5, V5) { return Q5 != V5; }, 'G9K': function(Q5, V5) { return Q5 - V5; }, 'a78': function(Q5, V5) { return Q5 != V5; }, 'Z4C': function(Q5, V5) { return Q5 == V5; }, 'h4C': function(Q5, V5) { return Q5 & V5; }, 'J3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'S2X': function(Q5, V5) { return Q5 === V5; }, 'd0N': function(Q5, V5) { return Q5 - V5; }, 'B2k': function(Q5, V5) { return Q5 === V5; }, 'a88': function(Q5, V5) { return Q5 * V5; }, 't0x': function(Q5, V5) { return Q5 == V5; }, 'T8k': function(Q5, V5) { return Q5 === V5; }, 'c08': function(Q5, V5) { return Q5 * V5; }, 'a0k': function(Q5, V5) { return Q5 * V5; }, 'z1o': function(Q5, V5) { return Q5 * V5; }, 'U3k': function(Q5, V5) { return Q5 * V5; }, 'x38': function(Q5, V5) { return Q5 & V5; }, 'q4X': function(Q5, V5) { return Q5 - V5; }, 'c26': function(Q5, V5) { return Q5 * V5; }, 'f5z': function(Q5, V5) { return Q5 - V5; }, 'N2I': function(Q5, V5) { return Q5 - V5; }, 'Y4o': function(Q5, V5) { return Q5 != V5; }, 'T2K': function(Q5, V5) { return Q5 === V5; }, 'S9I': function(Q5, V5) { return Q5 > V5; }, 'M6N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'o2': function(Q5, V5) { return Q5 === V5; }, 'Y4k': function(Q5, V5) { return Q5 * V5; }, 'r7I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'l4k': function(Q5, V5) { return Q5 <= V5; }, 'k6C': function(Q5, V5) { return Q5 == V5; }, 'F5B': function(Q5, V5) { return Q5 * V5; }, 'w6B': function(Q5, V5) { return Q5 - V5; }, 'h3i': function(Q5, V5) { return Q5 - V5; }, 'B0m': function(Q5, V5) { return Q5 * V5; }, 'l9X': function(Q5, V5) { return Q5 === V5; }, 't8m': function(Q5, V5) { return Q5 * V5; }, 'D88': function(Q5, V5) { return Q5 * V5; }, 'M6R': function(Q5, V5) { return Q5 * V5; }, 'b9I': function(Q5, V5) { return Q5 != V5; }, 'm0o': function(Q5, V5) { return Q5 * V5; }, 'X2T': function(Q5, V5) { return Q5 * V5; }, 'm1N': function(Q5, V5) { return Q5 < V5; }, 'C0i': function(Q5, V5) { return Q5 > V5; }, 's86': function(Q5, V5) { return Q5 > V5; }, 'g5T': function(Q5, V5) { return Q5 < V5; }, 'h3K': function(Q5, V5) { return Q5 < V5; }, 'H9k': function(Q5, V5) { return Q5 * V5; }, 'v1C': function(Q5, V5) { return Q5 * V5; }, 'y0x': function(Q5, V5) { return Q5 * V5; }, 'O6p': function(Q5, V5) { return Q5 * V5; }, 'U5z': function(Q5, V5) { return Q5 > V5; }, 'd4x': function(Q5, V5) { return Q5 * V5; }, 'h2x': function(Q5, V5) { return Q5 === V5; }, 'j0X': function(Q5, V5) { return Q5 * V5; }, 'U9i': function(Q5, V5) { return Q5 - V5; }, 'e1x': function(Q5, V5) { return Q5 * V5; }, 'L0z': function(Q5, V5) { return Q5 - V5; }, 'n5K': function(Q5, V5) { return Q5 - V5; }, 'N18': function(Q5, V5) { return Q5 * V5; }, 'w8B': function(Q5, V5) { return Q5 * V5; }, 'e0N': function(Q5, V5) { return Q5 * V5; }, 'R56': function(Q5, V5) { return Q5 < V5; }, 'B3J': "undefined", 'c3m': function(Q5, V5) { return Q5 * V5; }, 'k7i': function(Q5, V5) { return Q5 * V5; }, 'W7T': function(Q5, V5) { return Q5 & V5; }, 'r3T': function(Q5, V5) { return Q5 * V5; }, 'Y5k': function(Q5, V5) { return Q5 - V5; }, 'q4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'E9K': function(Q5, V5) { return Q5 - V5; }, 'U1J': 1E3, 'e3m': function(Q5, V5) { return Q5 * V5; }, 'e3k': function(Q5, V5) { return Q5 * V5; }, 'I2B': function(Q5, V5) { return Q5 * V5; }, 'n5I': function(Q5, V5) { return Q5 * V5; }, 'F3z': function(Q5, V5) { return Q5 - V5; }, 'V5X': function(Q5, V5) { return Q5 * V5; }, 's0I': function(Q5, V5) { return Q5 * V5; }, 'b0x': function(Q5, V5) { return Q5 * V5; }, 'j6k': function(Q5, V5) { return Q5 - V5; }, 'e7p': function(Q5, V5) { return Q5 * V5; }, 's0T': function(Q5, V5) { return Q5 * V5; }, 'i5T': function(Q5, V5) { return Q5 <= V5; }, 'x9m': function(Q5, V5) { return Q5 * V5; }, 'q9C': function(Q5, V5) { return Q5 < V5; }, 'R7z': function(Q5, V5) { return Q5 * V5; }, 'h6C': function(Q5, V5) { return Q5 == V5; }, 'o9p': function(Q5, V5) { return Q5 / V5; }, 'O5K': function(Q5, V5) { return Q5 * V5; }, 'K68': function(Q5, V5) { return Q5 / V5; }, 'j5m': function(Q5, V5) { return Q5 * V5; }, 'M36': function(Q5, V5) { return Q5 * V5; }, 'R9X': function(Q5, V5) { return Q5 === V5; }, 'N6T': function(Q5, V5) { return Q5 - V5; }, 'Z96': function(Q5, V5) { return Q5 * V5; }, 'v4x': function(Q5, V5) { return Q5 - V5; }, 'G58': function(Q5, V5) { return Q5 * V5; }, 'G56': function(Q5, V5) { return Q5 * V5; }, 'O8m': function(Q5, V5) { return Q5 * V5; }, 'a36': function(Q5, V5) { return Q5 * V5; }, 'w3T': function(Q5, V5) { return Q5 * V5; }, 'B2p': function(Q5, V5) { return Q5 - V5; }, 'L7T': function(Q5, V5) { return Q5 === V5; }, 'F4I': function(Q5, V5) { return Q5 * V5; }, 'f4T': function(Q5, V5) { return Q5 < V5; }, 'W8T': function(Q5, V5) { return Q5 * V5; }, 'M3x': function(Q5, V5) { return Q5 * V5; }, 'c9m': function(Q5, V5) { return Q5 * V5; }, 'E2I': function(Q5, V5) { return Q5 * V5; }, 'D9m': function(Q5, V5) { return Q5 * V5; }, 'M6o': function(Q5, V5) { return Q5 * V5; }, 'n0x': function(Q5, V5) { return Q5 - V5; }, 'O8z': function(Q5, V5) { return Q5 - V5; }, 'N9B': function(Q5, V5) { return Q5 * V5; }, 'q3i': function(Q5, V5) { return Q5 <= V5; }, 'p36': function(Q5, V5) { return Q5 * V5; }, 'C36': function(Q5, V5) { return Q5 * V5; }, 'j3p': function(Q5, V5) { return Q5 * V5; }, 'B9z': function(Q5, V5) { return Q5 * V5; }, 'S1R': function(Q5, V5) { return Q5 === V5; }, 'P6i': function(Q5, V5) { return Q5 * V5; }, 'F26': function(Q5, V5) { return Q5 * V5; }, 'U3R': function(Q5, V5) { return Q5 * V5; }, 'Z2z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'H0o': function(Q5, V5) { return Q5 * V5; }, 'W0o': function(Q5, V5) { return Q5 < V5; }, 'V36': function(Q5, V5) { return Q5 * V5; }, 'F8z': function(Q5, V5) { return Q5 - V5; }, 'y1I': function(Q5, V5) { return Q5 * V5; }, 'X7C': function(Q5, V5) { return Q5 <= V5; }, 'w8C': function(Q5, V5) { return Q5 == V5; }, 'Z3i': function(Q5, V5) { return Q5 > V5; }, 'S7T': function(Q5, V5) { return Q5 * V5; }, 'n4I': function(Q5, V5) { return Q5 * V5; }, 'Y2N': function(Q5, V5) { return Q5 * V5; }, 'q0o': function(Q5, V5) { return Q5 * V5; }, 'N1C': function(Q5, V5) { return Q5 * V5; }, 'j0N': function(Q5, V5) { return Q5 * V5; }, 'u8X': function(Q5, V5) { return Q5 == V5; }, 'a9o': function(Q5, V5) { return Q5 >= V5; }, 'N3o': function(Q5, V5) { return Q5 < V5; }, 'Q9K': function(Q5, V5) { return Q5 * V5; }, 'u7I': function(Q5, V5) { return Q5 * V5; }, 'H7o': function(Q5, V5) { return Q5 == V5; }, 'G6T': function(Q5, V5) { return Q5 === V5; }, 's7X': function(Q5, V5) { return Q5 % V5; }, 'X8B': function(Q5, V5) { return Q5 === V5; }, 'R26': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'c4o': function(Q5, V5) { return Q5 < V5; }, 'q8k': function(Q5, V5) { return Q5 - V5; }, 'v3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'E4i': function(Q5, V5) { return Q5 instanceof V5; }, 'Q5x': function(Q5, V5) { return Q5 * V5; }, 'l3B': function(Q5, V5) { return Q5 - V5; }, 'a3T': function(Q5, V5) { return Q5 * V5; }, 'm9C': function(Q5, V5) { return Q5 < V5; }, 'P7m': function(Q5, V5) { return Q5 - V5; }, 'B5N': function(Q5, V5) { return Q5 != V5; }, 'm1p': function(Q5, V5) { return Q5 > V5; }, 'C3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'B8N': function(Q5, V5) { return Q5 < V5; }, 'd7B': function(Q5, V5) { return Q5 * V5; }, 'H7T': function(Q5, V5) { return Q5 > V5; }, 'x3C': function(Q5, V5) { return Q5 < V5; }, 'P4K': function(Q5, V5) { return Q5 * V5; }, 's3k': function(Q5, V5) { return Q5 * V5; }, 'j28': function(Q5, V5) { return Q5 != V5; }, 'q66': function(Q5, V5) { return Q5 * V5; }, 'x0i': function(Q5, V5) { return Q5 == V5; }, 'd2C': function(Q5, V5) { return Q5 != V5; }, 'y8x': function(Q5, V5) { return Q5 - V5; }, 'N6k': function(Q5, V5) { return Q5 <= V5; }, 'O8C': function(Q5, V5) { return Q5 & V5; }, 'w3z': function(Q5, V5) { return Q5 * V5; }, 'i2C': function(Q5, V5) { return Q5 < V5; }, 'D9o': function(Q5, V5) { return Q5 * V5; }, 'l3o': function(Q5, V5) { return Q5 - V5; }, 'C5K': function(Q5, V5) { return Q5 == V5; }, 'Z2X': function(Q5, V5) { return Q5 * V5; }, 'B4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'n0T': function(Q5, V5) { return Q5 * V5; }, 'Q3N': function(Q5, V5) { return Q5 != V5; }, 't3T': function(Q5, V5) { return Q5 * V5; }, 'd1J': 10, 'Q9B': function(Q5, V5) { return Q5 - V5; }, 'T1m': function(Q5, V5) { return Q5 * V5; }, 'M9I': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'F2m': function(Q5, V5) { return Q5 * V5; }, 'F1I': function(Q5, V5) { return Q5 * V5; }, 'Y1x': function(Q5, V5) { return Q5 * V5; }, 'Q4K': function(Q5, V5) { return Q5 * V5; }, 'J2p': function(Q5, V5) { return Q5 < V5; }, 'k2K': function(Q5, V5) { return Q5 * V5; }, 'U6X': function(Q5, V5) { return Q5 / V5; }, 'D4m': function(Q5, V5) { return Q5 * V5; }, 'o0x': function(Q5, V5) { return Q5 - V5; }, 'R6I': function(Q5, V5) { return Q5 * V5; }, 'J8i': function(Q5, V5) { return Q5 === V5; }, 'B5o': function(Q5, V5) { return Q5 * V5; }, 'a1i': function(Q5, V5) { return Q5 === V5; }, 'V2m': function(Q5, V5) { return Q5 * V5; }, 'b9p': function(Q5, V5) { return Q5 <= V5; }, 'i7B': function(Q5, V5) { return Q5 * V5; }, 'D7N': function(Q5, V5) { return Q5 * V5; }, 'P5k': function(Q5, V5) { return Q5 == V5; }, 't1X': function(Q5, V5) { return Q5 - V5; }, 'X2m': function(Q5, V5) { return Q5 - V5; }, 'T9x': function(Q5, V5) { return Q5 - V5; }, 'T9R': function(Q5, V5) { return Q5 * V5; }, 'c3o': function(Q5, V5) { return Q5 * V5; }, 'K9T': function(Q5, V5) { return Q5 === V5; }, 'y6B': function(Q5, V5) { return Q5 instanceof V5; }, 'U4': function(Q5, V5) { return Q5 instanceof V5; }, 'B3I': function(Q5, V5) { return Q5 * V5; }, 'Y8p': function(Q5, V5) { return Q5 * V5; }, 'b78': function(Q5, V5) { return Q5 == V5; }, 'P2I': function(Q5, V5) { return Q5 - V5; }, 'T6z': function(Q5, V5) { return Q5 * V5; }, 'p0i': function(Q5, V5) { return Q5 * V5; }, 'j7B': function(Q5, V5) { return Q5 * V5; }, 'm8k': function(Q5, V5) { return Q5 * V5; }, 'B6z': function(Q5, V5) { return Q5 * V5; }, 'c3R': function(Q5, V5) { return Q5 * V5; }, 'd6X': function(Q5, V5) { return Q5 < V5; }, 'g16': function(Q5, V5) { return Q5 * V5; }, 'h5o': function(Q5, V5) { return Q5 - V5; }, 'T6x': function(Q5, V5) { return Q5 - V5; }, 'F9R': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'h7I': function(Q5, V5) { return Q5 * V5; }, 'h0I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'x2X': function(Q5, V5) { return Q5 === V5; }, 'g4i': function(Q5, V5) { return Q5 < V5; }, 'T7': function(Q5, V5) { return Q5 === V5; }, 'E5k': function(Q5, V5) { return Q5 * V5; }, 'j7X': function(Q5, V5) { return Q5 < V5; }, 'y0I': function(Q5, V5) { return Q5 - V5; }, 'z5B': function(Q5, V5) { return Q5 * V5; }, 'A6T': function(Q5, V5) { return Q5 != V5; }, 'w5K': function(Q5, V5) { return Q5 * V5; }, 'r9T': function(Q5, V5) { return Q5 * V5; }, 'g4o': function(Q5, V5) { return Q5 * V5; }, 'L7I': function(Q5, V5) { return Q5 === V5; }, 'X36': function(Q5, V5) { return Q5 * V5; }, 'O9B': function(Q5, V5) { return Q5 > V5; }, 'h8k': function(Q5, V5, H5, z5) { return Q5 * V5 * H5 * z5; }, 'W68': function(Q5, V5) { return Q5 == V5; }, 'w1X': function(Q5, V5) { return Q5 * V5; }, 'T8I': function(Q5, V5) { return Q5 * V5; }, 'p3T': function(Q5, V5) { return Q5 * V5; }, 'A3N': function(Q5, V5) { return Q5 == V5; }, 'M3C': function(Q5, V5) { return Q5 >= V5; }, 'u8I': function(Q5, V5) { return Q5 - V5; }, 'k7o': function(Q5, V5) { return Q5 - V5; }, 'U28': function(Q5, V5) { return Q5 == V5; }, 'D0x': function(Q5, V5) { return Q5 / V5; }, 'X6m': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'j3R': function(Q5, V5) { return Q5 - V5; }, 'X5z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'c8o': function(Q5, V5) { return Q5 * V5; }, 'G4o': function(Q5, V5) { return Q5 - V5; }, 'e56': function(Q5, V5) { return Q5 == V5; }, 'x6B': function(Q5, V5) { return Q5 * V5; }, 'g1x': function(Q5, V5) { return Q5 * V5; }, 'J0o': function(Q5, V5) { return Q5 * V5; }, 'F8B': function(Q5, V5) { return Q5 - V5; }, 'D3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'o3T': function(Q5, V5) { return Q5 === V5; }, 'C5i': function(Q5, V5) { return Q5 * V5; }, 'F4m': function(Q5, V5) { return Q5 - V5; }, 'P7B': function(Q5, V5) { return Q5 * V5; }, 'Z0p': function(Q5, V5) { return Q5 * V5; }, 'K96': function(Q5, V5) { return Q5 * V5; }, 'g2': function(Q5, V5) { return Q5 === V5; }, 'O4p': function(Q5, V5) { return Q5 * V5; }, 'k8X': function(Q5, V5) { return Q5 - V5; }, 'B2K': function(Q5, V5) { return Q5 * V5; }, 'n1I': function(Q5, V5) { return Q5 * V5; }, 'e4': function(Q5, V5) { return Q5 === V5; }, 't2': function(Q5, V5) { return Q5 === V5; }, 'b5K': function(Q5, V5) { return Q5 * V5; }, 'I68': function(Q5, V5) { return Q5 * V5; }, 'w6R': function(Q5, V5) { return Q5 * V5; }, 'J66': function(Q5, V5) { return Q5 * V5; }, 'U4o': function(Q5, V5) { return Q5 * V5; }, 'B5R': function(Q5, V5) { return Q5 * V5; }, 'm1R': function(Q5, V5) { return Q5 === V5; }, 'J2B': function(Q5, V5) { return Q5 * V5; }, 'd1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'u9k': function(Q5, V5) { return Q5 * V5; }, 'f16': function(Q5, V5) { return Q5 * V5; }, 'L9C': function(Q5, V5) { return Q5 < V5; }, 'v9m': function(Q5, V5) { return Q5 * V5; }, 'U6k': function(Q5, V5) { return Q5 * V5; }, 'S6x': function(Q5, V5) { return Q5 * V5; }, 'Z4X': function(Q5, V5) { return Q5 > V5; }, 'P4x': function(Q5, V5) { return Q5 * V5; }, 'K6C': function(Q5, V5) { return Q5 == V5; }, 'l28': function(Q5, V5) { return Q5 == V5; }, 'Z8k': function(Q5, V5) { return Q5 * V5; }, 'D38': function(Q5, V5) { return Q5 == V5; }, 'M1X': function(Q5, V5) { return Q5 - V5; }, 'k1p': function(Q5, V5) { return Q5 * V5; }, 'p6o': function(Q5, V5) { return Q5 - V5; }, 'N0z': function(Q5, V5) { return Q5 - V5; }, 'z8i': function(Q5, V5) { return Q5 * V5; }, 'p7C': function(Q5, V5) { return Q5 < V5; }, 'j08': function(Q5, V5) { return Q5 === V5; }, 'D5I': function(Q5, V5) { return Q5 - V5; }, 'k7I': function(Q5, V5) { return Q5 * V5; }, 'Y6k': function(Q5, V5) { return Q5 <= V5; }, 's8C': function(Q5, V5) { return Q5 * V5; }, 'D1T': function(Q5, V5) { return Q5 / V5; }, 'G0X': function(Q5, V5) { return Q5 * V5; }, 'e7X': function(Q5, V5) { return Q5 * V5; }, 'X6K': function(Q5, V5) { return Q5 === V5; }, 'f3p': function(Q5, V5) { return Q5 / V5; }, 'C9o': function(Q5, V5) { return Q5 * V5; }, 'H3i': function(Q5, V5) { return Q5 * V5; }, 'H66': function(Q5, V5) { return Q5 != V5; }, 'E06': function(Q5, V5) { return Q5 / V5; }, 'b8k': function(Q5, V5) { return Q5 * V5; }, 'A5T': function(Q5, V5) { return Q5 - V5; }, 'u0o': function(Q5, V5) { return Q5 * V5; }, 'E8o': function(Q5, V5) { return Q5 * V5; }, 'a5X': function(Q5, V5) { return Q5 * V5; }, 'm68': function(Q5, V5) { return Q5 == V5; }, 'w2z': function(Q5, V5) { return Q5 - V5; }, 'n3z': function(Q5, V5) { return Q5 * V5; }, 'I7i': function(Q5, V5) { return Q5 - V5; }, 'S7I': function(Q5, V5) { return Q5 * V5; }, 'r2k': function(Q5, V5) { return Q5 === V5; }, 'a2m': function(Q5, V5) { return Q5 * V5; }, 'N5x': function(Q5, V5) { return Q5 - V5; }, 'c8B': function(Q5, V5) { return Q5 * V5; }, 'o0k': function(Q5, V5) { return Q5 === V5; }, 'b6R': function(Q5, V5) { return Q5 * V5; }, 'U0C': function(Q5, V5) { return Q5 instanceof V5; }, 'O3T': function(Q5, V5) { return Q5 === V5; }, 'q7K': function(Q5, V5) { return Q5 * V5; }, 'g2I': function(Q5, V5) { return Q5 instanceof V5; }, 'U5x': function(Q5, V5) { return Q5 * V5; }, 'j4o': function(Q5, V5) { return Q5 * V5; }, 'l5T': function(Q5, V5) { return Q5 - V5; }, 'G4z': function(Q5, V5) { return Q5 * V5; }, 'M2T': function(Q5, V5) { return Q5 * V5; }, 'X86': function(Q5, V5) { return Q5 * V5; }, 'M86': function(Q5, V5) { return Q5 * V5; }, 'u6C': function(Q5, V5) { return Q5 == V5; }, 'm46': function(Q5, V5) { return Q5 * V5; }, 'a4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'h4X': function(Q5, V5) { return Q5 % V5; }, 'a1X': function(Q5, V5) { return Q5 * V5; }, 'K7': function(Q5, V5) { return Q5 === V5; }, 'V5I': function(Q5, V5) { return Q5 - V5; }, 'v4i': function(Q5, V5) { return Q5 == V5; }, 'E3m': function(Q5, V5) { return Q5 == V5; }, 'b8C': function(Q5, V5) { return Q5 == V5; }, 'J1R': function(Q5, V5) { return Q5 * V5; }, 'o6K': function(Q5, V5) { return Q5 * V5; }, 'I1T': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'i56': function(Q5, V5) { return Q5 * V5; }, 'q5p': function(Q5, V5) { return Q5 === V5; }, 'Q8R': function(Q5, V5) { return Q5 * V5; }, 'R3R': function(Q5, V5) { return Q5 >> V5; }, 'u8N': function(Q5, V5) { return Q5 * V5; }, 't5K': function(Q5, V5) { return Q5 / V5; }, 'z8N': function(Q5, V5) { return Q5 < V5; }, 'X0k': function(Q5, V5) { return Q5 * V5; }, 'n9p': function(Q5, V5) { return Q5 / V5; }, 'q96': function(Q5, V5) { return Q5 - V5; }, 'M0B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'y6K': function(Q5, V5) { return Q5 * V5; }, 'w9N': function(Q5, V5) { return Q5 == V5; }, 'g08': function(Q5, V5) { return Q5 == V5; }, 'X9o': function(Q5, V5) { return Q5 * V5; }, 'Q26': function(Q5, V5) { return Q5 > V5; }, 'h7T': function(Q5, V5) { return Q5 & V5; }, 'S0K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'Q8p': function(Q5, V5) { return Q5 * V5; }, 'v3R': function(Q5, V5) { return Q5 * V5; }, 'U3m': function(Q5, V5) { return Q5 - V5; }, 'f2C': function(Q5, V5) { return Q5 == V5; }, 's1X': function(Q5, V5) { return Q5 * V5; }, 'a8z': function(Q5, V5) { return Q5 * V5; }, 'c0B': function(Q5, V5) { return Q5 * V5; }, 'N7z': function(Q5, V5) { return Q5 * V5; }, 'A2o': function(Q5, V5) { return Q5 / V5; }, 'x5B': function(Q5, V5) { return Q5 * V5; }, 'r0z': function(Q5, V5) { return Q5 - V5; }, 'I9C': function(Q5, V5) { return Q5 != V5; }, 'U1z': function(Q5, V5) { return Q5 * V5; }, 'H1m': function(Q5, V5) { return Q5 < V5; }, 'o8z': function(Q5, V5) { return Q5 * V5; }, 'F9p': function(Q5, V5) { return Q5 - V5; }, 'k6x': function(Q5, V5) { return Q5 * V5; }, 'J98': function(Q5, V5) { return Q5 < V5; }, 'a8C': function(Q5, V5) { return Q5 > V5; }, 'K9z': function(Q5, V5) { return Q5 >= V5; }, 'q1p': function(Q5, V5) { return Q5 == V5; }, 'B68': function(Q5, V5) { return Q5 - V5; }, 'a4p': function(Q5, V5) { return Q5 * V5; }, 'Q4x': function(Q5, V5) { return Q5 - V5; }, 'x3z': function(Q5, V5) { return Q5 * V5; }, 'X3C': function(Q5, V5) { return Q5 < V5; }, 'Q28': function(Q5, V5) { return Q5 != V5; }, 'n7C': function(Q5, V5) { return Q5 == V5; }, 'v0B': function(Q5, V5) { return Q5 * V5; }, 'D4I': function(Q5, V5) { return Q5 - V5; }, 'u4C': function(Q5, V5) { return Q5 == V5; }, 'F2z': function(Q5, V5) { return Q5 - V5; }, 'f6T': function(Q5, V5) { return Q5 === V5; }, 'Y2C': function(Q5, V5) { return Q5 == V5; }, 'f1C': function(Q5, V5) { return Q5 * V5; }, 'G3o': function(Q5, V5) { return Q5 - V5; }, 'n4p': function(Q5, V5) { return Q5 * V5; }, 'X1X': function(Q5, V5) { return Q5 - V5; }, 'G0B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'W9R': function(Q5, V5) { return Q5 * V5; }, 'v1J': true, 'z0o': function(Q5, V5) { return Q5 * V5; }, 'o4z': function(Q5, V5) { return Q5 * V5; }, 'O4m': function(Q5, V5) { return Q5 === V5; }, 'n0X': function(Q5, V5) { return Q5 * V5; }, 'X5I': function(Q5, V5) { return Q5 > V5; }, 'h48': function(Q5, V5) { return Q5 - V5; }, 'l16': function(Q5, V5) { return Q5 * V5; }, 'f7p': function(Q5, V5) { return Q5 - V5; }, 'V88': function(Q5, V5) { return Q5 - V5; }, 'S8I': function(Q5, V5) { return Q5 * V5; }, 'A8o': function(Q5, V5) { return Q5 * V5; }, 'O78': function(Q5, V5) { return Q5 != V5; }, 'q46': function(Q5, V5) { return Q5 <= V5; }, 'V9R': function(Q5, V5) { return Q5 - V5; }, 'm8i': function(Q5, V5) { return Q5 === V5; }, 'g6N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'M1I': function(Q5, V5) { return Q5 - V5; }, 'W8X': function(Q5, V5) { return Q5 > V5; }, 'R3o': function(Q5, V5) { return Q5 < V5; }, 'q3K': function(Q5, V5) { return Q5 - V5; }, 'q7T': function(Q5, V5) { return Q5 === V5; }, 'z3I': function(Q5, V5) { return Q5 * V5; }, 'v5T': function(Q5, V5) { return Q5 * V5; }, 'P3m': function(Q5, V5) { return Q5 - V5; }, 'V6p': function(Q5, V5) { return Q5 > V5; }, 'q68': function(Q5, V5) { return Q5 * V5; }, 'z7x': function(Q5, V5) { return Q5 * V5; }, 'h3X': function(Q5, V5) { return Q5 * V5; }, 'F38': function(Q5, V5) { return Q5 == V5; }, 'V0X': function(Q5, V5) { return Q5 < V5; }, 'Y9i': function(Q5, V5) { return Q5 * V5; }, 'Z0K': function(Q5, V5) { return Q5 * V5; }, 'y78': function(Q5, V5) { return Q5 != V5; }, 'R2N': function(Q5, V5) { return Q5 * V5; }, 'R8p': function(Q5, V5) { return Q5 * V5; }, 'Z3I': function(Q5, V5) { return Q5 * V5; }, 'W2x': function(Q5, V5) { return Q5 - V5; }, 'j8p': function(Q5, V5) { return Q5 * V5; }, 'y1i': function(Q5, V5) { return Q5 > V5; }, 'S9C': function(Q5, V5) { return Q5 < V5; }, 'n2i': function(Q5, V5) { return Q5 - V5; }, 'L7': function(Q5, V5) { return Q5 === V5; }, 'k5N': function(Q5, V5) { return Q5 == V5; }, 'P8K': function(Q5, V5) { return Q5 === V5; }, 'P8p': function(Q5, V5) { return Q5 * V5; }, 'X5B': function(Q5, V5) { return Q5 * V5; }, 'd3k': function(Q5, V5) { return Q5 * V5; }, 'T98': function(Q5, V5) { return Q5 * V5; }, 'z66': function(Q5, V5) { return Q5 / V5; }, 'l9m': function(Q5, V5) { return Q5 * V5; }, 'E0X': function(Q5, V5) { return Q5 - V5; }, 'B7K': function(Q5, V5) { return Q5 * V5; }, 'r2K': function(Q5, V5) { return Q5 - V5; }, 'H2z': function(Q5, V5) { return Q5 - V5; }, 'H7z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'u2o': function(Q5, V5) { return Q5 === V5; }, 'U7z': function(Q5, V5) { return Q5 * V5; }, 'c5x': function(Q5, V5) { return Q5 * V5; }, 'l8p': function(Q5, V5) { return Q5 * V5; }, 'y2T': function(Q5, V5) { return Q5 * V5; }, 'c0z': function(Q5, V5) { return Q5 * V5; }, 'q48': function(Q5, V5) { return Q5 * V5; }, 'H9T': function(Q5, V5) { return Q5 * V5; }, 'A0C': function(Q5, V5) { return Q5 instanceof V5; }, 'w4m': function(Q5, V5) { return Q5 * V5; }, 'f0I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'T9z': function(Q5, V5) { return Q5 * V5; }, 'V8x': function(Q5, V5) { return Q5 * V5; }, 'z6C': function(Q5, V5) { return Q5 == V5; }, 'h9T': function(Q5, V5) { return Q5 * V5; }, 'J7': function(Q5, V5) { return Q5 === V5; }, 'l7X': function(Q5, V5) { return Q5 / V5; }, 'M78': function(Q5, V5) { return Q5 == V5; }, 'F1i': function(Q5, V5) { return Q5 == V5; }, 'K3i': function(Q5, V5) { return Q5 * V5; }, 'C5I': function(Q5, V5) { return Q5 * V5; }, 'u3i': function(Q5, V5) { return Q5 > V5; }, 'd4T': function(Q5, V5) { return Q5 > V5; }, 'C2x': function(Q5, V5) { return Q5 * V5; }, 'm3X': function(Q5, V5) { return Q5 === V5; }, 'F8m': function(Q5, V5) { return Q5 * V5; }, 'e6T': function(Q5, V5) { return Q5 != V5; }, 'O2z': function(Q5, V5) { return Q5 * V5; }, 'S8X': function(Q5, V5) { return Q5 * V5; }, 'B4C': function(Q5, V5) { return Q5 == V5; }, 'w0x': function(Q5, V5) { return Q5 * V5; }, 't88': function(Q5, V5) { return Q5 * V5; }, 'P7z': function(Q5, V5) { return Q5 * V5; }, 'v3m': function(Q5, V5) { return Q5 * V5; }, 'L5z': function(Q5, V5) { return Q5 * V5; }, 'j4T': function(Q5, V5) { return Q5 === V5; }, 'S48': function(Q5, V5) { return Q5 * V5; }, 'j9K': function(Q5, V5) { return Q5 * V5; }, 's9N': function(Q5, V5) { return Q5 instanceof V5; }, 'c7z': function(Q5, V5) { return Q5 * V5; }, 's9p': function(Q5, V5) { return Q5 >= V5; }, 'S1N': function(Q5, V5) { return Q5 > V5; }, 'u7i': function(Q5, V5) { return Q5 > V5; }, 'B9R': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'A9K': function(Q5, V5) { return Q5 * V5; }, 'm1J': 100, 'Y4x': function(Q5, V5) { return Q5 - V5; }, 'P58': function(Q5, V5) { return Q5 === V5; }, 'd7m': function(Q5, V5) { return Q5 * V5; }, 'e4K': function(Q5, V5) { return Q5 * V5; }, 'W3i': function(Q5, V5) { return Q5 * V5; }, 'v3N': function(Q5, V5) { return Q5 != V5; }, 'B0p': function(Q5, V5) { return Q5 > V5; }, 'a5I': function(Q5, V5) { return Q5 * V5; }, 'Z1B': function(Q5, V5) { return Q5 === V5; }, 'q3I': function(Q5, V5) { return Q5 * V5; }, 'H46': function(Q5, V5) { return Q5 * V5; }, 'c1z': function(Q5, V5) { return Q5 * V5; }, 'e5k': function(Q5, V5) { return Q5 * V5; }, 'E7B': function(Q5, V5) { return Q5 * V5; }, 'w2T': function(Q5, V5) { return Q5 < V5; }, 'i58': function(Q5, V5) { return Q5 === V5; }, 'U2C': function(Q5, V5) { return Q5 != V5; }, 'J7K': function(Q5, V5) { return Q5 * V5; }, 'a6K': function(Q5, V5) { return Q5 * V5; }, 'j7p': function(Q5, V5) { return Q5 * V5; }, 'w1J': 16711680, 'r7k': function(Q5, V5) { return Q5 - V5; }, 'A6N': function(Q5, V5) { return Q5 / V5; }, 'O1I': function(Q5, V5) { return Q5 * V5; }, 'V0T': function(Q5, V5) { return Q5 === V5; }, 'o5X': function(Q5, V5) { return Q5 * V5; }, 'D2i': function(Q5, V5) { return Q5 < V5; }, 'R0X': function(Q5, V5) { return Q5 / V5; }, 'V2T': function(Q5, V5) { return Q5 * V5; }, 'B7k': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'P6I': function(Q5, V5) { return Q5 - V5; }, 'n86': function(Q5, V5) { return Q5 == V5; }, 'e6k': function(Q5, V5) { return Q5 < V5; }, 'S5R': function(Q5, V5) { return Q5 - V5; }, 'y9I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'n0i': function(Q5, V5) { return Q5 != V5; }, 'A4K': function(Q5, V5) { return Q5 * V5; }, 'F5X': function(Q5, V5) { return Q5 < V5; }, 'q1R': function(Q5, V5) { return Q5 === V5; }, 'p3C': function(Q5, V5) { return Q5 > V5; }, 'l1C': function(Q5, V5) { return Q5 < V5; }, 'w0i': function(Q5, V5) { return Q5 == V5; }, 'M0T': function(Q5, V5) { return Q5 - V5; }, 'n3x': function(Q5, V5) { return Q5 * V5; }, 'c3p': function(Q5, V5) { return Q5 > V5; }, 'D3z': function(Q5, V5) { return Q5 * V5; }, 'h7': function(Q5, V5) { return Q5 === V5; }, 'B1p': function(Q5, V5) { return Q5 * V5; }, 'r6z': function(Q5, V5) { return Q5 * V5; }, 'i7m': function(Q5, V5) { return Q5 * V5; }, 'Q5T': function(Q5, V5) { return Q5 < V5; }, 'N2N': function(Q5, V5) { return Q5 * V5; }, 'e3o': function(Q5, V5) { return Q5 * V5; }, 'O7N': function(Q5, V5) { return Q5 * V5; }, 'U2N': function(Q5, V5) { return Q5 * V5; }, 'B3X': function(Q5, V5) { return Q5 - V5; }, 'q5B': function(Q5, V5) { return Q5 * V5; }, 'J7I': function(Q5, V5) { return Q5 * V5; }, 'r2x': function(Q5, V5) { return Q5 - V5; }, 'L0I': function(Q5, V5) { return Q5 * V5; }, 'M8z': function(Q5, V5) { return Q5 * V5; }, 'y8C': function(Q5, V5) { return Q5 > V5; }, 'j4': function(Q5, V5) { return Q5 === V5; }, 'x9N': function(Q5, V5) { return Q5 != V5; }, 'C3x': function(Q5, V5) { return Q5 * V5; }, 'c18': function(Q5, V5) { return Q5 === V5; }, 'x5I': function(Q5, V5) { return Q5 - V5; }, 'K2B': function(Q5, V5) { return Q5 * V5; }, 'G18': function(Q5, V5) { return Q5 == V5; }, 'r8i': function(Q5, V5) { return Q5 == V5; }, 'B0B': function(Q5, V5) { return Q5 - V5; }, 'J8T': function(Q5, V5) { return Q5 * V5; }, 'B3i': function(Q5, V5) { return Q5 - V5; }, 's5I': function(Q5, V5) { return Q5 * V5; }, 't8x': function(Q5, V5) { return Q5 * V5; }, 'Z7T': function(Q5, V5) { return Q5 === V5; }, 'P2C': function(Q5, V5) { return Q5 < V5; }, 'R7m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'P0N': function(Q5, V5) { return Q5 * V5; }, 'C5m': function(Q5, V5) { return Q5 * V5; }, 'V7N': function(Q5, V5) { return Q5 * V5; }, 'd26': function(Q5, V5) { return Q5 - V5; }, 'k8N': function(Q5, V5) { return Q5 * V5; }, 'u2p': function(Q5, V5) { return Q5 < V5; }, 'o9o': function(Q5, V5) { return Q5 - V5; }, 'b1X': function(Q5, V5) { return Q5 * V5; }, 'L2B': function(Q5, V5) { return Q5 * V5; }, 's0i': function(Q5, V5) { return Q5 != V5; }, 'g7p': function(Q5, V5) { return Q5 * V5; }, 'L7i': function(Q5, V5) { return Q5 - V5; }, 'T3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'B1o': function(Q5, V5) { return Q5 instanceof V5; }, 'u5p': function(Q5, V5) { return Q5 === V5; }, 'o2m': function(Q5, V5) { return Q5 - V5; }, 'C2': function(Q5, V5) { return Q5 === V5; }, 's6m': function(Q5, V5) { return Q5 * V5; }, 'K8I': function(Q5, V5) { return Q5 === V5; }, 'O1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'K4X': function(Q5, V5) { return Q5 * V5; }, 'J3i': function(Q5, V5) { return Q5 * V5; }, 'd5m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'C6K': function(Q5, V5) { return Q5 * V5; }, 'E3R': function(Q5, V5) { return Q5 === V5; }, 'g8o': function(Q5, V5) { return Q5 * V5; }, 'l4T': function(Q5, V5) { return Q5 === V5; }, 'O2m': function(Q5, V5) { return Q5 * V5; }, 'K9R': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'B8i': function(Q5, V5) { return Q5 & V5; }, 'x76': function(Q5, V5) { return Q5 == V5; }, 'f08': function(Q5, V5) { return Q5 === V5; }, 'A9B': function(Q5, V5) { return Q5 * V5; }, 'c6X': function(Q5, V5) { return Q5 > V5; }, 'b5i': function(Q5, V5) { return Q5 * V5; }, 'K2p': function(Q5, V5) { return Q5 * V5; }, 'W9C': function(Q5, V5) { return Q5 > V5; }, 'I9k': function(Q5, V5) { return Q5 * V5; }, 'j6X': function(Q5, V5) { return Q5 * V5; }, 'l7z': function(Q5, V5) { return Q5 * V5; }, 'G0N': function(Q5, V5) { return Q5 * V5; }, 'C38': function(Q5, V5) { return Q5 === V5; }, 'J7i': function(Q5, V5) { return Q5 * V5; }, 'S8i': function(Q5, V5) { return Q5 <= V5; }, 'q1N': function(Q5, V5) { return Q5 < V5; }, 'y1X': function(Q5, V5) { return Q5 * V5; }, 'i3N': function(Q5, V5) { return Q5 > V5; }, 'e9K': function(Q5, V5) { return Q5 * V5; }, 'W6z': function(Q5, V5) { return Q5 * V5; }, 'D1k': function(Q5, V5) { return Q5 * V5; }, 'f1x': function(Q5, V5) { return Q5 * V5; }, 'Y3m': function(Q5, V5) { return Q5 == V5; }, 'y1T': function(Q5, V5) { return Q5 > V5; }, 'z98': function(Q5, V5) { return Q5 < V5; }, 'I9I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'G7X': function(Q5, V5) { return Q5 * V5; }, 'v2I': function(Q5, V5) { return Q5 * V5; }, 'j3k': function(Q5, V5) { return Q5 * V5; }, 'b8B': function(Q5, V5) { return Q5 === V5; }, 'p6R': function(Q5, V5) { return Q5 * V5; }, 'h46': function(Q5, V5) { return Q5 > V5; }, 'E56': function(Q5, V5) { return Q5 * V5; }, 'V3C': function(Q5, V5) { return Q5 * V5; }, 'o5I': function(Q5, V5) { return Q5 - V5; }, 'o78': function(Q5, V5) { return Q5 instanceof V5; }, 'r7i': function(Q5, V5) { return Q5 - V5; }, 'S9k': function(Q5, V5) { return Q5 * V5; }, 'M4p': function(Q5, V5) { return Q5 < V5; }, 'r4z': function(Q5, V5) { return Q5 * V5; }, 'q8I': function(Q5, V5) { return Q5 === V5; }, 'V8C': function(Q5, V5) { return Q5 & V5; }, 't2m': function(Q5, V5) { return Q5 * V5; }, 'z68': function(Q5, V5) { return Q5 == V5; }, 'A2C': function(Q5, V5) { return Q5 < V5; }, 'd5x': function(Q5, V5) { return Q5 * V5; }, 't6p': function(Q5, V5) { return Q5 * V5; }, 'o6m': function(Q5, V5) { return Q5 * V5; }, 'D6o': function(Q5, V5) { return Q5 / V5; }, 'A8p': function(Q5, V5) { return Q5 * V5; }, 'l3p': function(Q5, V5) { return Q5 < V5; }, 'E6k': function(Q5, V5) { return Q5 * V5; }, 'r1R': function(Q5, V5) { return Q5 < V5; }, 'N16': function(Q5, V5) { return Q5 * V5; }, 's36': function(Q5, V5) { return Q5 * V5; }, 'h1o': function(Q5, V5) { return Q5 == V5; }, 'M7N': function(Q5, V5) { return Q5 >= V5; }, 'Y0X': function(Q5, V5) { return Q5 === V5; }, 'q6x': function(Q5, V5) { return Q5 * V5; }, 'a6p': function(Q5, V5) { return Q5 * V5; }, 'V6R': function(Q5, V5) { return Q5 * V5; }, 'U9I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'M3T': function(Q5, V5, H5) { return Q5 | V5 | H5; }, 'q8X': function(Q5, V5) { return Q5 * V5; }, 'k5o': function(Q5, V5) { return Q5 * V5; }, 'P9m': function(Q5, V5) { return Q5 != V5; }, 'g3R': function(Q5, V5) { return Q5 & V5; }, 'z1N': function(Q5, V5) { return Q5 === V5; }, 'S2B': function(Q5, V5) { return Q5 * V5; }, 'R0N': function(Q5, V5) { return Q5 * V5; }, 'p9o': function(Q5, V5) { return Q5 * V5; }, 'C78': function(Q5, V5) { return Q5 > V5; }, 'L6z': function(Q5, V5) { return Q5 * V5; }, 'c1C': function(Q5, V5) { return Q5 * V5; }, 'x4B': function(Q5, V5) { return Q5 * V5; }, 'y2': function(Q5, V5) { return Q5 === V5; }, 'Z0o': function(Q5, V5) { return Q5 * V5; }, 'L2p': function(Q5, V5) { return Q5 < V5; }, 'w3C': function(Q5, V5) { return Q5 == V5; }, 'p2T': function(Q5, V5) { return Q5 / V5; }, 't38': function(Q5, V5) { return Q5 * V5; }, 'C6R': function(Q5, V5) { return Q5 * V5; }, 'R6k': function(Q5, V5) { return Q5 < V5; }, 'W3I': function(Q5, V5) { return Q5 * V5; }, 'v8R': function(Q5, V5) { return Q5 * V5; }, 'b7C': function(Q5, V5) { return Q5 < V5; }, 'b3z': function(Q5, V5) { return Q5 * V5; }, 'X3x': function(Q5, V5) { return Q5 * V5; }, 'q5R': function(Q5, V5) { return Q5 * V5; }, 'y86': function(Q5, V5) { return Q5 <= V5; }, 'o76': function(Q5, V5) { return Q5 > V5; }, 'l2o': function(Q5, V5) { return Q5 * V5; }, 'P56': function(Q5, V5) { return Q5 > V5; }, 'L2K': function(Q5, V5) { return Q5 - V5; }, 'H68': function(Q5, V5) { return Q5 == V5; }, 'G8o': function(Q5, V5) { return Q5 * V5; }, 'f0N': function(Q5, V5) { return Q5 * V5; }, 'I8i': function(Q5, V5) { return Q5 - V5; }, 'C88': function(Q5, V5) { return Q5 == V5; }, 'n6K': function(Q5, V5) { return Q5 * V5; }, 'y3z': function(Q5, V5) { return Q5 * V5; }, 'i6T': function(Q5, V5) { return Q5 === V5; }, 'H1B': function(Q5, V5) { return Q5 < V5; }, 'K1R': function(Q5, V5) { return Q5 * V5; }, 'g2N': function(Q5, V5) { return Q5 * V5; }, 'n6B': function(Q5, V5) { return Q5 === V5; }, 'G1x': function(Q5, V5) { return Q5 * V5; }, 'J48': function(Q5, V5) { return Q5 != V5; }, 'l2I': function(Q5, V5) { return Q5 === V5; }, 'S6z': function(Q5, V5) { return Q5 - V5; }, 'r8I': function(Q5, V5) { return Q5 * V5; }, 'o1k': function(Q5, V5) { return Q5 | V5; }, 'D1X': function(Q5, V5) { return Q5 * V5; }, 'a6o': function(Q5, V5) { return Q5 * V5; }, 'Z2B': function(Q5, V5) { return Q5 * V5; }, 's6K': function(Q5, V5) { return Q5 * V5; }, 'i1C': function(Q5, V5) { return Q5 != V5; }, 'M0i': function(Q5, V5) { return Q5 * V5; }, 'D2T': function(Q5, V5) { return Q5 * V5; }, 'Q6X': function(Q5, V5) { return Q5 * V5; }, 'x6o': function(Q5, V5) { return Q5 / V5; }, 'y4o': function(Q5, V5) { return Q5 * V5; }, 'd8o': function(Q5, V5) { return Q5 * V5; }, 'H1R': function(Q5, V5) { return Q5 === V5; }, 'f6X': function(Q5, V5) { return Q5 >= V5; }, 'U6i': function(Q5, V5) { return Q5 instanceof V5; }, 'V4o': function(Q5, V5) { return Q5 * V5; }, 'A7z': function(Q5, V5) { return Q5 * V5; }, 'd28': function(Q5, V5) { return Q5 & V5; }, 'B2x': function(Q5, V5) { return Q5 - V5; }, 'p4I': function(Q5, V5) { return Q5 * V5; }, 'w5X': function(Q5, V5) { return Q5 - V5; }, 'o5K': function(Q5, V5) { return Q5 - V5; }, 'v1z': function(Q5, V5) { return Q5 * V5; }, 'T8X': function(Q5, V5) { return Q5 < V5; }, 'X0i': function(Q5, V5) { return Q5 == V5; }, 'h68': function(Q5, V5) { return Q5 != V5; }, 'Y7B': function(Q5, V5) { return Q5 - V5; }, 'j7m': function(Q5, V5) { return Q5 * V5; }, 'u7T': function(Q5, V5) { return Q5 == V5; }, 'S8T': function(Q5, V5) { return Q5 * V5; }, 'C7X': function(Q5, V5) { return Q5 != V5; }, 'j5B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'y3x': function(Q5, V5) { return Q5 * V5; }, 'C3k': function(Q5, V5) { return Q5 * V5; }, 'k9C': function(Q5, V5) { return Q5 * V5; }, 'm1o': function(Q5, V5) { return Q5 * V5; }, 'r3I': function(Q5, V5) { return Q5 * V5; }, 'F4B': function(Q5, V5) { return Q5 != V5; }, 'w4B': function(Q5, V5) { return Q5 * V5; }, 'l3R': function(Q5, V5) { return Q5 * V5; }, 'b88': function(Q5, V5) { return Q5 * V5; }, 'g6i': function(Q5, V5) { return Q5 * V5; }, 'D86': function(Q5, V5) { return Q5 * V5; }, 'M7C': function(Q5, V5) { return Q5 <= V5; }, 'F9o': function(Q5, V5) { return Q5 * V5; }, 'H0K': function(Q5, V5) { return Q5 * V5; }, 'K4C': function(Q5, V5) { return Q5 & V5; }, 'N6i': function(Q5, V5) { return Q5 * V5; }, 'e8p': function(Q5, V5) { return Q5 * V5; }, 'r1K': function(Q5, V5) { return Q5 * V5; }, 'f8p': function(Q5, V5) { return Q5 * V5; }, 'd5T': function(Q5, V5) { return Q5 < V5; }, 'l4': function(Q5, V5) { return Q5 instanceof V5; }, 'P0C': function(Q5, V5) { return Q5 === V5; }, 'L3T': function(Q5, V5) { return Q5 === V5; }, 'O9N': function(Q5, V5) { return Q5 == V5; }, 'v7m': function(Q5, V5) { return Q5 * V5; }, 'V0N': function(Q5, V5, H5, z5) { return Q5 - V5 - H5 + z5; }, 'c6I': function(Q5, V5) { return Q5 * V5; }, 'L4C': function(Q5, V5) { return Q5 < V5; }, 'A6I': function(Q5, V5) { return Q5 * V5; }, 'H7x': function(Q5, V5) { return Q5 * V5; }, 'I8k': function(Q5, V5) { return Q5 - V5; }, 'N4x': function(Q5, V5) { return Q5 * V5; }, 'K98': function(Q5, V5) { return Q5 * V5; }, 'B8k': function(Q5, V5) { return Q5 * V5; }, 'v0m': function(Q5, V5) { return Q5 / V5; }, 'V4m': function(Q5, V5) { return Q5 * V5; }, 'R7p': function(Q5, V5) { return Q5 * V5; }, 'Q06': function(Q5, V5) { return Q5 * V5; }, 'O3z': function(Q5, V5) { return Q5 * V5; }, 'T8i': function(Q5, V5) { return Q5 - V5; }, 'f3o': function(Q5, V5) { return Q5 - V5; }, 't6R': function(Q5, V5) { return Q5 * V5; }, 'W2X': function(Q5, V5) { return Q5 < V5; }, 'm8X': function(Q5, V5) { return Q5 * V5; }, 'L5o': function(Q5, V5) { return Q5 * V5; }, 't1k': function(Q5, V5) { return Q5 === V5; }, 'a76': function(Q5, V5) { return Q5 <= V5; }, 'O0k': function(Q5, V5) { return Q5 - V5; }, 'd9X': function(Q5, V5) { return Q5 > V5; }, 'm6x': function(Q5, V5) { return Q5 == V5; }, 'u0z': function(Q5, V5) { return Q5 - V5; }, 'b8z': function(Q5, V5) { return Q5 * V5; }, 'T1B': function(Q5, V5) { return Q5 * V5; }, 'j16': function(Q5, V5) { return Q5 * V5; }, 'Y3k': function(Q5, V5) { return Q5 * V5; }, 'l3k': function(Q5, V5) { return Q5 * V5; }, 'e3N': function(Q5, V5) { return Q5 != V5; }, 'j5z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'e5T': function(Q5, V5) { return Q5 < V5; }, 'G6X': function(Q5, V5) { return Q5 * V5; }, 'i9B': function(Q5, V5) { return Q5 - V5; }, 'i9m': function(Q5, V5) { return Q5 <= V5; }, 'I98': function(Q5, V5) { return Q5 * V5; }, 'f4': function(Q5, V5) { return Q5 instanceof V5; }, 'W1B': function(Q5, V5) { return Q5 * V5; }, 'X6B': function(Q5, V5) { return Q5 - V5; }, 'W7o': function(Q5, V5) { return Q5 != V5; }, 'B5p': function(Q5, V5) { return Q5 === V5; }, 'U16': function(Q5, V5) { return Q5 * V5; }, 'F86': function(Q5, V5) { return Q5 * V5; }, 'P6N': function(Q5, V5) { return Q5 - V5; }, 's2i': function(Q5, V5) { return Q5 * V5; }, 'U9m': function(Q5, V5) { return Q5 * V5; }, 'h4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'T66': function(Q5, V5) { return Q5 * V5; }, 'q9x': function(Q5, V5) { return Q5 < V5; }, 'd7z': function(Q5, V5) { return Q5 * V5; }, 'w76': function(Q5, V5) { return Q5 / V5; }, 'f7X': function(Q5, V5) { return Q5 * V5; }, 'f2o': function(Q5, V5) { return Q5 === V5; }, 'm5B': function(Q5, V5) { return Q5 - V5; }, 'T0p': function(Q5, V5) { return Q5 - V5; }, 'k2k': function(Q5, V5) { return Q5 * V5; }, 'a2i': function(Q5, V5) { return Q5 <= V5; }, 'M1k': function(Q5, V5) { return Q5 | V5; }, 's5X': function(Q5, V5) { return Q5 * V5; }, 'f1J': 0.75, 'A8R': function(Q5, V5) { return Q5 * V5; }, 'z7o': function(Q5, V5) { return Q5 != V5; }, 't86': function(Q5, V5) { return Q5 < V5; }, 'W3K': function(Q5, V5) { return Q5 <= V5; }, 'L3X': function(Q5, V5) { return Q5 - V5; }, 'R08': function(Q5, V5) { return Q5 != V5; }, 'N06': function(Q5, V5) { return Q5 * V5; }, 'u46': function(Q5, V5) { return Q5 > V5; }, 'Q7I': function(Q5, V5) { return Q5 - V5; }, 'D5B': function(Q5, V5) { return Q5 * V5; }, 'J96': function(Q5, V5) { return Q5 * V5; }, 'K6z': function(Q5, V5) { return Q5 * V5; }, 'z1B': function(Q5, V5) { return Q5 === V5; }, 'P8B': function(Q5, V5) { return Q5 - V5; }, 'b1k': function(Q5, V5) { return Q5 | V5; }, 'a9R': function(Q5, V5) { return Q5 * V5; }, 'J5p': function(Q5, V5) { return Q5 === V5; }, 'p1X': function(Q5, V5) { return Q5 < V5; }, 'Z1m': function(Q5, V5) { return Q5 > V5; }, 'E2C': function(Q5, V5) { return Q5 & V5; }, 'I5N': function(Q5, V5) { return Q5 * V5; }, 'R4i': function(Q5, V5) { return Q5 === V5; }, 'O0K': function(Q5, V5) { return Q5 * V5; }, 'i3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'f8o': function(Q5, V5) { return Q5 * V5; }, 'g9K': function(Q5, V5) { return Q5 * V5; }, 'A2z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'k9z': function(Q5, V5) { return Q5 != V5; }, 'F9N': function(Q5, V5) { return Q5 == V5; }, 'Y4T': function(Q5, V5) { return Q5 === V5; }, 'd08': function(Q5, V5) { return Q5 * V5; }, 'H5p': function(Q5, V5) { return Q5 === V5; }, 'S1o': function(Q5, V5) { return Q5 * V5; }, 'w2m': function(Q5, V5) { return Q5 * V5; }, 'Y0N': function(Q5, V5) { return Q5 == V5; }, 'U4T': function(Q5, V5) { return Q5 === V5; }, 'X8x': function(Q5, V5) { return Q5 > V5; }, 'z7K': function(Q5, V5) { return Q5 === V5; }, 'K8N': function(Q5, V5) { return Q5 * V5; }, 'I9T': function(Q5, V5) { return Q5 * V5; }, 'a3z': function(Q5, V5) { return Q5 * V5; }, 'u1m': function(Q5, V5) { return Q5 * V5; }, 'x1T': function(Q5, V5) { return Q5 * V5; }, 'y5i': function(Q5, V5) { return Q5 * V5; }, 'G2o': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'X9m': function(Q5, V5) { return Q5 * V5; }, 'H1p': function(Q5, V5) { return Q5 > V5; }, 'B3T': function(Q5, V5) { return Q5 === V5; }, 's4I': function(Q5, V5) { return Q5 - V5; }, 'i8B': function(Q5, V5) { return Q5 * V5; }, 'B3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'x1k': function(Q5, V5) { return Q5 * V5; }, 'P6T': function(Q5, V5) { return Q5 === V5; }, 't9p': function(Q5, V5) { return Q5 / V5; }, 'k3K': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'I4N': function(Q5, V5) { return Q5 * V5; }, 'p1i': function(Q5, V5) { return Q5 == V5; }, 'p0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'f3m': function(Q5, V5) { return Q5 * V5; }, 'w1I': function(Q5, V5) { return Q5 * V5; }, 'M9p': function(Q5, V5) { return Q5 <= V5; }, 'C5z': function(Q5, V5) { return Q5 * V5; }, 't0I': function(Q5, V5) { return Q5 * V5; }, 'E4o': function(Q5, V5) { return Q5 == V5; }, 'a3C': function(Q5, V5) { return Q5 * V5; }, 't4I': function(Q5, V5) { return Q5 * V5; }, 'L8N': function(Q5, V5) { return Q5 < V5; }, 'h1m': function(Q5, V5) { return Q5 * V5; }, 'l26': function(Q5, V5) { return Q5 < V5; }, 'b2z': function(Q5, V5) { return Q5 - V5; }, 'f3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'C86': function(Q5, V5) { return Q5 < V5; }, 'w38': function(Q5, V5) { return Q5 > V5; }, 'Y28': function(Q5, V5) { return Q5 == V5; }, 'G5k': function(Q5, V5) { return Q5 * V5; }, 'P06': function(Q5, V5) { return Q5 * V5; }, 'n0I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'O86': function(Q5, V5) { return Q5 < V5; }, 'z2p': function(Q5, V5) { return Q5 * V5; }, 't2z': function(Q5, V5) { return Q5 - V5; }, 'E28': function(Q5, V5) { return Q5 === V5; }, 'c8p': function(Q5, V5) { return Q5 * V5; }, 'V1I': function(Q5, V5) { return Q5 * V5; }, 'F7m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'j5x': function(Q5, V5) { return Q5 * V5; }, 'T7T': function(Q5, V5) { return Q5 & V5; }, 'h7K': function(Q5, V5) { return Q5 - V5; }, 'L3i': function(Q5, V5) { return Q5 - V5; }, 'h98': function(Q5, V5) { return Q5 * V5; }, 'g3p': function(Q5, V5) { return Q5 > V5; }, 'n7N': function(Q5, V5) { return Q5 * V5; }, 'M3J': 0, 'I8N': function(Q5, V5) { return Q5 * V5; }, 't3C': function(Q5, V5) { return Q5 * V5; }, 'D0K': function(Q5, V5) { return Q5 * V5; }, 'r6x': function(Q5, V5) { return Q5 * V5; }, 'F5K': function(Q5, V5) { return Q5 * V5; }, 'I1m': function(Q5, V5) { return Q5 * V5; }, 'q2p': function(Q5, V5) { return Q5 * V5; }, 'p7N': function(Q5, V5) { return Q5 >= V5; }, 'C3z': function(Q5, V5) { return Q5 * V5; }, 'Q3m': function(Q5, V5) { return Q5 != V5; }, 'L2o': function(Q5, V5) { return Q5 === V5; }, 'N6N': function(Q5, V5) { return Q5 - V5; }, 'i1x': function(Q5, V5) { return Q5 * V5; }, 'V8m': function(Q5, V5) { return Q5 - V5; }, 'N0N': function(Q5, V5) { return Q5 * V5; }, 'u7x': function(Q5, V5) { return Q5 - V5; }, 'k46': function(Q5, V5) { return Q5 / V5; }, 'y7C': function(Q5, V5) { return Q5 | V5; }, 'O3x': function(Q5, V5) { return Q5 * V5; }, 'L8i': function(Q5, V5) { return Q5 < V5; }, 'u68': function(Q5, V5) { return Q5 == V5; }, 'A1z': function(Q5, V5) { return Q5 * V5; }, 'L0B': function(Q5, V5) { return Q5 / V5; }, 'P0B': function(Q5, V5) { return Q5 * V5; }, 'V3x': function(Q5, V5) { return Q5 * V5; }, 'J0I': function(Q5, V5) { return Q5 > V5; }, 'u1o': function(Q5, V5) { return Q5 instanceof V5; }, 'L2k': function(Q5, V5) { return Q5 * V5; }, 'E18': function(Q5, V5) { return Q5 === V5; }, 'n8m': function(Q5, V5) { return Q5 - V5; }, 'R9R': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'T5B': function(Q5, V5) { return Q5 * V5; }, 'X2i': function(Q5, V5) { return Q5 > V5; }, 'u7K': function(Q5, V5) { return Q5 - V5; }, 'b3C': function(Q5, V5) { return Q5 > V5; }, 'k9T': function(Q5, V5) { return Q5 < V5; }, 'W2p': function(Q5, V5) { return Q5 * V5; }, 'p8x': function(Q5, V5) { return Q5 > V5; }, 'n6o': function(Q5, V5) { return Q5 * V5; }, 'Z6z': function(Q5, V5) { return Q5 - V5; }, 'a6m': function(Q5, V5) { return Q5 * V5; }, 'd4K': function(Q5, V5) { return Q5 * V5; }, 'K7x': function(Q5, V5) { return Q5 * V5; }, 'I1B': function(Q5, V5) { return Q5 * V5; }, 'L7x': function(Q5, V5) { return Q5 / V5; }, 'T1N': function(Q5, V5) { return Q5 - V5; }, 'y6R': function(Q5, V5) { return Q5 * V5; }, 'b6p': function(Q5, V5) { return Q5 < V5; }, 'z3X': function(Q5, V5) { return Q5 === V5; }, 'c2N': function(Q5, V5) { return Q5 * V5; }, 'o8m': function(Q5, V5) { return Q5 - V5; }, 'y9o': function(Q5, V5) { return Q5 * V5; }, 'c6T': function(Q5, V5) { return Q5 * V5; }, 'X0K': function(Q5, V5) { return Q5 * V5; }, 't4m': function(Q5, V5) { return Q5 <= V5; }, 'b1I': function(Q5, V5) { return Q5 * V5; }, 'n2z': function(Q5, V5) { return Q5 * V5; }, 'V9o': function(Q5, V5) { return Q5 * V5; }, 'L8X': function(Q5, V5) { return Q5 * V5; }, 'C2T': function(Q5, V5) { return Q5 * V5; }, 'D0i': function(Q5, V5) { return Q5 < V5; }, 'v8K': function(Q5, V5) { return Q5 * V5; }, 'l0C': function(Q5, V5) { return Q5 * V5; }, 'c3N': function(Q5, V5) { return Q5 == V5; }, 'b1T': function(Q5, V5) { return Q5 * V5; }, 'i3p': function(Q5, V5) { return Q5 / V5; }, 'm0K': function(Q5, V5) { return Q5 * V5; }, 'd5k': function(Q5, V5) { return Q5 * V5; }, 's6R': function(Q5, V5) { return Q5 * V5; }, 'I9z': function(Q5, V5) { return Q5 * V5; }, 'J68': function(Q5, V5) { return Q5 > V5; }, 'M4m': function(Q5, V5) { return Q5 * V5; }, 'H7': function(Q5, V5) { return Q5 === V5; }, 'f4k': function(Q5, V5) { return Q5 * V5; }, 'I46': function(Q5, V5) { return Q5 <= V5; }, 'J6C': function(Q5, V5) { return Q5 != V5; }, 'o38': function(Q5, V5) { return Q5 > V5; }, 'b5X': function(Q5, V5) { return Q5 - V5; }, 'T5N': function(Q5, V5) { return Q5 / V5; }, 'k2B': function(Q5, V5) { return Q5 * V5; }, 'a7C': function(Q5, V5) { return Q5 == V5; }, 'i4T': function(Q5, V5) { return Q5 * V5; }, 'g4k': function(Q5, V5) { return Q5 / V5; }, 'J8K': function(Q5, V5) { return Q5 != V5; }, 'F0i': function(Q5, V5) { return Q5 == V5; }, 'q9I': function(Q5, V5) { return Q5 - V5; }, 'i26': function(Q5, V5) { return Q5 <= V5; }, 'S1p': function(Q5, V5) { return Q5 == V5; }, 'T9C': function(Q5, V5) { return Q5 * V5; }, 'D8B': function(Q5, V5) { return Q5 - V5; }, 'e1C': function(Q5, V5) { return Q5 < V5; }, 'W7x': function(Q5, V5) { return Q5 - V5; }, 'R6X': function(Q5, V5) { return Q5 * V5; }, 'D76': function(Q5, V5) { return Q5 * V5; }, 'T2x': function(Q5, V5) { return Q5 === V5; }, 'o3z': function(Q5, V5) { return Q5 * V5; }, 's78': function(Q5, V5) { return Q5 != V5; }, 'e08': function(Q5, V5) { return Q5 == V5; }, 'M38': function(Q5, V5) { return Q5 != V5; }, 'a38': function(Q5, V5) { return Q5 === V5; }, 'n2k': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'y4I': function(Q5, V5) { return Q5 * V5; }, 'O5m': function(Q5, V5) { return Q5 * V5; }, 'e9X': function(Q5, V5) { return Q5 === V5; }, 'q2B': function(Q5, V5) { return Q5 * V5; }, 'S5B': function(Q5, V5) { return Q5 - V5; }, 'm5o': function(Q5, V5) { return Q5 * V5; }, 'Z5o': function(Q5, V5) { return Q5 * V5; }, 'H3X': function(Q5, V5) { return Q5 === V5; }, 'Q18': function(Q5, V5) { return Q5 === V5; }, 'N1z': function(Q5, V5) { return Q5 * V5; }, 'N9m': function(Q5, V5) { return Q5 >= V5; }, 'x7N': function(Q5, V5) { return Q5 * V5; }, 'q4C': function(Q5, V5) { return Q5 == V5; }, 'e6I': function(Q5, V5) { return Q5 * V5; }, 'F2i': function(Q5, V5) { return Q5 / V5; }, 'c4K': function(Q5, V5) { return Q5 * V5; }, 'f5x': function(Q5, V5) { return Q5 - V5; }, 'R1x': function(Q5, V5) { return Q5 == V5; }, 'T96': function(Q5, V5) { return Q5 == V5; }, 'v6I': function(Q5, V5) { return Q5 * V5; }, 'j1x': function(Q5, V5) { return Q5 * V5; }, 'y9N': function(Q5, V5) { return Q5 instanceof V5; }, 'A0B': function(Q5, V5) { return Q5 - V5; }, 'H1N': function(Q5, V5) { return Q5 > V5; }, 's5i': function(Q5, V5) { return Q5 * V5; }, 'u8K': function(Q5, V5) { return Q5 / V5; }, 'z5o': function(Q5, V5) { return Q5 * V5; }, 'N8B': function(Q5, V5) { return Q5 - V5; }, 'r98': function(Q5, V5) { return Q5 === V5; }, 'Q3p': function(Q5, V5) { return Q5 < V5; }, 'k8T': function(Q5, V5) { return Q5 * V5; }, 'X6o': function(Q5, V5) { return Q5 * V5; }, 'E4T': function(Q5, V5) { return Q5 < V5; }, 'z2k': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'S7i': function(Q5, V5) { return Q5 === V5; }, 'O76': function(Q5, V5) { return Q5 <= V5; }, 'j2N': function(Q5, V5) { return Q5 - V5; }, 'J6z': function(Q5, V5) { return Q5 * V5; }, 't7N': function(Q5, V5) { return Q5 * V5; }, 'z4N': function(Q5, V5) { return Q5 * V5; }, 'J3X': function(Q5, V5) { return Q5 < V5; }, 'S1B': function(Q5, V5) { return Q5 === V5; }, 'S1m': function(Q5, V5) { return Q5 * V5; }, 'V1i': function(Q5, V5) { return Q5 > V5; }, 'c7B': function(Q5, V5) { return Q5 * V5; }, 'Q2N': function(Q5, V5) { return Q5 * V5; }, 'c6k': function(Q5, V5) { return Q5 - V5; }, 'h96': function(Q5, V5) { return Q5 * V5; }, 'L6m': function(Q5, V5) { return Q5 == V5; }, 'j58': function(Q5, V5) { return Q5 * V5; }, 'a3k': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'r96': function(Q5, V5) { return Q5 * V5; }, 'V7X': function(Q5, V5) { return Q5 * V5; }, 'k1B': function(Q5, V5) { return Q5 * V5; }, 'P5T': function(Q5, V5) { return Q5 - V5; }, 'j4K': function(Q5, V5) { return Q5 - V5; }, 'q7o': function(Q5, V5) { return Q5 * V5; }, 'U1C': function(Q5, V5) { return Q5 > V5; }, 'j9i': function(Q5, V5) { return Q5 > V5; }, 's6B': function(Q5, V5) { return Q5 != V5; }, 'x2i': function(Q5, V5) { return Q5 / V5; }, 'j4x': function(Q5, V5) { return Q5 - V5; }, 'P9B': function(Q5, V5) { return Q5 * V5; }, 'w88': function(Q5, V5) { return Q5 == V5; }, 's2': function(Q5, V5) { return Q5 === V5; }, 'p9x': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'V3T': function(Q5, V5) { return Q5 === V5; }, 'W1R': function(Q5, V5) { return Q5 * V5; }, 'x26': function(Q5, V5) { return Q5 > V5; }, 'k9R': function(Q5, V5) { return Q5 > V5; }, 'w8m': function(Q5, V5) { return Q5 * V5; }, 'Z8I': function(Q5, V5) { return Q5 - V5; }, 'j2': function(Q5, V5) { return Q5 === V5; }, 'L1o': function(Q5, V5) { return Q5 instanceof V5; }, 's1i': function(Q5, V5) { return Q5 > V5; }, 'S0o': function(Q5, V5) { return Q5 * V5; }, 'b3x': function(Q5, V5) { return Q5 - V5; }, 'u5o': function(Q5, V5) { return Q5 * V5; }, 'C8m': function(Q5, V5) { return Q5 - V5; }, 'C7N': function(Q5, V5) { return Q5 - V5; }, 'U4K': function(Q5, V5) { return Q5 * V5; }, 'i3m': function(Q5, V5) { return Q5 - V5; }, 'Q8o': function(Q5, V5) { return Q5 * V5; }, 'H6z': function(Q5, V5) { return Q5 == V5; }, 'E3o': function(Q5, V5) { return Q5 * V5; }, 'n6R': function(Q5, V5) { return Q5 * V5; }, 'C4p': function(Q5, V5) { return Q5 * V5; }, 'W0p': function(Q5, V5) { return Q5 > V5; }, 'V5i': function(Q5, V5) { return Q5 - V5; }, 'N9X': function(Q5, V5) { return Q5 <= V5; }, 'N6I': function(Q5, V5) { return Q5 * V5; }, 'U5T': function(Q5, V5) { return Q5 - V5; }, 'H4C': function(Q5, V5) { return Q5 != V5; }, 'k1m': function(Q5, V5) { return Q5 - V5; }, 'Z9x': function(Q5, V5) { return Q5 / V5; }, 'C5X': function(Q5, V5) { return Q5 * V5; }, 'z8T': function(Q5, V5) { return Q5 === V5; }, 'I2X': function(Q5, V5) { return Q5 === V5; }, 'U8B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'M0K': function(Q5, V5) { return Q5 * V5; }, 'V2i': function(Q5, V5) { return Q5 * V5; }, 'I8X': function(Q5, V5) { return Q5 < V5; }, 'V4I': function(Q5, V5) { return Q5 * V5; }, 'J2k': function(Q5, V5) { return Q5 * V5; }, 'l0N': function(Q5, V5) { return Q5 * V5; }, 'o2k': function(Q5, V5) { return Q5 - V5; }, 'd1z': function(Q5, V5) { return Q5 * V5; }, 'B46': function(Q5, V5) { return Q5 / V5; }, 'M5i': function(Q5, V5) { return Q5 * V5; }, 't8C': function(Q5, V5) { return Q5 > V5; }, 'o8x': function(Q5, V5) { return Q5 * V5; }, 'U7m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'r7': function(Q5, V5) { return Q5 === V5; }, 'K0p': function(Q5, V5) { return Q5 > V5; }, 'q0p': function(Q5, V5) { return Q5 >= V5; }, 'A08': function(Q5, V5) { return Q5 * V5; }, 'V6m': function(Q5, V5) { return Q5 * V5; }, 'K0o': function(Q5, V5) { return Q5 * V5; }, 'G2N': function(Q5, V5) { return Q5 - V5; }, 'S3I': function(Q5, V5) { return Q5 * V5; }, 'o2z': function(Q5, V5) { return Q5 - V5; }, 'i0C': function(Q5, V5) { return Q5 & V5; }, 'd3J': false, 'L9k': function(Q5, V5) { return Q5 * V5; }, 'T7K': function(Q5, V5) { return Q5 - V5; }, 'T7i': function(Q5, V5) { return Q5 - V5; }, 'k0o': function(Q5, V5) { return Q5 * V5; }, 'H8X': function(Q5, V5) { return Q5 * V5; }, 'p76': function(Q5, V5) { return Q5 * V5; }, 'X1T': function(Q5, V5) { return Q5 - V5; }, 'D9N': function(Q5, V5) { return Q5 & V5; }, 'Z9k': function(Q5, V5) { return Q5 / V5; }, 'Q56': function(Q5, V5) { return Q5 * V5; }, 'q6C': function(Q5, V5) { return Q5 == V5; }, 'v0C': function(Q5, V5) { return Q5 - V5; }, 't2i': function(Q5, V5) { return Q5 * V5; }, 'g6X': function(Q5, V5) { return Q5 * V5; }, 'f0C': function(Q5, V5) { return Q5 * V5; }, 'O0T': function(Q5, V5) { return Q5 * V5; }, 'P5x': function(Q5, V5) { return Q5 / V5; }, 'r5p': function(Q5, V5) { return Q5 === V5; }, 'K66': function(Q5, V5) { return Q5 * V5; }, 'C4I': function(Q5, V5) { return Q5 * V5; }, 'F9m': function(Q5, V5) { return Q5 - V5; }, 'c0N': function(Q5, V5) { return Q5 * V5; }, 'h8I': function(Q5, V5) { return Q5 === V5; }, 'g1C': function(Q5, V5) { return Q5 < V5; }, 'W1N': function(Q5, V5) { return Q5 - V5; }, 'N3m': function(Q5, V5) { return Q5 * V5; }, 'O2': function(Q5, V5) { return Q5 === V5; }, 'W2k': function(Q5, V5) { return Q5 / V5; }, 'z5N': function(Q5, V5) { return Q5 != V5; }, 'B1R': function(Q5, V5) { return Q5 * V5; }, 'n4m': function(Q5, V5) { return Q5 - V5; }, 'D0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'N3N': function(Q5, V5) { return Q5 < V5; }, 'I96': function(Q5, V5) { return Q5 - V5; }, 'E6I': function(Q5, V5) { return Q5 * V5; }, 'o0T': function(Q5, V5) { return Q5 * V5; }, 'g0C': function(Q5, V5) { return Q5 & V5; }, 'x36': function(Q5, V5) { return Q5 * V5; }, 'Y0C': function(Q5, V5) { return Q5 == V5; }, 'k5C': function(Q5, V5) { return Q5 < V5; }, 'Y06': function(Q5, V5) { return Q5 <= V5; }, 'f56': function(Q5, V5) { return Q5 * V5; }, 'x8m': function(Q5, V5) { return Q5 * V5; }, 'R6T': function(Q5, V5) { return Q5 - V5; }, 'V2': function(Q5, V5) { return Q5 === V5; }, 'q5C': function(Q5, V5) { return Q5 === V5; }, 'V7C': function(Q5, V5) { return Q5 != V5; }, 'x0x': function(Q5, V5) { return Q5 / V5; }, 'W4X': function(Q5, V5) { return Q5 / V5; }, 'J1m': function(Q5, V5) { return Q5 * V5; }, 'B8x': function(Q5, V5) { return Q5 * V5; }, 'i3o': function(Q5, V5) { return Q5 < V5; }, 'x9p': function(Q5, V5) { return Q5 < V5; }, 'J4C': function(Q5, V5) { return Q5 < V5; }, 'Q6i': function(Q5, V5) { return Q5 > V5; }, 'h0p': function(Q5, V5) { return Q5 < V5; }, 'v8o': function(Q5, V5) { return Q5 * V5; }, 't1I': function(Q5, V5) { return Q5 * V5; }, 'u3I': function(Q5, V5) { return Q5 - V5; }, 'T5o': function(Q5, V5) { return Q5 >= V5; }, 'D1i': function(Q5, V5) { return Q5 == V5; }, 'G1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i9X': function(Q5, V5) { return Q5 === V5; }, 'b38': function(Q5, V5) { return Q5 === V5; }, 'f4K': function(Q5, V5) { return Q5 / V5; }, 'z8k': function(Q5, V5) { return Q5 * V5; }, 'W5N': function(Q5, V5) { return Q5 != V5; }, 'r8N': function(Q5, V5) { return Q5 < V5; }, 'V4p': function(Q5, V5) { return Q5 === V5; }, 'b6B': function(Q5, V5) { return Q5 - V5; }, 'x2m': function(Q5, V5) { return Q5 * V5; }, 'z9C': function(Q5, V5) { return Q5 < V5; }, 'x2z': function(Q5, V5) { return Q5 - V5; }, 'c9B': function(Q5, V5) { return Q5 - V5; }, 'l08': function(Q5, V5) { return Q5 * V5; }, 'X9N': function(Q5, V5) { return Q5 != V5; }, 'c0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'n8x': function(Q5, V5) { return Q5 - V5; }, 'M4I': function(Q5, V5) { return Q5 * V5; }, 'Q7p': function(Q5, V5) { return Q5 * V5; }, 'A9i': function(Q5, V5) { return Q5 * V5; }, 'a6B': function(Q5, V5) { return Q5 === V5; }, 'U9K': function(Q5, V5) { return Q5 * V5; }, 'L9z': function(Q5, V5) { return Q5 * V5; }, 'e8o': function(Q5, V5) { return Q5 * V5; }, 'b3T': function(Q5, V5) { return Q5 === V5; }, 'D1I': function(Q5, V5) { return Q5 * V5; }, 'r3i': function(Q5, V5) { return Q5 - V5; }, 'e3p': function(Q5, V5) { return Q5 > V5; }, 'm6C': function(Q5, V5) { return Q5 == V5; }, 'Q1x': function(Q5, V5) { return Q5 * V5; }, 'i6N': function(Q5, V5) { return Q5 / V5; }, 'X5i': function(Q5, V5) { return Q5 > V5; }, 'X4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'c8K': function(Q5, V5) { return Q5 * V5; }, 'A0m': function(Q5, V5) { return Q5 > V5; }, 'A9m': function(Q5, V5) { return Q5 != V5; }, 's2x': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'C1X': function(Q5, V5) { return Q5 * V5; }, 'i8o': function(Q5, V5) { return Q5 * V5; }, 'D3C': function(Q5, V5) { return Q5 < V5; }, 'h7x': function(Q5, V5) { return Q5 - V5; }, 'o1i': function(Q5, V5) { return Q5 & V5; }, 'P3N': function(Q5, V5) { return Q5 < V5; }, 'z4X': function(Q5, V5) { return Q5 - V5; }, 'm7k': function(Q5, V5) { return Q5 * V5; }, 'R18': function(Q5, V5) { return Q5 == V5; }, 'A7m': function(Q5, V5) { return Q5 * V5; }, 'W1o': function(Q5, V5) { return Q5 instanceof V5; }, 'E7p': function(Q5, V5) { return Q5 * V5; }, 'g3N': function(Q5, V5) { return Q5 < V5; }, 'o3x': function(Q5, V5) { return Q5 * V5; }, 'h5p': function(Q5, V5) { return Q5 === V5; }, 'P28': function(Q5, V5) { return Q5 == V5; }, 'f9m': function(Q5, V5) { return Q5 * V5; }, 'y38': function(Q5, V5) { return Q5 === V5; }, 'w78': function(Q5, V5) { return Q5 == V5; }, 'Z8X': function(Q5, V5) { return Q5 * V5; }, 'l3m': function(Q5, V5) { return Q5 * V5; }, 'g3o': function(Q5, V5) { return Q5 * V5; }, 'N4k': function(Q5, V5) { return Q5 > V5; }, 'k2x': function(Q5, V5) { return Q5 - V5; }, 'p0z': function(Q5, V5) { return Q5 >= V5; }, 'l9K': function(Q5, V5) { return Q5 * V5; }, 'B8X': function(Q5, V5) { return Q5 / V5; }, 'K2K': function(Q5, V5) { return Q5 * V5; }, 'U26': function(Q5, V5) { return Q5 * V5; }, 'I6C': function(Q5, V5) { return Q5 == V5; }, 'z7i': function(Q5, V5) { return Q5 instanceof V5; }, 'd4o': function(Q5, V5) { return Q5 * V5; }, 'r0p': function(Q5, V5) { return Q5 < V5; }, 't7C': function(Q5, V5) { return Q5 & V5; }, 'Q2C': function(Q5, V5) { return Q5 > V5; }, 'j4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'm9T': function(Q5, V5) { return Q5 * V5; }, 'G08': function(Q5, V5) { return Q5 === V5; }, 'Y5T': function(Q5, V5) { return Q5 > V5; }, 'U0z': function(Q5, V5) { return Q5 <= V5; }, 'K2x': function(Q5, V5) { return Q5 * V5; }, 'Q58': function(Q5, V5) { return Q5 * V5; }, 'U1x': function(Q5, V5) { return Q5 * V5; }, 'v6N': function(Q5, V5) { return Q5 * V5; }, 'H7k': function(Q5, V5) { return Q5 * V5; }, 'Y9I': function(Q5, V5) { return Q5 * V5; }, 'i1J': 16, 't6o': function(Q5, V5) { return Q5 * V5; }, 'x8B': function(Q5, V5) { return Q5 * V5; }, 'O1i': function(Q5, V5) { return Q5 & V5; }, 'N9K': function(Q5, V5) { return Q5 * V5; }, 'K48': function(Q5, V5) { return Q5 - V5; }, 'n9N': function(Q5, V5) { return Q5 == V5; }, 'k68': function(Q5, V5) { return Q5 <= V5; }, 'p6B': function(Q5, V5) { return Q5 * V5; }, 'F3J': 4, 'X78': function(Q5, V5) { return Q5 == V5; }, 'L7o': function(Q5, V5) { return Q5 < V5; }, 'b2T': function(Q5, V5) { return Q5 > V5; }, 'I48': function(Q5, V5) { return Q5 * V5; }, 'z8I': function(Q5, V5) { return Q5 - V5; }, 'a0X': function(Q5, V5) { return Q5 - V5; }, 'Y9K': function(Q5, V5) { return Q5 - V5; }, 'z7T': function(Q5, V5) { return Q5 - V5; }, 'b1J': 255, 'o4p': function(Q5, V5) { return Q5 * V5; }, 'y3C': function(Q5, V5) { return Q5 * V5; }, 'B4N': function(Q5, V5) { return Q5 * V5; }, 'E6T': function(Q5, V5) { return Q5 * V5; }, 'k5R': function(Q5, V5) { return Q5 * V5; }, 'N3p': function(Q5, V5) { return Q5 * V5; }, 'y3k': function(Q5, V5) { return Q5 * V5; }, 'g9I': function(Q5, V5) { return Q5 / V5; }, 'm5p': function(Q5, V5) { return Q5 === V5; }, 'N0C': function(Q5, V5) { return Q5 == V5; }, 'K5C': function(Q5, V5) { return Q5 < V5; }, 'Y58': function(Q5, V5) { return Q5 === V5; }, 'f58': function(Q5, V5) { return Q5 * V5; }, 'k5B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'R3p': function(Q5, V5) { return Q5 > V5; }, 'P08': function(Q5, V5) { return Q5 - V5; }, 'K5o': function(Q5, V5) { return Q5 * V5; }, 'C6p': function(Q5, V5) { return Q5 * V5; }, 'U1T': function(Q5, V5) { return Q5 * V5; }, 'i2I': function(Q5, V5) { return Q5 === V5; }, 'i0z': function(Q5, V5) { return Q5 * V5; }, 'h5C': function(Q5, V5) { return Q5 < V5; }, 'I5C': function(Q5, V5) { return Q5 === V5; }, 'v2N': function(Q5, V5) { return Q5 * V5; }, 'Y7X': function(Q5, V5) { return Q5 * V5; }, 'm1B': function(Q5, V5) { return Q5 === V5; }, 'J9x': function(Q5, V5) { return Q5 / V5; }, 'E3N': function(Q5, V5) { return Q5 != V5; }, 'G3m': function(Q5, V5) { return Q5 * V5; }, 'G8p': function(Q5, V5) { return Q5 * V5; }, 'g8p': function(Q5, V5) { return Q5 * V5; }, 'K1m': function(Q5, V5) { return Q5 * V5; }, 'x1i': function(Q5, V5) { return Q5 > V5; }, 'x2T': function(Q5, V5) { return Q5 * V5; }, 'Y6i': function(Q5, V5) { return Q5 * V5; }, 'O8x': function(Q5, V5) { return Q5 - V5; }, 'S4o': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i1z': function(Q5, V5) { return Q5 * V5; }, 'q1B': function(Q5, V5) { return Q5 * V5; }, 's0k': function(Q5, V5) { return Q5 * V5; }, 'e2N': function(Q5, V5) { return Q5 * V5; }, 'o2i': function(Q5, V5) { return Q5 * V5; }, 'I8I': function(Q5, V5) { return Q5 * V5; }, 'V0i': function(Q5, V5) { return Q5 & V5; }, 'R3m': function(Q5, V5) { return Q5 * V5; }, 'T2p': function(Q5, V5) { return Q5 * V5; }, 'b4m': function(Q5, V5) { return Q5 * V5; }, 'x6R': function(Q5, V5) { return Q5 * V5; }, 'u7': function(Q5, V5) { return Q5 === V5; }, 'B7': function(Q5, V5) { return Q5 === V5; }, 'V6K': function(Q5, V5) { return Q5 * V5; }, 'B6m': function(Q5, V5) { return Q5 == V5; }, 'x0K': function(Q5, V5) { return Q5 * V5; }, 'F3x': function(Q5, V5) { return Q5 * V5; }, 'C6m': function(Q5, V5) { return Q5 * V5; }, 'd2o': function(Q5, V5) { return Q5 > V5; }, 'k8I': function(Q5, V5) { return Q5 === V5; }, 'T48': function(Q5, V5) { return Q5 == V5; }, 'D7C': function(Q5, V5) { return Q5 < V5; }, 'w9I': function(Q5, V5) { return Q5 * V5; }, 'f6k': function(Q5, V5) { return Q5 * V5; }, 's7N': function(Q5, V5) { return Q5 * V5; }, 'd16': function(Q5, V5) { return Q5 * V5; }, 'V5z': function(Q5, V5) { return Q5 * V5; }, 'L98': function(Q5, V5) { return Q5 === V5; }, 'A7B': function(Q5, V5) { return Q5 * V5; }, 'd8R': function(Q5, V5) { return Q5 * V5; }, 'G0C': function(Q5, V5) { return Q5 * V5; }, 'J7x': function(Q5, V5) { return Q5 * V5; }, 'v2k': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'v7z': function(Q5, V5) { return Q5 * V5; }, 's6o': function(Q5, V5) { return Q5 * V5; }, 'H6x': function(Q5, V5) { return Q5 * V5; }, 'o6p': function(Q5, V5) { return Q5 * V5; }, 'Z1N': function(Q5, V5) { return Q5 < V5; }, 't3z': function(Q5, V5) { return Q5 * V5; }, 'j06': function(Q5, V5) { return Q5 * V5; }, 'D6B': function(Q5, V5) { return Q5 * V5; }, 'G5x': function(Q5, V5) { return Q5 * V5; }, 'T68': function(Q5, V5) { return Q5 == V5; }, 'C2m': function(Q5, V5) { return Q5 * V5; }, 'X4m': function(Q5, V5) { return Q5 - V5; }, 'R06': function(Q5, V5) { return Q5 <= V5; }, 'J8I': function(Q5, V5) { return Q5 - V5; }, 'k7': function(Q5, V5) { return Q5 === V5; }, 'z9k': function(Q5, V5) { return Q5 > V5; }, 'J7T': function(Q5, V5) { return Q5 > V5; }, 'Q5k': function(Q5, V5) { return Q5 == V5; }, 'a7N': function(Q5, V5) { return Q5 * V5; }, 'c4T': function(Q5, V5) { return Q5 === V5; }, 'n0k': function(Q5, V5) { return Q5 - V5; }, 'U0N': function(Q5, V5) { return Q5 * V5; }, 'v5k': function(Q5, V5) { return Q5 === V5; }, 'B4X': function(Q5, V5) { return Q5 * V5; }, 'Y3R': function(Q5, V5) { return Q5 === V5; }, 'l7p': function(Q5, V5) { return Q5 - V5; }, 'J1p': function(Q5, V5) { return Q5 <= V5; }, 'e0X': function(Q5, V5) { return Q5 / V5; }, 'H6C': function(Q5, V5) { return Q5 < V5; }, 't76': function(Q5, V5) { return Q5 <= V5; }, 'z2B': function(Q5, V5) { return Q5 * V5; }, 'y5X': function(Q5, V5) { return Q5 * V5; }, 'm7': function(Q5, V5) { return Q5 === V5; }, 'z1m': function(Q5, V5) { return Q5 == V5; }, 'b76': function(Q5, V5) { return Q5 * V5; }, 'M8k': function(Q5, V5) { return Q5 - V5; }, 'Z1p': function(Q5, V5) { return Q5 > V5; }, 'z0p': function(Q5, V5) { return Q5 < V5; }, 'C2i': function(Q5, V5) { return Q5 <= V5; }, 'L6x': function(Q5, V5) { return Q5 * V5; }, 'J8N': function(Q5, V5) { return Q5 * V5; }, 'E9I': function(Q5, V5) { return Q5 * V5; }, 'W8i': function(Q5, V5) { return Q5 > V5; }, 'Z5C': function(Q5, V5) { return Q5 === V5; }, 'S0p': function(Q5, V5) { return Q5 > V5; }, 'B2B': function(Q5, V5) { return Q5 * V5; }, 'j1C': function(Q5, V5) { return Q5 * V5; }, 'v9X': function(Q5, V5) { return Q5 < V5; }, 'f26': function(Q5, V5) { return Q5 == V5; }, 'A2N': function(Q5, V5) { return Q5 * V5; }, 'n0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'B7i': function(Q5, V5) { return Q5 * V5; }, 'r1p': function(Q5, V5) { return Q5 * V5; }, 'e6X': function(Q5, V5) { return Q5 * V5; }, 'r7x': function(Q5, V5) { return Q5 === V5; }, 'N7I': function(Q5, V5, H5, z5) { return Q5 - V5 - H5 + z5; }, 'Q6k': function(Q5, V5) { return Q5 * V5; }, 'X88': function(Q5, V5) { return Q5 - V5; }, 'C2K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'C4m': function(Q5, V5) { return Q5 * V5; }, 'z1R': function(Q5, V5) { return Q5 === V5; }, 'T7I': function(Q5, V5) { return Q5 > V5; }, 'S2p': function(Q5, V5) { return Q5 * V5; }, 'z46': function(Q5, V5) { return Q5 * V5; }, 'Z98': function(Q5, V5) { return Q5 > V5; }, 'h2B': function(Q5, V5) { return Q5 * V5; }, 'N9z': function(Q5, V5) { return Q5 * V5; }, 'm8I': function(Q5, V5) { return Q5 * V5; }, 'p4m': function(Q5, V5) { return Q5 === V5; }, 'Q6I': function(Q5, V5) { return Q5 * V5; }, 'G4T': function(Q5, V5) { return Q5 === V5; }, 'o4I': function(Q5, V5) { return Q5 * V5; }, 'X1i': function(Q5, V5) { return Q5 < V5; }, 'w9B': function(Q5, V5) { return Q5 / V5; }, 'C0k': function(Q5, V5) { return Q5 - V5; }, 's7C': function(Q5, V5) { return Q5 == V5; }, 'b9N': function(Q5, V5) { return Q5 === V5; }, 'h2K': function(Q5, V5) { return Q5 - V5; }, 'L1N': function(Q5, V5) { return Q5 * V5; }, 'T5R': function(Q5, V5) { return Q5 * V5; }, 'J1B': function(Q5, V5) { return Q5 instanceof V5; }, 'm1T': function(Q5, V5) { return Q5 * V5; }, 'Q6T': function(Q5, V5) { return Q5 * V5; }, 'X5K': function(Q5, V5) { return Q5 * V5; }, 'R2I': function(Q5, V5) { return Q5 == V5; }, 'd3R': function(Q5, V5) { return Q5 * V5; }, 'I2x': function(Q5, V5) { return Q5 === V5; }, 'T6C': function(Q5, V5) { return Q5 == V5; }, 'm3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'R0C': function(Q5, V5) { return Q5 === V5; }, 's38': function(Q5, V5) { return Q5 === V5; }, 'Z48': function(Q5, V5) { return Q5 == V5; }, 'Y6I': function(Q5, V5) { return Q5 * V5; }, 'l18': function(Q5, V5) { return Q5 != V5; }, 'h2p': function(Q5, V5) { return Q5 * V5; }, 'E9i': function(Q5, V5) { return Q5 * V5; }, 'B0I': function(Q5, V5) { return Q5 * V5; }, 'c2C': function(Q5, V5) { return Q5 == V5; }, 'U58': function(Q5, V5) { return Q5 === V5; }, 'Z9I': function(Q5, V5) { return Q5 != V5; }, 'x6K': function(Q5, V5) { return Q5 == V5; }, 'P0m': function(Q5, V5) { return Q5 * V5; }, 'S2x': function(Q5, V5) { return Q5 - V5; }, 'y88': function(Q5, V5) { return Q5 == V5; }, 'm5C': function(Q5, V5) { return Q5 === V5; }, 'Z4N': function(Q5, V5) { return Q5 * V5; }, 'W1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'M6p': function(Q5, V5) { return Q5 * V5; }, 'S8N': function(Q5, V5) { return Q5 * V5; }, 'u8T': function(Q5, V5) { return Q5 * V5; }, 'z4C': function(Q5, V5) { return Q5 > V5; }, 'F9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'Y16': function(Q5, V5) { return Q5 * V5; }, 'O0X': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'W96': function(Q5, V5) { return Q5 * V5; }, 'Z2p': function(Q5, V5) { return Q5 * V5; }, 'S7o': function(Q5, V5) { return Q5 * V5; }, 'g18': function(Q5, V5) { return Q5 == V5; }, 'M8m': function(Q5, V5) { return Q5 - V5; }, 'K7i': function(Q5, V5) { return Q5 * V5; }, 'f7z': function(Q5, V5) { return Q5 * V5; }, 'f9x': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'A4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'z8X': function(Q5, V5) { return Q5 < V5; }, 'A6i': function(Q5, V5) { return Q5 * V5; }, 'y8m': function(Q5, V5) { return Q5 == V5; }, 'k3J': 3, 'M2i': function(Q5, V5) { return Q5 / V5; }, 'o2T': function(Q5, V5) { return Q5 * V5; }, 's9o': function(Q5, V5) { return Q5 >= V5; }, 'a2T': function(Q5, V5) { return Q5 * V5; }, 'v26': function(Q5, V5) { return Q5 - V5; }, 'H1o': function(Q5, V5) { return Q5 * V5; }, 'I0o': function(Q5, V5) { return Q5 * V5; }, 'h9k': function(Q5, V5) { return Q5 * V5; }, 'p6p': function(Q5, V5) { return Q5 * V5; }, 'e3J': 32, 'w6o': function(Q5, V5) { return Q5 * V5; }, 'o7C': function(Q5, V5) { return Q5 != V5; }, 'V4z': function(Q5, V5) { return Q5 * V5; }, 'y0i': function(Q5, V5) { return Q5 != V5; }, 'n8z': function(Q5, V5) { return Q5 * V5; }, 'B1K': function(Q5, V5) { return Q5 * V5; }, 'o9R': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'Z3K': function(Q5, V5) { return Q5 * V5; }, 'z6x': function(Q5, V5) { return Q5 * V5; }, 'I7k': function(Q5, V5) { return Q5 < V5; }, 'H8I': function(Q5, V5) { return Q5 < V5; }, 'v5x': function(Q5, V5) { return Q5 * V5; }, 'g06': function(Q5, V5) { return Q5 * V5; }, 'W4N': function(Q5, V5) { return Q5 * V5; }, 'B7m': function(Q5, V5) { return Q5 * V5; }, 'L96': function(Q5, V5) { return Q5 * V5; }, 'r0I': function(Q5, V5) { return Q5 * V5; }, 'M8x': function(Q5, V5) { return Q5 / V5; }, 'u2K': function(Q5, V5) { return Q5 * V5; }, 'y76': function(Q5, V5) { return Q5 * V5; }, 'H8T': function(Q5, V5) { return Q5 === V5; }, 'c56': function(Q5, V5) { return Q5 > V5; }, 't0k': function(Q5, V5) { return Q5 === V5; }, 'O3C': function(Q5, V5) { return Q5 == V5; }, 'u1R': function(Q5, V5) { return Q5 * V5; }, 'c4x': function(Q5, V5) { return Q5 - V5; }, 'J0p': function(Q5, V5) { return Q5 >= V5; }, 'X9p': function(Q5, V5) { return Q5 - V5; }, 't0T': function(Q5, V5) { return Q5 * V5; }, 'P9X': function(Q5, V5) { return Q5 == V5; }, 'C1i': function(Q5, V5) { return Q5 > V5; }, 'N0m': function(Q5, V5) { return Q5 * V5; }, 'n0K': function(Q5, V5) { return Q5 * V5; }, 'd58': function(Q5, V5) { return Q5 === V5; }, 'N7m': function(Q5, V5) { return Q5 - V5; }, 'R7X': function(Q5, V5) { return Q5 * V5; }, 'w3x': function(Q5, V5) { return Q5 * V5; }, 'y0T': function(Q5, V5) { return Q5 * V5; }, 'b5I': function(Q5, V5) { return Q5 * V5; }, 'b36': function(Q5, V5) { return Q5 * V5; }, 'F6K': function(Q5, V5) { return Q5 * V5; }, 'u9C': function(Q5, V5) { return Q5 > V5; }, 'n38': function(Q5, V5) { return Q5 == V5; }, 'F8C': function(Q5, V5) { return Q5 & V5; }, 'J1N': function(Q5, V5) { return Q5 / V5; }, 'G6I': function(Q5, V5) { return Q5 * V5; }, 'h8X': function(Q5, V5) { return Q5 > V5; }, 'D26': function(Q5, V5) { return Q5 < V5; }, 'C1T': function(Q5, V5, H5) { return Q5 / V5 * H5; }, 'V38': function(Q5, V5) { return Q5 === V5; }, 'n4z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'L1K': function(Q5, V5) { return Q5 * V5; }, 'Y4i': function(Q5, V5) { return Q5 < V5; }, 'A06': function(Q5, V5) { return Q5 * V5; }, 'S3K': function(Q5, V5) { return Q5 - V5; }, 'z2X': function(Q5, V5) { return Q5 * V5; }, 'z4B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'd4': function(Q5, V5) { return Q5 instanceof V5; }, 'H8i': function(Q5, V5) { return Q5 * V5; }, 'm4C': function(Q5, V5) { return Q5 != V5; }, 'O6K': function(Q5, V5) { return Q5 * V5; }, 'P3o': function(Q5, V5) { return Q5 === V5; }, 'l4i': function(Q5, V5) { return Q5 < V5; }, 'm7K': function(Q5, V5) { return Q5 - V5; }, 'z1k': function(Q5, V5) { return Q5 * V5; }, 'q1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'i9K': function(Q5, V5) { return Q5 * V5; }, 'U9X': function(Q5, V5) { return Q5 === V5; }, 'w1i': function(Q5, V5) { return Q5 < V5; }, 'r8T': function(Q5, V5) { return Q5 === V5; }, 'F1k': function(Q5, V5) { return Q5 * V5; }, 'H48': function(Q5, V5) { return Q5 != V5; }, 'R7B': function(Q5, V5) { return Q5 != V5; }, 'w7m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'm5N': function(Q5, V5) { return Q5 != V5; }, 'r9k': function(Q5, V5) { return Q5 * V5; }, 'p9I': function(Q5, V5) { return Q5 / V5; }, 'H9C': function(Q5, V5) { return Q5 - V5; }, 'A1C': function(Q5, V5) { return Q5 > V5; }, 'q3k': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'p1T': function(Q5, V5) { return Q5 === V5; }, 'v9i': function(Q5, V5) { return Q5 * V5; }, 'W66': function(Q5, V5) { return Q5 == V5; }, 'X1I': function(Q5, V5) { return Q5 - V5; }, 'w2i': function(Q5, V5) { return Q5 > V5; }, 'c9K': function(Q5, V5) { return Q5 * V5; }, 'V9p': function(Q5, V5) { return Q5 === V5; }, 'n2T': function(Q5, V5) { return Q5 * V5; }, 't0i': function(Q5, V5) { return Q5 * V5; }, 'w86': function(Q5, V5) { return Q5 > V5; }, 'Z68': function(Q5, V5) { return Q5 == V5; }, 'k5p': function(Q5, V5) { return Q5 === V5; }, 'V0k': function(Q5, V5) { return Q5 * V5; }, 'o0I': function(Q5, V5) { return Q5 * V5; }, 'W7k': function(Q5, V5) { return Q5 * V5; }, 'R1z': function(Q5, V5) { return Q5 != V5; }, 'F6p': function(Q5, V5) { return Q5 * V5; }, 'J5C': function(Q5, V5) { return Q5 == V5; }, 'y5I': function(Q5, V5) { return Q5 * V5; }, 'h8i': function(Q5, V5) { return Q5 > V5; }, 'N08': function(Q5, V5) { return Q5 * V5; }, 'g5m': function(Q5, V5) { return Q5 == V5; }, 'q8N': function(Q5, V5) { return Q5 * V5; }, 'g0N': function(Q5, V5) { return Q5 * V5; }, 'i28': function(Q5, V5) { return Q5 != V5; }, 'Z8N': function(Q5, V5) { return Q5 < V5; }, 'A7p': function(Q5, V5) { return Q5 * V5; }, 'e4k': function(Q5, V5) { return Q5 / V5; }, 'g9X': function(Q5, V5) { return Q5 === V5; }, 'S7k': function(Q5, V5) { return Q5 * V5; }, 'g7X': function(Q5, V5) { return Q5 > V5; }, 'h5B': function(Q5, V5) { return Q5 * V5; }, 'N2k': function(Q5, V5) { return Q5 > V5; }, 'T2B': function(Q5, V5) { return Q5 * V5; }, 'p5X': function(Q5, V5) { return Q5 - V5; }, 'z3i': function(Q5, V5) { return Q5 <= V5; }, 'f6i': function(Q5, V5) { return Q5 * V5; }, 'u3T': function(Q5, V5) { return Q5 === V5; }, 'I1p': function(Q5, V5) { return Q5 === V5; }, 'c2o': function(Q5, V5) { return Q5 > V5; }, 'r6C': function(Q5, V5) { return Q5 === V5; }, 'G6N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'K7o': function(Q5, V5) { return Q5 - V5; }, 'g9i': function(Q5, V5) { return Q5 * V5; }, 't2T': function(Q5, V5) { return Q5 * V5; }, 'N2C': function(Q5, V5) { return Q5 == V5; }, 'i0B': function(Q5, V5) { return Q5 * V5; }, 'A1J': null, 'V1X': function(Q5, V5) { return Q5 - V5; }, 'a9p': function(Q5, V5) { return Q5 >= V5; }, 'T46': function(Q5, V5) { return Q5 > V5; }, 'U8K': function(Q5, V5) { return Q5 * V5; }, 'L4N': function(Q5, V5) { return Q5 * V5; }, 'B8I': function(Q5, V5) { return Q5 * V5; }, 'Y5m': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'X8m': function(Q5, V5) { return Q5 - V5; }, 'r2o': function(Q5, V5) { return Q5 === V5; }, 'J9C': function(Q5, V5) { return Q5 * V5; }, 'k9k': function(Q5, V5) { return Q5 * V5; }, 'H7i': function(Q5, V5) { return Q5 < V5; }, 'J4N': function(Q5, V5) { return Q5 * V5; }, 'U4i': function(Q5, V5) { return Q5 >= V5; }, 'O6B': function(Q5, V5) { return Q5 * V5; }, 'r1N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'x3K': function(Q5, V5) { return Q5 - V5; }, 'S46': function(Q5, V5) { return Q5 * V5; }, 'P7I': function(Q5, V5) { return Q5 * V5; }, 'p2i': function(Q5, V5) { return Q5 < V5; }, 'J4X': function(Q5, V5) { return Q5 * V5; }, 'b6K': function(Q5, V5) { return Q5 * V5; }, 'W1m': function(Q5, V5) { return Q5 - V5; }, 'o3J': 1.5, 'Y2I': function(Q5, V5) { return Q5 * V5; }, 'S4C': function(Q5, V5) { return Q5 & V5; }, 'N4T': function(Q5, V5) { return Q5 === V5; }, 'L8T': function(Q5, V5) { return Q5 - V5; }, 'x6p': function(Q5, V5) { return Q5 * V5; }, 'R5m': function(Q5, V5) { return Q5 * V5; }, 'I5B': function(Q5, V5) { return Q5 * V5; }, 'A0N': function(Q5, V5) { return Q5 * V5; }, 'O2T': function(Q5, V5) { return Q5 === V5; }, 'p0x': function(Q5, V5) { return Q5 * V5; }, 'J9T': function(Q5, V5) { return Q5 === V5; }, 'U6N': function(Q5, V5) { return Q5 - V5; }, 'Y9X': function(Q5, V5) { return Q5 === V5; }, 'h0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'Q3o': function(Q5, V5) { return Q5 < V5; }, 'u5R': function(Q5, V5) { return Q5 * V5; }, 's76': function(Q5, V5) { return Q5 <= V5; }, 'k1R': function(Q5, V5) { return Q5 * V5; }, 's5m': function(Q5, V5) { return Q5 * V5; }, 'f6N': function(Q5, V5) { return Q5 - V5; }, 'x6N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'n2m': function(Q5, V5) { return Q5 - V5; }, 'B1B': function(Q5, V5) { return Q5 instanceof V5; }, 'e06': function(Q5, V5) { return Q5 * V5; }, 'Y8K': function(Q5, V5) { return Q5 - V5; }, 'Z5R': function(Q5, V5) { return Q5 * V5; }, 'g7z': function(Q5, V5) { return Q5 * V5; }, 'B9C': function(Q5, V5) { return Q5 * V5; }, 'M1T': function(Q5, V5) { return Q5 === V5; }, 'y4z': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'c9X': function(Q5, V5) { return Q5 < V5; }, 'y4p': function(Q5, V5) { return Q5 * V5; }, 'K8i': function(Q5, V5) { return Q5 - V5; }, 's8x': function(Q5, V5) { return Q5 * V5; }, 'H8k': function(Q5, V5) { return Q5 * V5; }, 'G3k': function(Q5, V5) { return Q5 * V5; }, 'a8x': function(Q5, V5) { return Q5 * V5; }, 'v6X': function(Q5, V5) { return Q5 / V5; }, 'G16': function(Q5, V5) { return Q5 * V5; }, 'b2': function(Q5, V5) { return Q5 === V5; }, 'k7m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'j56': function(Q5, V5) { return Q5 < V5; }, 'v18': function(Q5, V5) { return Q5 * V5; }, 'G2C': function(Q5, V5) { return Q5 == V5; }, 'm8T': function(Q5, V5) { return Q5 * V5; }, 'F88': function(Q5, V5) { return Q5 - V5; }, 'U8p': function(Q5, V5) { return Q5 * V5; }, 'q8i': function(Q5, V5) { return Q5 < V5; }, 'p8B': function(Q5, V5) { return Q5 === V5; }, 'a4m': function(Q5, V5) { return Q5 * V5; }, 'V5K': function(Q5, V5) { return Q5 * V5; }, 'z96': function(Q5, V5) { return Q5 * V5; }, 'u3X': function(Q5, V5) { return Q5 - V5; }, 'y2m': function(Q5, V5) { return Q5 * V5; }, 'A2k': function(Q5, V5) { return Q5 - V5; }, 'V78': function(Q5, V5) { return Q5 == V5; }, 'H0p': function(Q5, V5) { return Q5 * V5; }, 'x86': function(Q5, V5) { return Q5 * V5; }, 'X4p': function(Q5, V5) { return Q5 < V5; }, 'h66': function(Q5, V5) { return Q5 == V5; }, 'A3R': function(Q5, V5) { return Q5 * V5; }, 'F36': function(Q5, V5) { return Q5 * V5; }, 'A56': function(Q5, V5) { return Q5 < V5; }, 'j3o': function(Q5, V5) { return Q5 - V5; }, 'H4N': function(Q5, V5) { return Q5 * V5; }, 'R58': function(Q5, V5) { return Q5 * V5; }, 'c06': function(Q5, V5) { return Q5 * V5; }, 'h7i': function(Q5, V5) { return Q5 - V5; }, 'H2p': function(Q5, V5) { return Q5 * V5; }, 'i8K': function(Q5, V5) { return Q5 === V5; }, 'o5i': function(Q5, V5) { return Q5 * V5; }, 'Q1z': function(Q5, V5) { return Q5 * V5; }, 'q3X': function(Q5, V5) { return Q5 * V5; }, 'N8p': function(Q5, V5) { return Q5 * V5; }, 'E4K': function(Q5, V5) { return Q5 * V5; }, 'L0p': function(Q5, V5) { return Q5 - V5; }, 'v3p': function(Q5, V5) { return Q5 > V5; }, 'S96': function(Q5, V5) { return Q5 * V5; }, 's3T': function(Q5, V5) { return Q5 * V5; }, 'p4p': function(Q5, V5) { return Q5 * V5; }, 'M2o': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'j0C': function(Q5, V5) { return Q5 * V5; }, 'C0I': function(Q5, V5) { return Q5 - V5; }, 'r9R': function(Q5, V5) { return Q5 * V5; }, 'E0N': function(Q5, V5) { return Q5 * V5; }, 'Z6x': function(Q5, V5) { return Q5 * V5; }, 'V0x': function(Q5, V5) { return Q5 * V5; }, 'P9K': function(Q5, V5) { return Q5 * V5; }, 'K8T': function(Q5, V5) { return Q5 === V5; }, 'V1T': function(Q5, V5) { return Q5 === V5; }, 'v7B': function(Q5, V5) { return Q5 * V5; }, 'b6m': function(Q5, V5) { return Q5 * V5; }, 'w5m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'b9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'D0T': function(Q5, V5) { return Q5 * V5; }, 'v9B': function(Q5, V5) { return Q5 * V5; }, 'f3N': function(Q5, V5) { return Q5 == V5; }, 'X5X': function(Q5, V5) { return Q5 instanceof V5; }, 'j2I': function(Q5, V5) { return Q5 instanceof V5; }, 'p9p': function(Q5, V5) { return Q5 <= V5; }, 'J2K': function(Q5, V5) { return Q5 * V5; }, 'C9N': function(Q5, V5) { return Q5 < V5; }, 'P4T': function(Q5, V5) { return Q5 * V5; }, 'D9p': function(Q5, V5) { return Q5 < V5; }, 'f9i': function(Q5, V5) { return Q5 * V5; }, 'i7I': function(Q5, V5) { return Q5 * V5; }, 's4p': function(Q5, V5) { return Q5 * V5; }, 'U4k': function(Q5, V5) { return Q5 <= V5; }, 'h1R': function(Q5, V5) { return Q5 < V5; }, 'k7T': function(Q5, V5) { return Q5 & V5; }, 'P18': function(Q5, V5) { return Q5 * V5; }, 'K5p': function(Q5, V5) { return Q5 === V5; }, 'W2K': function(Q5, V5) { return Q5 - V5; }, 'S4N': function(Q5, V5) { return Q5 > V5; }, 'u2k': function(Q5, V5) { return Q5 * V5; }, 'b7N': function(Q5, V5) { return Q5 * V5; }, 's0X': function(Q5, V5) { return Q5 - V5; }, 'E7I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'k1N': function(Q5, V5) { return Q5 - V5; }, 'Q9m': function(Q5, V5) { return Q5 < V5; }, 'K8X': function(Q5, V5) { return Q5 - V5; }, 'K2k': function(Q5, V5) { return Q5 * V5; }, 'S5p': function(Q5, V5) { return Q5 === V5; }, 'e5x': function(Q5, V5) { return Q5 * V5; }, 'r2B': function(Q5, V5) { return Q5 * V5; }, 'K5N': function(Q5, V5) { return Q5 < V5; }, 'Z8T': function(Q5, V5) { return Q5 === V5; }, 'A58': function(Q5, V5) { return Q5 === V5; }, 'd1x': function(Q5, V5) { return Q5 * V5; }, 'd3N': function(Q5, V5) { return Q5 == V5; }, 'X0T': function(Q5, V5) { return Q5 - V5; }, 'Y4': function(Q5, V5) { return Q5 instanceof V5; }, 'O1X': function(Q5, V5) { return Q5 * V5; }, 'n3C': function(Q5, V5) { return Q5 != V5; }, 'j9m': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'm7x': function(Q5, V5) { return Q5 === V5; }, 'T9T': function(Q5, V5) { return Q5 * V5; }, 'B9k': function(Q5, V5) { return Q5 < V5; }, 'b4B': function(Q5, V5) { return Q5 < V5; }, 'K5R': function(Q5, V5) { return Q5 - V5; }, 'G06': function(Q5, V5) { return Q5 * V5; }, 'z3K': function(Q5, V5) { return Q5 * V5; }, 'a0T': function(Q5, V5) { return Q5 * V5; }, 'l6I': function(Q5, V5) { return Q5 - V5; }, 'I3i': function(Q5, V5) { return Q5 > V5; }, 'I5o': function(Q5, V5) { return Q5 >= V5; }, 'r4C': function(Q5, V5) { return Q5 == V5; }, 'l7B': function(Q5, V5) { return Q5 * V5; }, 't5i': function(Q5, V5) { return Q5 * V5; }, 'W0X': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'E7X': function(Q5, V5) { return Q5 * V5; }, 'j3m': function(Q5, V5) { return Q5 * V5; }, 'B1m': function(Q5, V5) { return Q5 - V5; }, 's4m': function(Q5, V5) { return Q5 * V5; }, 't6m': function(Q5, V5) { return Q5 * V5; }, 'K2X': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'O5i': function(Q5, V5) { return Q5 * V5; }, 'E4x': function(Q5, V5) { return Q5 * V5; }, 'Q0z': function(Q5, V5) { return Q5 * V5; }, 'L4X': function(Q5, V5) { return Q5 * V5; }, 'O6m': function(Q5, V5) { return Q5 * V5; }, 'q7': function(Q5, V5) { return Q5 === V5; }, 'Q4i': function(Q5, V5) { return Q5 == V5; }, 'm48': function(Q5, V5) { return Q5 * V5; }, 'x5i': function(Q5, V5) { return Q5 * V5; }, 'd18': function(Q5, V5) { return Q5 != V5; }, 'C4o': function(Q5, V5) { return Q5 * V5; }, 'f0m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'K3I': function(Q5, V5) { return Q5 * V5; }, 'l9i': function(Q5, V5) { return Q5 * V5; }, 'a6R': function(Q5, V5) { return Q5 * V5; }, 'z9T': function(Q5, V5) { return Q5 < V5; }, 'g3k': function(Q5, V5) { return Q5 < V5; }, 'T1R': function(Q5, V5) { return Q5 * V5; }, 'c4i': function(Q5, V5) { return Q5 == V5; }, 'I5R': function(Q5, V5) { return Q5 * V5; }, 'y2x': function(Q5, V5) { return Q5 === V5; }, 'U08': function(Q5, V5) { return Q5 - V5; }, 'A8B': function(Q5, V5) { return Q5 * V5; }, 'u7o': function(Q5, V5) { return Q5 * V5; }, 'i08': function(Q5, V5) { return Q5 * V5; }, 'Q9I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'u5C': function(Q5, V5) { return Q5 * V5; }, 'K3X': function(Q5, V5) { return Q5 * V5; }, 'G4x': function(Q5, V5) { return Q5 - V5; }, 'p8C': function(Q5, V5) { return Q5 == V5; }, 'b2m': function(Q5, V5) { return Q5 * V5; }, 'w6K': function(Q5, V5) { return Q5 * V5; }, 'E2N': function(Q5, V5) { return Q5 * V5; }, 'l2C': function(Q5, V5) { return Q5 > V5; }, 'T4N': function(Q5, V5) { return Q5 * V5; }, 'G1z': function(Q5, V5) { return Q5 * V5; }, 'n1i': function(Q5, V5) { return Q5 & V5; }, 'n1X': function(Q5, V5) { return Q5 * V5; }, 'Z1o': function(Q5, V5) { return Q5 * V5; }, 's9R': function(Q5, V5) { return Q5 * V5; }, 'j5k': function(Q5, V5) { return Q5 * V5; }, 'Y56': function(Q5, V5) { return Q5 * V5; }, 'g56': function(Q5, V5) { return Q5 * V5; }, 'Y7p': function(Q5, V5) { return Q5 * V5; }, 'W7': function(Q5, V5) { return Q5 === V5; }, 'b0z': function(Q5, V5) { return Q5 - V5; }, 'd4i': function(Q5, V5) { return Q5 < V5; }, 'I2p': function(Q5, V5) { return Q5 * V5; }, 't5X': function(Q5, V5) { return Q5 * V5; }, 'p2z': function(Q5, V5) { return Q5 * V5; }, 'U56': function(Q5, V5) { return Q5 < V5; }, 'm2X': function(Q5, V5) { return Q5 > V5; }, 'M9N': function(Q5, V5) { return Q5 != V5; }, 'J7k': function(Q5, V5) { return Q5 - V5; }, 'A3m': function(Q5, V5) { return Q5 * V5; }, 'p0I': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'F7N': function(Q5, V5) { return Q5 - V5; }, 'd8K': function(Q5, V5) { return Q5 * V5; }, 'G28': function(Q5, V5) { return Q5 != V5; }, 'G5z': function(Q5, V5) { return Q5 - V5; }, 'e7z': function(Q5, V5) { return Q5 * V5; }, 'h0o': function(Q5, V5) { return Q5 * V5; }, 'x5K': function(Q5, V5) { return Q5 != V5; }, 'x0k': function(Q5, V5) { return Q5 * V5; }, 'q5m': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'U4x': function(Q5, V5) { return Q5 * V5; }, 'E16': function(Q5, V5) { return Q5 - V5; }, 'q6z': function(Q5, V5) { return Q5 - V5; }, 'p8z': function(Q5, V5) { return Q5 * V5; }, 's6p': function(Q5, V5) { return Q5 * V5; }, 'W7i': function(Q5, V5) { return Q5 - V5; }, 'L7k': function(Q5, V5) { return Q5 > V5; }, 'S7': function(Q5, V5) { return Q5 === V5; }, 'v0N': function(Q5, V5) { return Q5 * V5; }, 'd2N': function(Q5, V5) { return Q5 * V5; }, 'e4o': function(Q5, V5) { return Q5 * V5; }, 'b0i': function(Q5, V5) { return Q5 > V5; }, 'V5m': function(Q5, V5) { return Q5 * V5; }, 'Q1K': function(Q5, V5) { return Q5 - V5; }, 'f4i': function(Q5, V5) { return Q5 < V5; }, 'A5x': function(Q5, V5) { return Q5 - V5; }, 'V6B': function(Q5, V5) { return Q5 instanceof V5; }, 'w0K': function(Q5, V5) { return Q5 * V5; }, 's1I': function(Q5, V5) { return Q5 * V5; }, 'n2': function(Q5, V5) { return Q5 === V5; }, 'V8z': function(Q5, V5) { return Q5 * V5; }, 'S3X': function(Q5, V5) { return Q5 * V5; }, 'k2X': function(Q5, V5) { return Q5 * V5; }, 'u66': function(Q5, V5) { return Q5 * V5; }, 'U6T': function(Q5, V5) { return Q5 === V5; }, 'G3R': function(Q5, V5) { return Q5 <= V5; }, 'y3T': function(Q5, V5) { return Q5 === V5; }, 'l1x': function(Q5, V5) { return Q5 * V5; }, 'r1o': function(Q5, V5) { return Q5 instanceof V5; }, 'N8K': function(Q5, V5) { return Q5 - V5; }, 'L2x': function(Q5, V5) { return Q5 * V5; }, 'L5C': function(Q5, V5) { return Q5 * V5; }, 'F7C': function(Q5, V5) { return Q5 > V5; }, 'o36': function(Q5, V5) { return Q5 * V5; }, 'i4K': function(Q5, V5) { return Q5 * V5; }, 'P9z': function(Q5, V5) { return Q5 * V5; }, 'O9o': function(Q5, V5) { return Q5 * V5; }, 'm2p': function(Q5, V5) { return Q5 * V5; }, 'l8o': function(Q5, V5) { return Q5 * V5; }, 't36': function(Q5, V5) { return Q5 * V5; }, 'f18': function(Q5, V5) { return Q5 == V5; }, 'u1p': function(Q5, V5) { return Q5 < V5; }, 'p86': function(Q5, V5) { return Q5 * V5; }, 'r5o': function(Q5, V5) { return Q5 * V5; }, 'W5o': function(Q5, V5) { return Q5 - V5; }, 'S68': function(Q5, V5) { return Q5 * V5; }, 'E1N': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'y5m': function(Q5, V5) { return Q5 * V5; }, 'p0T': function(Q5, V5) { return Q5 - V5; }, 'R5x': function(Q5, V5) { return Q5 * V5; }, 'j3N': function(Q5, V5) { return Q5 === V5; }, 'M5X': function(Q5, V5) { return Q5 - V5; }, 'W9z': function(Q5, V5) { return Q5 <= V5; }, 'o86': function(Q5, V5) { return Q5 < V5; }, 'm8N': function(Q5, V5) { return Q5 < V5; }, 'e28': function(Q5, V5) { return Q5 == V5; }, 'f0B': function(Q5, V5) { return Q5 - V5; }, 'B9x': function(Q5, V5) { return Q5 * V5; }, 'G6i': function(Q5, V5) { return Q5 < V5; }, 'Y18': function(Q5, V5) { return Q5 - V5; }, 'p8m': function(Q5, V5) { return Q5 * V5; }, 'O38': function(Q5, V5) { return Q5 & V5; }, 'c5T': function(Q5, V5) { return Q5 * V5; }, 'E5x': function(Q5, V5) { return Q5 > V5; }, 'e5m': function(Q5, V5) { return Q5 / V5; }, 'X6R': function(Q5, V5) { return Q5 * V5; }, 'C9p': function(Q5, V5) { return Q5 - V5; }, 'h1J': 16777215, 'Y1C': function(Q5, V5) { return Q5 != V5; }, 'e2I': function(Q5, V5) { return Q5 instanceof V5; }, 'I7K': function(Q5, V5) { return Q5 * V5; }, 'G6k': function(Q5, V5) { return Q5 * V5; }, 'Z7i': function(Q5, V5) { return Q5 === V5; }, 'p8k': function(Q5, V5) { return Q5 === V5; }, 'D3x': function(Q5, V5) { return Q5 * V5; }, 'A26': function(Q5, V5) { return Q5 > V5; }, 'k4X': function(Q5, V5) { return Q5 / V5; }, 'h8T': function(Q5, V5) { return Q5 * V5; }, 'H2B': function(Q5, V5) { return Q5 * V5; }, 'x9o': function(Q5, V5) { return Q5 * V5; }, 'p4B': function(Q5, V5) { return Q5 <= V5; }, 'X4I': function(Q5, V5) { return Q5 * V5; }, 'B7T': function(Q5, V5) { return Q5 * V5; }, 'q2x': function(Q5, V5) { return Q5 === V5; }, 'u8i': function(Q5, V5) { return Q5 != V5; }, 'd3m': function(Q5, V5) { return Q5 - V5; }, 'V2K': function(Q5, V5) { return Q5 * V5; }, 'D8z': function(Q5, V5) { return Q5 - V5; }, 'l58': function(Q5, V5) { return Q5 === V5; }, 'Q7B': function(Q5, V5) { return Q5 * V5; }, 'r7K': function(Q5, V5) { return Q5 * V5; }, 'P8o': function(Q5, V5) { return Q5 * V5; }, 'q2X': function(Q5, V5) { return Q5 < V5; }, 'Q4k': function(Q5, V5) { return Q5 * V5; }, 'f6I': function(Q5, V5) { return Q5 * V5; }, 'n36': function(Q5, V5) { return Q5 == V5; }, 'l8K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'q9T': function(Q5, V5) { return Q5 * V5; }, 'v3o': function(Q5, V5) { return Q5 * V5; }, 'r1m': function(Q5, V5) { return Q5 - V5; }, 'o6R': function(Q5, V5) { return Q5 * V5; }, 'G5T': function(Q5, V5) { return Q5 * V5; }, 'K6x': function(Q5, V5) { return Q5 == V5; }, 'f2N': function(Q5, V5) { return Q5 >= V5; }, 'l6i': function(Q5, V5) { return Q5 * V5; }, 'h6x': function(Q5, V5) { return Q5 * V5; }, 'K9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'r68': function(Q5, V5) { return Q5 / V5; }, 'F4p': function(Q5, V5) { return Q5 * V5; }, 'x4p': function(Q5, V5) { return Q5 * V5; }, 'j3K': function(Q5, V5) { return Q5 - V5; }, 'k96': function(Q5, V5) { return Q5 * V5; }, 'm9x': function(Q5, V5) { return Q5 > V5; }, 'o3B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'x8z': function(Q5, V5) { return Q5 * V5; }, 'r66': function(Q5, V5) { return Q5 * V5; }, 'e7B': function(Q5, V5) { return Q5 * V5; }, 'T2X': function(Q5, V5) { return Q5 / V5; }, 'v28': function(Q5, V5) { return Q5 == V5; }, 'a5z': function(Q5, V5) { return Q5 - V5; }, 'W5C': function(Q5, V5) { return Q5 < V5; }, 'u9z': function(Q5, V5) { return Q5 == V5; }, 'u6z': function(Q5, V5) { return Q5 * V5; }, 'R9K': function(Q5, V5) { return Q5 * V5; }, 'S2K': function(Q5, V5) { return Q5 === V5; }, 'H98': function(Q5, V5) { return Q5 < V5; }, 't0X': function(Q5, V5) { return Q5 - V5; }, 'B98': function(Q5, V5) { return Q5 === V5; }, 't4p': function(Q5, V5) { return Q5 * V5; }, 's3C': function(Q5, V5) { return Q5 < V5; }, 'P9i': function(Q5, V5) { return Q5 * V5; }, 'r5R': function(Q5, V5) { return Q5 * V5; }, 'd6i': function(Q5, V5) { return Q5 instanceof V5; }, 'R2C': function(Q5, V5) { return Q5 & V5; }, 'P1C': function(Q5, V5) { return Q5 * V5; }, 'W6C': function(Q5, V5) { return Q5 == V5; }, 'X1k': function(Q5, V5) { return Q5 instanceof V5; }, 'K8K': function(Q5, V5) { return Q5 * V5; }, 'U7B': function(Q5, V5) { return Q5 * V5; }, 'U2I': function(Q5, V5) { return Q5 * V5; }, 'o6o': function(Q5, V5) { return Q5 * V5; }, 'q4N': function(Q5, V5) { return Q5 - V5; }, 'C8z': function(Q5, V5) { return Q5 * V5; }, 'D8x': function(Q5, V5, H5) { return Q5 - V5 - H5; }, 'f28': function(Q5, V5) { return Q5 == V5; }, 'K7k': function(Q5, V5) { return Q5 - V5; }, 'P3p': function(Q5, V5) { return Q5 * V5; }, 'N3R': function(Q5, V5) { return Q5 * V5; }, 'd6k': function(Q5, V5) { return Q5 - V5; }, 'y2K': function(Q5, V5) { return Q5 * V5; }, 'h1p': function(Q5, V5) { return Q5 * V5; }, 'x5X': function(Q5, V5) { return Q5 < V5; }, 'A9X': function(Q5, V5) { return Q5 < V5; }, 'A6X': function(Q5, V5) { return Q5 < V5; }, 'R5k': function(Q5, V5) { return Q5 * V5; }, 'E1z': function(Q5, V5) { return Q5 * V5; }, 'R5T': function(Q5, V5) { return Q5 * V5; }, 'W3X': function(Q5, V5) { return Q5 * V5; }, 'i0m': function(Q5, V5) { return Q5 * V5; }, 'T5C': function(Q5, V5) { return Q5 === V5; }, 'O0i': function(Q5, V5) { return Q5 > V5; }, 'm2B': function(Q5, V5) { return Q5 * V5; }, 'I8T': function(Q5, V5) { return Q5 != V5; }, 'h2X': function(Q5, V5) { return Q5 < V5; }, 'm5R': function(Q5, V5) { return Q5 * V5; }, 'B96': function(Q5, V5) { return Q5 * V5; }, 'u2x': function(Q5, V5) { return Q5 * V5; }, 's3z': function(Q5, V5) { return Q5 * V5; }, 'h4N': function(Q5, V5) { return Q5 * V5; }, 'v58': function(Q5, V5) { return Q5 === V5; }, 'F5I': function(Q5, V5) { return Q5 / V5; }, 'T8T': function(Q5, V5) { return Q5 / V5; }, 'u4N': function(Q5, V5) { return Q5 * V5; }, 'T7X': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'u96': function(Q5, V5) { return Q5 * V5; }, 's0x': function(Q5, V5) { return Q5 * V5; }, 'v0z': function(Q5, V5) { return Q5 * V5; }, 'b8K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'F8k': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'r7m': function(Q5, V5) { return Q5 * V5; }, 'e1z': function(Q5, V5) { return Q5 * V5; }, 'l56': function(Q5, V5) { return Q5 / V5; }, 'C8C': function(Q5, V5) { return Q5 / V5; }, 'G4K': function(Q5, V5) { return Q5 - V5; }, 'n9o': function(Q5, V5) { return Q5 * V5; }, 'w8z': function(Q5, V5) { return Q5 - V5; }, 'V9N': function(Q5, V5) { return Q5 instanceof V5; }, 'V3z': function(Q5, V5) { return Q5 * V5; }, 'o6B': function(Q5, V5) { return Q5 * V5; }, 't6B': function(Q5, V5) { return Q5 * V5; }, 'D6R': function(Q5, V5) { return Q5 * V5; }, 'o9N': function(Q5, V5) { return Q5 == V5; }, 'f4o': function(Q5, V5) { return Q5 - V5; }, 'A3o': function(Q5, V5) { return Q5 * V5; }, 'N5T': function(Q5, V5) { return Q5 - V5; }, 'z5C': function(Q5, V5) { return Q5 === V5; }, 'd4k': function(Q5, V5) { return Q5 * V5; }, 'r9C': function(Q5, V5) { return Q5 * V5; }, 'p5I': function(Q5, V5) { return Q5 * V5; }, 'l06': function(Q5, V5) { return Q5 * V5; }, 'X38': function(Q5, V5) { return Q5 == V5; }, 'i1K': function(Q5, V5) { return Q5 * V5; }, 'z7': function(Q5, V5) { return Q5 === V5; }, 'H2X': function(Q5, V5) { return Q5 < V5; }, 'G3J': 65280, 'D2z': function(Q5, V5) { return Q5 - V5; }, 'p88': function(Q5, V5) { return Q5 > V5; }, 'i4k': function(Q5, V5) { return Q5 * V5; }, 'O2i': function(Q5, V5) { return Q5 - V5; }, 'y36': function(Q5, V5) { return Q5 * V5; }, 'F78': function(Q5, V5) { return Q5 != V5; }, 'K3J': 1, 'Z5p': function(Q5, V5) { return Q5 === V5; }, 'H9x': function(Q5, V5) { return Q5 / V5; }, 'p3J': 2, 'i18': function(Q5, V5) { return Q5 != V5; }, 'F8x': function(Q5, V5) { return Q5 / V5; }, 'B0o': function(Q5, V5) { return Q5 != V5; }, 'j5T': function(Q5, V5) { return Q5 * V5; }, 'k1o': function(Q5, V5) { return Q5 instanceof V5; }, 'n1k': function(Q5, V5) { return Q5 === V5; }, 'A5k': function(Q5, V5) { return Q5 === V5; }, 'A28': function(Q5, V5) { return Q5 == V5; }, 'D2m': function(Q5, V5) { return Q5 * V5; }, 'L4z': function(Q5, V5) { return Q5 * V5; }, 'E6i': function(Q5, V5) { return Q5 < V5; }, 'L46': function(Q5, V5) { return Q5 > V5; }, 'f9X': function(Q5, V5) { return Q5 === V5; }, 'l1z': function(Q5, V5) { return Q5 * V5; }, 'v4T': function(Q5, V5) { return Q5 * V5; }, 'W1p': function(Q5, V5) { return Q5 * V5; }, 'o1X': function(Q5, V5) { return Q5 - V5; }, 'n76': function(Q5, V5) { return Q5 > V5; }, 'S5N': function(Q5, V5) { return Q5 & V5; }, 'd9B': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'O36': function(Q5, V5) { return Q5 * V5; }, 'O7C': function(Q5, V5) { return Q5 != V5; }, 't7X': function(Q5, V5) { return Q5 * V5; }, 'A4x': function(Q5, V5) { return Q5 == V5; }, 'E0C': function(Q5, V5) { return Q5 == V5; }, 'Z9C': function(Q5, V5) { return Q5 < V5; }, 'C3C': function(Q5, V5) { return Q5 < V5; }, 'y7X': function(Q5, V5) { return Q5 * V5; }, 'w1k': function(Q5, V5) { return Q5 === V5; }, 'M1i': function(Q5, V5) { return Q5 < V5; }, 'b6o': function(Q5, V5) { return Q5 - V5; }, 'R4o': function(Q5, V5) { return Q5 * V5; }, 'I3X': function(Q5, V5) { return Q5 - V5; }, 'B5z': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'g5k': function(Q5, V5) { return Q5 - V5; }, 'W9T': function(Q5, V5) { return Q5 * V5; }, 'e4T': function(Q5, V5) { return Q5 === V5; }, 'Z5B': function(Q5, V5) { return Q5 * V5; }, 'r8X': function(Q5, V5) { return Q5 * V5; }, 'L5R': function(Q5, V5) { return Q5 * V5; }, 'w4p': function(Q5, V5) { return Q5 < V5; }, 'Q0C': function(Q5, V5) { return Q5 != V5; }, 'u9x': function(Q5, V5) { return Q5 / V5; }, 'h9x': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'A6k': function(Q5, V5) { return Q5 - V5; }, 'G7p': function(Q5, V5) { return Q5 * V5; }, 'h8N': function(Q5, V5) { return Q5 * V5; }, 'n88': function(Q5, V5) { return Q5 / V5; }, 'v08': function(Q5, V5) { return Q5 * V5; }, 'c16': function(Q5, V5) { return Q5 * V5; }, 'v6i': function(Q5, V5) { return Q5 * V5; }, 'a2': function(Q5, V5) { return Q5 === V5; }, 'H3K': function(Q5, V5) { return Q5 * V5; }, 'q7i': function(Q5, V5) { return Q5 === V5; }, 'v56': function(Q5, V5) { return Q5 / V5; }, 'P8R': function(Q5, V5) { return Q5 * V5; }, 'i2o': function(Q5, V5) { return Q5 === V5; }, 'd3p': function(Q5, V5) { return Q5 < V5; }, 'A4T': function(Q5, V5) { return Q5 * V5; }, 'L66': function(Q5, V5) { return Q5 * V5; }, 'Q2o': function(Q5, V5) { return Q5 === V5; }, 't78': function(Q5, V5) { return Q5 instanceof V5; }, 'l4x': function(Q5, V5) { return Q5 * V5; }, 'r8k': function(Q5, V5) { return Q5 * V5; }, 'N1K': function(Q5, V5, H5) { return Q5 * V5 * H5; }, 'W2B': function(Q5, V5) { return Q5 * V5; }, 'N2o': function(Q5, V5) { return Q5 > V5; }, 'r7T': function(Q5, V5) { return Q5 * V5; }, 'r1B': function(Q5, V5) { return Q5 instanceof V5; }, 'p1I': function(Q5, V5) { return Q5 > V5; }, 'm9k': function(Q5, V5) { return Q5 / V5; }, 'F6B': function(Q5, V5) { return Q5 - V5; }, 'I7x': function(Q5, V5) { return Q5 * V5; }, 'f3k': function(Q5, V5) { return Q5 * V5; }, 'I4C': function(Q5, V5) { return Q5 == V5; }, 'Y5x': function(Q5, V5) { return Q5 - V5; } }; var Box2D = {}; (function(z5, P5) { function C5() {} if (!(d4Q.d4(Object.prototype.defineProperty, Function)) && d4Q.U4(Object.prototype.__defineGetter__, Function) && d4Q.l4(Object.prototype.__defineSetter__, Function)) Object.defineProperty = function(Q5, V5, H5) { d4Q.f4(H5.get, Function) && Q5.__defineGetter__(V5, H5.get); d4Q.G4(H5.set, Function) && Q5.__defineSetter__(V5, H5.set); }; z5.inherit = function(Q5, V5) { C5.prototype = V5.prototype; Q5.prototype = new C5; Q5.prototype.constructor = Q5; }; z5.generateCallback = function(Q5, V5) { return function() { V5.apply(Q5, arguments); }; }; z5.NVector = function(Q5) { if (d4Q.j4(Q5, P5)) Q5 = d4Q.M3J; for (var V5 = Array(Q5 || d4Q.M3J), H5 = d4Q.M3J; d4Q.R4(H5, Q5); ++H5) V5[H5] = d4Q.M3J; return V5; }; z5.is = function(Q5, V5) { if (d4Q.e4(Q5, d4Q.A1J)) return d4Q.d3J; if (d4Q.g4(V5, Function) && d4Q.Y4(Q5, V5)) return d4Q.v1J; if (d4Q.E4(Q5.constructor.__implements, P5) && Q5.constructor.__implements[V5]) return d4Q.v1J; return d4Q.d3J; }; z5.parseUInt = function(Q5) { return Math.abs(parseInt(Q5)); }; })(Box2D); var Vector = Array, Vector_a2j_Number = Box2D.NVector; if (typeof Box2D === d4Q.B3J) Box2D = {}; if (typeof Box2D.Collision === d4Q.B3J) Box2D.Collision = {}; if (typeof Box2D.Collision.Shapes === d4Q.B3J) Box2D.Collision.Shapes = {}; if (typeof Box2D.Common === d4Q.B3J) Box2D.Common = {}; if (typeof Box2D.Common.Math === d4Q.B3J) Box2D.Common.Math = {}; if (typeof Box2D.Dynamics === d4Q.B3J) Box2D.Dynamics = {}; if (typeof Box2D.Dynamics.Contacts === d4Q.B3J) Box2D.Dynamics.Contacts = {}; if (typeof Box2D.Dynamics.Controllers === d4Q.B3J) Box2D.Dynamics.Controllers = {}; if (typeof Box2D.Dynamics.Joints === d4Q.B3J) Box2D.Dynamics.Joints = {}; (function() { var V5 = "Box2D.Common.b2internal", H5 = "Box2D.Collision.IBroadPhase", z5 = function(Q5) { Box2D.Common.b2Settings = Q5; }; function P5() { P5.b2TimeStep.apply(this, arguments); } function C5() { C5.b2ManifoldPoint.apply(this, arguments); d4Q.S7(this.constructor, C5) && this.b2ManifoldPoint.apply(this, arguments); } var Z5 = function(Q5) { Box2D.Dynamics.Joints.b2LineJoint = Q5; }, m5 = function(Q5) { Box2D.Common.Math.b2Mat33 = Q5; }; function s5() { s5.b2TimeOfImpact.apply(this, arguments); } function N5() { N5.b2Controller.apply(this, arguments); } function I5() { I5.b2Distance.apply(this, arguments); } function t5() { t5.b2RayCastInput.apply(this, arguments); d4Q.q7(this.constructor, t5) && this.b2RayCastInput.apply(this, arguments); } function b5() { b5.b2PolyAndCircleContact.apply(this, arguments); } var f5 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactConstraintPoint = Q5; }; function T5() { T5.b2GravityController.apply(this, arguments); } var o5 = function(Q5) { Box2D.Collision.b2SeparationFunction = Q5; }, c5 = function(Q5) { Box2D.Collision.b2DynamicTreeNode = Q5; }, n5 = function(Q5) { Box2D.Dynamics.Joints.b2PrismaticJointDef = Q5; }; function r5() { r5.b2MassData.apply(this, arguments); } function W5() { W5.b2AABB.apply(this, arguments); } var Q9 = function(Q5) { Box2D.Collision.b2Point = Q5; }, R5 = function(Q5) { Box2D.Collision.b2DynamicTreeBroadPhase = Q5; }; function e5() { e5.b2PositionSolverManifold.apply(this, arguments); d4Q.Y2(this.constructor, e5) && this.b2PositionSolverManifold.apply(this, arguments); } function M5() { M5.b2DynamicTreeNode.apply(this, arguments); } function V9() { V9.b2ContactConstraint.apply(this, arguments); d4Q.j2(this.constructor, V9) && this.b2ContactConstraint.apply(this, arguments); } var Y5 = function(Q5) { Box2D.Collision.b2Distance = Q5; }, N9 = function(Q5) { Box2D.Collision.b2TOIInput = Q5; }; function h5() { h5.b2JointDef.apply(this, arguments); d4Q.I5p(this.constructor, h5) && this.b2JointDef.apply(this, arguments); } var a9 = function(Q5) { Box2D.Dynamics.Joints.b2RevoluteJointDef = Q5; }; function u5() { u5.b2ConstantForceController.apply(this, arguments); } function p5() { p5.b2Transform.apply(this, arguments); d4Q.B7(this.constructor, p5) && this.b2Transform.apply(this, arguments); } var U5 = function(Q5) { Box2D.Dynamics.Joints.b2MouseJointDef = Q5; }; function k5() { k5.b2WeldJointDef.apply(this, arguments); d4Q.y9p(this.constructor, k5) && this.b2WeldJointDef.apply(this, arguments); } var B5 = function(Q5) { Box2D.Collision.b2RayCastOutput = Q5; }, m9 = function(Q5) { Box2D.Collision.Shapes.b2Shape = Q5; }; function x5() { x5.b2ContactID.apply(this, arguments); d4Q.z7(this.constructor, x5) && this.b2ContactID.apply(this, arguments); } function i5() { i5.b2DynamicTree.apply(this, arguments); d4Q.Z7(this.constructor, i5) && this.b2DynamicTree.apply(this, arguments); } var y5 = function(Q5) { Box2D.Dynamics.Contacts.b2EdgeAndCircleContact = Q5; }; function A5() { A5.b2EdgeAndCircleContact.apply(this, arguments); } var S5 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactResult = Q5; }, q5 = function(Q5) { Box2D.Dynamics.Joints.b2WeldJointDef = Q5; }, v5 = function(Q5) { Box2D.Collision.b2TimeOfImpact = Q5; }; function d5() { d5.b2DistanceJointDef.apply(this, arguments); d4Q.H5p(this.constructor, d5) && this.b2DistanceJointDef.apply(this, arguments); } var O5 = function(Q5) { Box2D.Dynamics.Controllers.b2BuoyancyController = Q5; }, w5 = function(Q5) { Box2D.Dynamics.b2DestructionListener = Q5; }; function l5() { l5.b2TOIInput.apply(this, arguments); } var J5 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactConstraint = Q5; }, K5 = function(Q5) { Box2D.Dynamics.Joints.b2RevoluteJoint = Q5; }, j5 = function(Q5) { Box2D.Dynamics.b2TimeStep = Q5; }; function Y9() { Y9.b2PolyAndEdgeContact.apply(this, arguments); } var F5 = function(Q5) { Box2D.Collision.b2DistanceInput = Q5; }, L5 = function(Q5) { Box2D.Collision.Shapes.b2MassData = Q5; }; function X5() { X5.b2Settings.apply(this, arguments); } function G5() { G5.ClipVertex.apply(this, arguments); } var s9 = function(Q5) { Box2D.Dynamics.Contacts.b2NullContact = Q5; }, E5 = function(Q5) { Box2D.Collision.b2RayCastInput = Q5; }; function D5() { D5.b2World.apply(this, arguments); d4Q.w2(this.constructor, D5) && this.b2World.apply(this, arguments); } function P9() { P9.b2ContactImpulse.apply(this, arguments); } function y9() { y9.b2EdgeShape.apply(this, arguments); d4Q.k7(this.constructor, y9) && this.b2EdgeShape.apply(this, arguments); } var S9 = function(Q5) { Box2D.Collision.ClipVertex = Q5; }; function H9() { H9.b2Shape.apply(this, arguments); d4Q.J7(this.constructor, H9) && this.b2Shape.apply(this, arguments); } var h9 = function(Q5) { Box2D.Dynamics.b2ContactFilter = Q5; }; function n9() { n9.b2PulleyJointDef.apply(this, arguments); d4Q.L5p(this.constructor, n9) && this.b2PulleyJointDef.apply(this, arguments); } function T9() { T9.b2DebugDraw.apply(this, arguments); d4Q.t2(this.constructor, T9) && this.b2DebugDraw.apply(this, arguments); } function Z9() { Z9.b2ContactFilter.apply(this, arguments); } var i9 = function(Q5) { Box2D.Common.Math.b2Vec3 = Q5; }, M9 = function(Q5) { Box2D.Collision.b2Simplex = Q5; }; function e9() { e9.b2Jacobian.apply(this, arguments); } var u9 = function(Q5) { Box2D.Collision.Shapes.b2EdgeChainDef = Q5; }, U9 = function(Q5) { Box2D.Collision.b2BoundValues = Q5; }, W9 = function(Q5) { Box2D.Collision.b2DistanceOutput = Q5; }; function w9() { w9.b2DestructionListener.apply(this, arguments); } var J9 = function(Q5) { Box2D.Dynamics.Controllers.b2Controller = Q5; }; function v9() { v9.b2Mat33.apply(this, arguments); d4Q.r7(this.constructor, v9) && this.b2Mat33.apply(this, arguments); } function d9() { d9.b2GearJointDef.apply(this, arguments); d4Q.S5p(this.constructor, d9) && this.b2GearJointDef.apply(this, arguments); } var t9 = function(Q5) { Box2D.Collision.Shapes.b2EdgeShape = Q5; }; function C9() { C9.b2ContactSolver.apply(this, arguments); d4Q.e2(this.constructor, C9) && this.b2ContactSolver.apply(this, arguments); } function A9() { A9.b2Color.apply(this, arguments); d4Q.u7(this.constructor, A9) && this.b2Color.apply(this, arguments); } var q9 = function(Q5) { Box2D.Collision.b2AABB = Q5; }, O9 = function(Q5) { Box2D.Collision.b2ContactPoint = Q5; }, b9 = function(Q5) { Box2D.Collision.IBroadPhase = Q5; }; function t3() { t3.b2ContactListener.apply(this, arguments); } function p3() { p3.b2CircleContact.apply(this, arguments); } function z3() { z3.b2EdgeChainDef.apply(this, arguments); d4Q.W7(this.constructor, z3) && this.b2EdgeChainDef.apply(this, arguments); } var G3 = function(Q5) { Box2D.Dynamics.Contacts.b2CircleContact = Q5; }; function z9() { z9.b2FixtureDef.apply(this, arguments); d4Q.n2(this.constructor, z9) && this.b2FixtureDef.apply(this, arguments); } function c9() { c9.b2RevoluteJointDef.apply(this, arguments); d4Q.B5p(this.constructor, c9) && this.b2RevoluteJointDef.apply(this, arguments); } function g5() { g5.b2DistanceInput.apply(this, arguments); } function E9() { E9.b2PolygonContact.apply(this, arguments); } var o9 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactSolver = Q5; }, s1 = function(Q5) { Box2D.Dynamics.Joints.b2PulleyJoint = Q5; }, K9 = function(Q5) { Box2D.Dynamics.b2ContactManager = Q5; }; function r3() { r3.b2ContactManager.apply(this, arguments); d4Q.a2(this.constructor, r3) && this.b2ContactManager.apply(this, arguments); } function q3() { q3.b2BoundValues.apply(this, arguments); d4Q.H7(this.constructor, q3) && this.b2BoundValues.apply(this, arguments); } var j3 = function(Q5) { Box2D.Dynamics.b2ContactListener = Q5; }; function V3() { V3.b2Contact.apply(this, arguments); d4Q.b2(this.constructor, V3) && this.b2Contact.apply(this, arguments); } var f1 = function(Q5) { Box2D.Dynamics.Joints.b2DistanceJointDef = Q5; }, C3 = function(Q5) { Box2D.Collision.b2ManifoldPoint = Q5; }; function P3() { P3.b2ContactEdge.apply(this, arguments); } function L9() { L9.b2WorldManifold.apply(this, arguments); d4Q.T7(this.constructor, L9) && this.b2WorldManifold.apply(this, arguments); } function F9() { F9.b2SimplexVertex.apply(this, arguments); } function Q3() { Q3.b2Mat22.apply(this, arguments); d4Q.L7(this.constructor, Q3) && this.b2Mat22.apply(this, arguments); } var m1 = function(Q5) { Box2D.Dynamics.Joints.b2PulleyJointDef = Q5; }, W1 = function(Q5) { Box2D.Dynamics.Joints.b2MouseJoint = Q5; }, G9 = function(Q5) { Box2D.Dynamics.b2Fixture = Q5; }; function v1() { v1.b2BuoyancyController.apply(this, arguments); } function S1() { S1.b2ControllerEdge.apply(this, arguments); } var M3 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactEdge = Q5; }; function A1() { A1.b2SeparationFunction.apply(this, arguments); } var b1 = function(Q5) { Box2D.Common.b2Color = Q5; }; function H3() { H3.b2ConstantAccelController.apply(this, arguments); } var k9 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactFactory = Q5; }, o3 = function(Q5) { Box2D.Dynamics.b2FixtureDef = Q5; }; function Z3() { Z3.Features.apply(this, arguments); } var t1 = function(Q5) { Box2D.Dynamics.Controllers.b2ControllerEdge = Q5; }; function E3() { E3.b2Body.apply(this, arguments); d4Q.C2(this.constructor, E3) && this.b2Body.apply(this, arguments); } function R3() { R3.b2Fixture.apply(this, arguments); d4Q.o2(this.constructor, R3) && this.b2Fixture.apply(this, arguments); } function I3() { I3.b2Sweep.apply(this, arguments); } function d3() { d3.b2Vec3.apply(this, arguments); d4Q.y2(this.constructor, d3) && this.b2Vec3.apply(this, arguments); } function q1() { q1.b2DistanceProxy.apply(this, arguments); } function Y3() { Y3.b2DistanceJoint.apply(this, arguments); d4Q.E2(this.constructor, Y3) && this.b2DistanceJoint.apply(this, arguments); } var J3 = function(Q5) { Box2D.Dynamics.Joints.b2DistanceJoint = Q5; }, R9 = function(Q5) { Box2D.Dynamics.b2BodyDef = Q5; }; function i3() { i3.b2MouseJoint.apply(this, arguments); d4Q.W5p(this.constructor, i3) && this.b2MouseJoint.apply(this, arguments); } var B3 = function(Q5) { Box2D.Collision.b2DynamicTreePair = Q5; }; function x3() { x3.b2Math.apply(this, arguments); } var x9 = function(Q5) { Box2D.Dynamics.Joints.b2JointDef = Q5; }, c3 = function(Q5) { Box2D.Dynamics.Joints.b2FrictionJointDef = Q5; }; function T3() { T3.b2Island.apply(this, arguments); d4Q.O2(this.constructor, T3) && this.b2Island.apply(this, arguments); } var f9 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact = Q5; }, p9 = function(Q5) { Box2D.Common.Math.b2Transform = Q5; }; function X3() { X3.b2Point.apply(this, arguments); } var d1 = function(Q5) { Box2D.Common.Math.b2Vec2 = Q5; }; function n1() { n1.b2Bound.apply(this, arguments); } var j1 = function(Q5) { Box2D.Dynamics.Joints.b2GearJointDef = Q5; }, Q1 = function(Q5) { Box2D.Dynamics.Joints.b2PrismaticJoint = Q5; }; function c1() { c1.b2ContactConstraintPoint.apply(this, arguments); } var k1 = function(Q5) { Box2D.Common.Math.b2Mat22 = Q5; }, G1 = function(Q5) { Box2D.Dynamics.Controllers.b2ConstantForceController = Q5; }; function n3() { n3.b2NullContact.apply(this, arguments); d4Q.g2(this.constructor, n3) && this.b2NullContact.apply(this, arguments); } var y3 = function(Q5) { Box2D.Dynamics.Contacts.b2PolyAndCircleContact = Q5; }; function o1() { o1.b2Segment.apply(this, arguments); } var I1 = function(Q5) { Box2D.Dynamics.b2DebugDraw = Q5; }, X9 = function(Q5) { Box2D.Collision.b2Collision = Q5; }, y1 = function(Q5) { Box2D.Dynamics.Joints.b2LineJointDef = Q5; }; function T1() { T1.b2ContactRegister.apply(this, arguments); } var i1 = function(Q5) { Box2D.Common.Math.b2Sweep = Q5; }, D9 = function(Q5) { Box2D.Dynamics.Joints.b2Joint = Q5; }, R1 = function(Q5) { Box2D.Dynamics.Controllers.b2TensorDampingController = Q5; }, J1 = function(Q5) { Box2D.Collision.b2SimplexCache = Q5; }, O3 = function(Q5) { Box2D.Collision.b2Segment = Q5; }, z1 = function(Q5) { Box2D.Dynamics.b2Body = Q5; }, u3 = function(Q5) { Box2D.Dynamics.b2FilterData = Q5; }, N3 = function(Q5) { Box2D.Dynamics.Contacts.b2PolygonContact = Q5; }; function I9() { I9.b2Manifold.apply(this, arguments); d4Q.m7(this.constructor, I9) && this.b2Manifold.apply(this, arguments); } function g9() { g9.b2Simplex.apply(this, arguments); d4Q.I7(this.constructor, g9) && this.b2Simplex.apply(this, arguments); } function U3() { U3.b2MouseJointDef.apply(this, arguments); d4Q.k5p(this.constructor, U3) && this.b2MouseJointDef.apply(this, arguments); } var H1 = function(Q5) { Box2D.Collision.Shapes.b2CircleShape = Q5; }, M1 = function(Q5) { Box2D.Dynamics.Joints.b2Jacobian = Q5; }, V1 = function(Q5) { Box2D.Common.Math.b2Math = Q5; }, Z1 = function(Q5) { Box2D.Dynamics.Contacts.b2PositionSolverManifold = Q5; }; function L3() { L3.b2LineJoint.apply(this, arguments); d4Q.T5p(this.constructor, L3) && this.b2LineJoint.apply(this, arguments); } var h1 = function(Q5) { Box2D.Dynamics.Contacts.b2ContactRegister = Q5; }, X1 = function(Q5) { Box2D.Collision.b2SimplexVertex = Q5; }, e1 = function(Q5) { Box2D.Collision.Features = Q5; }, F1 = function(Q5) { Box2D.Dynamics.b2Island = Q5; }; function l1() { l1.b2SimplexCache.apply(this, arguments); } var u1 = function(Q5) { Box2D.Collision.b2DynamicTree = Q5; }; function P1() { P1.b2PrismaticJoint.apply(this, arguments); d4Q.K5p(this.constructor, P1) && this.b2PrismaticJoint.apply(this, arguments); } function e3() { e3.b2WeldJoint.apply(this, arguments); d4Q.V9p(this.constructor, e3) && this.b2WeldJoint.apply(this, arguments); } function $() { $.b2FilterData.apply(this, arguments); } function h3() { h3.b2JointEdge.apply(this, arguments); } function F3() { F3.b2GearJoint.apply(this, arguments); d4Q.m5p(this.constructor, F3) && this.b2GearJoint.apply(this, arguments); } function O1() { O1.b2ContactResult.apply(this, arguments); } function C1() { C1.b2Vec2.apply(this, arguments); d4Q.V2(this.constructor, C1) && this.b2Vec2.apply(this, arguments); } var b3 = function(Q5) { Box2D.Collision.b2DistanceProxy = Q5; }, f3 = function(Q5) { Box2D.Dynamics.Joints.b2WeldJoint = Q5; }; function A3() { A3.b2Collision.apply(this, arguments); } var k3 = function(Q5) { Box2D.Dynamics.b2World = Q5; }, w1 = function(Q5) { Box2D.Dynamics.Controllers.b2ConstantAccelController = Q5; }, w3 = function(Q5) { Box2D.Dynamics.Contacts.b2PolyAndEdgeContact = Q5; }; function B9() { B9.b2ContactPoint.apply(this, arguments); } var W3 = function(Q5) { Box2D.Collision.b2Bound = Q5; }, m3 = function(Q5) { Box2D.Dynamics.Controllers.b2GravityController = Q5; }; function j9() { j9.b2Joint.apply(this, arguments); d4Q.q5p(this.constructor, j9) && this.b2Joint.apply(this, arguments); } var D3 = function(Q5) { Box2D.Collision.b2WorldManifold = Q5; }; function g3() { g3.b2BodyDef.apply(this, arguments); d4Q.s2(this.constructor, g3) && this.b2BodyDef.apply(this, arguments); } function l9() { l9.b2DynamicTreeBroadPhase.apply(this, arguments); } var L1 = function(Q5) { Box2D.Dynamics.b2ContactImpulse = Q5; }, s3 = function(Q5) { Box2D.Dynamics.Joints.b2GearJoint = Q5; }; function l3() { l3.b2TensorDampingController.apply(this, arguments); } function S3() { S3.b2FrictionJointDef.apply(this, arguments); d4Q.Z5p(this.constructor, S3) && this.b2FrictionJointDef.apply(this, arguments); } function N1() { N1.b2PolygonShape.apply(this, arguments); d4Q.K7(this.constructor, N1) && this.b2PolygonShape.apply(this, arguments); } var v3 = function(Q5) { Box2D.Dynamics.Joints.b2JointEdge = Q5; }; function r9() { r9.b2ContactFactory.apply(this, arguments); d4Q.R2(this.constructor, r9) && this.b2ContactFactory.apply(this, arguments); } function x1() { x1.b2PrismaticJointDef.apply(this, arguments); d4Q.J5p(this.constructor, x1) && this.b2PrismaticJointDef.apply(this, arguments); } function Q6() { Q6.b2DistanceOutput.apply(this, arguments); } var P6 = function(Q5) { Box2D.Collision.b2ContactID = Q5; }; function V6() { V6.b2DynamicTreePair.apply(this, arguments); } function r1() { r1.b2RevoluteJoint.apply(this, arguments); d4Q.r5p(this.constructor, r1) && this.b2RevoluteJoint.apply(this, arguments); } var z6 = function(Q5) { Box2D.Common.b2internal = Q5; }; function Y1() { Y1.b2FrictionJoint.apply(this, arguments); d4Q.z5p(this.constructor, Y1) && this.b2FrictionJoint.apply(this, arguments); } function E1() { E1.b2RayCastOutput.apply(this, arguments); } function g1() { g1.b2LineJointDef.apply(this, arguments); d4Q.h5p(this.constructor, g1) && this.b2LineJointDef.apply(this, arguments); } var H6 = function(Q5) { Box2D.Dynamics.Joints.b2FrictionJoint = Q5; }, y6 = function(Q5) { Box2D.Collision.b2Manifold = Q5; }; function D1() { D1.b2CircleShape.apply(this, arguments); d4Q.h7(this.constructor, D1) && this.b2CircleShape.apply(this, arguments); } var C6 = function(Q5) { Box2D.Collision.Shapes.b2PolygonShape = Q5; }; function B1() { B1.b2PulleyJoint.apply(this, arguments); d4Q.u5p(this.constructor, B1) && this.b2PulleyJoint.apply(this, arguments); } b9(H5); q9(W5); W3(n1); U9(q3); X9(A3); P6(x5); O9(B9); Y5(I5); F5(g5); W9(Q6); b3(q1); u1(i5); R5(l9); c5(M5); B3(V6); y6(I9); C3(C5); Q9(X3); E5(t5); B5(E1); O3(o1); o5(A1); M9(g9); J1(l1); X1(F9); v5(s5); N9(l5); D3(L9); S9(G5); e1(Z3); H1(D1); u9(z3); t9(y9); L5(r5); C6(N1); m9(H9); z6(V5); b1(A9); z5(X5); k1(Q3); m5(v9); V1(x3); i1(I3); p9(p5); d1(C1); i9(d3); z1(E3); R9(g3); h9(Z9); L1(P9); j3(t3); K9(r3); I1(T9); w5(w9); u3($); G9(R3); o3(z9); F1(T3); j5(P5); k3(D5); G3(p3); f9(V3); J5(V9); f5(c1); M3(P3); k9(r9); h1(T1); S5(O1); o9(C9); y5(A5); s9(n3); y3(b5); w3(Y9); N3(E9); Z1(e5); O5(v1); w1(H3); G1(u5); J9(N5); t1(S1); m3(T5); R1(l3); J3(Y3); f1(d5); H6(Y1); c3(S3); s3(F3); j1(d9); M1(e9); D9(j9); x9(h5); v3(h3); Z5(L3); y1(g1); W1(i3); U5(U3); Q1(P1); n5(x1); s1(B1); m1(n9); K5(r1); a9(c9); f3(e3); q5(k5); })(); d4Q.i6(); (function() { var Q9 = "flip", R5 = "incidentVertex", e5 = "incidentEdge", M5 = "referenceEdge", V9 = ((138.20E1, 0x16D) < (124, 38.90E1) ? (78., 24) : (56, 118)), Y5 = ((110, 76) <= (54, 27.6E1) ? (101., 4278190080) : (103., 147.)), N9 = "key", h5 = function(Q5) { K5.__implements[i9] = Q5; }, a9 = Box2D.Collision.Shapes.b2CircleShape, u5 = Box2D.Collision.Shapes.b2PolygonShape, p5 = Box2D.Collision.Shapes.b2Shape, U5 = Box2D.Common.b2Settings, k5 = Box2D.Common.Math.b2Math, B5 = Box2D.Common.Math.b2Sweep, m9 = Box2D.Common.Math.b2Transform, x5 = Box2D.Common.Math.b2Vec2, i5 = Box2D.Collision.b2AABB, y5 = Box2D.Collision.b2Bound, A5 = Box2D.Collision.b2BoundValues, S5 = Box2D.Collision.b2Collision, q5 = Box2D.Collision.b2ContactID, v5 = Box2D.Collision.b2ContactPoint, d5 = Box2D.Collision.b2Distance, O5 = Box2D.Collision.b2DistanceInput, w5 = Box2D.Collision.b2DistanceOutput, l5 = Box2D.Collision.b2DistanceProxy, J5 = Box2D.Collision.b2DynamicTree, K5 = Box2D.Collision.b2DynamicTreeBroadPhase, j5 = Box2D.Collision.b2DynamicTreeNode, Y9 = Box2D.Collision.b2DynamicTreePair, F5 = Box2D.Collision.b2Manifold, L5 = Box2D.Collision.b2ManifoldPoint, X5 = Box2D.Collision.b2Point, G5 = Box2D.Collision.b2RayCastInput, s9 = Box2D.Collision.b2RayCastOutput, E5 = Box2D.Collision.b2Segment, D5 = Box2D.Collision.b2SeparationFunction, P9 = Box2D.Collision.b2Simplex, y9 = Box2D.Collision.b2SimplexCache, S9 = Box2D.Collision.b2SimplexVertex, H9 = Box2D.Collision.b2TimeOfImpact, h9 = Box2D.Collision.b2TOIInput, n9 = Box2D.Collision.b2WorldManifold, T9 = Box2D.Collision.ClipVertex, Z9 = Box2D.Collision.Features, i9 = Box2D.Collision.IBroadPhase; i5.b2AABB = function() { this.lowerBound = new x5; this.upperBound = new x5; }; i5.prototype.IsValid = function() { var Q5 = d4Q.C9p(this.upperBound.y, this.lowerBound.y); return Q5 = (Q5 = d4Q.s9p(this.upperBound.x - this.lowerBound.x, d4Q.M3J) && d4Q.a9p(Q5, d4Q.M3J)) && this.lowerBound.IsValid() && this.upperBound.IsValid(); }; i5.prototype.GetCenter = function() { return new x5(d4Q.t9p((this.lowerBound.x + this.upperBound.x), d4Q.p3J), d4Q.o9p((this.lowerBound.y + this.upperBound.y), d4Q.p3J)); }; i5.prototype.GetExtents = function() { return new x5(d4Q.n9p((this.upperBound.x - this.lowerBound.x), d4Q.p3J), d4Q.O9p((this.upperBound.y - this.lowerBound.y), d4Q.p3J)); }; i5.prototype.Contains = function(Q5) { var V5 = d4Q.v1J; return V5 = (V5 = (V5 = (V5 = V5 && d4Q.w9p(this.lowerBound.x, Q5.lowerBound.x)) && d4Q.b9p(this.lowerBound.y, Q5.lowerBound.y)) && d4Q.p9p(Q5.upperBound.x, this.upperBound.x)) && d4Q.M9p(Q5.upperBound.y, this.upperBound.y); }; i5.prototype.RayCast = function(Q5, V5) { var H5 = -Number.MAX_VALUE, z5 = Number.MAX_VALUE, P5 = V5.p1.x, C5 = V5.p1.y, Z5 = d4Q.X9p(V5.p2.x, V5.p1.x), m5 = d4Q.F9p(V5.p2.y, V5.p1.y), s5 = Math.abs(m5), N5 = Q5.normal, I5 = d4Q.M3J, t5 = d4Q.M3J, b5 = I5 = d4Q.M3J; b5 = d4Q.M3J; if (d4Q.D9p(Math.abs(Z5), Number.MIN_VALUE)) { if (d4Q.x9p(P5, this.lowerBound.x) || d4Q.Q3p(this.upperBound.x, P5)) return d4Q.d3J; } else { I5 = d4Q.i3p(d4Q.K3J, Z5); t5 = d4Q.P3p((this.lowerBound.x - P5), I5); I5 = d4Q.N3p((this.upperBound.x - P5), I5); b5 = -d4Q.K3J; if (d4Q.A3p(t5, I5)) { b5 = t5; t5 = I5; I5 = b5; b5 = d4Q.K3J; } if (d4Q.v3p(t5, H5)) { N5.x = b5; N5.y = d4Q.M3J; H5 = t5; } z5 = Math.min(z5, I5); if (d4Q.c3p(H5, z5)) return d4Q.d3J; } if (d4Q.d3p(s5, Number.MIN_VALUE)) { if (d4Q.U3p(C5, this.lowerBound.y) || d4Q.l3p(this.upperBound.y, C5)) return d4Q.d3J; } else { I5 = d4Q.f3p(d4Q.K3J, m5); t5 = d4Q.G3p((this.lowerBound.y - C5), I5); I5 = d4Q.j3p((this.upperBound.y - C5), I5); b5 = -d4Q.K3J; if (d4Q.R3p(t5, I5)) { b5 = t5; t5 = I5; I5 = b5; b5 = d4Q.K3J; } if (d4Q.e3p(t5, H5)) { N5.y = b5; N5.x = d4Q.M3J; H5 = t5; } z5 = Math.min(z5, I5); if (d4Q.g3p(H5, z5)) return d4Q.d3J; } Q5.fraction = H5; return d4Q.v1J; }; i5.prototype.TestOverlap = function(Q5) { var V5 = d4Q.Y3p(Q5.lowerBound.y, this.upperBound.y), H5 = d4Q.E3p(this.lowerBound.y, Q5.upperBound.y); if (d4Q.H1p(Q5.lowerBound.x - this.upperBound.x, d4Q.M3J) || d4Q.z1p(V5, d4Q.M3J)) return d4Q.d3J; if (d4Q.Z1p(this.lowerBound.x - Q5.upperBound.x, d4Q.M3J) || d4Q.m1p(H5, d4Q.M3J)) return d4Q.d3J; return d4Q.v1J; }; i5.Combine = function(Q5, V5) { var H5 = new i5; H5.Combine(Q5, V5); return H5; }; i5.prototype.Combine = function(Q5, V5) { this.lowerBound.x = Math.min(Q5.lowerBound.x, V5.lowerBound.x); this.lowerBound.y = Math.min(Q5.lowerBound.y, V5.lowerBound.y); this.upperBound.x = Math.max(Q5.upperBound.x, V5.upperBound.x); this.upperBound.y = Math.max(Q5.upperBound.y, V5.upperBound.y); }; y5.b2Bound = function() {}; y5.prototype.IsLower = function() { return d4Q.S1p((this.value & d4Q.K3J), d4Q.M3J); }; y5.prototype.IsUpper = function() { return d4Q.q1p((this.value & d4Q.K3J), d4Q.K3J); }; y5.prototype.Swap = function(Q5) { var V5 = this.value, H5 = this.proxy, z5 = this.stabbingCount; this.value = Q5.value; this.proxy = Q5.proxy; this.stabbingCount = Q5.stabbingCount; Q5.value = V5; Q5.proxy = H5; Q5.stabbingCount = z5; }; A5.b2BoundValues = function() {}; A5.prototype.b2BoundValues = function() { this.lowerValues = new Vector_a2j_Number; this.lowerValues[d4Q.M3J] = d4Q.M3J; this.lowerValues[d4Q.K3J] = d4Q.M3J; this.upperValues = new Vector_a2j_Number; this.upperValues[d4Q.M3J] = d4Q.M3J; this.upperValues[d4Q.K3J] = d4Q.M3J; }; S5.b2Collision = function() {}; S5.ClipSegmentToLine = function(Q5, V5, H5, z5) { if (d4Q.I1p(z5, undefined)) z5 = d4Q.M3J; var P5, C5 = d4Q.M3J; P5 = V5[d4Q.M3J]; var Z5 = P5.v; P5 = V5[d4Q.K3J]; var m5 = P5.v, s5 = d4Q.T1p(H5.x, Z5.x) + d4Q.h1p(H5.y, Z5.y) - z5; P5 = d4Q.W1p(H5.x, m5.x) + d4Q.k1p(H5.y, m5.y) - z5; d4Q.K1p(s5, d4Q.M3J) && Q5[C5++].Set(V5[d4Q.M3J]); d4Q.J1p(P5, d4Q.M3J) && Q5[C5++].Set(V5[d4Q.K3J]); if (d4Q.u1p(s5 * P5, d4Q.M3J)) { H5 = d4Q.L1p(s5, (s5 - P5)); P5 = Q5[C5]; P5 = P5.v; P5.x = Z5.x + d4Q.r1p(H5, (m5.x - Z5.x)); P5.y = Z5.y + d4Q.B1p(H5, (m5.y - Z5.y)); P5 = Q5[C5]; P5.id = (d4Q.V6p(s5, d4Q.M3J) ? V5[d4Q.M3J] : V5[d4Q.K3J]).id; ++C5; } return C5; }; S5.EdgeSeparation = function(Q5, V5, H5, z5, P5) { if (d4Q.y6p(H5, undefined)) H5 = d4Q.M3J; parseInt(Q5.m_vertexCount); var C5 = Q5.m_vertices; Q5 = Q5.m_normals; var Z5 = parseInt(z5.m_vertexCount), m5 = z5.m_vertices, s5, N5; s5 = V5.R; N5 = Q5[H5]; Q5 = d4Q.C6p(s5.col1.x, N5.x) + d4Q.s6p(s5.col2.x, N5.y); z5 = d4Q.a6p(s5.col1.y, N5.x) + d4Q.t6p(s5.col2.y, N5.y); s5 = P5.R; var I5 = d4Q.o6p(s5.col1.x, Q5) + d4Q.n6p(s5.col1.y, z5); s5 = d4Q.O6p(s5.col2.x, Q5) + d4Q.w6p(s5.col2.y, z5); for (var t5 = d4Q.M3J, b5 = Number.MAX_VALUE, f5 = d4Q.M3J; d4Q.b6p(f5, Z5); ++f5) { N5 = m5[f5]; N5 = d4Q.p6p(N5.x, I5) + d4Q.M6p(N5.y, s5); if (d4Q.X6p(N5, b5)) { b5 = N5; t5 = f5; } } N5 = C5[H5]; s5 = V5.R; H5 = V5.position.x + (d4Q.F6p(s5.col1.x, N5.x) + d4Q.D6p(s5.col2.x, N5.y)); V5 = V5.position.y + (d4Q.x6p(s5.col1.y, N5.x) + d4Q.Q8p(s5.col2.y, N5.y)); N5 = m5[t5]; s5 = P5.R; C5 = P5.position.x + (d4Q.i8p(s5.col1.x, N5.x) + d4Q.P8p(s5.col2.x, N5.y)); P5 = P5.position.y + (d4Q.N8p(s5.col1.y, N5.x) + d4Q.A8p(s5.col2.y, N5.y)); C5 -= H5; P5 -= V5; return d4Q.v8p(C5, Q5) + d4Q.c8p(P5, z5); }; S5.FindMaxSeparation = function(Q5, V5, H5, z5, P5) { var C5 = parseInt(V5.m_vertexCount), Z5 = V5.m_normals, m5, s5; s5 = P5.R; m5 = z5.m_centroid; var N5 = P5.position.x + (d4Q.d8p(s5.col1.x, m5.x) + d4Q.U8p(s5.col2.x, m5.y)), I5 = P5.position.y + (d4Q.l8p(s5.col1.y, m5.x) + d4Q.f8p(s5.col2.y, m5.y)); s5 = H5.R; m5 = V5.m_centroid; N5 -= H5.position.x + (d4Q.G8p(s5.col1.x, m5.x) + d4Q.j8p(s5.col2.x, m5.y)); I5 -= H5.position.y + (d4Q.R8p(s5.col1.y, m5.x) + d4Q.e8p(s5.col2.y, m5.y)); s5 = d4Q.g8p(N5, H5.R.col1.x) + d4Q.Y8p(I5, H5.R.col1.y); I5 = d4Q.E8p(N5, H5.R.col2.x) + d4Q.H0p(I5, H5.R.col2.y); N5 = d4Q.M3J; for (var t5 = -Number.MAX_VALUE, b5 = d4Q.M3J; d4Q.z0p(b5, C5); ++b5) { m5 = Z5[b5]; m5 = d4Q.Z0p(m5.x, s5) + d4Q.m0p(m5.y, I5); if (d4Q.S0p(m5, t5)) { t5 = m5; N5 = b5; } } Z5 = S5.EdgeSeparation(V5, H5, N5, z5, P5); m5 = parseInt(d4Q.q0p(N5 - d4Q.K3J, d4Q.M3J) ? d4Q.I0p(N5, d4Q.K3J) : d4Q.T0p(C5, d4Q.K3J)); s5 = S5.EdgeSeparation(V5, H5, m5, z5, P5); I5 = parseInt(d4Q.h0p(N5 + d4Q.K3J, C5) ? N5 + d4Q.K3J : d4Q.M3J); t5 = S5.EdgeSeparation(V5, H5, I5, z5, P5); var f5 = b5 = d4Q.M3J, $ = d4Q.M3J; if (d4Q.W0p(s5, Z5) && d4Q.k0p(s5, t5)) { $ = -d4Q.K3J; b5 = m5; f5 = s5; } else if (d4Q.K0p(t5, Z5)) { $ = d4Q.K3J; b5 = I5; f5 = t5; } else { Q5[d4Q.M3J] = N5; return Z5; } for (;;) { N5 = $ == -d4Q.K3J ? d4Q.J0p(b5 - d4Q.K3J, d4Q.M3J) ? d4Q.u0p(b5, d4Q.K3J) : d4Q.L0p(C5, d4Q.K3J) : d4Q.r0p(b5 + d4Q.K3J, C5) ? b5 + d4Q.K3J : d4Q.M3J; Z5 = S5.EdgeSeparation(V5, H5, N5, z5, P5); if (d4Q.B0p(Z5, f5)) { b5 = N5; f5 = Z5; } else break; } Q5[d4Q.M3J] = b5; return f5; }; S5.FindIncidentEdge = function(Q5, V5, H5, z5, P5, C5) { if (d4Q.V4p(z5, undefined)) z5 = d4Q.M3J; parseInt(V5.m_vertexCount); var Z5 = V5.m_normals, m5 = parseInt(P5.m_vertexCount); V5 = P5.m_vertices; P5 = P5.m_normals; var s5; s5 = H5.R; H5 = Z5[z5]; Z5 = d4Q.y4p(s5.col1.x, H5.x) + d4Q.C4p(s5.col2.x, H5.y); var N5 = d4Q.s4p(s5.col1.y, H5.x) + d4Q.a4p(s5.col2.y, H5.y); s5 = C5.R; H5 = d4Q.t4p(s5.col1.x, Z5) + d4Q.o4p(s5.col1.y, N5); N5 = d4Q.n4p(s5.col2.x, Z5) + d4Q.O4p(s5.col2.y, N5); Z5 = H5; s5 = d4Q.M3J; for (var I5 = Number.MAX_VALUE, t5 = d4Q.M3J; d4Q.w4p(t5, m5); ++t5) { H5 = P5[t5]; H5 = d4Q.b4p(Z5, H5.x) + d4Q.p4p(N5, H5.y); if (d4Q.M4p(H5, I5)) { I5 = H5; s5 = t5; } } P5 = parseInt(s5); Z5 = parseInt(d4Q.X4p(P5 + d4Q.K3J, m5) ? P5 + d4Q.K3J : d4Q.M3J); m5 = Q5[d4Q.M3J]; H5 = V5[P5]; s5 = C5.R; m5.v.x = C5.position.x + (d4Q.F4p(s5.col1.x, H5.x) + d4Q.D4p(s5.col2.x, H5.y)); m5.v.y = C5.position.y + (d4Q.x4p(s5.col1.y, H5.x) + d4Q.Q7p(s5.col2.y, H5.y)); m5.id.features.referenceEdge = z5; m5.id.features.incidentEdge = P5; m5.id.features.incidentVertex = d4Q.M3J; m5 = Q5[d4Q.K3J]; H5 = V5[Z5]; s5 = C5.R; m5.v.x = C5.position.x + (d4Q.i7p(s5.col1.x, H5.x) + d4Q.P7p(s5.col2.x, H5.y)); m5.v.y = C5.position.y + (d4Q.N7p(s5.col1.y, H5.x) + d4Q.A7p(s5.col2.y, H5.y)); m5.id.features.referenceEdge = z5; m5.id.features.incidentEdge = Z5; m5.id.features.incidentVertex = d4Q.K3J; }; S5.MakeClipPointVector = function() { var Q5 = new Vector(d4Q.p3J); Q5[d4Q.M3J] = new T9; Q5[d4Q.K3J] = new T9; return Q5; }; S5.CollidePolygons = function(Q5, V5, H5, z5, P5) { var C5 = (0x116 < (77.0E1, 80.) ? (4.64E2, 5.17E2) : (0xA8, 0E0) >= (4., 0x22) ? 265 : 101. < (86, 1.423E3) ? (43.90E1, 0.0010) : (100.80E1, 115)), Z5; Q5.m_pointCount = d4Q.M3J; var m5 = V5.m_radius + z5.m_radius; Z5 = d4Q.M3J; S5.s_edgeAO[d4Q.M3J] = Z5; var s5 = S5.FindMaxSeparation(S5.s_edgeAO, V5, H5, z5, P5); Z5 = S5.s_edgeAO[d4Q.M3J]; if (!(d4Q.v7p(s5, m5))) { var N5 = d4Q.M3J; S5.s_edgeBO[d4Q.M3J] = N5; var I5 = S5.FindMaxSeparation(S5.s_edgeBO, z5, P5, V5, H5); N5 = S5.s_edgeBO[d4Q.M3J]; if (!(d4Q.c7p(I5, m5))) { var t5 = d4Q.M3J, b5 = d4Q.M3J; if (d4Q.d7p(I5, d4Q.j3J * s5 + C5)) { s5 = z5; z5 = V5; V5 = P5; H5 = H5; t5 = N5; Q5.m_type = F5.e_faceB; b5 = d4Q.K3J; } else { s5 = V5; z5 = z5; V5 = H5; H5 = P5; t5 = Z5; Q5.m_type = F5.e_faceA; b5 = d4Q.M3J; } Z5 = S5.s_incidentEdge; S5.FindIncidentEdge(Z5, s5, V5, t5, z5, H5); N5 = parseInt(s5.m_vertexCount); P5 = s5.m_vertices; s5 = P5[t5]; var f5; f5 = d4Q.U7p(t5 + d4Q.K3J, N5) ? P5[parseInt(t5 + d4Q.K3J)] : P5[d4Q.M3J]; t5 = S5.s_localTangent; t5.Set(d4Q.l7p(f5.x, s5.x), d4Q.f7p(f5.y, s5.y)); t5.Normalize(); P5 = S5.s_localNormal; P5.x = t5.y; P5.y = -t5.x; z5 = S5.s_planePoint; z5.Set(d4Q.G7p(d4Q.t3J, (s5.x + f5.x)), d4Q.j7p(d4Q.t3J, (s5.y + f5.y))); I5 = S5.s_tangent; N5 = V5.R; I5.x = d4Q.R7p(N5.col1.x, t5.x) + d4Q.e7p(N5.col2.x, t5.y); I5.y = d4Q.g7p(N5.col1.y, t5.x) + d4Q.Y7p(N5.col2.y, t5.y); var T5 = S5.s_tangent2; T5.x = -I5.x; T5.y = -I5.y; t5 = S5.s_normal; t5.x = I5.y; t5.y = -I5.x; var $ = S5.s_v11, c5 = S5.s_v12; $.x = V5.position.x + (d4Q.E7p(N5.col1.x, s5.x) + d4Q.H2p(N5.col2.x, s5.y)); $.y = V5.position.y + (d4Q.z2p(N5.col1.y, s5.x) + d4Q.Z2p(N5.col2.y, s5.y)); c5.x = V5.position.x + (d4Q.m2p(N5.col1.x, f5.x) + d4Q.S2p(N5.col2.x, f5.y)); c5.y = V5.position.y + (d4Q.q2p(N5.col1.y, f5.x) + d4Q.I2p(N5.col2.y, f5.y)); V5 = d4Q.T2p(t5.x, $.x) + d4Q.h2p(t5.y, $.y); N5 = d4Q.W2p(I5.x, c5.x) + d4Q.k2p(I5.y, c5.y) + m5; f5 = S5.s_clipPoints1; s5 = S5.s_clipPoints2; c5 = d4Q.M3J; c5 = S5.ClipSegmentToLine(f5, Z5, T5, -I5.x * $.x - d4Q.K2p(I5.y, $.y) + m5); if (!(d4Q.J2p(c5, d4Q.p3J))) { c5 = S5.ClipSegmentToLine(s5, f5, I5, N5); if (!(d4Q.u2p(c5, d4Q.p3J))) { Q5.m_localPlaneNormal.SetV(P5); Q5.m_localPoint.SetV(z5); for (z5 = P5 = d4Q.M3J; d4Q.L2p(z5, U5.b2_maxManifoldPoints); ++z5) { Z5 = s5[z5]; if (d4Q.r2p(t5.x * Z5.v.x + t5.y * Z5.v.y - V5, m5)) { I5 = Q5.m_points[P5]; N5 = H5.R; T5 = d4Q.B2p(Z5.v.x, H5.position.x); $ = d4Q.V5i(Z5.v.y, H5.position.y); I5.m_localPoint.x = d4Q.y5i(T5, N5.col1.x) + d4Q.C5i($, N5.col1.y); I5.m_localPoint.y = d4Q.s5i(T5, N5.col2.x) + d4Q.a5i($, N5.col2.y); I5.m_id.Set(Z5.id); I5.m_id.features.flip = b5; ++P5; } } Q5.m_pointCount = P5; } } } } }; S5.CollideCircles = function(Q5, V5, H5, z5, P5) { Q5.m_pointCount = d4Q.M3J; var C5, Z5; C5 = H5.R; Z5 = V5.m_p; var m5 = H5.position.x + (d4Q.t5i(C5.col1.x, Z5.x) + d4Q.o5i(C5.col2.x, Z5.y)); H5 = H5.position.y + (d4Q.n5i(C5.col1.y, Z5.x) + d4Q.O5i(C5.col2.y, Z5.y)); C5 = P5.R; Z5 = z5.m_p; m5 = P5.position.x + (d4Q.w5i(C5.col1.x, Z5.x) + d4Q.b5i(C5.col2.x, Z5.y)) - m5; P5 = P5.position.y + (d4Q.p5i(C5.col1.y, Z5.x) + d4Q.M5i(C5.col2.y, Z5.y)) - H5; C5 = V5.m_radius + z5.m_radius; if (!(d4Q.X5i(m5 * m5 + P5 * P5, C5 * C5))) { Q5.m_type = F5.e_circles; Q5.m_localPoint.SetV(V5.m_p); Q5.m_localPlaneNormal.SetZero(); Q5.m_pointCount = d4Q.K3J; Q5.m_points[d4Q.M3J].m_localPoint.SetV(z5.m_p); Q5.m_points[d4Q.M3J].m_id.key = d4Q.M3J; } }; S5.CollidePolygonAndCircle = function(Q5, V5, H5, z5, P5) { var C5 = Q5.m_pointCount = d4Q.M3J, Z5 = d4Q.M3J, m5, s5; s5 = P5.R; m5 = z5.m_p; var N5 = P5.position.y + (d4Q.F5i(s5.col1.y, m5.x) + d4Q.D5i(s5.col2.y, m5.y)); C5 = P5.position.x + (d4Q.x5i(s5.col1.x, m5.x) + d4Q.Q9i(s5.col2.x, m5.y)) - H5.position.x; Z5 = d4Q.i9i(N5, H5.position.y); s5 = H5.R; H5 = d4Q.P9i(C5, s5.col1.x) + d4Q.N9i(Z5, s5.col1.y); s5 = d4Q.A9i(C5, s5.col2.x) + d4Q.v9i(Z5, s5.col2.y); var I5 = d4Q.M3J; N5 = -Number.MAX_VALUE; P5 = V5.m_radius + z5.m_radius; var t5 = parseInt(V5.m_vertexCount), b5 = V5.m_vertices; V5 = V5.m_normals; for (var f5 = d4Q.M3J; d4Q.c9i(f5, t5); ++f5) { m5 = b5[f5]; C5 = d4Q.d9i(H5, m5.x); Z5 = d4Q.U9i(s5, m5.y); m5 = V5[f5]; C5 = d4Q.l9i(m5.x, C5) + d4Q.f9i(m5.y, Z5); if (d4Q.G9i(C5, P5)) return; if (d4Q.j9i(C5, N5)) { N5 = C5; I5 = f5; } } C5 = parseInt(I5); Z5 = parseInt(d4Q.R9i(C5 + d4Q.K3J, t5) ? C5 + d4Q.K3J : d4Q.M3J); m5 = b5[C5]; b5 = b5[Z5]; if (d4Q.e9i(N5, Number.MIN_VALUE)) { Q5.m_pointCount = d4Q.K3J; Q5.m_type = F5.e_faceA; Q5.m_localPlaneNormal.SetV(V5[I5]); Q5.m_localPoint.x = d4Q.g9i(d4Q.t3J, (m5.x + b5.x)); Q5.m_localPoint.y = d4Q.Y9i(d4Q.t3J, (m5.y + b5.y)); } else { N5 = d4Q.E9i((H5 - b5.x), (m5.x - b5.x)) + d4Q.H3i((s5 - b5.y), (m5.y - b5.y)); if (d4Q.z3i((H5 - m5.x) * (b5.x - m5.x) + (s5 - m5.y) * (b5.y - m5.y), d4Q.M3J)) { if (d4Q.Z3i((H5 - m5.x) * (H5 - m5.x) + (s5 - m5.y) * (s5 - m5.y), P5 * P5)) return; Q5.m_pointCount = d4Q.K3J; Q5.m_type = F5.e_faceA; Q5.m_localPlaneNormal.x = d4Q.m3i(H5, m5.x); Q5.m_localPlaneNormal.y = d4Q.S3i(s5, m5.y); Q5.m_localPlaneNormal.Normalize(); Q5.m_localPoint.SetV(m5); } else if (d4Q.q3i(N5, d4Q.M3J)) { if (d4Q.I3i((H5 - b5.x) * (H5 - b5.x) + (s5 - b5.y) * (s5 - b5.y), P5 * P5)) return; Q5.m_pointCount = d4Q.K3J; Q5.m_type = F5.e_faceA; Q5.m_localPlaneNormal.x = d4Q.T3i(H5, b5.x); Q5.m_localPlaneNormal.y = d4Q.h3i(s5, b5.y); Q5.m_localPlaneNormal.Normalize(); Q5.m_localPoint.SetV(b5); } else { I5 = d4Q.W3i(d4Q.t3J, (m5.x + b5.x)); m5 = d4Q.k3i(d4Q.t3J, (m5.y + b5.y)); N5 = d4Q.K3i((H5 - I5), V5[C5].x) + d4Q.J3i((s5 - m5), V5[C5].y); if (d4Q.u3i(N5, P5)) return; Q5.m_pointCount = d4Q.K3J; Q5.m_type = F5.e_faceA; Q5.m_localPlaneNormal.x = V5[C5].x; Q5.m_localPlaneNormal.y = V5[C5].y; Q5.m_localPlaneNormal.Normalize(); Q5.m_localPoint.Set(I5, m5); } } Q5.m_points[d4Q.M3J].m_localPoint.SetV(z5.m_p); Q5.m_points[d4Q.M3J].m_id.key = d4Q.M3J; }; S5.TestOverlap = function(Q5, V5) { var H5 = V5.lowerBound, z5 = Q5.upperBound, P5 = d4Q.L3i(H5.x, z5.x), C5 = d4Q.r3i(H5.y, z5.y); H5 = Q5.lowerBound; z5 = V5.upperBound; var Z5 = d4Q.B3i(H5.y, z5.y); if (d4Q.V1i(P5, d4Q.M3J) || d4Q.y1i(C5, d4Q.M3J)) return d4Q.d3J; if (d4Q.C1i(H5.x - z5.x, d4Q.M3J) || d4Q.s1i(Z5, d4Q.M3J)) return d4Q.d3J; return d4Q.v1J; }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Collision.b2Collision.b2_nullFeature = Q5; }; Box2D.Collision.b2Collision.s_incidentEdge = S5.MakeClipPointVector(); Box2D.Collision.b2Collision.s_clipPoints1 = S5.MakeClipPointVector(); Box2D.Collision.b2Collision.s_clipPoints2 = S5.MakeClipPointVector(); Box2D.Collision.b2Collision.s_edgeAO = new Vector_a2j_Number(d4Q.K3J); Box2D.Collision.b2Collision.s_edgeBO = new Vector_a2j_Number(d4Q.K3J); Box2D.Collision.b2Collision.s_localTangent = new x5; Box2D.Collision.b2Collision.s_localNormal = new x5; Box2D.Collision.b2Collision.s_planePoint = new x5; Box2D.Collision.b2Collision.s_normal = new x5; Box2D.Collision.b2Collision.s_tangent = new x5; Box2D.Collision.b2Collision.s_tangent2 = new x5; Box2D.Collision.b2Collision.s_v11 = new x5; Box2D.Collision.b2Collision.s_v12 = new x5; Box2D.Collision.b2Collision.b2CollidePolyTempVec = new x5; V5(d4Q.b1J); }); q5.b2ContactID = function() { this.features = new Z9; }; q5.prototype.b2ContactID = function() { this.features._m_id = this; }; q5.prototype.Set = function(Q5) { this.key = Q5._key; }; q5.prototype.Copy = function() { var Q5 = new q5; Q5.key = this.key; return Q5; }; Object.defineProperty(q5.prototype, N9, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return this._key; } }); Object.defineProperty(q5.prototype, N9, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = function(Q5) { V5 = Q5; }; if (d4Q.a1i(V5, undefined)) H5(d4Q.M3J); this._key = V5; this.features._referenceEdge = d4Q.t1i(this._key, d4Q.b1J); this.features._incidentEdge = d4Q.o1i((this._key & d4Q.G3J) >> d4Q.Y3J, d4Q.b1J); this.features._incidentVertex = d4Q.n1i((this._key & d4Q.w1J) >> d4Q.i1J, d4Q.b1J); this.features._flip = d4Q.O1i((this._key & Y5) >> V9, d4Q.b1J); } }); v5.b2ContactPoint = function() { this.position = new x5; this.velocity = new x5; this.normal = new x5; this.id = new q5; }; d5.b2Distance = function() {}; d5.Distance = function(Q5, V5, H5) { var z5 = (137. <= (37., 0x153) ? (18, 20) : (64, 37.)); ++d5.b2_gjkCalls; var P5 = H5.proxyA, C5 = H5.proxyB, Z5 = H5.transformA, m5 = H5.transformB, s5 = d5.s_simplex; s5.ReadCache(V5, P5, Z5, C5, m5); var N5 = s5.m_vertices, I5 = d5.s_saveA, t5 = d5.s_saveB, b5 = d4Q.M3J; s5.GetClosestPoint().LengthSquared(); for (var f5 = d4Q.M3J, T5, $ = d4Q.M3J; d4Q.w1i($, z5);) { b5 = s5.m_count; for (f5 = d4Q.M3J; d4Q.b1i(f5, b5); f5++) { I5[f5] = N5[f5].indexA; t5[f5] = N5[f5].indexB; } switch (s5.m_count) { case d4Q.K3J: break; case d4Q.p3J: s5.Solve2(); break; case d4Q.k3J: s5.Solve3(); break; default: U5.b2Assert(d4Q.d3J); } if (d4Q.p1i(s5.m_count, d4Q.k3J)) break; T5 = s5.GetClosestPoint(); T5.LengthSquared(); f5 = s5.GetSearchDirection(); if (d4Q.M1i(f5.LengthSquared(), Number.MIN_VALUE * Number.MIN_VALUE)) break; T5 = N5[s5.m_count]; T5.indexA = P5.GetSupport(k5.MulTMV(Z5.R, f5.GetNegative())); T5.wA = k5.MulX(Z5, P5.GetVertex(T5.indexA)); T5.indexB = C5.GetSupport(k5.MulTMV(m5.R, f5)); T5.wB = k5.MulX(m5, C5.GetVertex(T5.indexB)); T5.w = k5.SubtractVV(T5.wB, T5.wA); ++$; ++d5.b2_gjkIters; var c5 = d4Q.d3J; for (f5 = d4Q.M3J; d4Q.X1i(f5, b5); f5++) if (d4Q.F1i(T5.indexA, I5[f5]) && d4Q.D1i(T5.indexB, t5[f5])) { c5 = d4Q.v1J; break; } if (c5) break; ++s5.m_count; } d5.b2_gjkMaxIters = k5.Max(d5.b2_gjkMaxIters, $); s5.GetWitnessPoints(Q5.pointA, Q5.pointB); Q5.distance = k5.SubtractVV(Q5.pointA, Q5.pointB).Length(); Q5.iterations = $; s5.WriteCache(V5); if (H5.useRadii) { V5 = P5.m_radius; C5 = C5.m_radius; if (d4Q.x1i(Q5.distance, V5 + C5) && d4Q.Q6i(Q5.distance, Number.MIN_VALUE)) { Q5.distance -= V5 + C5; H5 = k5.SubtractVV(Q5.pointB, Q5.pointA); H5.Normalize(); Q5.pointA.x += d4Q.i6i(V5, H5.x); Q5.pointA.y += d4Q.P6i(V5, H5.y); Q5.pointB.x -= d4Q.N6i(C5, H5.x); Q5.pointB.y -= d4Q.A6i(C5, H5.y); } else { T5 = new x5; T5.x = d4Q.v6i(d4Q.t3J, (Q5.pointA.x + Q5.pointB.x)); T5.y = d4Q.c6i(d4Q.t3J, (Q5.pointA.y + Q5.pointB.y)); Q5.pointA.x = Q5.pointB.x = T5.x; Q5.pointA.y = Q5.pointB.y = T5.y; Q5.distance = d4Q.M3J; } } }; Box2D.postDefs.push(function() { Box2D.Collision.b2Distance.s_simplex = new P9; Box2D.Collision.b2Distance.s_saveA = new Vector_a2j_Number(d4Q.k3J); Box2D.Collision.b2Distance.s_saveB = new Vector_a2j_Number(d4Q.k3J); }); O5.b2DistanceInput = function() {}; w5.b2DistanceOutput = function() { this.pointA = new x5; this.pointB = new x5; }; l5.b2DistanceProxy = function() {}; l5.prototype.Set = function(Q5) { switch (Q5.GetType()) { case p5.e_circleShape: Q5 = d4Q.d6i(Q5, a9) ? Q5 : d4Q.A1J; this.m_vertices = new Vector(d4Q.K3J, d4Q.v1J); this.m_vertices[d4Q.M3J] = Q5.m_p; this.m_count = d4Q.K3J; this.m_radius = Q5.m_radius; break; case p5.e_polygonShape: Q5 = d4Q.U6i(Q5, u5) ? Q5 : d4Q.A1J; this.m_vertices = Q5.m_vertices; this.m_count = Q5.m_vertexCount; this.m_radius = Q5.m_radius; break; default: U5.b2Assert(d4Q.d3J); } }; l5.prototype.GetSupport = function(Q5) { for (var V5 = d4Q.M3J, H5 = d4Q.l6i(this.m_vertices[d4Q.M3J].x, Q5.x) + d4Q.f6i(this.m_vertices[d4Q.M3J].y, Q5.y), z5 = d4Q.K3J; d4Q.G6i(z5, this.m_count); ++z5) { var P5 = d4Q.j6i(this.m_vertices[z5].x, Q5.x) + d4Q.R6i(this.m_vertices[z5].y, Q5.y); if (d4Q.e6i(P5, H5)) { V5 = z5; H5 = P5; } } return V5; }; l5.prototype.GetSupportVertex = function(Q5) { for (var V5 = d4Q.M3J, H5 = d4Q.g6i(this.m_vertices[d4Q.M3J].x, Q5.x) + d4Q.Y6i(this.m_vertices[d4Q.M3J].y, Q5.y), z5 = d4Q.K3J; d4Q.E6i(z5, this.m_count); ++z5) { var P5 = d4Q.H8i(this.m_vertices[z5].x, Q5.x) + d4Q.z8i(this.m_vertices[z5].y, Q5.y); if (d4Q.Z8i(P5, H5)) { V5 = z5; H5 = P5; } } return this.m_vertices[V5]; }; l5.prototype.GetVertexCount = function() { return this.m_count; }; l5.prototype.GetVertex = function(Q5) { if (d4Q.m8i(Q5, undefined)) Q5 = d4Q.M3J; U5.b2Assert(d4Q.S8i(d4Q.M3J, Q5) && d4Q.q8i(Q5, this.m_count)); return this.m_vertices[Q5]; }; J5.b2DynamicTree = function() {}; J5.prototype.b2DynamicTree = function() { this.m_freeList = this.m_root = d4Q.A1J; this.m_insertionCount = this.m_path = d4Q.M3J; }; J5.prototype.CreateProxy = function(Q5, V5) { var H5 = this.AllocateNode(), z5 = U5.b2_aabbExtension, P5 = U5.b2_aabbExtension; H5.aabb.lowerBound.x = d4Q.I8i(Q5.lowerBound.x, z5); H5.aabb.lowerBound.y = d4Q.T8i(Q5.lowerBound.y, P5); H5.aabb.upperBound.x = Q5.upperBound.x + z5; H5.aabb.upperBound.y = Q5.upperBound.y + P5; H5.userData = V5; this.InsertLeaf(H5); return H5; }; J5.prototype.DestroyProxy = function(Q5) { this.RemoveLeaf(Q5); this.FreeNode(Q5); }; J5.prototype.MoveProxy = function(Q5, V5, H5) { U5.b2Assert(Q5.IsLeaf()); if (Q5.aabb.Contains(V5)) return d4Q.d3J; this.RemoveLeaf(Q5); var z5 = U5.b2_aabbExtension + U5.b2_aabbMultiplier * (d4Q.h8i(H5.x, d4Q.M3J) ? H5.x : -H5.x); H5 = U5.b2_aabbExtension + U5.b2_aabbMultiplier * (d4Q.W8i(H5.y, d4Q.M3J) ? H5.y : -H5.y); Q5.aabb.lowerBound.x = d4Q.k8i(V5.lowerBound.x, z5); Q5.aabb.lowerBound.y = d4Q.K8i(V5.lowerBound.y, H5); Q5.aabb.upperBound.x = V5.upperBound.x + z5; Q5.aabb.upperBound.y = V5.upperBound.y + H5; this.InsertLeaf(Q5); return d4Q.v1J; }; J5.prototype.Rebalance = function(Q5) { var V5 = ((88., 141.20E1) >= 8.32E2 ? (0x1A9, 31) : (124.10E1, 2.91E2) > 0x1BF ? (6.37E2, 'b') : (102, 38)); if (d4Q.J8i(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.u8i(this.m_root, d4Q.A1J)) for (var H5 = d4Q.M3J; d4Q.L8i(H5, Q5); H5++) { for (var z5 = this.m_root, P5 = d4Q.M3J; d4Q.r8i(z5.IsLeaf(), d4Q.d3J);) { z5 = d4Q.B8i(this.m_path >> P5, d4Q.K3J) ? z5.child2 : z5.child1; P5 = d4Q.V0i(P5 + d4Q.K3J, V5); }++this.m_path; this.RemoveLeaf(z5); this.InsertLeaf(z5); } }; J5.prototype.GetFatAABB = function(Q5) { return Q5.aabb; }; J5.prototype.GetUserData = function(Q5) { return Q5.userData; }; J5.prototype.Query = function(Q5, V5) { if (d4Q.y0i(this.m_root, d4Q.A1J)) { var H5 = new Vector, z5 = d4Q.M3J; for (H5[z5++] = this.m_root; d4Q.C0i(z5, d4Q.M3J);) { var P5 = H5[--z5]; if (P5.aabb.TestOverlap(V5)) if (P5.IsLeaf()) { if (!Q5(P5)) break; } else { H5[z5++] = P5.child1; H5[z5++] = P5.child2; } } } }; J5.prototype.RayCast = function(Q5, V5) { if (d4Q.s0i(this.m_root, d4Q.A1J)) { var H5 = V5.p1, z5 = V5.p2, P5 = k5.SubtractVV(H5, z5); P5.Normalize(); P5 = k5.CrossFV(d4Q.K3J, P5); var C5 = k5.AbsV(P5), Z5 = V5.maxFraction, m5 = new i5, s5 = d4Q.M3J, N5 = d4Q.M3J; s5 = H5.x + d4Q.a0i(Z5, (z5.x - H5.x)); N5 = H5.y + d4Q.t0i(Z5, (z5.y - H5.y)); m5.lowerBound.x = Math.min(H5.x, s5); m5.lowerBound.y = Math.min(H5.y, N5); m5.upperBound.x = Math.max(H5.x, s5); m5.upperBound.y = Math.max(H5.y, N5); var I5 = new Vector, t5 = d4Q.M3J; for (I5[t5++] = this.m_root; d4Q.o0i(t5, d4Q.M3J);) { Z5 = I5[--t5]; if (d4Q.n0i(Z5.aabb.TestOverlap(m5), d4Q.d3J)) { s5 = Z5.aabb.GetCenter(); N5 = Z5.aabb.GetExtents(); if (!(d4Q.O0i(Math.abs(P5.x * (H5.x - s5.x) + P5.y * (H5.y - s5.y)) - C5.x * N5.x - C5.y * N5.y, d4Q.M3J))) if (Z5.IsLeaf()) { s5 = new G5; s5.p1 = V5.p1; s5.p2 = V5.p2; s5.maxFraction = V5.maxFraction; Z5 = Q5(s5, Z5); if (d4Q.w0i(Z5, d4Q.M3J)) break; if (d4Q.b0i(Z5, d4Q.M3J)) { s5 = H5.x + d4Q.p0i(Z5, (z5.x - H5.x)); N5 = H5.y + d4Q.M0i(Z5, (z5.y - H5.y)); m5.lowerBound.x = Math.min(H5.x, s5); m5.lowerBound.y = Math.min(H5.y, N5); m5.upperBound.x = Math.max(H5.x, s5); m5.upperBound.y = Math.max(H5.y, N5); } } else { I5[t5++] = Z5.child1; I5[t5++] = Z5.child2; } } } } }; J5.prototype.AllocateNode = function() { if (this.m_freeList) { var Q5 = this.m_freeList; this.m_freeList = Q5.parent; Q5.parent = d4Q.A1J; Q5.child1 = d4Q.A1J; Q5.child2 = d4Q.A1J; return Q5; } return new j5; }; J5.prototype.FreeNode = function(Q5) { Q5.parent = this.m_freeList; this.m_freeList = Q5; }; J5.prototype.InsertLeaf = function(Q5) { ++this.m_insertionCount; if (d4Q.X0i(this.m_root, d4Q.A1J)) { this.m_root = Q5; this.m_root.parent = d4Q.A1J; } else { var V5 = Q5.aabb.GetCenter(), H5 = this.m_root; if (d4Q.F0i(H5.IsLeaf(), d4Q.d3J)) { do { var z5 = H5.child1; H5 = H5.child2; H5 = d4Q.D0i(Math.abs((z5.aabb.lowerBound.x + z5.aabb.upperBound.x) / d4Q.p3J - V5.x) + Math.abs((z5.aabb.lowerBound.y + z5.aabb.upperBound.y) / d4Q.p3J - V5.y), Math.abs((H5.aabb.lowerBound.x + H5.aabb.upperBound.x) / d4Q.p3J - V5.x) + Math.abs((H5.aabb.lowerBound.y + H5.aabb.upperBound.y) / d4Q.p3J - V5.y)) ? z5 : H5; } while (d4Q.x0i(H5.IsLeaf(), d4Q.d3J)) } V5 = H5.parent; z5 = this.AllocateNode(); z5.parent = V5; z5.userData = d4Q.A1J; z5.aabb.Combine(Q5.aabb, H5.aabb); if (V5) { if (d4Q.Q4i(H5.parent.child1, H5)) V5.child1 = z5; else V5.child2 = z5; z5.child1 = H5; z5.child2 = Q5; H5.parent = z5; Q5.parent = z5; do { if (V5.aabb.Contains(z5.aabb)) break; V5.aabb.Combine(V5.child1.aabb, V5.child2.aabb); z5 = V5; V5 = V5.parent; } while (V5) } else { z5.child1 = H5; z5.child2 = Q5; H5.parent = z5; this.m_root = Q5.parent = z5; } } }; J5.prototype.RemoveLeaf = function(Q5) { if (d4Q.i4i(Q5, this.m_root)) this.m_root = d4Q.A1J; else { var V5 = Q5.parent, H5 = V5.parent; Q5 = d4Q.P4i(V5.child1, Q5) ? V5.child2 : V5.child1; if (H5) { if (d4Q.N4i(H5.child1, V5)) H5.child1 = Q5; else H5.child2 = Q5; Q5.parent = H5; for (this.FreeNode(V5); H5;) { V5 = H5.aabb; H5.aabb = i5.Combine(H5.child1.aabb, H5.child2.aabb); if (V5.Contains(H5.aabb)) break; H5 = H5.parent; } } else { this.m_root = Q5; Q5.parent = d4Q.A1J; this.FreeNode(V5); } } }; K5.b2DynamicTreeBroadPhase = function() { this.m_tree = new J5; this.m_moveBuffer = new Vector; this.m_pairBuffer = new Vector; this.m_pairCount = d4Q.M3J; }; K5.prototype.CreateProxy = function(Q5, V5) { var H5 = this.m_tree.CreateProxy(Q5, V5); ++this.m_proxyCount; this.BufferMove(H5); return H5; }; K5.prototype.DestroyProxy = function(Q5) { this.UnBufferMove(Q5); --this.m_proxyCount; this.m_tree.DestroyProxy(Q5); }; K5.prototype.MoveProxy = function(Q5, V5, H5) { this.m_tree.MoveProxy(Q5, V5, H5) && this.BufferMove(Q5); }; K5.prototype.TestOverlap = function(Q5, V5) { var H5 = this.m_tree.GetFatAABB(Q5), z5 = this.m_tree.GetFatAABB(V5); return H5.TestOverlap(z5); }; K5.prototype.GetUserData = function(Q5) { return this.m_tree.GetUserData(Q5); }; K5.prototype.GetFatAABB = function(Q5) { return this.m_tree.GetFatAABB(Q5); }; K5.prototype.GetProxyCount = function() { return this.m_proxyCount; }; K5.prototype.UpdatePairs = function(H5) { var z5 = this, P5 = z5.m_pairCount = 0, C5; for (P5 = 0; d4Q.A4i(P5, z5.m_moveBuffer.length); ++P5) { C5 = z5.m_moveBuffer[P5]; var Z5 = z5.m_tree.GetFatAABB(C5); z5.m_tree.Query(function(Q5) { if (d4Q.v4i(Q5, C5)) return true; if (d4Q.c4i(z5.m_pairCount, z5.m_pairBuffer.length)) z5.m_pairBuffer[z5.m_pairCount] = new Y9; var V5 = z5.m_pairBuffer[z5.m_pairCount]; V5.proxyA = d4Q.d4i(Q5, C5) ? Q5 : C5; V5.proxyB = d4Q.U4i(Q5, C5) ? Q5 : C5; ++z5.m_pairCount; return true; }, Z5); } for (P5 = z5.m_moveBuffer.length = 0; d4Q.l4i(P5, z5.m_pairCount);) { Z5 = z5.m_pairBuffer[P5]; var m5 = z5.m_tree.GetUserData(Z5.proxyA), s5 = z5.m_tree.GetUserData(Z5.proxyB); H5(m5, s5); for (++P5; d4Q.f4i(P5, z5.m_pairCount);) { m5 = z5.m_pairBuffer[P5]; if (d4Q.G4i(m5.proxyA, Z5.proxyA) || d4Q.j4i(m5.proxyB, Z5.proxyB)) break; ++P5; } } }; K5.prototype.Query = function(Q5, V5) { this.m_tree.Query(Q5, V5); }; K5.prototype.RayCast = function(Q5, V5) { this.m_tree.RayCast(Q5, V5); }; K5.prototype.Validate = function() {}; K5.prototype.Rebalance = function(Q5) { if (d4Q.R4i(Q5, undefined)) Q5 = d4Q.M3J; this.m_tree.Rebalance(Q5); }; K5.prototype.BufferMove = function(Q5) { this.m_moveBuffer[this.m_moveBuffer.length] = Q5; }; K5.prototype.UnBufferMove = function(Q5) { this.m_moveBuffer.splice(parseInt(this.m_moveBuffer.indexOf(Q5)), d4Q.K3J); }; K5.prototype.ComparePairs = function() { return d4Q.M3J; }; K5.__implements = {}; h5(d4Q.v1J); j5.b2DynamicTreeNode = function() { this.aabb = new i5; }; j5.prototype.IsLeaf = function() { return d4Q.e4i(this.child1, d4Q.A1J); }; Y9.b2DynamicTreePair = function() {}; F5.b2Manifold = function() { this.m_pointCount = d4Q.M3J; }; F5.prototype.b2Manifold = function() { this.m_points = new Vector(U5.b2_maxManifoldPoints); for (var Q5 = d4Q.M3J; d4Q.g4i(Q5, U5.b2_maxManifoldPoints); Q5++) this.m_points[Q5] = new L5; this.m_localPlaneNormal = new x5; this.m_localPoint = new x5; }; F5.prototype.Reset = function() { for (var Q5 = d4Q.M3J; d4Q.Y4i(Q5, U5.b2_maxManifoldPoints); Q5++)(d4Q.E4i(this.m_points[Q5], L5) ? this.m_points[Q5] : d4Q.A1J).Reset(); this.m_localPlaneNormal.SetZero(); this.m_localPoint.SetZero(); this.m_pointCount = this.m_type = d4Q.M3J; }; F5.prototype.Set = function(Q5) { this.m_pointCount = Q5.m_pointCount; for (var V5 = d4Q.M3J; d4Q.H7i(V5, U5.b2_maxManifoldPoints); V5++)(d4Q.z7i(this.m_points[V5], L5) ? this.m_points[V5] : d4Q.A1J).Set(Q5.m_points[V5]); this.m_localPlaneNormal.SetV(Q5.m_localPlaneNormal); this.m_localPoint.SetV(Q5.m_localPoint); this.m_type = Q5.m_type; }; F5.prototype.Copy = function() { var Q5 = new F5; Q5.Set(this); return Q5; }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Collision.b2Manifold.e_faceB = Q5; }, H5 = function(Q5) { Box2D.Collision.b2Manifold.e_faceA = Q5; }, z5 = function(Q5) { Box2D.Collision.b2Manifold.e_circles = Q5; }; z5(d4Q.K3J); H5(d4Q.p3J); V5(d4Q.F3J); }); L5.b2ManifoldPoint = function() { this.m_localPoint = new x5; this.m_id = new q5; }; L5.prototype.b2ManifoldPoint = function() { this.Reset(); }; L5.prototype.Reset = function() { this.m_localPoint.SetZero(); this.m_tangentImpulse = this.m_normalImpulse = d4Q.M3J; this.m_id.key = d4Q.M3J; }; L5.prototype.Set = function(Q5) { this.m_localPoint.SetV(Q5.m_localPoint); this.m_normalImpulse = Q5.m_normalImpulse; this.m_tangentImpulse = Q5.m_tangentImpulse; this.m_id.Set(Q5.m_id); }; X5.b2Point = function() { this.p = new x5; }; X5.prototype.Support = function() { return this.p; }; X5.prototype.GetFirstVertex = function() { return this.p; }; G5.b2RayCastInput = function() { this.p1 = new x5; this.p2 = new x5; }; G5.prototype.b2RayCastInput = function(Q5, V5, H5) { if (d4Q.Z7i(Q5, undefined)) Q5 = d4Q.A1J; if (d4Q.m7i(V5, undefined)) V5 = d4Q.A1J; if (d4Q.S7i(H5, undefined)) H5 = d4Q.K3J; Q5 && this.p1.SetV(Q5); V5 && this.p2.SetV(V5); this.maxFraction = H5; }; s9.b2RayCastOutput = function() { this.normal = new x5; }; E5.b2Segment = function() { this.p1 = new x5; this.p2 = new x5; }; E5.prototype.TestSegment = function(Q5, V5, H5, z5) { if (d4Q.q7i(z5, undefined)) z5 = d4Q.M3J; var P5 = H5.p1, C5 = d4Q.I7i(H5.p2.x, P5.x), Z5 = d4Q.T7i(H5.p2.y, P5.y); H5 = d4Q.h7i(this.p2.y, this.p1.y); var m5 = -(d4Q.W7i(this.p2.x, this.p1.x)), s5 = d4Q.k7i(d4Q.m1J, Number.MIN_VALUE), N5 = -(d4Q.K7i(C5, H5) + d4Q.J7i(Z5, m5)); if (d4Q.u7i(N5, s5)) { var I5 = d4Q.L7i(P5.x, this.p1.x), t5 = d4Q.r7i(P5.y, this.p1.y); P5 = d4Q.B7i(I5, H5) + d4Q.V2i(t5, m5); if (d4Q.y2i(d4Q.M3J, P5) && d4Q.C2i(P5, z5 * N5)) { z5 = -C5 * t5 + d4Q.s2i(Z5, I5); if (-s5 * N5 <= z5 && d4Q.a2i(z5, N5 * (d4Q.K3J + s5))) { P5 /= N5; z5 = Math.sqrt(d4Q.t2i(H5, H5) + d4Q.o2i(m5, m5)); H5 /= z5; m5 /= z5; Q5[d4Q.M3J] = P5; V5.Set(H5, m5); return d4Q.v1J; } } } return d4Q.d3J; }; E5.prototype.Extend = function(Q5) { this.ExtendForward(Q5); this.ExtendBackward(Q5); }; E5.prototype.ExtendForward = function(Q5) { var V5 = d4Q.n2i(this.p2.x, this.p1.x), H5 = d4Q.O2i(this.p2.y, this.p1.y); Q5 = Math.min(d4Q.w2i(V5, d4Q.M3J) ? d4Q.b2i((Q5.upperBound.x - this.p1.x), V5) : d4Q.p2i(V5, d4Q.M3J) ? d4Q.M2i((Q5.lowerBound.x - this.p1.x), V5) : Number.POSITIVE_INFINITY, d4Q.X2i(H5, d4Q.M3J) ? d4Q.F2i((Q5.upperBound.y - this.p1.y), H5) : d4Q.D2i(H5, d4Q.M3J) ? d4Q.x2i((Q5.lowerBound.y - this.p1.y), H5) : Number.POSITIVE_INFINITY); this.p2.x = this.p1.x + d4Q.Q56(V5, Q5); this.p2.y = this.p1.y + d4Q.i56(H5, Q5); }; E5.prototype.ExtendBackward = function(Q5) { var V5 = -this.p2.x + this.p1.x, H5 = -this.p2.y + this.p1.y; Q5 = Math.min(d4Q.P56(V5, d4Q.M3J) ? d4Q.N56((Q5.upperBound.x - this.p2.x), V5) : d4Q.A56(V5, d4Q.M3J) ? d4Q.v56((Q5.lowerBound.x - this.p2.x), V5) : Number.POSITIVE_INFINITY, d4Q.c56(H5, d4Q.M3J) ? d4Q.d56((Q5.upperBound.y - this.p2.y), H5) : d4Q.U56(H5, d4Q.M3J) ? d4Q.l56((Q5.lowerBound.y - this.p2.y), H5) : Number.POSITIVE_INFINITY); this.p1.x = this.p2.x + d4Q.f56(V5, Q5); this.p1.y = this.p2.y + d4Q.G56(H5, Q5); }; D5.b2SeparationFunction = function() { this.m_localPoint = new x5; this.m_axis = new x5; }; D5.prototype.Initialize = function(Q5, V5, H5, z5, P5) { this.m_proxyA = V5; this.m_proxyB = z5; var C5 = parseInt(Q5.count); U5.b2Assert(d4Q.j56(d4Q.M3J, C5) && d4Q.R56(C5, d4Q.k3J)); var Z5, m5, s5, N5, I5 = N5 = s5 = z5 = V5 = d4Q.M3J, t5 = d4Q.M3J; I5 = d4Q.M3J; if (d4Q.e56(C5, d4Q.K3J)) { this.m_type = D5.e_points; Z5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.M3J]); m5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.M3J]); C5 = Z5; Q5 = H5.R; V5 = H5.position.x + (d4Q.g56(Q5.col1.x, C5.x) + d4Q.Y56(Q5.col2.x, C5.y)); z5 = H5.position.y + (d4Q.E56(Q5.col1.y, C5.x) + d4Q.H96(Q5.col2.y, C5.y)); C5 = m5; Q5 = P5.R; s5 = P5.position.x + (d4Q.z96(Q5.col1.x, C5.x) + d4Q.Z96(Q5.col2.x, C5.y)); N5 = P5.position.y + (d4Q.m96(Q5.col1.y, C5.x) + d4Q.S96(Q5.col2.y, C5.y)); this.m_axis.x = d4Q.q96(s5, V5); this.m_axis.y = d4Q.I96(N5, z5); this.m_axis.Normalize(); } else { if (d4Q.T96(Q5.indexB[d4Q.M3J], Q5.indexB[d4Q.K3J])) { this.m_type = D5.e_faceA; V5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.M3J]); z5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.K3J]); m5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.M3J]); this.m_localPoint.x = d4Q.h96(d4Q.t3J, (V5.x + z5.x)); this.m_localPoint.y = d4Q.W96(d4Q.t3J, (V5.y + z5.y)); this.m_axis = k5.CrossVF(k5.SubtractVV(z5, V5), d4Q.K3J); this.m_axis.Normalize(); C5 = this.m_axis; Q5 = H5.R; I5 = d4Q.k96(Q5.col1.x, C5.x) + d4Q.K96(Q5.col2.x, C5.y); t5 = d4Q.J96(Q5.col1.y, C5.x) + d4Q.u96(Q5.col2.y, C5.y); C5 = this.m_localPoint; Q5 = H5.R; V5 = H5.position.x + (d4Q.L96(Q5.col1.x, C5.x) + d4Q.r96(Q5.col2.x, C5.y)); z5 = H5.position.y + (d4Q.B96(Q5.col1.y, C5.x) + d4Q.V36(Q5.col2.y, C5.y)); C5 = m5; Q5 = P5.R; s5 = P5.position.x + (d4Q.y36(Q5.col1.x, C5.x) + d4Q.C36(Q5.col2.x, C5.y)); N5 = P5.position.y + (d4Q.s36(Q5.col1.y, C5.x) + d4Q.a36(Q5.col2.y, C5.y)); I5 = d4Q.t36((s5 - V5), I5) + d4Q.o36((N5 - z5), t5); } else if (d4Q.n36(Q5.indexA[d4Q.M3J], Q5.indexA[d4Q.M3J])) { this.m_type = D5.e_faceB; s5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.M3J]); N5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.K3J]); Z5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.M3J]); this.m_localPoint.x = d4Q.O36(d4Q.t3J, (s5.x + N5.x)); this.m_localPoint.y = d4Q.w36(d4Q.t3J, (s5.y + N5.y)); this.m_axis = k5.CrossVF(k5.SubtractVV(N5, s5), d4Q.K3J); this.m_axis.Normalize(); C5 = this.m_axis; Q5 = P5.R; I5 = d4Q.b36(Q5.col1.x, C5.x) + d4Q.p36(Q5.col2.x, C5.y); t5 = d4Q.M36(Q5.col1.y, C5.x) + d4Q.X36(Q5.col2.y, C5.y); C5 = this.m_localPoint; Q5 = P5.R; s5 = P5.position.x + (d4Q.F36(Q5.col1.x, C5.x) + d4Q.D36(Q5.col2.x, C5.y)); N5 = P5.position.y + (d4Q.x36(Q5.col1.y, C5.x) + d4Q.Q16(Q5.col2.y, C5.y)); C5 = Z5; Q5 = H5.R; V5 = H5.position.x + (d4Q.i16(Q5.col1.x, C5.x) + d4Q.P16(Q5.col2.x, C5.y)); z5 = H5.position.y + (d4Q.N16(Q5.col1.y, C5.x) + d4Q.A16(Q5.col2.y, C5.y)); I5 = d4Q.v16((V5 - s5), I5) + d4Q.c16((z5 - N5), t5); } else { V5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.M3J]); z5 = this.m_proxyA.GetVertex(Q5.indexA[d4Q.K3J]); s5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.M3J]); N5 = this.m_proxyB.GetVertex(Q5.indexB[d4Q.K3J]); k5.MulX(H5, Z5); Z5 = k5.MulMV(H5.R, k5.SubtractVV(z5, V5)); k5.MulX(P5, m5); I5 = k5.MulMV(P5.R, k5.SubtractVV(N5, s5)); P5 = d4Q.d16(Z5.x, Z5.x) + d4Q.U16(Z5.y, Z5.y); m5 = d4Q.l16(I5.x, I5.x) + d4Q.f16(I5.y, I5.y); Q5 = k5.SubtractVV(I5, Z5); H5 = d4Q.G16(Z5.x, Q5.x) + d4Q.j16(Z5.y, Q5.y); Q5 = d4Q.R16(I5.x, Q5.x) + d4Q.e16(I5.y, Q5.y); Z5 = d4Q.g16(Z5.x, I5.x) + d4Q.Y16(Z5.y, I5.y); t5 = d4Q.E16(P5 * m5, Z5 * Z5); I5 = d4Q.M3J; if (d4Q.H66(t5, d4Q.M3J)) I5 = k5.Clamp(d4Q.z66((Z5 * Q5 - H5 * m5), t5), d4Q.M3J, d4Q.K3J); if (d4Q.Z66((Z5 * I5 + Q5) / m5, d4Q.M3J)) I5 = k5.Clamp(d4Q.m66((Z5 - H5), P5), d4Q.M3J, d4Q.K3J); Z5 = new x5; Z5.x = V5.x + d4Q.S66(I5, (z5.x - V5.x)); Z5.y = V5.y + d4Q.q66(I5, (z5.y - V5.y)); m5 = new x5; m5.x = s5.x + d4Q.I66(I5, (N5.x - s5.x)); m5.y = s5.y + d4Q.T66(I5, (N5.y - s5.y)); if (d4Q.h66(I5, d4Q.M3J) || d4Q.W66(I5, d4Q.K3J)) { this.m_type = D5.e_faceB; this.m_axis = k5.CrossVF(k5.SubtractVV(N5, s5), d4Q.K3J); this.m_axis.Normalize(); this.m_localPoint = m5; } else { this.m_type = D5.e_faceA; this.m_axis = k5.CrossVF(k5.SubtractVV(z5, V5), d4Q.K3J); this.m_localPoint = Z5; } } d4Q.k66(I5, d4Q.M3J) && this.m_axis.NegativeSelf(); } }; D5.prototype.Evaluate = function(Q5, V5) { var H5, z5, P5 = d4Q.M3J; switch (this.m_type) { case D5.e_points: H5 = k5.MulTMV(Q5.R, this.m_axis); z5 = k5.MulTMV(V5.R, this.m_axis.GetNegative()); H5 = this.m_proxyA.GetSupportVertex(H5); z5 = this.m_proxyB.GetSupportVertex(z5); H5 = k5.MulX(Q5, H5); z5 = k5.MulX(V5, z5); return P5 = d4Q.K66((z5.x - H5.x), this.m_axis.x) + d4Q.J66((z5.y - H5.y), this.m_axis.y); case D5.e_faceA: P5 = k5.MulMV(Q5.R, this.m_axis); H5 = k5.MulX(Q5, this.m_localPoint); z5 = k5.MulTMV(V5.R, P5.GetNegative()); z5 = this.m_proxyB.GetSupportVertex(z5); z5 = k5.MulX(V5, z5); return P5 = d4Q.u66((z5.x - H5.x), P5.x) + d4Q.L66((z5.y - H5.y), P5.y); case D5.e_faceB: P5 = k5.MulMV(V5.R, this.m_axis); z5 = k5.MulX(V5, this.m_localPoint); H5 = k5.MulTMV(Q5.R, P5.GetNegative()); H5 = this.m_proxyA.GetSupportVertex(H5); H5 = k5.MulX(Q5, H5); return P5 = d4Q.r66((H5.x - z5.x), P5.x) + d4Q.B66((H5.y - z5.y), P5.y); default: U5.b2Assert(d4Q.d3J); return d4Q.M3J; } }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Collision.b2SeparationFunction.e_faceA = Q5; }, H5 = function(Q5) { Box2D.Collision.b2SeparationFunction.e_points = Q5; }, z5 = function(Q5) { Box2D.Collision.b2SeparationFunction.e_faceB = Q5; }; H5(d4Q.K3J); V5(d4Q.p3J); z5(d4Q.F3J); }); P9.b2Simplex = function() { this.m_v1 = new S9; this.m_v2 = new S9; this.m_v3 = new S9; this.m_vertices = new Vector(d4Q.k3J); }; P9.prototype.b2Simplex = function() { this.m_vertices[d4Q.M3J] = this.m_v1; this.m_vertices[d4Q.K3J] = this.m_v2; this.m_vertices[d4Q.p3J] = this.m_v3; }; P9.prototype.ReadCache = function(Q5, V5, H5, z5, P5) { U5.b2Assert(d4Q.V86(d4Q.M3J, Q5.count) && d4Q.y86(Q5.count, d4Q.k3J)); var C5, Z5; this.m_count = Q5.count; for (var m5 = this.m_vertices, s5 = d4Q.M3J; d4Q.C86(s5, this.m_count); s5++) { var N5 = m5[s5]; N5.indexA = Q5.indexA[s5]; N5.indexB = Q5.indexB[s5]; C5 = V5.GetVertex(N5.indexA); Z5 = z5.GetVertex(N5.indexB); N5.wA = k5.MulX(H5, C5); N5.wB = k5.MulX(P5, Z5); N5.w = k5.SubtractVV(N5.wB, N5.wA); N5.a = d4Q.M3J; } if (d4Q.s86(this.m_count, d4Q.K3J)) { Q5 = Q5.metric; C5 = this.GetMetric(); if (d4Q.a86(C5, d4Q.t3J * Q5) || d4Q.t86(d4Q.p3J * Q5, C5) || d4Q.o86(C5, Number.MIN_VALUE)) this.m_count = d4Q.M3J; } if (d4Q.n86(this.m_count, d4Q.M3J)) { N5 = m5[d4Q.M3J]; N5.indexA = d4Q.M3J; N5.indexB = d4Q.M3J; C5 = V5.GetVertex(d4Q.M3J); Z5 = z5.GetVertex(d4Q.M3J); N5.wA = k5.MulX(H5, C5); N5.wB = k5.MulX(P5, Z5); N5.w = k5.SubtractVV(N5.wB, N5.wA); this.m_count = d4Q.K3J; } }; P9.prototype.WriteCache = function(Q5) { Q5.metric = this.GetMetric(); Q5.count = Box2D.parseUInt(this.m_count); for (var V5 = this.m_vertices, H5 = d4Q.M3J; d4Q.O86(H5, this.m_count); H5++) { Q5.indexA[H5] = Box2D.parseUInt(V5[H5].indexA); Q5.indexB[H5] = Box2D.parseUInt(V5[H5].indexB); } }; P9.prototype.GetSearchDirection = function() { switch (this.m_count) { case d4Q.K3J: return this.m_v1.w.GetNegative(); case d4Q.p3J: var Q5 = k5.SubtractVV(this.m_v2.w, this.m_v1.w); return d4Q.w86(k5.CrossVV(Q5, this.m_v1.w.GetNegative()), d4Q.M3J) ? k5.CrossFV(d4Q.K3J, Q5) : k5.CrossVF(Q5, d4Q.K3J); default: U5.b2Assert(d4Q.d3J); return new x5; } }; P9.prototype.GetClosestPoint = function() { switch (this.m_count) { case d4Q.M3J: U5.b2Assert(d4Q.d3J); return new x5; case d4Q.K3J: return this.m_v1.w; case d4Q.p3J: return new x5(d4Q.b86(this.m_v1.a, this.m_v1.w.x) + d4Q.p86(this.m_v2.a, this.m_v2.w.x), d4Q.M86(this.m_v1.a, this.m_v1.w.y) + d4Q.X86(this.m_v2.a, this.m_v2.w.y)); default: U5.b2Assert(d4Q.d3J); return new x5; } }; P9.prototype.GetWitnessPoints = function(Q5, V5) { switch (this.m_count) { case d4Q.M3J: U5.b2Assert(d4Q.d3J); break; case d4Q.K3J: Q5.SetV(this.m_v1.wA); V5.SetV(this.m_v1.wB); break; case d4Q.p3J: Q5.x = d4Q.F86(this.m_v1.a, this.m_v1.wA.x) + d4Q.D86(this.m_v2.a, this.m_v2.wA.x); Q5.y = d4Q.x86(this.m_v1.a, this.m_v1.wA.y) + d4Q.Q06(this.m_v2.a, this.m_v2.wA.y); V5.x = d4Q.i06(this.m_v1.a, this.m_v1.wB.x) + d4Q.P06(this.m_v2.a, this.m_v2.wB.x); V5.y = d4Q.N06(this.m_v1.a, this.m_v1.wB.y) + d4Q.A06(this.m_v2.a, this.m_v2.wB.y); break; case d4Q.k3J: V5.x = Q5.x = d4Q.v06(this.m_v1.a, this.m_v1.wA.x) + d4Q.c06(this.m_v2.a, this.m_v2.wA.x) + d4Q.d06(this.m_v3.a, this.m_v3.wA.x); V5.y = Q5.y = d4Q.U06(this.m_v1.a, this.m_v1.wA.y) + d4Q.l06(this.m_v2.a, this.m_v2.wA.y) + d4Q.f06(this.m_v3.a, this.m_v3.wA.y); break; default: U5.b2Assert(d4Q.d3J); } }; P9.prototype.GetMetric = function() { switch (this.m_count) { case d4Q.M3J: U5.b2Assert(d4Q.d3J); return d4Q.M3J; case d4Q.K3J: return d4Q.M3J; case d4Q.p3J: return k5.SubtractVV(this.m_v1.w, this.m_v2.w).Length(); case d4Q.k3J: return k5.CrossVV(k5.SubtractVV(this.m_v2.w, this.m_v1.w), k5.SubtractVV(this.m_v3.w, this.m_v1.w)); default: U5.b2Assert(d4Q.d3J); return d4Q.M3J; } }; P9.prototype.Solve2 = function() { var Q5 = this.m_v1.w, V5 = this.m_v2.w, H5 = k5.SubtractVV(V5, Q5); Q5 = -(d4Q.G06(Q5.x, H5.x) + d4Q.j06(Q5.y, H5.y)); if (d4Q.R06(Q5, d4Q.M3J)) this.m_count = this.m_v1.a = d4Q.K3J; else { V5 = d4Q.e06(V5.x, H5.x) + d4Q.g06(V5.y, H5.y); if (d4Q.Y06(V5, d4Q.M3J)) { this.m_count = this.m_v2.a = d4Q.K3J; this.m_v1.Set(this.m_v2); } else { H5 = d4Q.E06(d4Q.K3J, (V5 + Q5)); this.m_v1.a = d4Q.H46(V5, H5); this.m_v2.a = d4Q.z46(Q5, H5); this.m_count = d4Q.p3J; } } }; P9.prototype.Solve3 = function() { var Q5 = this.m_v1.w, V5 = this.m_v2.w, H5 = this.m_v3.w, z5 = k5.SubtractVV(V5, Q5), P5 = k5.Dot(Q5, z5), C5 = k5.Dot(V5, z5); P5 = -P5; var Z5 = k5.SubtractVV(H5, Q5), m5 = k5.Dot(Q5, Z5), s5 = k5.Dot(H5, Z5); m5 = -m5; var N5 = k5.SubtractVV(H5, V5), I5 = k5.Dot(V5, N5); N5 = k5.Dot(H5, N5); I5 = -I5; Z5 = k5.CrossVV(z5, Z5); z5 = d4Q.Z46(Z5, k5.CrossVV(V5, H5)); H5 = d4Q.m46(Z5, k5.CrossVV(H5, Q5)); Q5 = d4Q.S46(Z5, k5.CrossVV(Q5, V5)); if (d4Q.q46(P5, d4Q.M3J) && d4Q.I46(m5, d4Q.M3J)) this.m_count = this.m_v1.a = d4Q.K3J; else if (d4Q.T46(C5, d4Q.M3J) && d4Q.h46(P5, d4Q.M3J) && d4Q.W46(Q5, d4Q.M3J)) { s5 = d4Q.k46(d4Q.K3J, (C5 + P5)); this.m_v1.a = d4Q.K46(C5, s5); this.m_v2.a = d4Q.J46(P5, s5); this.m_count = d4Q.p3J; } else if (d4Q.u46(s5, d4Q.M3J) && d4Q.L46(m5, d4Q.M3J) && d4Q.r46(H5, d4Q.M3J)) { C5 = d4Q.B46(d4Q.K3J, (s5 + m5)); this.m_v1.a = d4Q.V76(s5, C5); this.m_v3.a = d4Q.y76(m5, C5); this.m_count = d4Q.p3J; this.m_v2.Set(this.m_v3); } else if (d4Q.C76(C5, d4Q.M3J) && d4Q.s76(I5, d4Q.M3J)) { this.m_count = this.m_v2.a = d4Q.K3J; this.m_v1.Set(this.m_v2); } else if (d4Q.a76(s5, d4Q.M3J) && d4Q.t76(N5, d4Q.M3J)) { this.m_count = this.m_v3.a = d4Q.K3J; this.m_v1.Set(this.m_v3); } else if (d4Q.o76(N5, d4Q.M3J) && d4Q.n76(I5, d4Q.M3J) && d4Q.O76(z5, d4Q.M3J)) { C5 = d4Q.w76(d4Q.K3J, (N5 + I5)); this.m_v2.a = d4Q.b76(N5, C5); this.m_v3.a = d4Q.p76(I5, C5); this.m_count = d4Q.p3J; this.m_v1.Set(this.m_v3); } else { C5 = d4Q.M76(d4Q.K3J, (z5 + H5 + Q5)); this.m_v1.a = d4Q.X76(z5, C5); this.m_v2.a = d4Q.F76(H5, C5); this.m_v3.a = d4Q.D76(Q5, C5); this.m_count = d4Q.k3J; } }; y9.b2SimplexCache = function() { this.indexA = new Vector_a2j_Number(d4Q.k3J); this.indexB = new Vector_a2j_Number(d4Q.k3J); }; S9.b2SimplexVertex = function() {}; S9.prototype.Set = function(Q5) { this.wA.SetV(Q5.wA); this.wB.SetV(Q5.wB); this.w.SetV(Q5.w); this.a = Q5.a; this.indexA = Q5.indexA; this.indexB = Q5.indexB; }; H9.b2TimeOfImpact = function() {}; H9.TimeOfImpact = function(Q5) { var V5 = (9.76E2 > (140., 0x1C) ? (105., 50) : (125.2E1, 102)), H5 = (0x205 <= (96.30E1, 15) ? (91., 0x85) : (37.7E1, 21) >= 0xC2 ? (47.0E1, "img") : (3.45E2, 13.36E2) > 0x12A ? (4E0, 0.025) : (4.2E1, 120.)), z5 = ((21., 76.0E1) <= 0x16F ? (148., 94) : 44.6E1 > (145, 32.7E1) ? (66., 0.02) : (71.3E1, 4.9E1)); ++H9.b2_toiCalls; var P5 = Q5.proxyA, C5 = Q5.proxyB, Z5 = Q5.sweepA, m5 = Q5.sweepB; U5.b2Assert(d4Q.x76(Z5.t0, m5.t0)); U5.b2Assert(d4Q.Q26(d4Q.K3J - Z5.t0, Number.MIN_VALUE)); var s5 = P5.m_radius + C5.m_radius; Q5 = Q5.tolerance; var N5 = d4Q.M3J, I5 = d4Q.M3J, t5 = d4Q.M3J; H9.s_cache.count = d4Q.M3J; for (H9.s_distanceInput.useRadii = d4Q.d3J;;) { Z5.GetTransform(H9.s_xfA, N5); m5.GetTransform(H9.s_xfB, N5); H9.s_distanceInput.proxyA = P5; H9.s_distanceInput.proxyB = C5; H9.s_distanceInput.transformA = H9.s_xfA; H9.s_distanceInput.transformB = H9.s_xfB; d5.Distance(H9.s_distanceOutput, H9.s_cache, H9.s_distanceInput); if (d4Q.i26(H9.s_distanceOutput.distance, d4Q.M3J)) { N5 = d4Q.K3J; break; } H9.s_fcn.Initialize(H9.s_cache, P5, H9.s_xfA, C5, H9.s_xfB); var b5 = H9.s_fcn.Evaluate(H9.s_xfA, H9.s_xfB); if (d4Q.P26(b5, d4Q.M3J)) { N5 = d4Q.K3J; break; } if (d4Q.N26(I5, d4Q.M3J)) t5 = d4Q.A26(b5, s5) ? k5.Max(d4Q.v26(s5, Q5), d4Q.c26(d4Q.f1J, s5)) : k5.Max(d4Q.d26(b5, Q5), d4Q.U26(z5, s5)); if (d4Q.l26(b5 - t5, d4Q.t3J * Q5)) { if (d4Q.f26(I5, d4Q.M3J)) { N5 = d4Q.K3J; break; } break; } var f5 = N5, T5 = N5, o5 = d4Q.K3J; b5 = b5; Z5.GetTransform(H9.s_xfA, o5); m5.GetTransform(H9.s_xfB, o5); var c5 = H9.s_fcn.Evaluate(H9.s_xfA, H9.s_xfB); if (d4Q.G26(c5, t5)) { N5 = d4Q.K3J; break; } for (var $ = d4Q.M3J;;) { var r5 = d4Q.M3J; r5 = d4Q.j26($, d4Q.K3J) ? T5 + d4Q.R26((t5 - b5), (o5 - T5), (c5 - b5)) : d4Q.F26(d4Q.t3J, (T5 + o5)); Z5.GetTransform(H9.s_xfA, r5); m5.GetTransform(H9.s_xfB, r5); var W5 = H9.s_fcn.Evaluate(H9.s_xfA, H9.s_xfB); if (d4Q.D26(k5.Abs(W5 - t5), H5 * Q5)) { f5 = r5; break; } if (d4Q.x26(W5, t5)) { T5 = r5; b5 = W5; } else { o5 = r5; c5 = W5; }++$; ++H9.b2_toiRootIters; if (d4Q.Q5k($, V5)) break; } H9.b2_toiMaxRootIters = k5.Max(H9.b2_toiMaxRootIters, $); if (d4Q.i5k(f5, (d4Q.K3J + d4Q.m1J * Number.MIN_VALUE) * N5)) break; N5 = f5; I5++; ++H9.b2_toiIters; if (d4Q.P5k(I5, d4Q.U1J)) break; } H9.b2_toiMaxIters = k5.Max(H9.b2_toiMaxIters, I5); return N5; }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Collision.b2TimeOfImpact.b2_toiCalls = Q5; }, H5 = function(Q5) { Box2D.Collision.b2TimeOfImpact.b2_toiMaxIters = Q5; }, z5 = function(Q5) { Box2D.Collision.b2TimeOfImpact.b2_toiRootIters = Q5; }, P5 = function(Q5) { Box2D.Collision.b2TimeOfImpact.b2_toiIters = Q5; }, C5 = function(Q5) { Box2D.Collision.b2TimeOfImpact.b2_toiMaxRootIters = Q5; }; V5(d4Q.M3J); P5(d4Q.M3J); H5(d4Q.M3J); z5(d4Q.M3J); C5(d4Q.M3J); Box2D.Collision.b2TimeOfImpact.s_cache = new y9; Box2D.Collision.b2TimeOfImpact.s_distanceInput = new O5; Box2D.Collision.b2TimeOfImpact.s_xfA = new m9; Box2D.Collision.b2TimeOfImpact.s_xfB = new m9; Box2D.Collision.b2TimeOfImpact.s_fcn = new D5; Box2D.Collision.b2TimeOfImpact.s_distanceOutput = new w5; }); h9.b2TOIInput = function() { this.proxyA = new l5; this.proxyB = new l5; this.sweepA = new B5; this.sweepB = new B5; }; n9.b2WorldManifold = function() { this.m_normal = new x5; }; n9.prototype.b2WorldManifold = function() { this.m_points = new Vector(U5.b2_maxManifoldPoints); for (var Q5 = d4Q.M3J; d4Q.N5k(Q5, U5.b2_maxManifoldPoints); Q5++) this.m_points[Q5] = new x5; }; n9.prototype.Initialize = function(Q5, V5, H5, z5, P5) { if (d4Q.A5k(H5, undefined)) H5 = d4Q.M3J; if (d4Q.v5k(P5, undefined)) P5 = d4Q.M3J; if (d4Q.c5k(Q5.m_pointCount, d4Q.M3J)) { var C5 = d4Q.M3J, Z5, m5, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = d4Q.M3J, t5 = d4Q.M3J, b5 = d4Q.M3J; Z5 = d4Q.M3J; switch (Q5.m_type) { case F5.e_circles: m5 = V5.R; Z5 = Q5.m_localPoint; C5 = V5.position.x + d4Q.d5k(m5.col1.x, Z5.x) + d4Q.U5k(m5.col2.x, Z5.y); V5 = V5.position.y + d4Q.l5k(m5.col1.y, Z5.x) + d4Q.f5k(m5.col2.y, Z5.y); m5 = z5.R; Z5 = Q5.m_points[d4Q.M3J].m_localPoint; Q5 = z5.position.x + d4Q.G5k(m5.col1.x, Z5.x) + d4Q.j5k(m5.col2.x, Z5.y); z5 = z5.position.y + d4Q.R5k(m5.col1.y, Z5.x) + d4Q.e5k(m5.col2.y, Z5.y); Z5 = d4Q.g5k(Q5, C5); m5 = d4Q.Y5k(z5, V5); s5 = d4Q.E5k(Z5, Z5) + d4Q.H9k(m5, m5); if (d4Q.z9k(s5, Number.MIN_VALUE * Number.MIN_VALUE)) { s5 = Math.sqrt(s5); this.m_normal.x = d4Q.Z9k(Z5, s5); this.m_normal.y = d4Q.m9k(m5, s5); } else { this.m_normal.x = d4Q.K3J; this.m_normal.y = d4Q.M3J; } Z5 = V5 + d4Q.S9k(H5, this.m_normal.y); z5 = d4Q.q9k(z5, P5 * this.m_normal.y); this.m_points[d4Q.M3J].x = d4Q.I9k(d4Q.t3J, (C5 + H5 * this.m_normal.x + (Q5 - P5 * this.m_normal.x))); this.m_points[d4Q.M3J].y = d4Q.T9k(d4Q.t3J, (Z5 + z5)); break; case F5.e_faceA: m5 = V5.R; Z5 = Q5.m_localPlaneNormal; s5 = d4Q.h9k(m5.col1.x, Z5.x) + d4Q.W9k(m5.col2.x, Z5.y); N5 = d4Q.k9k(m5.col1.y, Z5.x) + d4Q.K9k(m5.col2.y, Z5.y); m5 = V5.R; Z5 = Q5.m_localPoint; I5 = V5.position.x + d4Q.J9k(m5.col1.x, Z5.x) + d4Q.u9k(m5.col2.x, Z5.y); t5 = V5.position.y + d4Q.L9k(m5.col1.y, Z5.x) + d4Q.r9k(m5.col2.y, Z5.y); this.m_normal.x = s5; this.m_normal.y = N5; for (C5 = d4Q.M3J; d4Q.B9k(C5, Q5.m_pointCount); C5++) { m5 = z5.R; Z5 = Q5.m_points[C5].m_localPoint; b5 = z5.position.x + d4Q.V3k(m5.col1.x, Z5.x) + d4Q.y3k(m5.col2.x, Z5.y); Z5 = z5.position.y + d4Q.C3k(m5.col1.y, Z5.x) + d4Q.s3k(m5.col2.y, Z5.y); this.m_points[C5].x = b5 + d4Q.a3k(d4Q.t3J, (H5 - (b5 - I5) * s5 - (Z5 - t5) * N5 - P5), s5); this.m_points[C5].y = Z5 + d4Q.q3k(d4Q.t3J, (H5 - (b5 - I5) * s5 - (Z5 - t5) * N5 - P5), N5); } break; case F5.e_faceB: m5 = z5.R; Z5 = Q5.m_localPlaneNormal; s5 = d4Q.d3k(m5.col1.x, Z5.x) + d4Q.U3k(m5.col2.x, Z5.y); N5 = d4Q.l3k(m5.col1.y, Z5.x) + d4Q.f3k(m5.col2.y, Z5.y); m5 = z5.R; Z5 = Q5.m_localPoint; I5 = z5.position.x + d4Q.G3k(m5.col1.x, Z5.x) + d4Q.j3k(m5.col2.x, Z5.y); t5 = z5.position.y + d4Q.R3k(m5.col1.y, Z5.x) + d4Q.e3k(m5.col2.y, Z5.y); this.m_normal.x = -s5; this.m_normal.y = -N5; for (C5 = d4Q.M3J; d4Q.g3k(C5, Q5.m_pointCount); C5++) { m5 = V5.R; Z5 = Q5.m_points[C5].m_localPoint; b5 = V5.position.x + d4Q.Y3k(m5.col1.x, Z5.x) + d4Q.E3k(m5.col2.x, Z5.y); Z5 = V5.position.y + d4Q.H1k(m5.col1.y, Z5.x) + d4Q.z1k(m5.col2.y, Z5.y); this.m_points[C5].x = b5 + d4Q.Z1k(d4Q.t3J, (P5 - (b5 - I5) * s5 - (Z5 - t5) * N5 - H5), s5); this.m_points[C5].y = Z5 + d4Q.A1k(d4Q.t3J, (P5 - (b5 - I5) * s5 - (Z5 - t5) * N5 - H5), N5); } } } }; T9.ClipVertex = function() { this.v = new x5; this.id = new q5; }; T9.prototype.Set = function(Q5) { this.v.SetV(Q5.v); this.id.Set(Q5.id); }; Z9.Features = function() {}; Object.defineProperty(Z9.prototype, M5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return this._referenceEdge; } }); Object.defineProperty(Z9.prototype, M5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = ((7.520E2, 1.) < (0xA9, 88) ? (7.25E2, 4294967040) : (0x97, 28.) > 0x1F8 ? "D" : (0x20F, 70.8E1)), z5 = function(Q5) { V5 = Q5; }; if (d4Q.t1k(V5, undefined)) z5(d4Q.M3J); this._referenceEdge = V5; this._m_id._key = d4Q.o1k(this._m_id._key & H5, this._referenceEdge & d4Q.b1J); } }); Object.defineProperty(Z9.prototype, e5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return this._incidentEdge; } }); Object.defineProperty(Z9.prototype, e5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = ((0x1EA, 0x1C3) < 0x152 ? 3.83E2 : (135, 109.) < 8.0E2 ? (0x1C4, 4294902015) : 77 > (127.80E1, 0x110) ? 27 : (65., 5.33E2)), z5 = function(Q5) { V5 = Q5; }; if (d4Q.n1k(V5, undefined)) z5(d4Q.M3J); this._incidentEdge = V5; this._m_id._key = d4Q.O1k(this._m_id._key & H5, this._incidentEdge << d4Q.Y3J & d4Q.G3J); } }); Object.defineProperty(Z9.prototype, R5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return this._incidentVertex; } }); Object.defineProperty(Z9.prototype, R5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = 4278255615, z5 = function(Q5) { V5 = Q5; }; if (d4Q.w1k(V5, undefined)) z5(d4Q.M3J); this._incidentVertex = V5; this._m_id._key = d4Q.b1k(this._m_id._key & H5, this._incidentVertex << d4Q.i1J & d4Q.w1J); } }); Object.defineProperty(Z9.prototype, Q9, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return this._flip; } }); Object.defineProperty(Z9.prototype, Q9, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = function(Q5) { V5 = Q5; }; if (d4Q.p1k(V5, undefined)) H5(d4Q.M3J); this._flip = V5; this._m_id._key = d4Q.M1k(this._m_id._key & d4Q.h1J, this._flip << V9 & Y5); } }); })(); (function() { var W5 = Box2D.Common.b2Settings, Q9 = Box2D.Collision.Shapes.b2CircleShape, R5 = Box2D.Collision.Shapes.b2EdgeChainDef, e5 = Box2D.Collision.Shapes.b2EdgeShape, M5 = Box2D.Collision.Shapes.b2MassData, V9 = Box2D.Collision.Shapes.b2PolygonShape, Y5 = Box2D.Collision.Shapes.b2Shape, N9 = Box2D.Common.Math.b2Mat22, h5 = Box2D.Common.Math.b2Math, a9 = Box2D.Common.Math.b2Transform, u5 = Box2D.Common.Math.b2Vec2, p5 = Box2D.Collision.b2Distance, U5 = Box2D.Collision.b2DistanceInput, k5 = Box2D.Collision.b2DistanceOutput, B5 = Box2D.Collision.b2DistanceProxy, m9 = Box2D.Collision.b2SimplexCache; Box2D.inherit(Q9, Box2D.Collision.Shapes.b2Shape); Q9.prototype.__super = Box2D.Collision.Shapes.b2Shape.prototype; Q9.b2CircleShape = function() { Box2D.Collision.Shapes.b2Shape.b2Shape.apply(this, arguments); this.m_p = new u5; }; Q9.prototype.Copy = function() { var Q5 = new Q9; Q5.Set(this); return Q5; }; Q9.prototype.Set = function(Q5) { this.__super.Set.call(this, Q5); if (Box2D.is(Q5, Q9)) this.m_p.SetV((d4Q.X1k(Q5, Q9) ? Q5 : d4Q.A1J).m_p); }; Q9.prototype.TestPoint = function(Q5, V5) { var H5 = Q5.R, z5 = Q5.position.x + (d4Q.F1k(H5.col1.x, this.m_p.x) + d4Q.D1k(H5.col2.x, this.m_p.y)); H5 = Q5.position.y + (d4Q.x1k(H5.col1.y, this.m_p.x) + d4Q.Q6k(H5.col2.y, this.m_p.y)); z5 = d4Q.i6k(V5.x, z5); H5 = d4Q.P6k(V5.y, H5); return d4Q.N6k(z5 * z5 + H5 * H5, this.m_radius * this.m_radius); }; Q9.prototype.RayCast = function(Q5, V5, H5) { var z5 = H5.R, P5 = d4Q.A6k(V5.p1.x, (H5.position.x + (z5.col1.x * this.m_p.x + z5.col2.x * this.m_p.y))); H5 = d4Q.v6k(V5.p1.y, (H5.position.y + (z5.col1.y * this.m_p.x + z5.col2.y * this.m_p.y))); z5 = d4Q.c6k(V5.p2.x, V5.p1.x); var C5 = d4Q.d6k(V5.p2.y, V5.p1.y), Z5 = d4Q.U6k(P5, z5) + d4Q.l6k(H5, C5), m5 = d4Q.f6k(z5, z5) + d4Q.G6k(C5, C5), s5 = d4Q.j6k(Z5 * Z5, m5 * (P5 * P5 + H5 * H5 - this.m_radius * this.m_radius)); if (d4Q.R6k(s5, d4Q.M3J) || d4Q.e6k(m5, Number.MIN_VALUE)) return d4Q.d3J; Z5 = -(Z5 + Math.sqrt(s5)); if (d4Q.g6k(d4Q.M3J, Z5) && d4Q.Y6k(Z5, V5.maxFraction * m5)) { Z5 /= m5; Q5.fraction = Z5; Q5.normal.x = P5 + d4Q.E6k(Z5, z5); Q5.normal.y = H5 + d4Q.H8k(Z5, C5); Q5.normal.Normalize(); return d4Q.v1J; } return d4Q.d3J; }; Q9.prototype.ComputeAABB = function(Q5, V5) { var H5 = V5.R, z5 = V5.position.x + (d4Q.z8k(H5.col1.x, this.m_p.x) + d4Q.Z8k(H5.col2.x, this.m_p.y)); H5 = V5.position.y + (d4Q.m8k(H5.col1.y, this.m_p.x) + d4Q.S8k(H5.col2.y, this.m_p.y)); Q5.lowerBound.Set(d4Q.q8k(z5, this.m_radius), d4Q.I8k(H5, this.m_radius)); Q5.upperBound.Set(z5 + this.m_radius, H5 + this.m_radius); }; Q9.prototype.ComputeMass = function(Q5, V5) { if (d4Q.T8k(V5, undefined)) V5 = d4Q.M3J; Q5.mass = d4Q.h8k(V5, W5.b2_pi, this.m_radius, this.m_radius); Q5.center.SetV(this.m_p); Q5.I = d4Q.b8k(Q5.mass, (d4Q.t3J * this.m_radius * this.m_radius + (this.m_p.x * this.m_p.x + this.m_p.y * this.m_p.y))); }; Q9.prototype.ComputeSubmergedArea = function(Q5, V5, H5, z5) { if (d4Q.p8k(V5, undefined)) V5 = d4Q.M3J; H5 = h5.MulX(H5, this.m_p); var P5 = -(d4Q.M8k(h5.Dot(Q5, H5), V5)); if (P5 < -this.m_radius + Number.MIN_VALUE) return d4Q.M3J; if (d4Q.X8k(P5, this.m_radius)) { z5.SetV(H5); return d4Q.F8k(Math.PI, this.m_radius, this.m_radius); } V5 = d4Q.r8k(this.m_radius, this.m_radius); var C5 = d4Q.B8k(P5, P5); P5 = d4Q.V0k(V5, (Math.asin(P5 / this.m_radius) + Math.PI / d4Q.p3J)) + d4Q.y0k(P5, Math.sqrt(V5 - C5)); V5 = -d4Q.p3J / d4Q.k3J * Math.pow(d4Q.C0k(V5, C5), d4Q.o3J) / P5; z5.x = H5.x + d4Q.s0k(Q5.x, V5); z5.y = H5.y + d4Q.a0k(Q5.y, V5); return P5; }; Q9.prototype.GetLocalPosition = function() { return this.m_p; }; Q9.prototype.SetLocalPosition = function(Q5) { this.m_p.SetV(Q5); }; Q9.prototype.GetRadius = function() { return this.m_radius; }; Q9.prototype.SetRadius = function(Q5) { if (d4Q.t0k(Q5, undefined)) Q5 = d4Q.M3J; this.m_radius = Q5; }; Q9.prototype.b2CircleShape = function(Q5) { if (d4Q.o0k(Q5, undefined)) Q5 = d4Q.M3J; this.__super.b2Shape.call(this); this.m_type = Y5.e_circleShape; this.m_radius = Q5; }; R5.b2EdgeChainDef = function() {}; R5.prototype.b2EdgeChainDef = function() { this.vertexCount = d4Q.M3J; this.isALoop = d4Q.v1J; this.vertices = []; }; Box2D.inherit(e5, Box2D.Collision.Shapes.b2Shape); e5.prototype.__super = Box2D.Collision.Shapes.b2Shape.prototype; e5.b2EdgeShape = function() { Box2D.Collision.Shapes.b2Shape.b2Shape.apply(this, arguments); this.s_supportVec = new u5; this.m_v1 = new u5; this.m_v2 = new u5; this.m_coreV1 = new u5; this.m_coreV2 = new u5; this.m_normal = new u5; this.m_direction = new u5; this.m_cornerDir1 = new u5; this.m_cornerDir2 = new u5; }; e5.prototype.TestPoint = function() { return d4Q.d3J; }; e5.prototype.RayCast = function(Q5, V5, H5) { var z5, P5 = d4Q.n0k(V5.p2.x, V5.p1.x), C5 = d4Q.O0k(V5.p2.y, V5.p1.y); z5 = H5.R; var Z5 = H5.position.x + (d4Q.w0k(z5.col1.x, this.m_v1.x) + d4Q.b0k(z5.col2.x, this.m_v1.y)), m5 = H5.position.y + (d4Q.p0k(z5.col1.y, this.m_v1.x) + d4Q.M0k(z5.col2.y, this.m_v1.y)), s5 = H5.position.y + (d4Q.X0k(z5.col1.y, this.m_v2.x) + d4Q.F0k(z5.col2.y, this.m_v2.y)) - m5; H5 = -(H5.position.x + (d4Q.D0k(z5.col1.x, this.m_v2.x) + d4Q.x0k(z5.col2.x, this.m_v2.y)) - Z5); z5 = d4Q.Q4k(d4Q.m1J, Number.MIN_VALUE); var N5 = -(d4Q.i4k(P5, s5) + d4Q.P4k(C5, H5)); if (d4Q.N4k(N5, z5)) { Z5 = d4Q.A4k(V5.p1.x, Z5); var I5 = d4Q.v4k(V5.p1.y, m5); m5 = d4Q.c4k(Z5, s5) + d4Q.d4k(I5, H5); if (d4Q.U4k(d4Q.M3J, m5) && d4Q.l4k(m5, V5.maxFraction * N5)) { V5 = -P5 * I5 + d4Q.f4k(C5, Z5); if (-z5 * N5 <= V5 && d4Q.G4k(V5, N5 * (d4Q.K3J + z5))) { m5 /= N5; Q5.fraction = m5; V5 = Math.sqrt(d4Q.j4k(s5, s5) + d4Q.R4k(H5, H5)); Q5.normal.x = d4Q.e4k(s5, V5); Q5.normal.y = d4Q.g4k(H5, V5); return d4Q.v1J; } } } return d4Q.d3J; }; e5.prototype.ComputeAABB = function(Q5, V5) { var H5 = V5.R, z5 = V5.position.x + (d4Q.Y4k(H5.col1.x, this.m_v1.x) + d4Q.E4k(H5.col2.x, this.m_v1.y)), P5 = V5.position.y + (d4Q.H7k(H5.col1.y, this.m_v1.x) + d4Q.z7k(H5.col2.y, this.m_v1.y)), C5 = V5.position.x + (d4Q.Z7k(H5.col1.x, this.m_v2.x) + d4Q.m7k(H5.col2.x, this.m_v2.y)); H5 = V5.position.y + (d4Q.S7k(H5.col1.y, this.m_v2.x) + d4Q.q7k(H5.col2.y, this.m_v2.y)); if (d4Q.I7k(z5, C5)) { Q5.lowerBound.x = z5; Q5.upperBound.x = C5; } else { Q5.lowerBound.x = C5; Q5.upperBound.x = z5; } if (d4Q.T7k(P5, H5)) { Q5.lowerBound.y = P5; Q5.upperBound.y = H5; } else { Q5.lowerBound.y = H5; Q5.upperBound.y = P5; } }; e5.prototype.ComputeMass = function(Q5) { Q5.mass = d4Q.M3J; Q5.center.SetV(this.m_v1); Q5.I = d4Q.M3J; }; e5.prototype.ComputeSubmergedArea = function(Q5, V5, H5, z5) { if (d4Q.h7k(V5, undefined)) V5 = d4Q.M3J; var P5 = new u5(d4Q.W7k(Q5.x, V5), d4Q.k7k(Q5.y, V5)), C5 = h5.MulX(H5, this.m_v1); H5 = h5.MulX(H5, this.m_v2); var Z5 = d4Q.K7k(h5.Dot(Q5, C5), V5); Q5 = d4Q.J7k(h5.Dot(Q5, H5), V5); if (d4Q.u7k(Z5, d4Q.M3J)) if (d4Q.L7k(Q5, d4Q.M3J)) return d4Q.M3J; else { C5.x = -Q5 / (d4Q.r7k(Z5, Q5)) * C5.x + d4Q.B7k(Z5, (Z5 - Q5), H5.x); C5.y = -Q5 / (d4Q.H2k(Z5, Q5)) * C5.y + d4Q.z2k(Z5, (Z5 - Q5), H5.y); } else if (d4Q.N2k(Q5, d4Q.M3J)) { H5.x = -Q5 / (d4Q.A2k(Z5, Q5)) * C5.x + d4Q.v2k(Z5, (Z5 - Q5), H5.x); H5.y = -Q5 / (d4Q.o2k(Z5, Q5)) * C5.y + d4Q.n2k(Z5, (Z5 - Q5), H5.y); } z5.x = d4Q.h2k((P5.x + C5.x + H5.x), d4Q.k3J); z5.y = d4Q.W2k((P5.y + C5.y + H5.y), d4Q.k3J); return d4Q.k2k(d4Q.t3J, ((C5.x - P5.x) * (H5.y - P5.y) - (C5.y - P5.y) * (H5.x - P5.x))); }; e5.prototype.GetLength = function() { return this.m_length; }; e5.prototype.GetVertex1 = function() { return this.m_v1; }; e5.prototype.GetVertex2 = function() { return this.m_v2; }; e5.prototype.GetCoreVertex1 = function() { return this.m_coreV1; }; e5.prototype.GetCoreVertex2 = function() { return this.m_coreV2; }; e5.prototype.GetNormalVector = function() { return this.m_normal; }; e5.prototype.GetDirectionVector = function() { return this.m_direction; }; e5.prototype.GetCorner1Vector = function() { return this.m_cornerDir1; }; e5.prototype.GetCorner2Vector = function() { return this.m_cornerDir2; }; e5.prototype.Corner1IsConvex = function() { return this.m_cornerConvex1; }; e5.prototype.Corner2IsConvex = function() { return this.m_cornerConvex2; }; e5.prototype.GetFirstVertex = function(Q5) { var V5 = Q5.R; return new u5(Q5.position.x + (d4Q.K2k(V5.col1.x, this.m_coreV1.x) + d4Q.J2k(V5.col2.x, this.m_coreV1.y)), Q5.position.y + (d4Q.u2k(V5.col1.y, this.m_coreV1.x) + d4Q.L2k(V5.col2.y, this.m_coreV1.y))); }; e5.prototype.GetNextEdge = function() { return this.m_nextEdge; }; e5.prototype.GetPrevEdge = function() { return this.m_prevEdge; }; e5.prototype.Support = function(Q5, V5, H5) { if (d4Q.r2k(V5, undefined)) V5 = d4Q.M3J; if (d4Q.B2k(H5, undefined)) H5 = d4Q.M3J; var z5 = Q5.R, P5 = Q5.position.x + (d4Q.V5X(z5.col1.x, this.m_coreV1.x) + d4Q.y5X(z5.col2.x, this.m_coreV1.y)), C5 = Q5.position.y + (d4Q.C5X(z5.col1.y, this.m_coreV1.x) + d4Q.s5X(z5.col2.y, this.m_coreV1.y)), Z5 = Q5.position.x + (d4Q.a5X(z5.col1.x, this.m_coreV2.x) + d4Q.t5X(z5.col2.x, this.m_coreV2.y)); Q5 = Q5.position.y + (d4Q.o5X(z5.col1.y, this.m_coreV2.x) + d4Q.n5X(z5.col2.y, this.m_coreV2.y)); if (d4Q.O5X(P5 * V5 + C5 * H5, Z5 * V5 + Q5 * H5)) { this.s_supportVec.x = P5; this.s_supportVec.y = C5; } else { this.s_supportVec.x = Z5; this.s_supportVec.y = Q5; } return this.s_supportVec; }; e5.prototype.b2EdgeShape = function(Q5, V5) { this.__super.b2Shape.call(this); this.m_type = Y5.e_edgeShape; this.m_nextEdge = this.m_prevEdge = d4Q.A1J; this.m_v1 = Q5; this.m_v2 = V5; this.m_direction.Set(d4Q.w5X(this.m_v2.x, this.m_v1.x), d4Q.b5X(this.m_v2.y, this.m_v1.y)); this.m_length = this.m_direction.Normalize(); this.m_normal.Set(this.m_direction.y, -this.m_direction.x); this.m_coreV1.Set(-W5.b2_toiSlop * (d4Q.p5X(this.m_normal.x, this.m_direction.x)) + this.m_v1.x, -W5.b2_toiSlop * (d4Q.M5X(this.m_normal.y, this.m_direction.y)) + this.m_v1.y); this.m_coreV2.Set(-W5.b2_toiSlop * (this.m_normal.x + this.m_direction.x) + this.m_v2.x, -W5.b2_toiSlop * (this.m_normal.y + this.m_direction.y) + this.m_v2.y); this.m_cornerDir1 = this.m_normal; this.m_cornerDir2.Set(-this.m_normal.x, -this.m_normal.y); }; e5.prototype.SetPrevEdge = function(Q5, V5, H5, z5) { this.m_prevEdge = Q5; this.m_coreV1 = V5; this.m_cornerDir1 = H5; this.m_cornerConvex1 = z5; }; e5.prototype.SetNextEdge = function(Q5, V5, H5, z5) { this.m_nextEdge = Q5; this.m_coreV2 = V5; this.m_cornerDir2 = H5; this.m_cornerConvex2 = z5; }; M5.b2MassData = function() { this.mass = d4Q.M3J; this.center = new u5(d4Q.M3J, d4Q.M3J); this.I = d4Q.M3J; }; Box2D.inherit(V9, Box2D.Collision.Shapes.b2Shape); V9.prototype.__super = Box2D.Collision.Shapes.b2Shape.prototype; V9.b2PolygonShape = function() { Box2D.Collision.Shapes.b2Shape.b2Shape.apply(this, arguments); }; V9.prototype.Copy = function() { var Q5 = new V9; Q5.Set(this); return Q5; }; V9.prototype.Set = function(Q5) { this.__super.Set.call(this, Q5); if (Box2D.is(Q5, V9)) { Q5 = d4Q.X5X(Q5, V9) ? Q5 : d4Q.A1J; this.m_centroid.SetV(Q5.m_centroid); this.m_vertexCount = Q5.m_vertexCount; this.Reserve(this.m_vertexCount); for (var V5 = d4Q.M3J; d4Q.F5X(V5, this.m_vertexCount); V5++) { this.m_vertices[V5].SetV(Q5.m_vertices[V5]); this.m_normals[V5].SetV(Q5.m_normals[V5]); } } }; V9.prototype.SetAsArray = function(Q5, V5) { if (d4Q.D5X(V5, undefined)) V5 = 0; var H5 = new Vector, z5 = 0, P5; for (z5 = 0; d4Q.x5X(z5, Q5.length); ++z5) { P5 = Q5[z5]; H5.push(P5); } this.SetAsVector(H5, V5); }; V9.AsArray = function(Q5, V5) { if (d4Q.Q9X(V5, undefined)) V5 = d4Q.M3J; var H5 = new V9; H5.SetAsArray(Q5, V5); return H5; }; V9.prototype.SetAsVector = function(Q5, V5) { if (d4Q.i9X(V5, undefined)) V5 = d4Q.M3J; if (d4Q.P9X(V5, d4Q.M3J)) V5 = Q5.length; W5.b2Assert(d4Q.N9X(d4Q.p3J, V5)); this.m_vertexCount = V5; this.Reserve(V5); var H5 = d4Q.M3J; for (H5 = d4Q.M3J; d4Q.A9X(H5, this.m_vertexCount); H5++) this.m_vertices[H5].SetV(Q5[H5]); for (H5 = d4Q.M3J; d4Q.v9X(H5, this.m_vertexCount); ++H5) { var z5 = parseInt(H5), P5 = parseInt(d4Q.c9X(H5 + d4Q.K3J, this.m_vertexCount) ? H5 + d4Q.K3J : d4Q.M3J); z5 = h5.SubtractVV(this.m_vertices[P5], this.m_vertices[z5]); W5.b2Assert(d4Q.d9X(z5.LengthSquared(), Number.MIN_VALUE)); this.m_normals[H5].SetV(h5.CrossVF(z5, d4Q.K3J)); this.m_normals[H5].Normalize(); } this.m_centroid = V9.ComputeCentroid(this.m_vertices, this.m_vertexCount); }; V9.AsVector = function(Q5, V5) { if (d4Q.U9X(V5, undefined)) V5 = d4Q.M3J; var H5 = new V9; H5.SetAsVector(Q5, V5); return H5; }; V9.prototype.SetAsBox = function(Q5, V5) { if (d4Q.l9X(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.f9X(V5, undefined)) V5 = d4Q.M3J; this.m_vertexCount = d4Q.F3J; this.Reserve(d4Q.F3J); this.m_vertices[d4Q.M3J].Set(-Q5, -V5); this.m_vertices[d4Q.K3J].Set(Q5, -V5); this.m_vertices[d4Q.p3J].Set(Q5, V5); this.m_vertices[d4Q.k3J].Set(-Q5, V5); this.m_normals[d4Q.M3J].Set(d4Q.M3J, -d4Q.K3J); this.m_normals[d4Q.K3J].Set(d4Q.K3J, d4Q.M3J); this.m_normals[d4Q.p3J].Set(d4Q.M3J, d4Q.K3J); this.m_normals[d4Q.k3J].Set(-d4Q.K3J, d4Q.M3J); this.m_centroid.SetZero(); }; V9.AsBox = function(Q5, V5) { if (d4Q.G9X(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.j9X(V5, undefined)) V5 = d4Q.M3J; var H5 = new V9; H5.SetAsBox(Q5, V5); return H5; }; V9.prototype.SetAsOrientedBox = function(Q5, V5, H5, z5) { if (d4Q.R9X(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.e9X(V5, undefined)) V5 = d4Q.M3J; if (d4Q.g9X(H5, undefined)) H5 = d4Q.A1J; if (d4Q.Y9X(z5, undefined)) z5 = d4Q.M3J; this.m_vertexCount = d4Q.F3J; this.Reserve(d4Q.F3J); this.m_vertices[d4Q.M3J].Set(-Q5, -V5); this.m_vertices[d4Q.K3J].Set(Q5, -V5); this.m_vertices[d4Q.p3J].Set(Q5, V5); this.m_vertices[d4Q.k3J].Set(-Q5, V5); this.m_normals[d4Q.M3J].Set(d4Q.M3J, -d4Q.K3J); this.m_normals[d4Q.K3J].Set(d4Q.K3J, d4Q.M3J); this.m_normals[d4Q.p3J].Set(d4Q.M3J, d4Q.K3J); this.m_normals[d4Q.k3J].Set(-d4Q.K3J, d4Q.M3J); this.m_centroid = H5; Q5 = new a9; Q5.position = H5; Q5.R.Set(z5); for (H5 = d4Q.M3J; d4Q.E9X(H5, this.m_vertexCount); ++H5) { this.m_vertices[H5] = h5.MulX(Q5, this.m_vertices[H5]); this.m_normals[H5] = h5.MulMV(Q5.R, this.m_normals[H5]); } }; V9.AsOrientedBox = function(Q5, V5, H5, z5) { if (d4Q.H3X(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.z3X(V5, undefined)) V5 = d4Q.M3J; if (d4Q.Z3X(H5, undefined)) H5 = d4Q.A1J; if (d4Q.m3X(z5, undefined)) z5 = d4Q.M3J; var P5 = new V9; P5.SetAsOrientedBox(Q5, V5, H5, z5); return P5; }; V9.prototype.SetAsEdge = function(Q5, V5) { this.m_vertexCount = d4Q.p3J; this.Reserve(d4Q.p3J); this.m_vertices[d4Q.M3J].SetV(Q5); this.m_vertices[d4Q.K3J].SetV(V5); this.m_centroid.x = d4Q.S3X(d4Q.t3J, (Q5.x + V5.x)); this.m_centroid.y = d4Q.q3X(d4Q.t3J, (Q5.y + V5.y)); this.m_normals[d4Q.M3J] = h5.CrossVF(h5.SubtractVV(V5, Q5), d4Q.K3J); this.m_normals[d4Q.M3J].Normalize(); this.m_normals[d4Q.K3J].x = -this.m_normals[d4Q.M3J].x; this.m_normals[d4Q.K3J].y = -this.m_normals[d4Q.M3J].y; }; V9.AsEdge = function(Q5, V5) { var H5 = new V9; H5.SetAsEdge(Q5, V5); return H5; }; V9.prototype.TestPoint = function(Q5, V5) { var H5; H5 = Q5.R; for (var z5 = d4Q.I3X(V5.x, Q5.position.x), P5 = d4Q.T3X(V5.y, Q5.position.y), C5 = d4Q.h3X(z5, H5.col1.x) + d4Q.W3X(P5, H5.col1.y), Z5 = d4Q.k3X(z5, H5.col2.x) + d4Q.K3X(P5, H5.col2.y), m5 = d4Q.M3J; d4Q.J3X(m5, this.m_vertexCount); ++m5) { H5 = this.m_vertices[m5]; z5 = d4Q.u3X(C5, H5.x); P5 = d4Q.L3X(Z5, H5.y); H5 = this.m_normals[m5]; if (d4Q.r3X(H5.x * z5 + H5.y * P5, d4Q.M3J)) return d4Q.d3J; } return d4Q.v1J; }; V9.prototype.RayCast = function(Q5, V5, H5) { var z5 = d4Q.M3J, P5 = V5.maxFraction, C5 = d4Q.M3J, Z5 = d4Q.M3J, m5, s5; C5 = d4Q.B3X(V5.p1.x, H5.position.x); Z5 = d4Q.V1X(V5.p1.y, H5.position.y); m5 = H5.R; var N5 = d4Q.y1X(C5, m5.col1.x) + d4Q.C1X(Z5, m5.col1.y), I5 = d4Q.s1X(C5, m5.col2.x) + d4Q.a1X(Z5, m5.col2.y); C5 = d4Q.t1X(V5.p2.x, H5.position.x); Z5 = d4Q.o1X(V5.p2.y, H5.position.y); m5 = H5.R; V5 = d4Q.n1X(C5, m5.col1.x) + d4Q.O1X(Z5, m5.col1.y) - N5; m5 = d4Q.w1X(C5, m5.col2.x) + d4Q.b1X(Z5, m5.col2.y) - I5; for (var t5 = parseInt(-d4Q.K3J), b5 = d4Q.M3J; d4Q.p1X(b5, this.m_vertexCount); ++b5) { s5 = this.m_vertices[b5]; C5 = d4Q.M1X(s5.x, N5); Z5 = d4Q.X1X(s5.y, I5); s5 = this.m_normals[b5]; C5 = d4Q.F1X(s5.x, C5) + d4Q.D1X(s5.y, Z5); Z5 = d4Q.x1X(s5.x, V5) + d4Q.Q6X(s5.y, m5); if (d4Q.i6X(Z5, d4Q.M3J)) { if (d4Q.P6X(C5, d4Q.M3J)) return d4Q.d3J; } else if (d4Q.N6X(Z5, d4Q.M3J) && d4Q.A6X(C5, z5 * Z5)) { z5 = d4Q.v6X(C5, Z5); t5 = b5; } else if (d4Q.c6X(Z5, d4Q.M3J) && d4Q.d6X(C5, P5 * Z5)) P5 = d4Q.U6X(C5, Z5); if (d4Q.l6X(P5, z5 - Number.MIN_VALUE)) return d4Q.d3J; } if (d4Q.f6X(t5, d4Q.M3J)) { Q5.fraction = z5; m5 = H5.R; s5 = this.m_normals[t5]; Q5.normal.x = d4Q.G6X(m5.col1.x, s5.x) + d4Q.j6X(m5.col2.x, s5.y); Q5.normal.y = d4Q.R6X(m5.col1.y, s5.x) + d4Q.e6X(m5.col2.y, s5.y); return d4Q.v1J; } return d4Q.d3J; }; V9.prototype.ComputeAABB = function(Q5, V5) { for (var H5 = V5.R, z5 = this.m_vertices[d4Q.M3J], P5 = V5.position.x + (d4Q.g6X(H5.col1.x, z5.x) + d4Q.Y6X(H5.col2.x, z5.y)), C5 = V5.position.y + (d4Q.E6X(H5.col1.y, z5.x) + d4Q.H8X(H5.col2.y, z5.y)), Z5 = P5, m5 = C5, s5 = d4Q.K3J; d4Q.z8X(s5, this.m_vertexCount); ++s5) { z5 = this.m_vertices[s5]; var N5 = V5.position.x + (d4Q.Z8X(H5.col1.x, z5.x) + d4Q.m8X(H5.col2.x, z5.y)); z5 = V5.position.y + (d4Q.S8X(H5.col1.y, z5.x) + d4Q.q8X(H5.col2.y, z5.y)); P5 = d4Q.I8X(P5, N5) ? P5 : N5; C5 = d4Q.T8X(C5, z5) ? C5 : z5; Z5 = d4Q.h8X(Z5, N5) ? Z5 : N5; m5 = d4Q.W8X(m5, z5) ? m5 : z5; } Q5.lowerBound.x = d4Q.k8X(P5, this.m_radius); Q5.lowerBound.y = d4Q.K8X(C5, this.m_radius); Q5.upperBound.x = Z5 + this.m_radius; Q5.upperBound.y = m5 + this.m_radius; }; V9.prototype.ComputeMass = function(Q5, V5) { var H5 = ((4.09E2, 61) >= (58.90E1, 136.) ? 0xCC : 7.32E2 <= (0x5C, 11.35E2) ? (0x222, 0.25) : (0x15E, 0x18A)); if (d4Q.J8X(V5, undefined)) V5 = d4Q.M3J; if (d4Q.u8X(this.m_vertexCount, d4Q.p3J)) { Q5.center.x = d4Q.L8X(d4Q.t3J, (this.m_vertices[d4Q.M3J].x + this.m_vertices[d4Q.K3J].x)); Q5.center.y = d4Q.r8X(d4Q.t3J, (this.m_vertices[d4Q.M3J].y + this.m_vertices[d4Q.K3J].y)); Q5.mass = d4Q.M3J; Q5.I = d4Q.M3J; } else { for (var z5 = d4Q.M3J, P5 = d4Q.M3J, C5 = d4Q.M3J, Z5 = d4Q.M3J, m5 = d4Q.B8X(d4Q.K3J, d4Q.k3J), s5 = d4Q.M3J; d4Q.V0X(s5, this.m_vertexCount); ++s5) { var N5 = this.m_vertices[s5], I5 = d4Q.y0X(s5 + d4Q.K3J, this.m_vertexCount) ? this.m_vertices[parseInt(s5 + d4Q.K3J)] : this.m_vertices[d4Q.M3J], t5 = d4Q.C0X(N5.x, d4Q.M3J), b5 = d4Q.s0X(N5.y, d4Q.M3J), f5 = d4Q.a0X(I5.x, d4Q.M3J), T5 = d4Q.t0X(I5.y, d4Q.M3J), o5 = d4Q.o0X(t5 * T5, b5 * f5), c5 = d4Q.n0X(d4Q.t3J, o5); C5 += c5; z5 += d4Q.O0X(c5, m5, (d4Q.M3J + N5.x + I5.x)); P5 += d4Q.W0X(c5, m5, (d4Q.M3J + N5.y + I5.y)); N5 = t5; b5 = b5; f5 = f5; T5 = T5; Z5 += d4Q.G0X(o5, (m5 * (H5 * (N5 * N5 + f5 * N5 + f5 * f5) + (d4Q.M3J * N5 + d4Q.M3J * f5)) + d4Q.M3J + (m5 * (H5 * (b5 * b5 + T5 * b5 + T5 * T5) + (d4Q.M3J * b5 + d4Q.M3J * T5)) + d4Q.M3J))); } Q5.mass = d4Q.j0X(V5, C5); z5 *= d4Q.R0X(d4Q.K3J, C5); P5 *= d4Q.e0X(d4Q.K3J, C5); Q5.center.Set(z5, P5); Q5.I = d4Q.g0X(V5, Z5); } }; V9.prototype.ComputeSubmergedArea = function(Q5, V5, H5, z5) { if (d4Q.Y0X(V5, undefined)) V5 = d4Q.M3J; var P5 = h5.MulTMV(H5.R, Q5), C5 = d4Q.E0X(V5, h5.Dot(Q5, H5.position)), Z5 = new Vector_a2j_Number, m5 = d4Q.M3J, s5 = parseInt(-d4Q.K3J); V5 = parseInt(-d4Q.K3J); var N5 = d4Q.d3J; for (Q5 = Q5 = d4Q.M3J; d4Q.H4X(Q5, this.m_vertexCount); ++Q5) { Z5[Q5] = d4Q.z4X(h5.Dot(P5, this.m_vertices[Q5]), C5); var I5 = Z5[Q5] < -Number.MIN_VALUE; if (d4Q.Z4X(Q5, d4Q.M3J)) if (I5) { if (!N5) { s5 = d4Q.m4X(Q5, d4Q.K3J); m5++; } } else if (N5) { V5 = d4Q.S4X(Q5, d4Q.K3J); m5++; } N5 = I5; } switch (m5) { case d4Q.M3J: if (N5) { Q5 = new M5; this.ComputeMass(Q5, d4Q.K3J); z5.SetV(h5.MulX(H5, Q5.center)); return Q5.mass; } else return d4Q.M3J; case d4Q.K3J: if (s5 == -d4Q.K3J) s5 = d4Q.q4X(this.m_vertexCount, d4Q.K3J); else V5 = d4Q.I4X(this.m_vertexCount, d4Q.K3J); } Q5 = parseInt(d4Q.T4X((s5 + d4Q.K3J), this.m_vertexCount)); P5 = parseInt(d4Q.h4X((V5 + d4Q.K3J), this.m_vertexCount)); C5 = d4Q.W4X((d4Q.M3J - Z5[s5]), (Z5[Q5] - Z5[s5])); Z5 = d4Q.k4X((d4Q.M3J - Z5[V5]), (Z5[P5] - Z5[V5])); s5 = new u5(d4Q.K4X(this.m_vertices[s5].x, (d4Q.K3J - C5)) + d4Q.J4X(this.m_vertices[Q5].x, C5), d4Q.u4X(this.m_vertices[s5].y, (d4Q.K3J - C5)) + d4Q.L4X(this.m_vertices[Q5].y, C5)); V5 = new u5(d4Q.r4X(this.m_vertices[V5].x, (d4Q.K3J - Z5)) + d4Q.B4X(this.m_vertices[P5].x, Z5), d4Q.V7X(this.m_vertices[V5].y, (d4Q.K3J - Z5)) + d4Q.y7X(this.m_vertices[P5].y, Z5)); Z5 = d4Q.M3J; C5 = new u5; m5 = this.m_vertices[Q5]; for (Q5 = Q5; d4Q.C7X(Q5, P5);) { Q5 = d4Q.s7X((Q5 + d4Q.K3J), this.m_vertexCount); N5 = d4Q.a7X(Q5, P5) ? V5 : this.m_vertices[Q5]; I5 = d4Q.t7X(d4Q.t3J, ((m5.x - s5.x) * (N5.y - s5.y) - (m5.y - s5.y) * (N5.x - s5.x))); Z5 += I5; C5.x += d4Q.o7X(I5, (s5.x + m5.x + N5.x), d4Q.k3J); C5.y += d4Q.T7X(I5, (s5.y + m5.y + N5.y), d4Q.k3J); m5 = N5; } C5.Multiply(d4Q.l7X(d4Q.K3J, Z5)); z5.SetV(h5.MulX(H5, C5)); return Z5; }; V9.prototype.GetVertexCount = function() { return this.m_vertexCount; }; V9.prototype.GetVertices = function() { return this.m_vertices; }; V9.prototype.GetNormals = function() { return this.m_normals; }; V9.prototype.GetSupport = function(Q5) { for (var V5 = d4Q.M3J, H5 = d4Q.f7X(this.m_vertices[d4Q.M3J].x, Q5.x) + d4Q.G7X(this.m_vertices[d4Q.M3J].y, Q5.y), z5 = d4Q.K3J; d4Q.j7X(z5, this.m_vertexCount); ++z5) { var P5 = d4Q.R7X(this.m_vertices[z5].x, Q5.x) + d4Q.e7X(this.m_vertices[z5].y, Q5.y); if (d4Q.g7X(P5, H5)) { V5 = z5; H5 = P5; } } return V5; }; V9.prototype.GetSupportVertex = function(Q5) { for (var V5 = d4Q.M3J, H5 = d4Q.Y7X(this.m_vertices[d4Q.M3J].x, Q5.x) + d4Q.E7X(this.m_vertices[d4Q.M3J].y, Q5.y), z5 = d4Q.K3J; d4Q.H2X(z5, this.m_vertexCount); ++z5) { var P5 = d4Q.z2X(this.m_vertices[z5].x, Q5.x) + d4Q.Z2X(this.m_vertices[z5].y, Q5.y); if (d4Q.m2X(P5, H5)) { V5 = z5; H5 = P5; } } return this.m_vertices[V5]; }; V9.prototype.Validate = function() { return d4Q.d3J; }; V9.prototype.b2PolygonShape = function() { this.__super.b2Shape.call(this); this.m_type = Y5.e_polygonShape; this.m_centroid = new u5; this.m_vertices = new Vector; this.m_normals = new Vector; }; V9.prototype.Reserve = function(Q5) { if (d4Q.S2X(Q5, undefined)) Q5 = 0; for (var V5 = parseInt(this.m_vertices.length); d4Q.q2X(V5, Q5); V5++) { this.m_vertices[V5] = new u5; this.m_normals[V5] = new u5; } }; V9.ComputeCentroid = function(Q5, V5) { if (d4Q.I2X(V5, undefined)) V5 = d4Q.M3J; for (var H5 = new u5, z5 = d4Q.M3J, P5 = d4Q.T2X(d4Q.K3J, d4Q.k3J), C5 = d4Q.M3J; d4Q.h2X(C5, V5); ++C5) { var Z5 = Q5[C5], m5 = d4Q.W2X(C5 + d4Q.K3J, V5) ? Q5[parseInt(C5 + d4Q.K3J)] : Q5[d4Q.M3J], s5 = d4Q.k2X(d4Q.t3J, ((Z5.x - d4Q.M3J) * (m5.y - d4Q.M3J) - (Z5.y - d4Q.M3J) * (m5.x - d4Q.M3J))); z5 += s5; H5.x += d4Q.K2X(s5, P5, (d4Q.M3J + Z5.x + m5.x)); H5.y += d4Q.R2X(s5, P5, (d4Q.M3J + Z5.y + m5.y)); } H5.x *= d4Q.F2X(d4Q.K3J, z5); H5.y *= d4Q.D2X(d4Q.K3J, z5); return H5; }; V9.ComputeOBB = function(Q5, V5, H5) { var z5 = 0.95; if (d4Q.x2X(H5, undefined)) H5 = d4Q.M3J; var P5 = d4Q.M3J, C5 = new Vector(H5 + d4Q.K3J); for (P5 = d4Q.M3J; d4Q.Q5T(P5, H5); ++P5) C5[P5] = V5[P5]; C5[H5] = C5[d4Q.M3J]; V5 = Number.MAX_VALUE; for (P5 = d4Q.K3J; d4Q.i5T(P5, H5); ++P5) { var Z5 = C5[parseInt(d4Q.P5T(P5, d4Q.K3J))], m5 = d4Q.N5T(C5[P5].x, Z5.x), s5 = d4Q.A5T(C5[P5].y, Z5.y), N5 = Math.sqrt(d4Q.v5T(m5, m5) + d4Q.c5T(s5, s5)); m5 /= N5; s5 /= N5; for (var I5 = -s5, t5 = m5, b5 = N5 = Number.MAX_VALUE, f5 = -Number.MAX_VALUE, T5 = -Number.MAX_VALUE, o5 = d4Q.M3J; d4Q.d5T(o5, H5); ++o5) { var c5 = d4Q.U5T(C5[o5].x, Z5.x), n5 = d4Q.l5T(C5[o5].y, Z5.y), r5 = d4Q.f5T(m5, c5) + d4Q.G5T(s5, n5); c5 = d4Q.j5T(I5, c5) + d4Q.R5T(t5, n5); if (d4Q.e5T(r5, N5)) N5 = r5; if (d4Q.g5T(c5, b5)) b5 = c5; if (d4Q.Y5T(r5, f5)) f5 = r5; if (d4Q.E5T(c5, T5)) T5 = c5; } o5 = d4Q.H9T((f5 - N5), (T5 - b5)); if (d4Q.z9T(o5, z5 * V5)) { V5 = o5; Q5.R.col1.x = m5; Q5.R.col1.y = s5; Q5.R.col2.x = I5; Q5.R.col2.y = t5; m5 = d4Q.Z9T(d4Q.t3J, (N5 + f5)); s5 = d4Q.m9T(d4Q.t3J, (b5 + T5)); I5 = Q5.R; Q5.center.x = Z5.x + (d4Q.S9T(I5.col1.x, m5) + d4Q.q9T(I5.col2.x, s5)); Q5.center.y = Z5.y + (d4Q.I9T(I5.col1.y, m5) + d4Q.T9T(I5.col2.y, s5)); Q5.extents.x = d4Q.h9T(d4Q.t3J, (f5 - N5)); Q5.extents.y = d4Q.W9T(d4Q.t3J, (T5 - b5)); } } }; Box2D.postDefs.push(function() { Box2D.Collision.Shapes.b2PolygonShape.s_mat = new N9; }); Y5.b2Shape = function() {}; Y5.prototype.Copy = function() { return d4Q.A1J; }; Y5.prototype.Set = function(Q5) { this.m_radius = Q5.m_radius; }; Y5.prototype.GetType = function() { return this.m_type; }; Y5.prototype.TestPoint = function() { return d4Q.d3J; }; Y5.prototype.RayCast = function() { return d4Q.d3J; }; Y5.prototype.ComputeAABB = function() {}; Y5.prototype.ComputeMass = function() {}; Y5.prototype.ComputeSubmergedArea = function() { return d4Q.M3J; }; Y5.TestOverlap = function(Q5, V5, H5, z5) { var P5 = new U5; P5.proxyA = new B5; P5.proxyA.Set(Q5); P5.proxyB = new B5; P5.proxyB.Set(H5); P5.transformA = V5; P5.transformB = z5; P5.useRadii = d4Q.v1J; Q5 = new m9; Q5.count = d4Q.M3J; V5 = new k5; p5.Distance(V5, Q5, P5); return d4Q.k9T(V5.distance, d4Q.d1J * Number.MIN_VALUE); }; Y5.prototype.b2Shape = function() { this.m_type = Y5.e_unknownShape; this.m_radius = W5.b2_linearSlop; }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_edgeShape = Q5; }, H5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_polygonShape = Q5; }, z5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_circleShape = Q5; }, P5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_hitCollide = Q5; }, C5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_missCollide = Q5; }, Z5 = function(Q5) { Box2D.Collision.Shapes.b2Shape.e_shapeTypeCount = Q5; }; Box2D.Collision.Shapes.b2Shape.e_unknownShape = parseInt(-d4Q.K3J); z5(d4Q.M3J); H5(d4Q.K3J); V5(d4Q.p3J); Z5(d4Q.k3J); P5(d4Q.K3J); C5(d4Q.M3J); Box2D.Collision.Shapes.b2Shape.e_startsInsideCollide = parseInt(-d4Q.K3J); }); })(); (function() { var u5 = "color", p5 = "b", U5 = "g", k5 = ((92.7E1, 1.103E3) <= (98., 83.9E1) ? 13.44E2 : 0x91 >= (0xD, 6.80E1) ? (1.354E3, "r") : (0x87, 1.355E3)), B5 = Box2D.Common.b2Color, m9 = Box2D.Common.b2Settings, x5 = Box2D.Common.Math.b2Math; B5.b2Color = function() { this._b = this._g = this._r = d4Q.M3J; }; B5.prototype.b2Color = function(Q5, V5, H5) { if (d4Q.K9T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.J9T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.u9T(H5, undefined)) H5 = d4Q.M3J; this._r = Box2D.parseUInt(d4Q.L9T(d4Q.b1J, x5.Clamp(Q5, d4Q.M3J, d4Q.K3J))); this._g = Box2D.parseUInt(d4Q.r9T(d4Q.b1J, x5.Clamp(V5, d4Q.M3J, d4Q.K3J))); this._b = Box2D.parseUInt(d4Q.B9T(d4Q.b1J, x5.Clamp(H5, d4Q.M3J, d4Q.K3J))); }; B5.prototype.Set = function(Q5, V5, H5) { if (d4Q.V3T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.y3T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.C3T(H5, undefined)) H5 = d4Q.M3J; this._r = Box2D.parseUInt(d4Q.s3T(d4Q.b1J, x5.Clamp(Q5, d4Q.M3J, d4Q.K3J))); this._g = Box2D.parseUInt(d4Q.a3T(d4Q.b1J, x5.Clamp(V5, d4Q.M3J, d4Q.K3J))); this._b = Box2D.parseUInt(d4Q.t3T(d4Q.b1J, x5.Clamp(H5, d4Q.M3J, d4Q.K3J))); }; Object.defineProperty(B5.prototype, k5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = function(Q5) { V5 = Q5; }; if (d4Q.o3T(V5, undefined)) H5(d4Q.M3J); this._r = Box2D.parseUInt(d4Q.n3T(d4Q.b1J, x5.Clamp(V5, d4Q.M3J, d4Q.K3J))); } }); Object.defineProperty(B5.prototype, U5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = function(Q5) { V5 = Q5; }; if (d4Q.O3T(V5, undefined)) H5(d4Q.M3J); this._g = Box2D.parseUInt(d4Q.w3T(d4Q.b1J, x5.Clamp(V5, d4Q.M3J, d4Q.K3J))); } }); Object.defineProperty(B5.prototype, p5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, set: function(V5) { var H5 = function(Q5) { V5 = Q5; }; if (d4Q.b3T(V5, undefined)) H5(d4Q.M3J); this._b = Box2D.parseUInt(d4Q.p3T(d4Q.b1J, x5.Clamp(V5, d4Q.M3J, d4Q.K3J))); } }); Object.defineProperty(B5.prototype, u5, { enumerable: d4Q.d3J, configurable: d4Q.v1J, get: function() { return d4Q.M3T(this._r << d4Q.i1J, this._g << d4Q.Y3J, this._b); } }); m9.b2Settings = function() {}; m9.b2MixFriction = function(Q5, V5) { if (d4Q.u3T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.L3T(V5, undefined)) V5 = d4Q.M3J; return Math.sqrt(d4Q.r3T(Q5, V5)); }; m9.b2MixRestitution = function(Q5, V5) { if (d4Q.B3T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.V1T(V5, undefined)) V5 = d4Q.M3J; return d4Q.y1T(Q5, V5) ? Q5 : V5; }; m9.b2Assert = function(Q5) { var V5 = "Assertion Failed"; if (!Q5) throw V5; }; Box2D.postDefs.push(function() { var V5 = 0.01, H5 = 0.0050, z5 = 0.1, P5 = "2.1alpha", C5 = 180, Z5 = function() { Box2D.Common.b2Settings.b2_toiSlop = d4Q.U1T(d4Q.Y3J, m9.b2_linearSlop); }, m5 = function(Q5) { Box2D.Common.b2Settings.b2_velocityThreshold = Q5; }, s5 = function(Q5) { Box2D.Common.b2Settings.b2_linearSlop = Q5; }, N5 = function(Q5) { Box2D.Common.b2Settings.b2_maxManifoldPoints = Q5; }, I5 = function() { Box2D.Common.b2Settings.b2_maxRotation = d4Q.S1T(d4Q.t3J, m9.b2_pi); }, t5 = function(Q5) { Box2D.Common.b2Settings.b2_timeToSleep = Q5; }, b5 = function(Q5) { Box2D.Common.b2Settings.b2_pi = Q5.PI; }, f5 = function(Q5) { Box2D.Common.b2Settings.b2_linearSleepTolerance = Q5; }, T5 = function() { Box2D.Common.b2Settings.b2_polygonRadius = d4Q.b1T(d4Q.p3J, m9.b2_linearSlop); }, o5 = function() { Box2D.Common.b2Settings.b2_maxAngularCorrection = d4Q.I1T(d4Q.Y3J, C5, m9.b2_pi); }, c5 = function(Q5) { Box2D.Common.b2Settings.VERSION = Q5; }, n5 = function(Q5) { Box2D.Common.b2Settings.b2_contactBaumgarte = Q5; }, r5 = function(Q5) { Box2D.Common.b2Settings.b2_maxTranslation = Q5; }, W5 = function() { Box2D.Common.b2Settings.b2_maxTranslationSquared = d4Q.q1T(m9.b2_maxTranslation, m9.b2_maxTranslation); }, Q9 = function(Q5) { Box2D.Common.b2Settings.b2_maxTOIJointsPerIsland = Q5; }, R5 = function() { Box2D.Common.b2Settings.b2_maxRotationSquared = d4Q.m1T(m9.b2_maxRotation, m9.b2_maxRotation); }, e5 = function() { Box2D.Common.b2Settings.b2_angularSlop = d4Q.l1T(d4Q.p3J, C5, m9.b2_pi); }, M5 = function(Q5) { Box2D.Common.b2Settings.b2_aabbExtension = Q5; }, V9 = function(Q5) { Box2D.Common.b2Settings.b2_maxLinearCorrection = Q5; }, Y5 = function(Q5) { Box2D.Common.b2Settings.USHRT_MAX = Q5; }, N9 = function() { Box2D.Common.b2Settings.b2_angularSleepTolerance = d4Q.C1T(d4Q.p3J, C5, m9.b2_pi); }, h5 = function(Q5) { Box2D.Common.b2Settings.b2_maxTOIContactsPerIsland = Q5; }, a9 = function(Q5) { Box2D.Common.b2Settings.b2_aabbMultiplier = Q5; }; c5(P5); Y5(d4Q.n1J); b5(Math); N5(d4Q.p3J); M5(z5); a9(d4Q.p3J); T5(); s5(H5); e5(); Z5(); h5(d4Q.e3J); Q9(d4Q.e3J); m5(d4Q.K3J); V9(d4Q.c3J); o5(); r5(d4Q.p3J); W5(); I5(); R5(); n5(d4Q.c3J); t5(d4Q.t3J); f5(V5); N9(); }); })(); (function() { var T5 = Box2D.Common.Math.b2Mat22, o5 = Box2D.Common.Math.b2Mat33, c5 = Box2D.Common.Math.b2Math, n5 = Box2D.Common.Math.b2Sweep, r5 = Box2D.Common.Math.b2Transform, W5 = Box2D.Common.Math.b2Vec2, Q9 = Box2D.Common.Math.b2Vec3; T5.b2Mat22 = function() { this.col1 = new W5; this.col2 = new W5; }; T5.prototype.b2Mat22 = function() { this.SetIdentity(); }; T5.FromAngle = function(Q5) { if (d4Q.p1T(Q5, undefined)) Q5 = d4Q.M3J; var V5 = new T5; V5.Set(Q5); return V5; }; T5.FromVV = function(Q5, V5) { var H5 = new T5; H5.SetVV(Q5, V5); return H5; }; T5.prototype.Set = function(Q5) { if (d4Q.M1T(Q5, undefined)) Q5 = d4Q.M3J; var V5 = Math.cos(Q5); Q5 = Math.sin(Q5); this.col1.x = V5; this.col2.x = -Q5; this.col1.y = Q5; this.col2.y = V5; }; T5.prototype.SetVV = function(Q5, V5) { this.col1.SetV(Q5); this.col2.SetV(V5); }; T5.prototype.Copy = function() { var Q5 = new T5; Q5.SetM(this); return Q5; }; T5.prototype.SetM = function(Q5) { this.col1.SetV(Q5.col1); this.col2.SetV(Q5.col2); }; T5.prototype.AddM = function(Q5) { this.col1.x += Q5.col1.x; this.col1.y += Q5.col1.y; this.col2.x += Q5.col2.x; this.col2.y += Q5.col2.y; }; T5.prototype.SetIdentity = function() { this.col1.x = d4Q.K3J; this.col2.x = d4Q.M3J; this.col1.y = d4Q.M3J; this.col2.y = d4Q.K3J; }; T5.prototype.SetZero = function() { this.col1.x = d4Q.M3J; this.col2.x = d4Q.M3J; this.col1.y = d4Q.M3J; this.col2.y = d4Q.M3J; }; T5.prototype.GetAngle = function() { return Math.atan2(this.col1.y, this.col1.x); }; T5.prototype.GetInverse = function(Q5) { var V5 = this.col1.x, H5 = this.col2.x, z5 = this.col1.y, P5 = this.col2.y, C5 = d4Q.X1T(V5 * P5, H5 * z5); if (d4Q.F1T(C5, d4Q.M3J)) C5 = d4Q.D1T(d4Q.K3J, C5); Q5.col1.x = d4Q.x1T(C5, P5); Q5.col2.x = -C5 * H5; Q5.col1.y = -C5 * z5; Q5.col2.y = d4Q.Q6T(C5, V5); return Q5; }; T5.prototype.Solve = function(Q5, V5, H5) { if (d4Q.i6T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.P6T(H5, undefined)) H5 = d4Q.M3J; var z5 = this.col1.x, P5 = this.col2.x, C5 = this.col1.y, Z5 = this.col2.y, m5 = d4Q.N6T(z5 * Z5, P5 * C5); if (d4Q.A6T(m5, d4Q.M3J)) m5 = d4Q.v6T(d4Q.K3J, m5); Q5.x = d4Q.c6T(m5, (Z5 * V5 - P5 * H5)); Q5.y = d4Q.d6T(m5, (z5 * H5 - C5 * V5)); return Q5; }; T5.prototype.Abs = function() { this.col1.Abs(); this.col2.Abs(); }; o5.b2Mat33 = function() { this.col1 = new Q9; this.col2 = new Q9; this.col3 = new Q9; }; o5.prototype.b2Mat33 = function(Q5, V5, H5) { if (d4Q.U6T(Q5, undefined)) Q5 = d4Q.A1J; if (d4Q.l6T(V5, undefined)) V5 = d4Q.A1J; if (d4Q.f6T(H5, undefined)) H5 = d4Q.A1J; if (!Q5 && !V5 && !H5) { this.col1.SetZero(); this.col2.SetZero(); this.col3.SetZero(); } else { this.col1.SetV(Q5); this.col2.SetV(V5); this.col3.SetV(H5); } }; o5.prototype.SetVVV = function(Q5, V5, H5) { this.col1.SetV(Q5); this.col2.SetV(V5); this.col3.SetV(H5); }; o5.prototype.Copy = function() { return new o5(this.col1, this.col2, this.col3); }; o5.prototype.SetM = function(Q5) { this.col1.SetV(Q5.col1); this.col2.SetV(Q5.col2); this.col3.SetV(Q5.col3); }; o5.prototype.AddM = function(Q5) { this.col1.x += Q5.col1.x; this.col1.y += Q5.col1.y; this.col1.z += Q5.col1.z; this.col2.x += Q5.col2.x; this.col2.y += Q5.col2.y; this.col2.z += Q5.col2.z; this.col3.x += Q5.col3.x; this.col3.y += Q5.col3.y; this.col3.z += Q5.col3.z; }; o5.prototype.SetIdentity = function() { this.col1.x = d4Q.K3J; this.col2.x = d4Q.M3J; this.col3.x = d4Q.M3J; this.col1.y = d4Q.M3J; this.col2.y = d4Q.K3J; this.col3.y = d4Q.M3J; this.col1.z = d4Q.M3J; this.col2.z = d4Q.M3J; this.col3.z = d4Q.K3J; }; o5.prototype.SetZero = function() { this.col1.x = d4Q.M3J; this.col2.x = d4Q.M3J; this.col3.x = d4Q.M3J; this.col1.y = d4Q.M3J; this.col2.y = d4Q.M3J; this.col3.y = d4Q.M3J; this.col1.z = d4Q.M3J; this.col2.z = d4Q.M3J; this.col3.z = d4Q.M3J; }; o5.prototype.Solve22 = function(Q5, V5, H5) { if (d4Q.G6T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.j6T(H5, undefined)) H5 = d4Q.M3J; var z5 = this.col1.x, P5 = this.col2.x, C5 = this.col1.y, Z5 = this.col2.y, m5 = d4Q.R6T(z5 * Z5, P5 * C5); if (d4Q.e6T(m5, d4Q.M3J)) m5 = d4Q.g6T(d4Q.K3J, m5); Q5.x = d4Q.Y6T(m5, (Z5 * V5 - P5 * H5)); Q5.y = d4Q.E6T(m5, (z5 * H5 - C5 * V5)); return Q5; }; o5.prototype.Solve33 = function(Q5, V5, H5, z5) { if (d4Q.H8T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.z8T(H5, undefined)) H5 = d4Q.M3J; if (d4Q.Z8T(z5, undefined)) z5 = d4Q.M3J; var P5 = this.col1.x, C5 = this.col1.y, Z5 = this.col1.z, m5 = this.col2.x, s5 = this.col2.y, N5 = this.col2.z, I5 = this.col3.x, t5 = this.col3.y, b5 = this.col3.z, f5 = d4Q.m8T(P5, (s5 * b5 - N5 * t5)) + d4Q.S8T(C5, (N5 * I5 - m5 * b5)) + d4Q.q8T(Z5, (m5 * t5 - s5 * I5)); if (d4Q.I8T(f5, d4Q.M3J)) f5 = d4Q.T8T(d4Q.K3J, f5); Q5.x = d4Q.h8T(f5, (V5 * (s5 * b5 - N5 * t5) + H5 * (N5 * I5 - m5 * b5) + z5 * (m5 * t5 - s5 * I5))); Q5.y = d4Q.W8T(f5, (P5 * (H5 * b5 - z5 * t5) + C5 * (z5 * I5 - V5 * b5) + Z5 * (V5 * t5 - H5 * I5))); Q5.z = d4Q.k8T(f5, (P5 * (s5 * z5 - N5 * H5) + C5 * (N5 * V5 - m5 * z5) + Z5 * (m5 * H5 - s5 * V5))); return Q5; }; c5.b2Math = function() {}; c5.IsValid = function(Q5) { if (d4Q.K8T(Q5, undefined)) Q5 = d4Q.M3J; return isFinite(Q5); }; c5.Dot = function(Q5, V5) { return d4Q.J8T(Q5.x, V5.x) + d4Q.u8T(Q5.y, V5.y); }; c5.CrossVV = function(Q5, V5) { return d4Q.L8T(Q5.x * V5.y, Q5.y * V5.x); }; c5.CrossVF = function(Q5, V5) { if (d4Q.r8T(V5, undefined)) V5 = d4Q.M3J; return new W5(d4Q.B8T(V5, Q5.y), -V5 * Q5.x); }; c5.CrossFV = function(Q5, V5) { if (d4Q.V0T(Q5, undefined)) Q5 = d4Q.M3J; return new W5(-Q5 * V5.y, d4Q.y0T(Q5, V5.x)); }; c5.MulMV = function(Q5, V5) { return new W5(d4Q.C0T(Q5.col1.x, V5.x) + d4Q.s0T(Q5.col2.x, V5.y), d4Q.a0T(Q5.col1.y, V5.x) + d4Q.t0T(Q5.col2.y, V5.y)); }; c5.MulTMV = function(Q5, V5) { return new W5(c5.Dot(V5, Q5.col1), c5.Dot(V5, Q5.col2)); }; c5.MulX = function(Q5, V5) { var H5 = c5.MulMV(Q5.R, V5); H5.x += Q5.position.x; H5.y += Q5.position.y; return H5; }; c5.MulXT = function(Q5, V5) { var H5 = c5.SubtractVV(V5, Q5.position), z5 = d4Q.o0T(H5.x, Q5.R.col1.x) + d4Q.n0T(H5.y, Q5.R.col1.y); H5.y = d4Q.O0T(H5.x, Q5.R.col2.x) + d4Q.w0T(H5.y, Q5.R.col2.y); H5.x = z5; return H5; }; c5.AddVV = function(Q5, V5) { return new W5(Q5.x + V5.x, Q5.y + V5.y); }; c5.SubtractVV = function(Q5, V5) { return new W5(d4Q.b0T(Q5.x, V5.x), d4Q.p0T(Q5.y, V5.y)); }; c5.Distance = function(Q5, V5) { var H5 = d4Q.M0T(Q5.x, V5.x), z5 = d4Q.X0T(Q5.y, V5.y); return Math.sqrt(d4Q.F0T(H5, H5) + d4Q.D0T(z5, z5)); }; c5.DistanceSquared = function(Q5, V5) { var H5 = d4Q.x0T(Q5.x, V5.x), z5 = d4Q.Q4T(Q5.y, V5.y); return d4Q.i4T(H5, H5) + d4Q.P4T(z5, z5); }; c5.MulFV = function(Q5, V5) { if (d4Q.N4T(Q5, undefined)) Q5 = d4Q.M3J; return new W5(d4Q.A4T(Q5, V5.x), d4Q.v4T(Q5, V5.y)); }; c5.AddMM = function(Q5, V5) { return T5.FromVV(c5.AddVV(Q5.col1, V5.col1), c5.AddVV(Q5.col2, V5.col2)); }; c5.MulMM = function(Q5, V5) { return T5.FromVV(c5.MulMV(Q5, V5.col1), c5.MulMV(Q5, V5.col2)); }; c5.MulTMM = function(Q5, V5) { var H5 = new W5(c5.Dot(Q5.col1, V5.col1), c5.Dot(Q5.col2, V5.col1)), z5 = new W5(c5.Dot(Q5.col1, V5.col2), c5.Dot(Q5.col2, V5.col2)); return T5.FromVV(H5, z5); }; c5.Abs = function(Q5) { if (d4Q.c4T(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.d4T(Q5, d4Q.M3J) ? Q5 : -Q5; }; c5.AbsV = function(Q5) { return new W5(c5.Abs(Q5.x), c5.Abs(Q5.y)); }; c5.AbsM = function(Q5) { return T5.FromVV(c5.AbsV(Q5.col1), c5.AbsV(Q5.col2)); }; c5.Min = function(Q5, V5) { if (d4Q.U4T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.l4T(V5, undefined)) V5 = d4Q.M3J; return d4Q.f4T(Q5, V5) ? Q5 : V5; }; c5.MinV = function(Q5, V5) { return new W5(c5.Min(Q5.x, V5.x), c5.Min(Q5.y, V5.y)); }; c5.Max = function(Q5, V5) { if (d4Q.G4T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.j4T(V5, undefined)) V5 = d4Q.M3J; return d4Q.R4T(Q5, V5) ? Q5 : V5; }; c5.MaxV = function(Q5, V5) { return new W5(c5.Max(Q5.x, V5.x), c5.Max(Q5.y, V5.y)); }; c5.Clamp = function(Q5, V5, H5) { if (d4Q.e4T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.g4T(V5, undefined)) V5 = d4Q.M3J; if (d4Q.Y4T(H5, undefined)) H5 = d4Q.M3J; return d4Q.E4T(Q5, V5) ? V5 : d4Q.H7T(Q5, H5) ? H5 : Q5; }; c5.ClampV = function(Q5, V5, H5) { return c5.MaxV(V5, c5.MinV(Q5, H5)); }; c5.Swap = function(Q5, V5) { var H5 = Q5[d4Q.M3J]; Q5[d4Q.M3J] = V5[d4Q.M3J]; V5[d4Q.M3J] = H5; }; c5.Random = function() { return d4Q.z7T(Math.random() * d4Q.p3J, d4Q.K3J); }; c5.RandomRange = function(Q5, V5) { if (d4Q.Z7T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.m7T(V5, undefined)) V5 = d4Q.M3J; var H5 = Math.random(); return H5 = d4Q.S7T((V5 - Q5), H5) + Q5; }; c5.NextPowerOfTwo = function(Q5) { var V5 = (21.90E1 > (106, 121.) ? (41, 268435455) : 23 > (78.2E1, 0x1DB) ? 0x21C : (0x127, 76) >= (0x156, 94.60E1) ? "N" : (0xEB, 0x9C)), H5 = ((12.0E1, 78) < (2.98E2, 148.) ? (26.90E1, 1073741823) : (0x3A, 138.)), z5 = ((122.2E1, 0x31) >= (55, 85.60E1) ? (15., 31.8E1) : 118. >= (104, 53) ? (113.7E1, 2147483647) : (7.24E2, 0x221) < 49 ? "O" : (127, 0x200)); if (d4Q.q7T(Q5, undefined)) Q5 = d4Q.M3J; Q5 |= d4Q.I7T(Q5 >> d4Q.K3J, z5); Q5 |= d4Q.T7T(Q5 >> d4Q.p3J, H5); Q5 |= d4Q.h7T(Q5 >> d4Q.F3J, V5); Q5 |= d4Q.W7T(Q5 >> d4Q.Y3J, d4Q.h1J); Q5 |= d4Q.k7T(Q5 >> d4Q.i1J, d4Q.n1J); return Q5 + d4Q.K3J; }; c5.IsPowerOfTwo = function(Q5) { if (d4Q.K7T(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.J7T(Q5, d4Q.M3J) && d4Q.u7T((Q5 & Q5 - d4Q.K3J), d4Q.M3J); }; Box2D.postDefs.push(function() { Box2D.Common.Math.b2Math.b2Vec2_zero = new W5(d4Q.M3J, d4Q.M3J); Box2D.Common.Math.b2Math.b2Mat22_identity = T5.FromVV(new W5(d4Q.K3J, d4Q.M3J), new W5(d4Q.M3J, d4Q.K3J)); Box2D.Common.Math.b2Math.b2Transform_identity = new r5(c5.b2Vec2_zero, c5.b2Mat22_identity); }); n5.b2Sweep = function() { this.localCenter = new W5; this.c0 = new W5; this.c = new W5; }; n5.prototype.Set = function(Q5) { this.localCenter.SetV(Q5.localCenter); this.c0.SetV(Q5.c0); this.c.SetV(Q5.c); this.a0 = Q5.a0; this.a = Q5.a; this.t0 = Q5.t0; }; n5.prototype.Copy = function() { var Q5 = new n5; Q5.localCenter.SetV(this.localCenter); Q5.c0.SetV(this.c0); Q5.c.SetV(this.c); Q5.a0 = this.a0; Q5.a = this.a; Q5.t0 = this.t0; return Q5; }; n5.prototype.GetTransform = function(Q5, V5) { if (d4Q.L7T(V5, undefined)) V5 = d4Q.M3J; Q5.position.x = d4Q.r7T((d4Q.K3J - V5), this.c0.x) + d4Q.B7T(V5, this.c.x); Q5.position.y = d4Q.V2T((d4Q.K3J - V5), this.c0.y) + d4Q.y2T(V5, this.c.y); Q5.R.Set(d4Q.C2T((d4Q.K3J - V5), this.a0) + d4Q.s2T(V5, this.a)); var H5 = Q5.R; Q5.position.x -= d4Q.a2T(H5.col1.x, this.localCenter.x) + d4Q.t2T(H5.col2.x, this.localCenter.y); Q5.position.y -= d4Q.o2T(H5.col1.y, this.localCenter.x) + d4Q.n2T(H5.col2.y, this.localCenter.y); }; n5.prototype.Advance = function(Q5) { if (d4Q.O2T(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.w2T(this.t0, Q5) && d4Q.b2T(d4Q.K3J - this.t0, Number.MIN_VALUE)) { var V5 = d4Q.p2T((Q5 - this.t0), (d4Q.K3J - this.t0)); this.c0.x = d4Q.M2T((d4Q.K3J - V5), this.c0.x) + d4Q.X2T(V5, this.c.x); this.c0.y = d4Q.F2T((d4Q.K3J - V5), this.c0.y) + d4Q.D2T(V5, this.c.y); this.a0 = d4Q.x2T((d4Q.K3J - V5), this.a0) + d4Q.Q58(V5, this.a); this.t0 = Q5; } }; r5.b2Transform = function() { this.position = new W5; this.R = new T5; }; r5.prototype.b2Transform = function(Q5, V5) { if (d4Q.i58(Q5, undefined)) Q5 = d4Q.A1J; if (d4Q.P58(V5, undefined)) V5 = d4Q.A1J; if (Q5) { this.position.SetV(Q5); this.R.SetM(V5); } }; r5.prototype.Initialize = function(Q5, V5) { this.position.SetV(Q5); this.R.SetM(V5); }; r5.prototype.SetIdentity = function() { this.position.SetZero(); this.R.SetIdentity(); }; r5.prototype.Set = function(Q5) { this.position.SetV(Q5.position); this.R.SetM(Q5.R); }; r5.prototype.GetAngle = function() { return Math.atan2(this.R.col1.y, this.R.col1.x); }; W5.b2Vec2 = function() {}; W5.prototype.b2Vec2 = function(Q5, V5) { if (d4Q.N58(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.A58(V5, undefined)) V5 = d4Q.M3J; this.x = Q5; this.y = V5; }; W5.prototype.SetZero = function() { this.y = this.x = d4Q.M3J; }; W5.prototype.Set = function(Q5, V5) { if (d4Q.v58(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.c58(V5, undefined)) V5 = d4Q.M3J; this.x = Q5; this.y = V5; }; W5.prototype.SetV = function(Q5) { this.x = Q5.x; this.y = Q5.y; }; W5.prototype.GetNegative = function() { return new W5(-this.x, -this.y); }; W5.prototype.NegativeSelf = function() { this.x = -this.x; this.y = -this.y; }; W5.Make = function(Q5, V5) { if (d4Q.d58(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.U58(V5, undefined)) V5 = d4Q.M3J; return new W5(Q5, V5); }; W5.prototype.Copy = function() { return new W5(this.x, this.y); }; W5.prototype.Add = function(Q5) { this.x += Q5.x; this.y += Q5.y; }; W5.prototype.Subtract = function(Q5) { this.x -= Q5.x; this.y -= Q5.y; }; W5.prototype.Multiply = function(Q5) { if (d4Q.l58(Q5, undefined)) Q5 = d4Q.M3J; this.x *= Q5; this.y *= Q5; }; W5.prototype.MulM = function(Q5) { var V5 = this.x; this.x = d4Q.f58(Q5.col1.x, V5) + d4Q.G58(Q5.col2.x, this.y); this.y = d4Q.j58(Q5.col1.y, V5) + d4Q.R58(Q5.col2.y, this.y); }; W5.prototype.MulTM = function(Q5) { var V5 = c5.Dot(this, Q5.col1); this.y = c5.Dot(this, Q5.col2); this.x = V5; }; W5.prototype.CrossVF = function(Q5) { if (d4Q.e58(Q5, undefined)) Q5 = d4Q.M3J; var V5 = this.x; this.x = d4Q.g58(Q5, this.y); this.y = -Q5 * V5; }; W5.prototype.CrossFV = function(Q5) { if (d4Q.Y58(Q5, undefined)) Q5 = d4Q.M3J; var V5 = this.x; this.x = -Q5 * this.y; this.y = d4Q.E58(Q5, V5); }; W5.prototype.MinV = function(Q5) { this.x = d4Q.H98(this.x, Q5.x) ? this.x : Q5.x; this.y = d4Q.z98(this.y, Q5.y) ? this.y : Q5.y; }; W5.prototype.MaxV = function(Q5) { this.x = d4Q.Z98(this.x, Q5.x) ? this.x : Q5.x; this.y = d4Q.m98(this.y, Q5.y) ? this.y : Q5.y; }; W5.prototype.Abs = function() { if (d4Q.S98(this.x, d4Q.M3J)) this.x = -this.x; if (d4Q.q98(this.y, d4Q.M3J)) this.y = -this.y; }; W5.prototype.Length = function() { return Math.sqrt(d4Q.I98(this.x, this.x) + d4Q.T98(this.y, this.y)); }; W5.prototype.LengthSquared = function() { return d4Q.h98(this.x, this.x) + d4Q.W98(this.y, this.y); }; W5.prototype.Normalize = function() { var Q5 = Math.sqrt(d4Q.k98(this.x, this.x) + d4Q.K98(this.y, this.y)); if (d4Q.J98(Q5, Number.MIN_VALUE)) return d4Q.M3J; var V5 = d4Q.u98(d4Q.K3J, Q5); this.x *= V5; this.y *= V5; return Q5; }; W5.prototype.IsValid = function() { return c5.IsValid(this.x) && c5.IsValid(this.y); }; Q9.b2Vec3 = function() {}; Q9.prototype.b2Vec3 = function(Q5, V5, H5) { if (d4Q.L98(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.r98(V5, undefined)) V5 = d4Q.M3J; if (d4Q.B98(H5, undefined)) H5 = d4Q.M3J; this.x = Q5; this.y = V5; this.z = H5; }; Q9.prototype.SetZero = function() { this.x = this.y = this.z = d4Q.M3J; }; Q9.prototype.Set = function(Q5, V5, H5) { if (d4Q.V38(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.y38(V5, undefined)) V5 = d4Q.M3J; if (d4Q.C38(H5, undefined)) H5 = d4Q.M3J; this.x = Q5; this.y = V5; this.z = H5; }; Q9.prototype.SetV = function(Q5) { this.x = Q5.x; this.y = Q5.y; this.z = Q5.z; }; Q9.prototype.GetNegative = function() { return new Q9(-this.x, -this.y, -this.z); }; Q9.prototype.NegativeSelf = function() { this.x = -this.x; this.y = -this.y; this.z = -this.z; }; Q9.prototype.Copy = function() { return new Q9(this.x, this.y, this.z); }; Q9.prototype.Add = function(Q5) { this.x += Q5.x; this.y += Q5.y; this.z += Q5.z; }; Q9.prototype.Subtract = function(Q5) { this.x -= Q5.x; this.y -= Q5.y; this.z -= Q5.z; }; Q9.prototype.Multiply = function(Q5) { if (d4Q.s38(Q5, undefined)) Q5 = d4Q.M3J; this.x *= Q5; this.y *= Q5; this.z *= Q5; }; })(); (function() { var t5 = Box2D.Common.Math.b2Math, b5 = Box2D.Common.Math.b2Sweep, f5 = Box2D.Common.Math.b2Transform, T5 = Box2D.Common.Math.b2Vec2, o5 = Box2D.Common.b2Color, c5 = Box2D.Common.b2Settings, n5 = Box2D.Collision.b2AABB, r5 = Box2D.Collision.b2ContactPoint, W5 = Box2D.Collision.b2DynamicTreeBroadPhase, Q9 = Box2D.Collision.b2RayCastInput, R5 = Box2D.Collision.b2RayCastOutput, e5 = Box2D.Collision.Shapes.b2CircleShape, M5 = Box2D.Collision.Shapes.b2EdgeShape, V9 = Box2D.Collision.Shapes.b2MassData, Y5 = Box2D.Collision.Shapes.b2PolygonShape, N9 = Box2D.Collision.Shapes.b2Shape, h5 = Box2D.Dynamics.b2Body, a9 = Box2D.Dynamics.b2BodyDef, u5 = Box2D.Dynamics.b2ContactFilter, p5 = Box2D.Dynamics.b2ContactImpulse, U5 = Box2D.Dynamics.b2ContactListener, k5 = Box2D.Dynamics.b2ContactManager, B5 = Box2D.Dynamics.b2DebugDraw, m9 = Box2D.Dynamics.b2DestructionListener, x5 = Box2D.Dynamics.b2FilterData, i5 = Box2D.Dynamics.b2Fixture, y5 = Box2D.Dynamics.b2FixtureDef, A5 = Box2D.Dynamics.b2Island, S5 = Box2D.Dynamics.b2TimeStep, q5 = Box2D.Dynamics.b2World, v5 = Box2D.Dynamics.Contacts.b2Contact, d5 = Box2D.Dynamics.Contacts.b2ContactFactory, O5 = Box2D.Dynamics.Contacts.b2ContactSolver, w5 = Box2D.Dynamics.Joints.b2Joint, l5 = Box2D.Dynamics.Joints.b2PulleyJoint; h5.b2Body = function() { this.m_xf = new f5; this.m_sweep = new b5; this.m_linearVelocity = new T5; this.m_force = new T5; }; h5.prototype.connectEdges = function(Q5, V5, H5) { if (d4Q.a38(H5, undefined)) H5 = d4Q.M3J; var z5 = Math.atan2(V5.GetDirectionVector().y, V5.GetDirectionVector().x); H5 = t5.MulFV(Math.tan(d4Q.t38((z5 - H5), d4Q.t3J)), V5.GetDirectionVector()); H5 = t5.SubtractVV(H5, V5.GetNormalVector()); H5 = t5.MulFV(c5.b2_toiSlop, H5); H5 = t5.AddVV(H5, V5.GetVertex1()); var P5 = t5.AddVV(Q5.GetDirectionVector(), V5.GetDirectionVector()); P5.Normalize(); var C5 = d4Q.o38(t5.Dot(Q5.GetDirectionVector(), V5.GetNormalVector()), d4Q.M3J); Q5.SetNextEdge(V5, H5, P5, C5); V5.SetPrevEdge(Q5, H5, P5, C5); return z5; }; h5.prototype.CreateFixture = function(Q5) { if (d4Q.n38(this.m_world.IsLocked(), d4Q.v1J)) return d4Q.A1J; var V5 = new i5; V5.Create(this, this.m_xf, Q5); d4Q.O38(this.m_flags, h5.e_activeFlag) && V5.CreateProxy(this.m_world.m_contactManager.m_broadPhase, this.m_xf); V5.m_next = this.m_fixtureList; this.m_fixtureList = V5; ++this.m_fixtureCount; V5.m_body = this; d4Q.w38(V5.m_density, d4Q.M3J) && this.ResetMassData(); this.m_world.m_flags |= q5.e_newFixture; return V5; }; h5.prototype.CreateFixture2 = function(Q5, V5) { if (d4Q.b38(V5, undefined)) V5 = d4Q.M3J; var H5 = new y5; H5.shape = Q5; H5.density = V5; return this.CreateFixture(H5); }; h5.prototype.DestroyFixture = function(Q5) { if (d4Q.p38(this.m_world.IsLocked(), d4Q.v1J)) { for (var V5 = this.m_fixtureList, H5 = d4Q.A1J; d4Q.M38(V5, d4Q.A1J);) { if (d4Q.X38(V5, Q5)) { if (H5) H5.m_next = Q5.m_next; else this.m_fixtureList = Q5.m_next; break; } H5 = V5; V5 = V5.m_next; } for (V5 = this.m_contactList; V5;) { H5 = V5.contact; V5 = V5.next; var z5 = H5.GetFixtureA(), P5 = H5.GetFixtureB(); if (d4Q.F38(Q5, z5) || d4Q.D38(Q5, P5)) this.m_world.m_contactManager.Destroy(H5); } d4Q.x38(this.m_flags, h5.e_activeFlag) && Q5.DestroyProxy(this.m_world.m_contactManager.m_broadPhase); Q5.Destroy(); Q5.m_body = d4Q.A1J; Q5.m_next = d4Q.A1J; --this.m_fixtureCount; this.ResetMassData(); } }; h5.prototype.SetPositionAndAngle = function(Q5, V5) { if (d4Q.Q18(V5, undefined)) V5 = d4Q.M3J; var H5; if (d4Q.i18(this.m_world.IsLocked(), d4Q.v1J)) { this.m_xf.R.Set(V5); this.m_xf.position.SetV(Q5); H5 = this.m_xf.R; var z5 = this.m_sweep.localCenter; this.m_sweep.c.x = d4Q.P18(H5.col1.x, z5.x) + d4Q.N18(H5.col2.x, z5.y); this.m_sweep.c.y = d4Q.A18(H5.col1.y, z5.x) + d4Q.v18(H5.col2.y, z5.y); this.m_sweep.c.x += this.m_xf.position.x; this.m_sweep.c.y += this.m_xf.position.y; this.m_sweep.c0.SetV(this.m_sweep.c); this.m_sweep.a0 = this.m_sweep.a = V5; z5 = this.m_world.m_contactManager.m_broadPhase; for (H5 = this.m_fixtureList; H5; H5 = H5.m_next) H5.Synchronize(z5, this.m_xf, this.m_xf); this.m_world.m_contactManager.FindNewContacts(); } }; h5.prototype.SetTransform = function(Q5) { this.SetPositionAndAngle(Q5.position, Q5.GetAngle()); }; h5.prototype.GetTransform = function() { return this.m_xf; }; h5.prototype.GetPosition = function() { return this.m_xf.position; }; h5.prototype.SetPosition = function(Q5) { this.SetPositionAndAngle(Q5, this.GetAngle()); }; h5.prototype.GetAngle = function() { return this.m_sweep.a; }; h5.prototype.SetAngle = function(Q5) { if (d4Q.c18(Q5, undefined)) Q5 = d4Q.M3J; this.SetPositionAndAngle(this.GetPosition(), Q5); }; h5.prototype.GetWorldCenter = function() { return this.m_sweep.c; }; h5.prototype.GetLocalCenter = function() { return this.m_sweep.localCenter; }; h5.prototype.SetLinearVelocity = function(Q5) { d4Q.d18(this.m_type, h5.b2_staticBody) && this.m_linearVelocity.SetV(Q5); }; h5.prototype.GetLinearVelocity = function() { return this.m_linearVelocity; }; h5.prototype.SetAngularVelocity = function(Q5) { if (d4Q.U18(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.l18(this.m_type, h5.b2_staticBody)) this.m_angularVelocity = Q5; }; h5.prototype.GetAngularVelocity = function() { return this.m_angularVelocity; }; h5.prototype.GetDefinition = function() { var Q5 = new a9; Q5.type = this.GetType(); Q5.allowSleep = d4Q.f18((this.m_flags & h5.e_allowSleepFlag), h5.e_allowSleepFlag); Q5.angle = this.GetAngle(); Q5.angularDamping = this.m_angularDamping; Q5.angularVelocity = this.m_angularVelocity; Q5.fixedRotation = d4Q.G18((this.m_flags & h5.e_fixedRotationFlag), h5.e_fixedRotationFlag); Q5.bullet = d4Q.j18((this.m_flags & h5.e_bulletFlag), h5.e_bulletFlag); Q5.awake = d4Q.R18((this.m_flags & h5.e_awakeFlag), h5.e_awakeFlag); Q5.linearDamping = this.m_linearDamping; Q5.linearVelocity.SetV(this.GetLinearVelocity()); Q5.position = this.GetPosition(); Q5.userData = this.GetUserData(); return Q5; }; h5.prototype.ApplyForce = function(Q5, V5) { if (d4Q.e18(this.m_type, h5.b2_dynamicBody)) { d4Q.g18(this.IsAwake(), d4Q.d3J) && this.SetAwake(d4Q.v1J); this.m_force.x += Q5.x; this.m_force.y += Q5.y; this.m_torque += d4Q.Y18((V5.x - this.m_sweep.c.x) * Q5.y, (V5.y - this.m_sweep.c.y) * Q5.x); } }; h5.prototype.ApplyTorque = function(Q5) { if (d4Q.E18(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.H68(this.m_type, h5.b2_dynamicBody)) { d4Q.z68(this.IsAwake(), d4Q.d3J) && this.SetAwake(d4Q.v1J); this.m_torque += Q5; } }; h5.prototype.ApplyImpulse = function(Q5, V5) { if (d4Q.Z68(this.m_type, h5.b2_dynamicBody)) { d4Q.m68(this.IsAwake(), d4Q.d3J) && this.SetAwake(d4Q.v1J); this.m_linearVelocity.x += d4Q.S68(this.m_invMass, Q5.x); this.m_linearVelocity.y += d4Q.q68(this.m_invMass, Q5.y); this.m_angularVelocity += d4Q.I68(this.m_invI, ((V5.x - this.m_sweep.c.x) * Q5.y - (V5.y - this.m_sweep.c.y) * Q5.x)); } }; h5.prototype.Split = function(Q5) { for (var V5 = this.GetLinearVelocity().Copy(), H5 = this.GetAngularVelocity(), z5 = this.GetWorldCenter(), P5 = this.m_world.CreateBody(this.GetDefinition()), C5, Z5 = this.m_fixtureList; Z5;) if (Q5(Z5)) { var m5 = Z5.m_next; if (C5) C5.m_next = m5; else this.m_fixtureList = m5; this.m_fixtureCount--; Z5.m_next = P5.m_fixtureList; P5.m_fixtureList = Z5; P5.m_fixtureCount++; Z5.m_body = P5; Z5 = m5; } else { C5 = Z5; Z5 = Z5.m_next; } this.ResetMassData(); P5.ResetMassData(); C5 = this.GetWorldCenter(); Q5 = P5.GetWorldCenter(); C5 = t5.AddVV(V5, t5.CrossFV(H5, t5.SubtractVV(C5, z5))); V5 = t5.AddVV(V5, t5.CrossFV(H5, t5.SubtractVV(Q5, z5))); this.SetLinearVelocity(C5); P5.SetLinearVelocity(V5); this.SetAngularVelocity(H5); P5.SetAngularVelocity(H5); this.SynchronizeFixtures(); P5.SynchronizeFixtures(); return P5; }; h5.prototype.Merge = function(Q5) { var V5; for (V5 = Q5.m_fixtureList; V5;) { var H5 = V5.m_next; Q5.m_fixtureCount--; V5.m_next = this.m_fixtureList; this.m_fixtureList = V5; this.m_fixtureCount++; V5.m_body = P5; V5 = H5; } z5.m_fixtureCount = d4Q.M3J; var z5 = this, P5 = Q5; z5.GetWorldCenter(); P5.GetWorldCenter(); z5.GetLinearVelocity().Copy(); P5.GetLinearVelocity().Copy(); z5.GetAngularVelocity(); P5.GetAngularVelocity(); z5.ResetMassData(); this.SynchronizeFixtures(); }; h5.prototype.GetMass = function() { return this.m_mass; }; h5.prototype.GetInertia = function() { return this.m_I; }; h5.prototype.GetMassData = function(Q5) { Q5.mass = this.m_mass; Q5.I = this.m_I; Q5.center.SetV(this.m_sweep.localCenter); }; h5.prototype.SetMassData = function(Q5) { c5.b2Assert(d4Q.T68(this.m_world.IsLocked(), d4Q.d3J)); if (d4Q.h68(this.m_world.IsLocked(), d4Q.v1J)) if (d4Q.W68(this.m_type, h5.b2_dynamicBody)) { this.m_invI = this.m_I = this.m_invMass = d4Q.M3J; this.m_mass = Q5.mass; if (d4Q.k68(this.m_mass, d4Q.M3J)) this.m_mass = d4Q.K3J; this.m_invMass = d4Q.K68(d4Q.K3J, this.m_mass); if (d4Q.J68(Q5.I, d4Q.M3J) && d4Q.u68((this.m_flags & h5.e_fixedRotationFlag), d4Q.M3J)) { this.m_I = d4Q.L68(Q5.I, this.m_mass * (Q5.center.x * Q5.center.x + Q5.center.y * Q5.center.y)); this.m_invI = d4Q.r68(d4Q.K3J, this.m_I); } var V5 = this.m_sweep.c.Copy(); this.m_sweep.localCenter.SetV(Q5.center); this.m_sweep.c0.SetV(t5.MulX(this.m_xf, this.m_sweep.localCenter)); this.m_sweep.c.SetV(this.m_sweep.c0); this.m_linearVelocity.x += this.m_angularVelocity * -(d4Q.B68(this.m_sweep.c.y, V5.y)); this.m_linearVelocity.y += this.m_angularVelocity * +(d4Q.V88(this.m_sweep.c.x, V5.x)); } }; h5.prototype.ResetMassData = function() { this.m_invI = this.m_I = this.m_invMass = this.m_mass = d4Q.M3J; this.m_sweep.localCenter.SetZero(); if (!(d4Q.y88(this.m_type, h5.b2_staticBody) || d4Q.C88(this.m_type, h5.b2_kinematicBody))) { for (var Q5 = T5.Make(d4Q.M3J, d4Q.M3J), V5 = this.m_fixtureList; V5; V5 = V5.m_next) if (d4Q.s88(V5.m_density, d4Q.M3J)) { var H5 = V5.GetMassData(); this.m_mass += H5.mass; Q5.x += d4Q.a88(H5.center.x, H5.mass); Q5.y += d4Q.t88(H5.center.y, H5.mass); this.m_I += H5.I; } if (d4Q.o88(this.m_mass, d4Q.M3J)) { this.m_invMass = d4Q.n88(d4Q.K3J, this.m_mass); Q5.x *= this.m_invMass; Q5.y *= this.m_invMass; } else this.m_invMass = this.m_mass = d4Q.K3J; if (d4Q.O88(this.m_I, d4Q.M3J) && d4Q.w88((this.m_flags & h5.e_fixedRotationFlag), d4Q.M3J)) { this.m_I -= d4Q.b88(this.m_mass, (Q5.x * Q5.x + Q5.y * Q5.y)); this.m_I *= this.m_inertiaScale; c5.b2Assert(d4Q.p88(this.m_I, d4Q.M3J)); this.m_invI = d4Q.M88(d4Q.K3J, this.m_I); } else this.m_invI = this.m_I = d4Q.M3J; V5 = this.m_sweep.c.Copy(); this.m_sweep.localCenter.SetV(Q5); this.m_sweep.c0.SetV(t5.MulX(this.m_xf, this.m_sweep.localCenter)); this.m_sweep.c.SetV(this.m_sweep.c0); this.m_linearVelocity.x += this.m_angularVelocity * -(d4Q.X88(this.m_sweep.c.y, V5.y)); this.m_linearVelocity.y += this.m_angularVelocity * +(d4Q.F88(this.m_sweep.c.x, V5.x)); } }; h5.prototype.GetWorldPoint = function(Q5) { var V5 = this.m_xf.R; Q5 = new T5(d4Q.D88(V5.col1.x, Q5.x) + d4Q.x88(V5.col2.x, Q5.y), d4Q.Q08(V5.col1.y, Q5.x) + d4Q.i08(V5.col2.y, Q5.y)); Q5.x += this.m_xf.position.x; Q5.y += this.m_xf.position.y; return Q5; }; h5.prototype.GetWorldVector = function(Q5) { return t5.MulMV(this.m_xf.R, Q5); }; h5.prototype.GetLocalPoint = function(Q5) { return t5.MulXT(this.m_xf, Q5); }; h5.prototype.GetLocalVector = function(Q5) { return t5.MulTMV(this.m_xf.R, Q5); }; h5.prototype.GetLinearVelocityFromWorldPoint = function(Q5) { return new T5(d4Q.P08(this.m_linearVelocity.x, this.m_angularVelocity * (Q5.y - this.m_sweep.c.y)), this.m_linearVelocity.y + d4Q.N08(this.m_angularVelocity, (Q5.x - this.m_sweep.c.x))); }; h5.prototype.GetLinearVelocityFromLocalPoint = function(Q5) { var V5 = this.m_xf.R; Q5 = new T5(d4Q.A08(V5.col1.x, Q5.x) + d4Q.v08(V5.col2.x, Q5.y), d4Q.c08(V5.col1.y, Q5.x) + d4Q.d08(V5.col2.y, Q5.y)); Q5.x += this.m_xf.position.x; Q5.y += this.m_xf.position.y; return new T5(d4Q.U08(this.m_linearVelocity.x, this.m_angularVelocity * (Q5.y - this.m_sweep.c.y)), this.m_linearVelocity.y + d4Q.l08(this.m_angularVelocity, (Q5.x - this.m_sweep.c.x))); }; h5.prototype.GetLinearDamping = function() { return this.m_linearDamping; }; h5.prototype.SetLinearDamping = function(Q5) { if (d4Q.f08(Q5, undefined)) Q5 = d4Q.M3J; this.m_linearDamping = Q5; }; h5.prototype.GetAngularDamping = function() { return this.m_angularDamping; }; h5.prototype.SetAngularDamping = function(Q5) { if (d4Q.G08(Q5, undefined)) Q5 = d4Q.M3J; this.m_angularDamping = Q5; }; h5.prototype.SetType = function(Q5) { if (d4Q.j08(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.R08(this.m_type, Q5)) { this.m_type = Q5; this.ResetMassData(); if (d4Q.e08(this.m_type, h5.b2_staticBody)) { this.m_linearVelocity.SetZero(); this.m_angularVelocity = d4Q.M3J; } this.SetAwake(d4Q.v1J); this.m_force.SetZero(); this.m_torque = d4Q.M3J; for (Q5 = this.m_contactList; Q5; Q5 = Q5.next) Q5.contact.FlagForFiltering(); } }; h5.prototype.GetType = function() { return this.m_type; }; h5.prototype.SetBullet = function(Q5) { if (Q5) this.m_flags |= h5.e_bulletFlag; else this.m_flags &= ~h5.e_bulletFlag; }; h5.prototype.IsBullet = function() { return d4Q.g08((this.m_flags & h5.e_bulletFlag), h5.e_bulletFlag); }; h5.prototype.SetSleepingAllowed = function(Q5) { if (Q5) this.m_flags |= h5.e_allowSleepFlag; else { this.m_flags &= ~h5.e_allowSleepFlag; this.SetAwake(d4Q.v1J); } }; h5.prototype.SetAwake = function(Q5) { if (Q5) { this.m_flags |= h5.e_awakeFlag; this.m_sleepTime = d4Q.M3J; } else { this.m_flags &= ~h5.e_awakeFlag; this.m_sleepTime = d4Q.M3J; this.m_linearVelocity.SetZero(); this.m_angularVelocity = d4Q.M3J; this.m_force.SetZero(); this.m_torque = d4Q.M3J; } }; h5.prototype.IsAwake = function() { return d4Q.Y08((this.m_flags & h5.e_awakeFlag), h5.e_awakeFlag); }; h5.prototype.SetFixedRotation = function(Q5) { if (Q5) this.m_flags |= h5.e_fixedRotationFlag; else this.m_flags &= ~h5.e_fixedRotationFlag; this.ResetMassData(); }; h5.prototype.IsFixedRotation = function() { return d4Q.E08((this.m_flags & h5.e_fixedRotationFlag), h5.e_fixedRotationFlag); }; h5.prototype.SetActive = function(Q5) { if (d4Q.H48(Q5, this.IsActive())) { var V5; if (Q5) { this.m_flags |= h5.e_activeFlag; Q5 = this.m_world.m_contactManager.m_broadPhase; for (V5 = this.m_fixtureList; V5; V5 = V5.m_next) V5.CreateProxy(Q5, this.m_xf); } else { this.m_flags &= ~h5.e_activeFlag; Q5 = this.m_world.m_contactManager.m_broadPhase; for (V5 = this.m_fixtureList; V5; V5 = V5.m_next) V5.DestroyProxy(Q5); for (Q5 = this.m_contactList; Q5;) { V5 = Q5; Q5 = Q5.next; this.m_world.m_contactManager.Destroy(V5.contact); } this.m_contactList = d4Q.A1J; } } }; h5.prototype.IsActive = function() { return d4Q.z48((this.m_flags & h5.e_activeFlag), h5.e_activeFlag); }; h5.prototype.IsSleepingAllowed = function() { return d4Q.Z48((this.m_flags & h5.e_allowSleepFlag), h5.e_allowSleepFlag); }; h5.prototype.GetFixtureList = function() { return this.m_fixtureList; }; h5.prototype.GetJointList = function() { return this.m_jointList; }; h5.prototype.GetControllerList = function() { return this.m_controllerList; }; h5.prototype.GetContactList = function() { return this.m_contactList; }; h5.prototype.GetNext = function() { return this.m_next; }; h5.prototype.GetUserData = function() { return this.m_userData; }; h5.prototype.SetUserData = function(Q5) { this.m_userData = Q5; }; h5.prototype.GetWorld = function() { return this.m_world; }; h5.prototype.b2Body = function(Q5, V5) { this.m_flags = d4Q.M3J; if (Q5.bullet) this.m_flags |= h5.e_bulletFlag; if (Q5.fixedRotation) this.m_flags |= h5.e_fixedRotationFlag; if (Q5.allowSleep) this.m_flags |= h5.e_allowSleepFlag; if (Q5.awake) this.m_flags |= h5.e_awakeFlag; if (Q5.active) this.m_flags |= h5.e_activeFlag; this.m_world = V5; this.m_xf.position.SetV(Q5.position); this.m_xf.R.Set(Q5.angle); this.m_sweep.localCenter.SetZero(); this.m_sweep.t0 = d4Q.K3J; this.m_sweep.a0 = this.m_sweep.a = Q5.angle; var H5 = this.m_xf.R, z5 = this.m_sweep.localCenter; this.m_sweep.c.x = d4Q.m48(H5.col1.x, z5.x) + d4Q.S48(H5.col2.x, z5.y); this.m_sweep.c.y = d4Q.q48(H5.col1.y, z5.x) + d4Q.I48(H5.col2.y, z5.y); this.m_sweep.c.x += this.m_xf.position.x; this.m_sweep.c.y += this.m_xf.position.y; this.m_sweep.c0.SetV(this.m_sweep.c); this.m_contactList = this.m_controllerList = this.m_jointList = d4Q.A1J; this.m_controllerCount = d4Q.M3J; this.m_next = this.m_prev = d4Q.A1J; this.m_linearVelocity.SetV(Q5.linearVelocity); this.m_angularVelocity = Q5.angularVelocity; this.m_linearDamping = Q5.linearDamping; this.m_angularDamping = Q5.angularDamping; this.m_force.Set(d4Q.M3J, d4Q.M3J); this.m_sleepTime = this.m_torque = d4Q.M3J; this.m_type = Q5.type; if (d4Q.T48(this.m_type, h5.b2_dynamicBody)) this.m_invMass = this.m_mass = d4Q.K3J; else this.m_invMass = this.m_mass = d4Q.M3J; this.m_invI = this.m_I = d4Q.M3J; this.m_inertiaScale = Q5.inertiaScale; this.m_userData = Q5.userData; this.m_fixtureList = d4Q.A1J; this.m_fixtureCount = d4Q.M3J; }; h5.prototype.SynchronizeFixtures = function() { var Q5 = h5.s_xf1; Q5.R.Set(this.m_sweep.a0); var V5 = Q5.R, H5 = this.m_sweep.localCenter; Q5.position.x = d4Q.h48(this.m_sweep.c0.x, (V5.col1.x * H5.x + V5.col2.x * H5.y)); Q5.position.y = d4Q.W48(this.m_sweep.c0.y, (V5.col1.y * H5.x + V5.col2.y * H5.y)); H5 = this.m_world.m_contactManager.m_broadPhase; for (V5 = this.m_fixtureList; V5; V5 = V5.m_next) V5.Synchronize(H5, Q5, this.m_xf); }; h5.prototype.SynchronizeTransform = function() { this.m_xf.R.Set(this.m_sweep.a); var Q5 = this.m_xf.R, V5 = this.m_sweep.localCenter; this.m_xf.position.x = d4Q.k48(this.m_sweep.c.x, (Q5.col1.x * V5.x + Q5.col2.x * V5.y)); this.m_xf.position.y = d4Q.K48(this.m_sweep.c.y, (Q5.col1.y * V5.x + Q5.col2.y * V5.y)); }; h5.prototype.ShouldCollide = function(Q5) { if (d4Q.J48(this.m_type, h5.b2_dynamicBody) && d4Q.u48(Q5.m_type, h5.b2_dynamicBody)) return d4Q.d3J; for (var V5 = this.m_jointList; V5; V5 = V5.next) if (d4Q.L48(V5.other, Q5)) if (d4Q.r48(V5.joint.m_collideConnected, d4Q.d3J)) return d4Q.d3J; return d4Q.v1J; }; h5.prototype.Advance = function(Q5) { if (d4Q.B48(Q5, undefined)) Q5 = d4Q.M3J; this.m_sweep.Advance(Q5); this.m_sweep.c.SetV(this.m_sweep.c0); this.m_sweep.a = this.m_sweep.a0; this.SynchronizeTransform(); }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Dynamics.b2Body.b2_dynamicBody = Q5; }, H5 = function(Q5) { Box2D.Dynamics.b2Body.e_fixedRotationFlag = Q5; }, z5 = function(Q5) { Box2D.Dynamics.b2Body.e_allowSleepFlag = Q5; }, P5 = function(Q5) { Box2D.Dynamics.b2Body.e_awakeFlag = Q5; }, C5 = function(Q5) { Box2D.Dynamics.b2Body.e_activeFlag = Q5; }, Z5 = function(Q5) { Box2D.Dynamics.b2Body.e_bulletFlag = Q5; }, m5 = function(Q5) { Box2D.Dynamics.b2Body.b2_kinematicBody = Q5; }, s5 = function(Q5) { Box2D.Dynamics.b2Body.b2_staticBody = Q5; }, N5 = function(Q5) { Box2D.Dynamics.b2Body.e_islandFlag = Q5; }; Box2D.Dynamics.b2Body.s_xf1 = new f5; N5(d4Q.K3J); P5(d4Q.p3J); z5(d4Q.F3J); Z5(d4Q.Y3J); H5(d4Q.i1J); C5(d4Q.e3J); s5(d4Q.M3J); m5(d4Q.K3J); V5(d4Q.p3J); }); a9.b2BodyDef = function() { this.position = new T5; this.linearVelocity = new T5; }; a9.prototype.b2BodyDef = function() { this.userData = d4Q.A1J; this.position.Set(d4Q.M3J, d4Q.M3J); this.angle = d4Q.M3J; this.linearVelocity.Set(d4Q.M3J, d4Q.M3J); this.angularDamping = this.linearDamping = this.angularVelocity = d4Q.M3J; this.awake = this.allowSleep = d4Q.v1J; this.bullet = this.fixedRotation = d4Q.d3J; this.type = h5.b2_staticBody; this.active = d4Q.v1J; this.inertiaScale = d4Q.K3J; }; u5.b2ContactFilter = function() {}; u5.prototype.ShouldCollide = function(Q5, V5) { var H5 = Q5.GetFilterData(), z5 = V5.GetFilterData(); if (d4Q.V78(H5.groupIndex, z5.groupIndex) && d4Q.y78(H5.groupIndex, d4Q.M3J)) return d4Q.C78(H5.groupIndex, d4Q.M3J); return d4Q.s78((H5.maskBits & z5.categoryBits), d4Q.M3J) && d4Q.a78((H5.categoryBits & z5.maskBits), d4Q.M3J); }; u5.prototype.RayCollide = function(Q5, V5) { if (!Q5) return d4Q.v1J; return this.ShouldCollide(d4Q.t78(Q5, i5) ? Q5 : d4Q.A1J, V5); }; Box2D.postDefs.push(function() { Box2D.Dynamics.b2ContactFilter.b2_defaultFilter = new u5; }); p5.b2ContactImpulse = function() { this.normalImpulses = new Vector_a2j_Number(c5.b2_maxManifoldPoints); this.tangentImpulses = new Vector_a2j_Number(c5.b2_maxManifoldPoints); }; U5.b2ContactListener = function() {}; U5.prototype.BeginContact = function() {}; U5.prototype.EndContact = function() {}; U5.prototype.PreSolve = function() {}; U5.prototype.PostSolve = function() {}; Box2D.postDefs.push(function() { Box2D.Dynamics.b2ContactListener.b2_defaultListener = new U5; }); k5.b2ContactManager = function() {}; k5.prototype.b2ContactManager = function() { this.m_world = d4Q.A1J; this.m_contactCount = d4Q.M3J; this.m_contactFilter = u5.b2_defaultFilter; this.m_contactListener = U5.b2_defaultListener; this.m_contactFactory = new d5(this.m_allocator); this.m_broadPhase = new W5; }; k5.prototype.AddPair = function(Q5, V5) { var H5 = d4Q.o78(Q5, i5) ? Q5 : d4Q.A1J, z5 = d4Q.n78(V5, i5) ? V5 : d4Q.A1J, P5 = H5.GetBody(), C5 = z5.GetBody(); if (d4Q.O78(P5, C5)) { for (var Z5 = C5.GetContactList(); Z5;) { if (d4Q.w78(Z5.other, P5)) { var m5 = Z5.contact.GetFixtureA(), s5 = Z5.contact.GetFixtureB(); if (d4Q.b78(m5, H5) && d4Q.p78(s5, z5)) return; if (d4Q.M78(m5, z5) && d4Q.X78(s5, H5)) return; } Z5 = Z5.next; } if (d4Q.F78(C5.ShouldCollide(P5), d4Q.d3J)) if (d4Q.D78(this.m_contactFilter.ShouldCollide(H5, z5), d4Q.d3J)) { Z5 = this.m_contactFactory.Create(H5, z5); H5 = Z5.GetFixtureA(); z5 = Z5.GetFixtureB(); P5 = H5.m_body; C5 = z5.m_body; Z5.m_prev = d4Q.A1J; Z5.m_next = this.m_world.m_contactList; if (d4Q.x78(this.m_world.m_contactList, d4Q.A1J)) this.m_world.m_contactList.m_prev = Z5; this.m_world.m_contactList = Z5; Z5.m_nodeA.contact = Z5; Z5.m_nodeA.other = C5; Z5.m_nodeA.prev = d4Q.A1J; Z5.m_nodeA.next = P5.m_contactList; if (d4Q.Q28(P5.m_contactList, d4Q.A1J)) P5.m_contactList.prev = Z5.m_nodeA; P5.m_contactList = Z5.m_nodeA; Z5.m_nodeB.contact = Z5; Z5.m_nodeB.other = P5; Z5.m_nodeB.prev = d4Q.A1J; Z5.m_nodeB.next = C5.m_contactList; if (d4Q.i28(C5.m_contactList, d4Q.A1J)) C5.m_contactList.prev = Z5.m_nodeB; C5.m_contactList = Z5.m_nodeB; ++this.m_world.m_contactCount; } } }; k5.prototype.FindNewContacts = function() { this.m_broadPhase.UpdatePairs(Box2D.generateCallback(this, this.AddPair)); }; k5.prototype.Destroy = function(Q5) { var V5 = Q5.GetFixtureA(), H5 = Q5.GetFixtureB(); V5 = V5.GetBody(); H5 = H5.GetBody(); Q5.IsTouching() && this.m_contactListener.EndContact(Q5); if (Q5.m_prev) Q5.m_prev.m_next = Q5.m_next; if (Q5.m_next) Q5.m_next.m_prev = Q5.m_prev; if (d4Q.P28(Q5, this.m_world.m_contactList)) this.m_world.m_contactList = Q5.m_next; if (Q5.m_nodeA.prev) Q5.m_nodeA.prev.next = Q5.m_nodeA.next; if (Q5.m_nodeA.next) Q5.m_nodeA.next.prev = Q5.m_nodeA.prev; if (d4Q.N28(Q5.m_nodeA, V5.m_contactList)) V5.m_contactList = Q5.m_nodeA.next; if (Q5.m_nodeB.prev) Q5.m_nodeB.prev.next = Q5.m_nodeB.next; if (Q5.m_nodeB.next) Q5.m_nodeB.next.prev = Q5.m_nodeB.prev; if (d4Q.A28(Q5.m_nodeB, H5.m_contactList)) H5.m_contactList = Q5.m_nodeB.next; this.m_contactFactory.Destroy(Q5); --this.m_contactCount; }; k5.prototype.Collide = function() { for (var Q5 = this.m_world.m_contactList; Q5;) { var V5 = Q5.GetFixtureA(), H5 = Q5.GetFixtureB(), z5 = V5.GetBody(), P5 = H5.GetBody(); if (d4Q.v28(z5.IsAwake(), d4Q.d3J) && d4Q.c28(P5.IsAwake(), d4Q.d3J)) Q5 = Q5.GetNext(); else { if (d4Q.d28(Q5.m_flags, v5.e_filterFlag)) { if (d4Q.U28(P5.ShouldCollide(z5), d4Q.d3J)) { V5 = Q5; Q5 = V5.GetNext(); this.Destroy(V5); continue; } if (d4Q.l28(this.m_contactFilter.ShouldCollide(V5, H5), d4Q.d3J)) { V5 = Q5; Q5 = V5.GetNext(); this.Destroy(V5); continue; } Q5.m_flags &= ~v5.e_filterFlag; } if (d4Q.f28(this.m_broadPhase.TestOverlap(V5.m_proxy, H5.m_proxy), d4Q.d3J)) { V5 = Q5; Q5 = V5.GetNext(); this.Destroy(V5); } else { Q5.Update(this.m_contactListener); Q5 = Q5.GetNext(); } } } }; Box2D.postDefs.push(function() { Box2D.Dynamics.b2ContactManager.s_evalCP = new r5; }); B5.b2DebugDraw = function() {}; B5.prototype.b2DebugDraw = function() {}; B5.prototype.SetFlags = function() {}; B5.prototype.GetFlags = function() {}; B5.prototype.AppendFlags = function() {}; B5.prototype.ClearFlags = function() {}; B5.prototype.SetSprite = function() {}; B5.prototype.GetSprite = function() {}; B5.prototype.SetDrawScale = function() {}; B5.prototype.GetDrawScale = function() {}; B5.prototype.SetLineThickness = function() {}; B5.prototype.GetLineThickness = function() {}; B5.prototype.SetAlpha = function() {}; B5.prototype.GetAlpha = function() {}; B5.prototype.SetFillAlpha = function() {}; B5.prototype.GetFillAlpha = function() {}; B5.prototype.SetXFormScale = function() {}; B5.prototype.GetXFormScale = function() {}; B5.prototype.DrawPolygon = function() {}; B5.prototype.DrawSolidPolygon = function() {}; B5.prototype.DrawCircle = function() {}; B5.prototype.DrawSolidCircle = function() {}; B5.prototype.DrawSegment = function() {}; B5.prototype.DrawTransform = function() {}; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_jointBit = Q5; }, H5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_aabbBit = Q5; }, z5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_controllerBit = Q5; }, P5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_shapeBit = Q5; }, C5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_centerOfMassBit = Q5; }, Z5 = function(Q5) { Box2D.Dynamics.b2DebugDraw.e_pairBit = Q5; }; P5(d4Q.K3J); V5(d4Q.p3J); H5(d4Q.F3J); Z5(d4Q.Y3J); C5(d4Q.i1J); z5(d4Q.e3J); }); m9.b2DestructionListener = function() {}; m9.prototype.SayGoodbyeJoint = function() {}; m9.prototype.SayGoodbyeFixture = function() {}; x5.b2FilterData = function() { this.categoryBits = d4Q.K3J; this.maskBits = d4Q.n1J; this.groupIndex = d4Q.M3J; }; x5.prototype.Copy = function() { var Q5 = new x5; Q5.categoryBits = this.categoryBits; Q5.maskBits = this.maskBits; Q5.groupIndex = this.groupIndex; return Q5; }; i5.b2Fixture = function() { this.m_filter = new x5; }; i5.prototype.GetType = function() { return this.m_shape.GetType(); }; i5.prototype.GetShape = function() { return this.m_shape; }; i5.prototype.SetSensor = function(Q5) { if (d4Q.G28(this.m_isSensor, Q5)) { this.m_isSensor = Q5; if (d4Q.j28(this.m_body, d4Q.A1J)) for (Q5 = this.m_body.GetContactList(); Q5;) { var V5 = Q5.contact, H5 = V5.GetFixtureA(), z5 = V5.GetFixtureB(); if (d4Q.R28(H5, this) || d4Q.e28(z5, this)) V5.SetSensor(H5.IsSensor() || z5.IsSensor()); Q5 = Q5.next; } } }; i5.prototype.IsSensor = function() { return this.m_isSensor; }; i5.prototype.SetFilterData = function(Q5) { this.m_filter = Q5.Copy(); if (!this.m_body) for (Q5 = this.m_body.GetContactList(); Q5;) { var V5 = Q5.contact, H5 = V5.GetFixtureA(), z5 = V5.GetFixtureB(); if (d4Q.g28(H5, this) || d4Q.Y28(z5, this)) V5.FlagForFiltering(); Q5 = Q5.next; } }; i5.prototype.GetFilterData = function() { return this.m_filter.Copy(); }; i5.prototype.GetBody = function() { return this.m_body; }; i5.prototype.GetNext = function() { return this.m_next; }; i5.prototype.GetUserData = function() { return this.m_userData; }; i5.prototype.SetUserData = function(Q5) { this.m_userData = Q5; }; i5.prototype.TestPoint = function(Q5) { return this.m_shape.TestPoint(this.m_body.GetTransform(), Q5); }; i5.prototype.RayCast = function(Q5, V5) { return this.m_shape.RayCast(Q5, V5, this.m_body.GetTransform()); }; i5.prototype.GetMassData = function(Q5) { if (d4Q.E28(Q5, undefined)) Q5 = d4Q.A1J; if (d4Q.H5C(Q5, d4Q.A1J)) Q5 = new V9; this.m_shape.ComputeMass(Q5, this.m_density); return Q5; }; i5.prototype.SetDensity = function(Q5) { if (d4Q.z5C(Q5, undefined)) Q5 = d4Q.M3J; this.m_density = Q5; }; i5.prototype.GetDensity = function() { return this.m_density; }; i5.prototype.GetFriction = function() { return this.m_friction; }; i5.prototype.SetFriction = function(Q5) { if (d4Q.Z5C(Q5, undefined)) Q5 = d4Q.M3J; this.m_friction = Q5; }; i5.prototype.GetRestitution = function() { return this.m_restitution; }; i5.prototype.SetRestitution = function(Q5) { if (d4Q.m5C(Q5, undefined)) Q5 = d4Q.M3J; this.m_restitution = Q5; }; i5.prototype.GetAABB = function() { return this.m_aabb; }; i5.prototype.b2Fixture = function() { this.m_aabb = new n5; this.m_shape = this.m_next = this.m_body = this.m_userData = d4Q.A1J; this.m_restitution = this.m_friction = this.m_density = d4Q.M3J; }; i5.prototype.Create = function(Q5, V5, H5) { this.m_userData = H5.userData; this.m_friction = H5.friction; this.m_restitution = H5.restitution; this.m_body = Q5; this.m_next = d4Q.A1J; this.m_filter = H5.filter.Copy(); this.m_isSensor = H5.isSensor; this.m_shape = H5.shape.Copy(); this.m_density = H5.density; }; i5.prototype.Destroy = function() { this.m_shape = d4Q.A1J; }; i5.prototype.CreateProxy = function(Q5, V5) { this.m_shape.ComputeAABB(this.m_aabb, V5); this.m_proxy = Q5.CreateProxy(this.m_aabb, this); }; i5.prototype.DestroyProxy = function(Q5) { if (d4Q.S5C(this.m_proxy, d4Q.A1J)) { Q5.DestroyProxy(this.m_proxy); this.m_proxy = d4Q.A1J; } }; i5.prototype.Synchronize = function(Q5, V5, H5) { if (this.m_proxy) { var z5 = new n5, P5 = new n5; this.m_shape.ComputeAABB(z5, V5); this.m_shape.ComputeAABB(P5, H5); this.m_aabb.Combine(z5, P5); V5 = t5.SubtractVV(H5.position, V5.position); Q5.MoveProxy(this.m_proxy, this.m_aabb, V5); } }; y5.b2FixtureDef = function() { this.filter = new x5; }; y5.prototype.b2FixtureDef = function() { this.userData = this.shape = d4Q.A1J; this.friction = d4Q.c3J; this.density = this.restitution = d4Q.M3J; this.filter.categoryBits = d4Q.K3J; this.filter.maskBits = d4Q.n1J; this.filter.groupIndex = d4Q.M3J; this.isSensor = d4Q.d3J; }; A5.b2Island = function() {}; A5.prototype.b2Island = function() { this.m_bodies = new Vector; this.m_contacts = new Vector; this.m_joints = new Vector; }; A5.prototype.Initialize = function(Q5, V5, H5, z5, P5, C5) { if (d4Q.q5C(Q5, undefined)) Q5 = 0; if (d4Q.I5C(V5, undefined)) V5 = 0; if (d4Q.T5C(H5, undefined)) H5 = 0; var Z5 = 0; this.m_bodyCapacity = Q5; this.m_contactCapacity = V5; this.m_jointCapacity = H5; this.m_jointCount = this.m_contactCount = this.m_bodyCount = 0; this.m_allocator = z5; this.m_listener = P5; this.m_contactSolver = C5; for (Z5 = this.m_bodies.length; d4Q.h5C(Z5, Q5); Z5++) this.m_bodies[Z5] = null; for (Z5 = this.m_contacts.length; d4Q.W5C(Z5, V5); Z5++) this.m_contacts[Z5] = null; for (Z5 = this.m_joints.length; d4Q.k5C(Z5, H5); Z5++) this.m_joints[Z5] = null; }; A5.prototype.Clear = function() { this.m_jointCount = this.m_contactCount = this.m_bodyCount = d4Q.M3J; }; A5.prototype.Solve = function(Q5, V5, H5) { var z5 = d4Q.M3J, P5 = d4Q.M3J, C5; for (z5 = d4Q.M3J; d4Q.K5C(z5, this.m_bodyCount); ++z5) { P5 = this.m_bodies[z5]; if (d4Q.J5C(P5.GetType(), h5.b2_dynamicBody)) { P5.m_linearVelocity.x += d4Q.u5C(Q5.dt, (V5.x + P5.m_invMass * P5.m_force.x)); P5.m_linearVelocity.y += d4Q.L5C(Q5.dt, (V5.y + P5.m_invMass * P5.m_force.y)); P5.m_angularVelocity += d4Q.r5C(Q5.dt, P5.m_invI, P5.m_torque); P5.m_linearVelocity.Multiply(t5.Clamp(d4Q.E5C(d4Q.K3J, Q5.dt * P5.m_linearDamping), d4Q.M3J, d4Q.K3J)); P5.m_angularVelocity *= t5.Clamp(d4Q.H9C(d4Q.K3J, Q5.dt * P5.m_angularDamping), d4Q.M3J, d4Q.K3J); } } this.m_contactSolver.Initialize(Q5, this.m_contacts, this.m_contactCount, this.m_allocator); V5 = this.m_contactSolver; V5.InitVelocityConstraints(Q5); for (z5 = d4Q.M3J; d4Q.z9C(z5, this.m_jointCount); ++z5) { C5 = this.m_joints[z5]; C5.InitVelocityConstraints(Q5); } for (z5 = d4Q.M3J; d4Q.Z9C(z5, Q5.velocityIterations); ++z5) { for (P5 = d4Q.M3J; d4Q.m9C(P5, this.m_jointCount); ++P5) { C5 = this.m_joints[P5]; C5.SolveVelocityConstraints(Q5); } V5.SolveVelocityConstraints(); } for (z5 = d4Q.M3J; d4Q.S9C(z5, this.m_jointCount); ++z5) { C5 = this.m_joints[z5]; C5.FinalizeVelocityConstraints(); } V5.FinalizeVelocityConstraints(); for (z5 = d4Q.M3J; d4Q.q9C(z5, this.m_bodyCount); ++z5) { P5 = this.m_bodies[z5]; if (d4Q.I9C(P5.GetType(), h5.b2_staticBody)) { var Z5 = d4Q.T9C(Q5.dt, P5.m_linearVelocity.x), m5 = d4Q.h9C(Q5.dt, P5.m_linearVelocity.y); if (d4Q.W9C(Z5 * Z5 + m5 * m5, c5.b2_maxTranslationSquared)) { P5.m_linearVelocity.Normalize(); P5.m_linearVelocity.x *= d4Q.k9C(c5.b2_maxTranslation, Q5.inv_dt); P5.m_linearVelocity.y *= d4Q.K9C(c5.b2_maxTranslation, Q5.inv_dt); } Z5 = d4Q.J9C(Q5.dt, P5.m_angularVelocity); if (d4Q.u9C(Z5 * Z5, c5.b2_maxRotationSquared)) P5.m_angularVelocity = d4Q.L9C(P5.m_angularVelocity, d4Q.M3J) ? -c5.b2_maxRotation * Q5.inv_dt : d4Q.r9C(c5.b2_maxRotation, Q5.inv_dt); P5.m_sweep.c0.SetV(P5.m_sweep.c); P5.m_sweep.a0 = P5.m_sweep.a; P5.m_sweep.c.x += d4Q.B9C(Q5.dt, P5.m_linearVelocity.x); P5.m_sweep.c.y += d4Q.V3C(Q5.dt, P5.m_linearVelocity.y); P5.m_sweep.a += d4Q.y3C(Q5.dt, P5.m_angularVelocity); P5.SynchronizeTransform(); } } for (z5 = d4Q.M3J; d4Q.C3C(z5, Q5.positionIterations); ++z5) { Z5 = V5.SolvePositionConstraints(c5.b2_contactBaumgarte); m5 = d4Q.v1J; for (P5 = d4Q.M3J; d4Q.s3C(P5, this.m_jointCount); ++P5) { C5 = this.m_joints[P5]; C5 = C5.SolvePositionConstraints(c5.b2_contactBaumgarte); m5 = m5 && C5; } if (Z5 && m5) break; } this.Report(V5.m_constraints); if (H5) { H5 = Number.MAX_VALUE; V5 = d4Q.a3C(c5.b2_linearSleepTolerance, c5.b2_linearSleepTolerance); Z5 = d4Q.t3C(c5.b2_angularSleepTolerance, c5.b2_angularSleepTolerance); for (z5 = d4Q.M3J; d4Q.o3C(z5, this.m_bodyCount); ++z5) { P5 = this.m_bodies[z5]; if (d4Q.n3C(P5.GetType(), h5.b2_staticBody)) { if (d4Q.O3C((P5.m_flags & h5.e_allowSleepFlag), d4Q.M3J)) H5 = P5.m_sleepTime = d4Q.M3J; if (d4Q.w3C((P5.m_flags & h5.e_allowSleepFlag), d4Q.M3J) || d4Q.b3C(P5.m_angularVelocity * P5.m_angularVelocity, Z5) || d4Q.p3C(t5.Dot(P5.m_linearVelocity, P5.m_linearVelocity), V5)) H5 = P5.m_sleepTime = d4Q.M3J; else { P5.m_sleepTime += Q5.dt; H5 = t5.Min(H5, P5.m_sleepTime); } } } if (d4Q.M3C(H5, c5.b2_timeToSleep)) for (z5 = d4Q.M3J; d4Q.X3C(z5, this.m_bodyCount); ++z5) { P5 = this.m_bodies[z5]; P5.SetAwake(d4Q.d3J); } } }; A5.prototype.SolveTOI = function(Q5) { var V5 = d4Q.M3J, H5 = d4Q.M3J; this.m_contactSolver.Initialize(Q5, this.m_contacts, this.m_contactCount, this.m_allocator); var z5 = this.m_contactSolver; for (V5 = d4Q.M3J; d4Q.F3C(V5, this.m_jointCount); ++V5) this.m_joints[V5].InitVelocityConstraints(Q5); for (V5 = d4Q.M3J; d4Q.D3C(V5, Q5.velocityIterations); ++V5) { z5.SolveVelocityConstraints(); for (H5 = d4Q.M3J; d4Q.x3C(H5, this.m_jointCount); ++H5) this.m_joints[H5].SolveVelocityConstraints(Q5); } for (V5 = d4Q.M3J; d4Q.Q1C(V5, this.m_bodyCount); ++V5) { H5 = this.m_bodies[V5]; if (d4Q.i1C(H5.GetType(), h5.b2_staticBody)) { var P5 = d4Q.P1C(Q5.dt, H5.m_linearVelocity.x), C5 = d4Q.N1C(Q5.dt, H5.m_linearVelocity.y); if (d4Q.A1C(P5 * P5 + C5 * C5, c5.b2_maxTranslationSquared)) { H5.m_linearVelocity.Normalize(); H5.m_linearVelocity.x *= d4Q.v1C(c5.b2_maxTranslation, Q5.inv_dt); H5.m_linearVelocity.y *= d4Q.c1C(c5.b2_maxTranslation, Q5.inv_dt); } P5 = d4Q.d1C(Q5.dt, H5.m_angularVelocity); if (d4Q.U1C(P5 * P5, c5.b2_maxRotationSquared)) H5.m_angularVelocity = d4Q.l1C(H5.m_angularVelocity, d4Q.M3J) ? -c5.b2_maxRotation * Q5.inv_dt : d4Q.f1C(c5.b2_maxRotation, Q5.inv_dt); H5.m_sweep.c0.SetV(H5.m_sweep.c); H5.m_sweep.a0 = H5.m_sweep.a; H5.m_sweep.c.x += d4Q.G1C(Q5.dt, H5.m_linearVelocity.x); H5.m_sweep.c.y += d4Q.j1C(Q5.dt, H5.m_linearVelocity.y); H5.m_sweep.a += d4Q.R1C(Q5.dt, H5.m_angularVelocity); H5.SynchronizeTransform(); } } for (V5 = d4Q.M3J; d4Q.e1C(V5, Q5.positionIterations); ++V5) { P5 = z5.SolvePositionConstraints(d4Q.f1J); C5 = d4Q.v1J; for (H5 = d4Q.M3J; d4Q.g1C(H5, this.m_jointCount); ++H5) { var Z5 = this.m_joints[H5].SolvePositionConstraints(c5.b2_contactBaumgarte); C5 = C5 && Z5; } if (P5 && C5) break; } this.Report(z5.m_constraints); }; A5.prototype.Report = function(Q5) { if (d4Q.Y1C(this.m_listener, d4Q.A1J)) for (var V5 = d4Q.M3J; d4Q.E1C(V5, this.m_contactCount); ++V5) { for (var H5 = this.m_contacts[V5], z5 = Q5[V5], P5 = d4Q.M3J; d4Q.H6C(P5, z5.pointCount); ++P5) { A5.s_impulse.normalImpulses[P5] = z5.points[P5].normalImpulse; A5.s_impulse.tangentImpulses[P5] = z5.points[P5].tangentImpulse; } this.m_listener.PostSolve(H5, A5.s_impulse); } }; A5.prototype.AddBody = function(Q5) { Q5.m_islandIndex = this.m_bodyCount; this.m_bodies[this.m_bodyCount++] = Q5; }; A5.prototype.AddContact = function(Q5) { this.m_contacts[this.m_contactCount++] = Q5; }; A5.prototype.AddJoint = function(Q5) { this.m_joints[this.m_jointCount++] = Q5; }; Box2D.postDefs.push(function() { Box2D.Dynamics.b2Island.s_impulse = new p5; }); S5.b2TimeStep = function() {}; S5.prototype.Set = function(Q5) { this.dt = Q5.dt; this.inv_dt = Q5.inv_dt; this.positionIterations = Q5.positionIterations; this.velocityIterations = Q5.velocityIterations; this.warmStarting = Q5.warmStarting; }; q5.b2World = function() { this.s_stack = new Vector; this.m_contactManager = new k5; this.m_contactSolver = new O5; this.m_island = new A5; }; q5.prototype.b2World = function(Q5, V5) { this.m_controllerList = this.m_jointList = this.m_contactList = this.m_bodyList = this.m_debugDraw = this.m_destructionListener = d4Q.A1J; this.m_controllerCount = this.m_jointCount = this.m_contactCount = this.m_bodyCount = d4Q.M3J; q5.m_warmStarting = d4Q.v1J; q5.m_continuousPhysics = d4Q.v1J; this.m_allowSleep = V5; this.m_gravity = Q5; this.m_inv_dt0 = d4Q.M3J; this.m_contactManager.m_world = this; this.m_groundBody = this.CreateBody(new a9); }; q5.prototype.SetDestructionListener = function(Q5) { this.m_destructionListener = Q5; }; q5.prototype.SetContactFilter = function(Q5) { this.m_contactManager.m_contactFilter = Q5; }; q5.prototype.SetContactListener = function(Q5) { this.m_contactManager.m_contactListener = Q5; }; q5.prototype.SetDebugDraw = function(Q5) { this.m_debugDraw = Q5; }; q5.prototype.SetBroadPhase = function(Q5) { var V5 = this.m_contactManager.m_broadPhase; this.m_contactManager.m_broadPhase = Q5; for (var H5 = this.m_bodyList; H5; H5 = H5.m_next) for (var z5 = H5.m_fixtureList; z5; z5 = z5.m_next) z5.m_proxy = Q5.CreateProxy(V5.GetFatAABB(z5.m_proxy), z5); }; q5.prototype.Validate = function() { this.m_contactManager.m_broadPhase.Validate(); }; q5.prototype.GetProxyCount = function() { return this.m_contactManager.m_broadPhase.GetProxyCount(); }; q5.prototype.CreateBody = function(Q5) { if (d4Q.z6C(this.IsLocked(), d4Q.v1J)) return d4Q.A1J; Q5 = new h5(Q5, this); Q5.m_prev = d4Q.A1J; if (Q5.m_next = this.m_bodyList) this.m_bodyList.m_prev = Q5; this.m_bodyList = Q5; ++this.m_bodyCount; return Q5; }; q5.prototype.DestroyBody = function(Q5) { if (d4Q.Z6C(this.IsLocked(), d4Q.v1J)) { for (var V5 = Q5.m_jointList; V5;) { var H5 = V5; V5 = V5.next; this.m_destructionListener && this.m_destructionListener.SayGoodbyeJoint(H5.joint); this.DestroyJoint(H5.joint); } for (V5 = Q5.m_controllerList; V5;) { H5 = V5; V5 = V5.nextController; H5.controller.RemoveBody(Q5); } for (V5 = Q5.m_contactList; V5;) { H5 = V5; V5 = V5.next; this.m_contactManager.Destroy(H5.contact); } Q5.m_contactList = d4Q.A1J; for (V5 = Q5.m_fixtureList; V5;) { H5 = V5; V5 = V5.m_next; this.m_destructionListener && this.m_destructionListener.SayGoodbyeFixture(H5); H5.DestroyProxy(this.m_contactManager.m_broadPhase); H5.Destroy(); } Q5.m_fixtureList = d4Q.A1J; Q5.m_fixtureCount = d4Q.M3J; if (Q5.m_prev) Q5.m_prev.m_next = Q5.m_next; if (Q5.m_next) Q5.m_next.m_prev = Q5.m_prev; if (d4Q.m6C(Q5, this.m_bodyList)) this.m_bodyList = Q5.m_next; --this.m_bodyCount; } }; q5.prototype.CreateJoint = function(Q5) { var V5 = w5.Create(Q5, d4Q.A1J); V5.m_prev = d4Q.A1J; if (V5.m_next = this.m_jointList) this.m_jointList.m_prev = V5; this.m_jointList = V5; ++this.m_jointCount; V5.m_edgeA.joint = V5; V5.m_edgeA.other = V5.m_bodyB; V5.m_edgeA.prev = d4Q.A1J; if (V5.m_edgeA.next = V5.m_bodyA.m_jointList) V5.m_bodyA.m_jointList.prev = V5.m_edgeA; V5.m_bodyA.m_jointList = V5.m_edgeA; V5.m_edgeB.joint = V5; V5.m_edgeB.other = V5.m_bodyA; V5.m_edgeB.prev = d4Q.A1J; if (V5.m_edgeB.next = V5.m_bodyB.m_jointList) V5.m_bodyB.m_jointList.prev = V5.m_edgeB; V5.m_bodyB.m_jointList = V5.m_edgeB; var H5 = Q5.bodyA, z5 = Q5.bodyB; if (d4Q.S6C(Q5.collideConnected, d4Q.d3J)) for (Q5 = z5.GetContactList(); Q5;) { d4Q.q6C(Q5.other, H5) && Q5.contact.FlagForFiltering(); Q5 = Q5.next; } return V5; }; q5.prototype.DestroyJoint = function(Q5) { var V5 = Q5.m_collideConnected; if (Q5.m_prev) Q5.m_prev.m_next = Q5.m_next; if (Q5.m_next) Q5.m_next.m_prev = Q5.m_prev; if (d4Q.I6C(Q5, this.m_jointList)) this.m_jointList = Q5.m_next; var H5 = Q5.m_bodyA, z5 = Q5.m_bodyB; H5.SetAwake(d4Q.v1J); z5.SetAwake(d4Q.v1J); if (Q5.m_edgeA.prev) Q5.m_edgeA.prev.next = Q5.m_edgeA.next; if (Q5.m_edgeA.next) Q5.m_edgeA.next.prev = Q5.m_edgeA.prev; if (d4Q.T6C(Q5.m_edgeA, H5.m_jointList)) H5.m_jointList = Q5.m_edgeA.next; Q5.m_edgeA.prev = d4Q.A1J; Q5.m_edgeA.next = d4Q.A1J; if (Q5.m_edgeB.prev) Q5.m_edgeB.prev.next = Q5.m_edgeB.next; if (Q5.m_edgeB.next) Q5.m_edgeB.next.prev = Q5.m_edgeB.prev; if (d4Q.h6C(Q5.m_edgeB, z5.m_jointList)) z5.m_jointList = Q5.m_edgeB.next; Q5.m_edgeB.prev = d4Q.A1J; Q5.m_edgeB.next = d4Q.A1J; w5.Destroy(Q5, d4Q.A1J); --this.m_jointCount; if (d4Q.W6C(V5, d4Q.d3J)) for (Q5 = z5.GetContactList(); Q5;) { d4Q.k6C(Q5.other, H5) && Q5.contact.FlagForFiltering(); Q5 = Q5.next; } }; q5.prototype.AddController = function(Q5) { Q5.m_next = this.m_controllerList; Q5.m_prev = d4Q.A1J; this.m_controllerList = Q5; Q5.m_world = this; this.m_controllerCount++; return Q5; }; q5.prototype.RemoveController = function(Q5) { if (Q5.m_prev) Q5.m_prev.m_next = Q5.m_next; if (Q5.m_next) Q5.m_next.m_prev = Q5.m_prev; if (d4Q.K6C(this.m_controllerList, Q5)) this.m_controllerList = Q5.m_next; this.m_controllerCount--; }; q5.prototype.CreateController = function(Q5) { var V5 = "Controller can only be a member of one world"; if (d4Q.J6C(Q5.m_world, this)) throw Error(V5); Q5.m_next = this.m_controllerList; Q5.m_prev = d4Q.A1J; if (this.m_controllerList) this.m_controllerList.m_prev = Q5; this.m_controllerList = Q5; ++this.m_controllerCount; Q5.m_world = this; return Q5; }; q5.prototype.DestroyController = function(Q5) { Q5.Clear(); if (Q5.m_next) Q5.m_next.m_prev = Q5.m_prev; if (Q5.m_prev) Q5.m_prev.m_next = Q5.m_next; if (d4Q.u6C(Q5, this.m_controllerList)) this.m_controllerList = Q5.m_next; --this.m_controllerCount; }; q5.prototype.SetWarmStarting = function(Q5) { q5.m_warmStarting = Q5; }; q5.prototype.SetContinuousPhysics = function(Q5) { q5.m_continuousPhysics = Q5; }; q5.prototype.GetBodyCount = function() { return this.m_bodyCount; }; q5.prototype.GetJointCount = function() { return this.m_jointCount; }; q5.prototype.GetContactCount = function() { return this.m_contactCount; }; q5.prototype.SetGravity = function(Q5) { this.m_gravity = Q5; }; q5.prototype.GetGravity = function() { return this.m_gravity; }; q5.prototype.GetGroundBody = function() { return this.m_groundBody; }; q5.prototype.Step = function(Q5, V5, H5) { if (d4Q.L6C(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.r6C(V5, undefined)) V5 = d4Q.M3J; if (d4Q.B6C(H5, undefined)) H5 = d4Q.M3J; if (d4Q.V8C(this.m_flags, q5.e_newFixture)) { this.m_contactManager.FindNewContacts(); this.m_flags &= ~q5.e_newFixture; } this.m_flags |= q5.e_locked; var z5 = q5.s_timestep2; z5.dt = Q5; z5.velocityIterations = V5; z5.positionIterations = H5; z5.inv_dt = d4Q.y8C(Q5, d4Q.M3J) ? d4Q.C8C(d4Q.K3J, Q5) : d4Q.M3J; z5.dtRatio = d4Q.s8C(this.m_inv_dt0, Q5); z5.warmStarting = q5.m_warmStarting; this.m_contactManager.Collide(); d4Q.a8C(z5.dt, d4Q.M3J) && this.Solve(z5); q5.m_continuousPhysics && d4Q.t8C(z5.dt, d4Q.M3J) && this.SolveTOI(z5); if (d4Q.o8C(z5.dt, d4Q.M3J)) this.m_inv_dt0 = z5.inv_dt; this.m_flags &= ~q5.e_locked; }; q5.prototype.ClearForces = function() { for (var Q5 = this.m_bodyList; Q5; Q5 = Q5.m_next) { Q5.m_force.SetZero(); Q5.m_torque = d4Q.M3J; } }; q5.prototype.DrawDebugData = function() { var Q5 = 0.6, V5 = ((0x57, 70.) > (0x96, 131.) ? (0x57, 74.4E1) : (0x1C0, 148) <= (49., 0x203) ? (136., 0.9) : (0x209, 9.03E2) < (61, 35) ? "k" : (0x89, 0xDD)), H5 = 0.3; if (d4Q.n8C(this.m_debugDraw, d4Q.A1J)) { this.m_debugDraw.m_sprite.graphics.clear(); var z5 = this.m_debugDraw.GetFlags(), P5, C5, Z5; new T5; new T5; new T5; var m5; new n5; new n5; m5 = [new T5, new T5, new T5, new T5]; var s5 = new o5(d4Q.M3J, d4Q.M3J, d4Q.M3J); if (d4Q.O8C(z5, B5.e_shapeBit)) for (P5 = this.m_bodyList; P5; P5 = P5.m_next) { m5 = P5.m_xf; for (C5 = P5.GetFixtureList(); C5; C5 = C5.m_next) { Z5 = C5.GetShape(); if (d4Q.w8C(P5.IsActive(), d4Q.d3J)) s5.Set(d4Q.t3J, d4Q.t3J, H5); else if (d4Q.b8C(P5.GetType(), h5.b2_staticBody)) s5.Set(d4Q.t3J, V5, d4Q.t3J); else if (d4Q.p8C(P5.GetType(), h5.b2_kinematicBody)) s5.Set(d4Q.t3J, d4Q.t3J, V5); else d4Q.M8C(P5.IsAwake(), d4Q.d3J) ? s5.Set(Q5, Q5, Q5) : s5.Set(V5, d4Q.h3J, d4Q.h3J); this.DrawShape(Z5, m5, s5); } } if (d4Q.X8C(z5, B5.e_jointBit)) for (P5 = this.m_jointList; P5; P5 = P5.m_next) this.DrawJoint(P5); if (d4Q.F8C(z5, B5.e_controllerBit)) for (P5 = this.m_controllerList; P5; P5 = P5.m_next) P5.Draw(this.m_debugDraw); if (d4Q.D8C(z5, B5.e_pairBit)) { s5.Set(H5, V5, V5); for (P5 = this.m_contactManager.m_contactList; P5; P5 = P5.GetNext()) { Z5 = P5.GetFixtureA(); C5 = P5.GetFixtureB(); Z5 = Z5.GetAABB().GetCenter(); C5 = C5.GetAABB().GetCenter(); this.m_debugDraw.DrawSegment(Z5, C5, s5); } } if (d4Q.x8C(z5, B5.e_aabbBit)) { Z5 = this.m_contactManager.m_broadPhase; m5 = [new T5, new T5, new T5, new T5]; for (P5 = this.m_bodyList; P5; P5 = P5.GetNext()) if (d4Q.Q0C(P5.IsActive(), d4Q.d3J)) for (C5 = P5.GetFixtureList(); C5; C5 = C5.GetNext()) { var N5 = Z5.GetFatAABB(C5.m_proxy); m5[d4Q.M3J].Set(N5.lowerBound.x, N5.lowerBound.y); m5[d4Q.K3J].Set(N5.upperBound.x, N5.lowerBound.y); m5[d4Q.p3J].Set(N5.upperBound.x, N5.upperBound.y); m5[d4Q.k3J].Set(N5.lowerBound.x, N5.upperBound.y); this.m_debugDraw.DrawPolygon(m5, d4Q.F3J, s5); } } if (d4Q.i0C(z5, B5.e_centerOfMassBit)) for (P5 = this.m_bodyList; P5; P5 = P5.m_next) { m5 = q5.s_xf; m5.R = P5.m_xf.R; m5.position = P5.GetWorldCenter(); this.m_debugDraw.DrawTransform(m5); } } }; q5.prototype.QueryAABB = function(V5, H5) { var z5 = this.m_contactManager.m_broadPhase; z5.Query(function(Q5) { return V5(z5.GetUserData(Q5)); }, H5); }; q5.prototype.QueryShape = function(V5, H5, z5) { if (d4Q.P0C(z5, undefined)) z5 = d4Q.A1J; if (d4Q.N0C(z5, d4Q.A1J)) { z5 = new f5; z5.SetIdentity(); } var P5 = this.m_contactManager.m_broadPhase, C5 = new n5; H5.ComputeAABB(C5, z5); P5.Query(function(Q5) { Q5 = d4Q.A0C(P5.GetUserData(Q5), i5) ? P5.GetUserData(Q5) : d4Q.A1J; if (N9.TestOverlap(H5, z5, Q5.GetShape(), Q5.GetBody().GetTransform())) return V5(Q5); return d4Q.v1J; }, C5); }; q5.prototype.QueryPoint = function(V5, H5) { var z5 = this.m_contactManager.m_broadPhase, P5 = new n5; P5.lowerBound.Set(d4Q.v0C(H5.x, c5.b2_linearSlop), d4Q.c0C(H5.y, c5.b2_linearSlop)); P5.upperBound.Set(H5.x + c5.b2_linearSlop, H5.y + c5.b2_linearSlop); z5.Query(function(Q5) { Q5 = d4Q.d0C(z5.GetUserData(Q5), i5) ? z5.GetUserData(Q5) : d4Q.A1J; if (Q5.TestPoint(H5)) return V5(Q5); return d4Q.v1J; }, P5); }; q5.prototype.RayCast = function(C5, Z5, m5) { var s5 = this.m_contactManager.m_broadPhase, N5 = new R5, I5 = new Q9(Z5, m5); s5.RayCast(function(Q5, V5) { var H5 = s5.GetUserData(V5); H5 = d4Q.U0C(H5, i5) ? H5 : d4Q.A1J; if (H5.RayCast(N5, Q5)) { var z5 = N5.fraction, P5 = new T5(d4Q.l0C((d4Q.K3J - z5), Z5.x) + d4Q.f0C(z5, m5.x), d4Q.G0C((d4Q.K3J - z5), Z5.y) + d4Q.j0C(z5, m5.y)); return C5(H5, P5, N5.normal, z5); } return Q5.maxFraction; }, I5); }; q5.prototype.RayCastOne = function(P5, C5) { var Z5; this.RayCast(function(Q5, V5, H5, z5) { if (d4Q.R0C(z5, undefined)) z5 = d4Q.M3J; Z5 = Q5; return z5; }, P5, C5); return Z5; }; q5.prototype.RayCastAll = function(V5, H5) { var z5 = new Vector; this.RayCast(function(Q5) { z5[z5.length] = Q5; return d4Q.K3J; }, V5, H5); return z5; }; q5.prototype.GetBodyList = function() { return this.m_bodyList; }; q5.prototype.GetJointList = function() { return this.m_jointList; }; q5.prototype.GetContactList = function() { return this.m_contactList; }; q5.prototype.IsLocked = function() { return d4Q.e0C((this.m_flags & q5.e_locked), d4Q.M3J); }; q5.prototype.Solve = function(Q5) { for (var V5, H5 = this.m_controllerList; H5; H5 = H5.m_next) H5.Step(Q5); H5 = this.m_island; H5.Initialize(this.m_bodyCount, this.m_contactCount, this.m_jointCount, null, this.m_contactManager.m_contactListener, this.m_contactSolver); for (V5 = this.m_bodyList; V5; V5 = V5.m_next) V5.m_flags &= ~h5.e_islandFlag; for (var z5 = this.m_contactList; z5; z5 = z5.m_next) z5.m_flags &= ~v5.e_islandFlag; for (z5 = this.m_jointList; z5; z5 = z5.m_next) z5.m_islandFlag = false; parseInt(this.m_bodyCount); z5 = this.s_stack; for (var P5 = this.m_bodyList; P5; P5 = P5.m_next) if (!(d4Q.g0C(P5.m_flags, h5.e_islandFlag))) if (!(d4Q.Y0C(P5.IsAwake(), false) || d4Q.E0C(P5.IsActive(), false))) if (d4Q.H4C(P5.GetType(), h5.b2_staticBody)) { H5.Clear(); var C5 = 0; z5[C5++] = P5; for (P5.m_flags |= h5.e_islandFlag; d4Q.z4C(C5, 0);) { V5 = z5[--C5]; H5.AddBody(V5); d4Q.Z4C(V5.IsAwake(), false) && V5.SetAwake(true); if (d4Q.m4C(V5.GetType(), h5.b2_staticBody)) { for (var Z5, m5 = V5.m_contactList; m5; m5 = m5.next) if (!(d4Q.S4C(m5.contact.m_flags, v5.e_islandFlag))) if (!(d4Q.q4C(m5.contact.IsSensor(), true) || d4Q.I4C(m5.contact.IsEnabled(), false) || d4Q.T4C(m5.contact.IsTouching(), false))) { H5.AddContact(m5.contact); m5.contact.m_flags |= v5.e_islandFlag; Z5 = m5.other; if (!(d4Q.h4C(Z5.m_flags, h5.e_islandFlag))) { z5[C5++] = Z5; Z5.m_flags |= h5.e_islandFlag; } } for (V5 = V5.m_jointList; V5; V5 = V5.next) if (d4Q.W4C(V5.joint.m_islandFlag, true)) { Z5 = V5.other; if (d4Q.k4C(Z5.IsActive(), false)) { H5.AddJoint(V5.joint); V5.joint.m_islandFlag = true; if (!(d4Q.K4C(Z5.m_flags, h5.e_islandFlag))) { z5[C5++] = Z5; Z5.m_flags |= h5.e_islandFlag; } } } } } H5.Solve(Q5, this.m_gravity, this.m_allowSleep); for (C5 = 0; d4Q.J4C(C5, H5.m_bodyCount); ++C5) { V5 = H5.m_bodies[C5]; if (d4Q.u4C(V5.GetType(), h5.b2_staticBody)) V5.m_flags &= ~h5.e_islandFlag; } } for (C5 = 0; d4Q.L4C(C5, z5.length); ++C5) { if (!z5[C5]) break; z5[C5] = null; } for (V5 = this.m_bodyList; V5; V5 = V5.m_next) d4Q.r4C(V5.IsAwake(), false) || d4Q.B4C(V5.IsActive(), false) || d4Q.V7C(V5.GetType(), h5.b2_staticBody) && V5.SynchronizeFixtures(); this.m_contactManager.FindNewContacts(); }; q5.prototype.SolveTOI = function(Q5) { var V5, H5, z5, P5 = this.m_island; P5.Initialize(this.m_bodyCount, c5.b2_maxTOIContactsPerIsland, c5.b2_maxTOIJointsPerIsland, d4Q.A1J, this.m_contactManager.m_contactListener, this.m_contactSolver); var C5 = q5.s_queue; for (V5 = this.m_bodyList; V5; V5 = V5.m_next) { V5.m_flags &= ~h5.e_islandFlag; V5.m_sweep.t0 = d4Q.M3J; } for (z5 = this.m_contactList; z5; z5 = z5.m_next) z5.m_flags &= ~(d4Q.y7C(v5.e_toiFlag, v5.e_islandFlag)); for (z5 = this.m_jointList; z5; z5 = z5.m_next) z5.m_islandFlag = d4Q.d3J; for (;;) { var Z5 = d4Q.A1J, m5 = d4Q.K3J; for (z5 = this.m_contactList; z5; z5 = z5.m_next) if (!(d4Q.C7C(z5.IsSensor(), d4Q.v1J) || d4Q.s7C(z5.IsEnabled(), d4Q.d3J) || d4Q.a7C(z5.IsContinuous(), d4Q.d3J))) { V5 = d4Q.K3J; if (d4Q.t7C(z5.m_flags, v5.e_toiFlag)) V5 = z5.m_toi; else { V5 = z5.m_fixtureA; H5 = z5.m_fixtureB; V5 = V5.m_body; H5 = H5.m_body; if ((d4Q.o7C(V5.GetType(), h5.b2_dynamicBody) || d4Q.n7C(V5.IsAwake(), d4Q.d3J)) && (d4Q.O7C(H5.GetType(), h5.b2_dynamicBody) || d4Q.w7C(H5.IsAwake(), d4Q.d3J))) continue; var s5 = V5.m_sweep.t0; if (d4Q.b7C(V5.m_sweep.t0, H5.m_sweep.t0)) { s5 = H5.m_sweep.t0; V5.m_sweep.Advance(s5); } else if (d4Q.p7C(H5.m_sweep.t0, V5.m_sweep.t0)) { s5 = V5.m_sweep.t0; H5.m_sweep.Advance(s5); } V5 = z5.ComputeTOI(V5.m_sweep, H5.m_sweep); c5.b2Assert(d4Q.M7C(d4Q.M3J, V5) && d4Q.X7C(V5, d4Q.K3J)); if (d4Q.F7C(V5, d4Q.M3J) && d4Q.D7C(V5, d4Q.K3J)) { V5 = d4Q.x7C((d4Q.K3J - V5), s5) + V5; if (d4Q.Q2C(V5, d4Q.K3J)) V5 = d4Q.K3J; } z5.m_toi = V5; z5.m_flags |= v5.e_toiFlag; } if (d4Q.i2C(Number.MIN_VALUE, V5) && d4Q.P2C(V5, m5)) { Z5 = z5; m5 = V5; } } if (d4Q.N2C(Z5, d4Q.A1J) || d4Q.A2C(d4Q.K3J - d4Q.m1J * Number.MIN_VALUE, m5)) break; V5 = Z5.m_fixtureA; H5 = Z5.m_fixtureB; V5 = V5.m_body; H5 = H5.m_body; q5.s_backupA.Set(V5.m_sweep); q5.s_backupB.Set(H5.m_sweep); V5.Advance(m5); H5.Advance(m5); Z5.Update(this.m_contactManager.m_contactListener); Z5.m_flags &= ~v5.e_toiFlag; if (d4Q.v2C(Z5.IsSensor(), d4Q.v1J) || d4Q.c2C(Z5.IsEnabled(), d4Q.d3J)) { V5.m_sweep.Set(q5.s_backupA); H5.m_sweep.Set(q5.s_backupB); V5.SynchronizeTransform(); H5.SynchronizeTransform(); } else if (d4Q.d2C(Z5.IsTouching(), d4Q.d3J)) { V5 = V5; if (d4Q.U2C(V5.GetType(), h5.b2_dynamicBody)) V5 = H5; P5.Clear(); Z5 = z5 = d4Q.M3J; C5[z5 + Z5++] = V5; for (V5.m_flags |= h5.e_islandFlag; d4Q.l2C(Z5, d4Q.M3J);) { V5 = C5[z5++]; --Z5; P5.AddBody(V5); d4Q.f2C(V5.IsAwake(), d4Q.d3J) && V5.SetAwake(d4Q.v1J); if (d4Q.G2C(V5.GetType(), h5.b2_dynamicBody)) { for (H5 = V5.m_contactList; H5; H5 = H5.next) { if (d4Q.j2C(P5.m_contactCount, P5.m_contactCapacity)) break; if (!(d4Q.R2C(H5.contact.m_flags, v5.e_islandFlag))) if (!(d4Q.e2C(H5.contact.IsSensor(), d4Q.v1J) || d4Q.g2C(H5.contact.IsEnabled(), d4Q.d3J) || d4Q.Y2C(H5.contact.IsTouching(), d4Q.d3J))) { P5.AddContact(H5.contact); H5.contact.m_flags |= v5.e_islandFlag; s5 = H5.other; if (!(d4Q.E2C(s5.m_flags, h5.e_islandFlag))) { if (d4Q.H5N(s5.GetType(), h5.b2_staticBody)) { s5.Advance(m5); s5.SetAwake(d4Q.v1J); } C5[z5 + Z5] = s5; ++Z5; s5.m_flags |= h5.e_islandFlag; } } } for (V5 = V5.m_jointList; V5; V5 = V5.next) if (d4Q.z5N(P5.m_jointCount, P5.m_jointCapacity)) if (d4Q.Z5N(V5.joint.m_islandFlag, d4Q.v1J)) { s5 = V5.other; if (d4Q.m5N(s5.IsActive(), d4Q.d3J)) { P5.AddJoint(V5.joint); V5.joint.m_islandFlag = d4Q.v1J; if (!(d4Q.S5N(s5.m_flags, h5.e_islandFlag))) { if (d4Q.q5N(s5.GetType(), h5.b2_staticBody)) { s5.Advance(m5); s5.SetAwake(d4Q.v1J); } C5[z5 + Z5] = s5; ++Z5; s5.m_flags |= h5.e_islandFlag; } } } } } z5 = q5.s_timestep; z5.warmStarting = d4Q.d3J; z5.dt = d4Q.I5N((d4Q.K3J - m5), Q5.dt); z5.inv_dt = d4Q.T5N(d4Q.K3J, z5.dt); z5.dtRatio = d4Q.M3J; z5.velocityIterations = Q5.velocityIterations; z5.positionIterations = Q5.positionIterations; P5.SolveTOI(z5); for (m5 = m5 = d4Q.M3J; d4Q.h5N(m5, P5.m_bodyCount); ++m5) { V5 = P5.m_bodies[m5]; V5.m_flags &= ~h5.e_islandFlag; if (d4Q.W5N(V5.IsAwake(), d4Q.d3J)) if (d4Q.k5N(V5.GetType(), h5.b2_dynamicBody)) { V5.SynchronizeFixtures(); for (H5 = V5.m_contactList; H5; H5 = H5.next) H5.contact.m_flags &= ~v5.e_toiFlag; } } for (m5 = d4Q.M3J; d4Q.K5N(m5, P5.m_contactCount); ++m5) { z5 = P5.m_contacts[m5]; z5.m_flags &= ~(d4Q.J5N(v5.e_toiFlag, v5.e_islandFlag)); } for (m5 = d4Q.M3J; d4Q.u5N(m5, P5.m_jointCount); ++m5) { z5 = P5.m_joints[m5]; z5.m_islandFlag = d4Q.d3J; } this.m_contactManager.FindNewContacts(); } } }; q5.prototype.DrawJoint = function(Q5) { var V5 = Q5.GetBodyA(), H5 = Q5.GetBodyB(), z5 = V5.m_xf.position, P5 = H5.m_xf.position, C5 = Q5.GetAnchorA(), Z5 = Q5.GetAnchorB(), m5 = q5.s_jointColor; switch (Q5.m_type) { case w5.e_distanceJoint: this.m_debugDraw.DrawSegment(C5, Z5, m5); break; case w5.e_pulleyJoint: V5 = d4Q.L5N(Q5, l5) ? Q5 : d4Q.A1J; Q5 = V5.GetGroundAnchorA(); V5 = V5.GetGroundAnchorB(); this.m_debugDraw.DrawSegment(Q5, C5, m5); this.m_debugDraw.DrawSegment(V5, Z5, m5); this.m_debugDraw.DrawSegment(Q5, V5, m5); break; case w5.e_mouseJoint: this.m_debugDraw.DrawSegment(C5, Z5, m5); break; default: d4Q.r5N(V5, this.m_groundBody) && this.m_debugDraw.DrawSegment(z5, C5, m5); this.m_debugDraw.DrawSegment(C5, Z5, m5); d4Q.B5N(H5, this.m_groundBody) && this.m_debugDraw.DrawSegment(P5, Z5, m5); } }; q5.prototype.DrawShape = function(Q5, V5, H5) { switch (Q5.m_type) { case N9.e_circleShape: var z5 = d4Q.V9N(Q5, e5) ? Q5 : d4Q.A1J; this.m_debugDraw.DrawSolidCircle(t5.MulX(V5, z5.m_p), z5.m_radius, V5.R.col1, H5); break; case N9.e_polygonShape: z5 = d4Q.M3J; z5 = d4Q.y9N(Q5, Y5) ? Q5 : d4Q.A1J; Q5 = parseInt(z5.GetVertexCount()); var P5 = z5.GetVertices(), C5 = new Vector(Q5); for (z5 = d4Q.M3J; d4Q.C9N(z5, Q5); ++z5) C5[z5] = t5.MulX(V5, P5[z5]); this.m_debugDraw.DrawSolidPolygon(C5, Q5, H5); break; case N9.e_edgeShape: z5 = d4Q.s9N(Q5, M5) ? Q5 : d4Q.A1J; this.m_debugDraw.DrawSegment(t5.MulX(V5, z5.GetVertex1()), t5.MulX(V5, z5.GetVertex2()), H5); } }; Box2D.postDefs.push(function() { var V5 = 0.8, H5 = function(Q5) { Box2D.Dynamics.b2World.e_locked = Q5; }, z5 = function(Q5) { Box2D.Dynamics.b2World.e_newFixture = Q5; }; Box2D.Dynamics.b2World.s_timestep2 = new S5; Box2D.Dynamics.b2World.s_xf = new f5; Box2D.Dynamics.b2World.s_backupA = new b5; Box2D.Dynamics.b2World.s_backupB = new b5; Box2D.Dynamics.b2World.s_timestep = new S5; Box2D.Dynamics.b2World.s_queue = new Vector; Box2D.Dynamics.b2World.s_jointColor = new o5(d4Q.t3J, V5, V5); z5(d4Q.K3J); H5(d4Q.p3J); }); })(); (function() { var V9 = Box2D.Collision.Shapes.b2CircleShape, Y5 = Box2D.Collision.Shapes.b2EdgeShape, N9 = Box2D.Collision.Shapes.b2PolygonShape, h5 = Box2D.Collision.Shapes.b2Shape, a9 = Box2D.Dynamics.Contacts.b2CircleContact, u5 = Box2D.Dynamics.Contacts.b2Contact, p5 = Box2D.Dynamics.Contacts.b2ContactConstraint, U5 = Box2D.Dynamics.Contacts.b2ContactConstraintPoint, k5 = Box2D.Dynamics.Contacts.b2ContactEdge, B5 = Box2D.Dynamics.Contacts.b2ContactFactory, m9 = Box2D.Dynamics.Contacts.b2ContactRegister, x5 = Box2D.Dynamics.Contacts.b2ContactResult, i5 = Box2D.Dynamics.Contacts.b2ContactSolver, y5 = Box2D.Dynamics.Contacts.b2EdgeAndCircleContact, A5 = Box2D.Dynamics.Contacts.b2NullContact, S5 = Box2D.Dynamics.Contacts.b2PolyAndCircleContact, q5 = Box2D.Dynamics.Contacts.b2PolyAndEdgeContact, v5 = Box2D.Dynamics.Contacts.b2PolygonContact, d5 = Box2D.Dynamics.Contacts.b2PositionSolverManifold, O5 = Box2D.Dynamics.b2Body, w5 = Box2D.Dynamics.b2TimeStep, l5 = Box2D.Common.b2Settings, J5 = Box2D.Common.Math.b2Mat22, K5 = Box2D.Common.Math.b2Math, j5 = Box2D.Common.Math.b2Vec2, Y9 = Box2D.Collision.b2Collision, F5 = Box2D.Collision.b2ContactID, L5 = Box2D.Collision.b2Manifold, X5 = Box2D.Collision.b2TimeOfImpact, G5 = Box2D.Collision.b2TOIInput, s9 = Box2D.Collision.b2WorldManifold; Box2D.inherit(a9, Box2D.Dynamics.Contacts.b2Contact); a9.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; a9.b2CircleContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; a9.Create = function() { return new a9; }; a9.Destroy = function() {}; a9.prototype.Reset = function(Q5, V5) { this.__super.Reset.call(this, Q5, V5); }; a9.prototype.Evaluate = function() { var Q5 = this.m_fixtureA.GetBody(), V5 = this.m_fixtureB.GetBody(); Y9.CollideCircles(this.m_manifold, d4Q.a9N(this.m_fixtureA.GetShape(), V9) ? this.m_fixtureA.GetShape() : d4Q.A1J, Q5.m_xf, d4Q.t9N(this.m_fixtureB.GetShape(), V9) ? this.m_fixtureB.GetShape() : d4Q.A1J, V5.m_xf); }; u5.b2Contact = function() { this.m_nodeA = new k5; this.m_nodeB = new k5; this.m_manifold = new L5; this.m_oldManifold = new L5; }; u5.prototype.GetManifold = function() { return this.m_manifold; }; u5.prototype.GetWorldManifold = function(Q5) { var V5 = this.m_fixtureA.GetBody(), H5 = this.m_fixtureB.GetBody(), z5 = this.m_fixtureA.GetShape(), P5 = this.m_fixtureB.GetShape(); Q5.Initialize(this.m_manifold, V5.GetTransform(), z5.m_radius, H5.GetTransform(), P5.m_radius); }; u5.prototype.IsTouching = function() { return d4Q.o9N((this.m_flags & u5.e_touchingFlag), u5.e_touchingFlag); }; u5.prototype.IsContinuous = function() { return d4Q.n9N((this.m_flags & u5.e_continuousFlag), u5.e_continuousFlag); }; u5.prototype.SetSensor = function(Q5) { if (Q5) this.m_flags |= u5.e_sensorFlag; else this.m_flags &= ~u5.e_sensorFlag; }; u5.prototype.IsSensor = function() { return d4Q.O9N((this.m_flags & u5.e_sensorFlag), u5.e_sensorFlag); }; u5.prototype.SetEnabled = function(Q5) { if (Q5) this.m_flags |= u5.e_enabledFlag; else this.m_flags &= ~u5.e_enabledFlag; }; u5.prototype.IsEnabled = function() { return d4Q.w9N((this.m_flags & u5.e_enabledFlag), u5.e_enabledFlag); }; u5.prototype.GetNext = function() { return this.m_next; }; u5.prototype.GetFixtureA = function() { return this.m_fixtureA; }; u5.prototype.GetFixtureB = function() { return this.m_fixtureB; }; u5.prototype.FlagForFiltering = function() { this.m_flags |= u5.e_filterFlag; }; u5.prototype.b2Contact = function() {}; u5.prototype.Reset = function(Q5, V5) { if (d4Q.b9N(Q5, undefined)) Q5 = d4Q.A1J; if (d4Q.p9N(V5, undefined)) V5 = d4Q.A1J; this.m_flags = u5.e_enabledFlag; if (!Q5 || !V5) this.m_fixtureB = this.m_fixtureA = d4Q.A1J; else { if (Q5.IsSensor() || V5.IsSensor()) this.m_flags |= u5.e_sensorFlag; var H5 = Q5.GetBody(), z5 = V5.GetBody(); if (d4Q.M9N(H5.GetType(), O5.b2_dynamicBody) || H5.IsBullet() || d4Q.X9N(z5.GetType(), O5.b2_dynamicBody) || z5.IsBullet()) this.m_flags |= u5.e_continuousFlag; this.m_fixtureA = Q5; this.m_fixtureB = V5; this.m_manifold.m_pointCount = d4Q.M3J; this.m_next = this.m_prev = d4Q.A1J; this.m_nodeA.contact = d4Q.A1J; this.m_nodeA.prev = d4Q.A1J; this.m_nodeA.next = d4Q.A1J; this.m_nodeA.other = d4Q.A1J; this.m_nodeB.contact = d4Q.A1J; this.m_nodeB.prev = d4Q.A1J; this.m_nodeB.next = d4Q.A1J; this.m_nodeB.other = d4Q.A1J; } }; u5.prototype.Update = function(Q5) { var V5 = this.m_oldManifold; this.m_oldManifold = this.m_manifold; this.m_manifold = V5; this.m_flags |= u5.e_enabledFlag; var H5 = d4Q.d3J; V5 = d4Q.F9N((this.m_flags & u5.e_touchingFlag), u5.e_touchingFlag); var z5 = this.m_fixtureA.m_body, P5 = this.m_fixtureB.m_body, C5 = this.m_fixtureA.m_aabb.TestOverlap(this.m_fixtureB.m_aabb); if (d4Q.D9N(this.m_flags, u5.e_sensorFlag)) { if (C5) { H5 = this.m_fixtureA.GetShape(); C5 = this.m_fixtureB.GetShape(); z5 = z5.GetTransform(); P5 = P5.GetTransform(); H5 = h5.TestOverlap(H5, z5, C5, P5); } this.m_manifold.m_pointCount = d4Q.M3J; } else { if (d4Q.x9N(z5.GetType(), O5.b2_dynamicBody) || z5.IsBullet() || d4Q.Q3N(P5.GetType(), O5.b2_dynamicBody) || P5.IsBullet()) this.m_flags |= u5.e_continuousFlag; else this.m_flags &= ~u5.e_continuousFlag; if (C5) { this.Evaluate(); H5 = d4Q.i3N(this.m_manifold.m_pointCount, d4Q.M3J); for (C5 = d4Q.M3J; d4Q.P3N(C5, this.m_manifold.m_pointCount); ++C5) { var Z5 = this.m_manifold.m_points[C5]; Z5.m_normalImpulse = d4Q.M3J; Z5.m_tangentImpulse = d4Q.M3J; for (var m5 = Z5.m_id, s5 = d4Q.M3J; d4Q.N3N(s5, this.m_oldManifold.m_pointCount); ++s5) { var N5 = this.m_oldManifold.m_points[s5]; if (d4Q.A3N(N5.m_id.key, m5.key)) { Z5.m_normalImpulse = N5.m_normalImpulse; Z5.m_tangentImpulse = N5.m_tangentImpulse; break; } } } } else this.m_manifold.m_pointCount = d4Q.M3J; if (d4Q.v3N(H5, V5)) { z5.SetAwake(d4Q.v1J); P5.SetAwake(d4Q.v1J); } } if (H5) this.m_flags |= u5.e_touchingFlag; else this.m_flags &= ~u5.e_touchingFlag; d4Q.c3N(V5, d4Q.d3J) && d4Q.d3N(H5, d4Q.v1J) && Q5.BeginContact(this); d4Q.U3N(V5, d4Q.v1J) && d4Q.l3N(H5, d4Q.d3J) && Q5.EndContact(this); d4Q.f3N((this.m_flags & u5.e_sensorFlag), d4Q.M3J) && Q5.PreSolve(this, this.m_oldManifold); }; u5.prototype.Evaluate = function() {}; u5.prototype.ComputeTOI = function(Q5, V5) { u5.s_input.proxyA.Set(this.m_fixtureA.GetShape()); u5.s_input.proxyB.Set(this.m_fixtureB.GetShape()); u5.s_input.sweepA = Q5; u5.s_input.sweepB = V5; u5.s_input.tolerance = l5.b2_linearSlop; return X5.TimeOfImpact(u5.s_input); }; Box2D.postDefs.push(function() { var V5 = 64, H5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_enabledFlag = Q5; }, z5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_filterFlag = Q5; }, P5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_sensorFlag = Q5; }, C5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_toiFlag = Q5; }, Z5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_islandFlag = Q5; }, m5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_touchingFlag = Q5; }, s5 = function(Q5) { Box2D.Dynamics.Contacts.b2Contact.e_continuousFlag = Q5; }; P5(d4Q.K3J); s5(d4Q.p3J); Z5(d4Q.F3J); C5(d4Q.Y3J); m5(d4Q.i1J); H5(d4Q.e3J); z5(V5); Box2D.Dynamics.Contacts.b2Contact.s_input = new G5; }); p5.b2ContactConstraint = function() { this.localPlaneNormal = new j5; this.localPoint = new j5; this.normal = new j5; this.normalMass = new J5; this.K = new J5; }; p5.prototype.b2ContactConstraint = function() { this.points = new Vector(l5.b2_maxManifoldPoints); for (var Q5 = d4Q.M3J; d4Q.G3N(Q5, l5.b2_maxManifoldPoints); Q5++) this.points[Q5] = new U5; }; U5.b2ContactConstraintPoint = function() { this.localPoint = new j5; this.rA = new j5; this.rB = new j5; }; k5.b2ContactEdge = function() {}; B5.b2ContactFactory = function() {}; B5.prototype.b2ContactFactory = function(Q5) { this.m_allocator = Q5; this.InitializeRegisters(); }; B5.prototype.AddType = function(Q5, V5, H5, z5) { if (d4Q.j3N(H5, undefined)) H5 = d4Q.M3J; if (d4Q.R3N(z5, undefined)) z5 = d4Q.M3J; this.m_registers[H5][z5].createFcn = Q5; this.m_registers[H5][z5].destroyFcn = V5; this.m_registers[H5][z5].primary = d4Q.v1J; if (d4Q.e3N(H5, z5)) { this.m_registers[z5][H5].createFcn = Q5; this.m_registers[z5][H5].destroyFcn = V5; this.m_registers[z5][H5].primary = d4Q.d3J; } }; B5.prototype.InitializeRegisters = function() { this.m_registers = new Vector(h5.e_shapeTypeCount); for (var Q5 = d4Q.M3J; d4Q.g3N(Q5, h5.e_shapeTypeCount); Q5++) { this.m_registers[Q5] = new Vector(h5.e_shapeTypeCount); for (var V5 = d4Q.M3J; d4Q.Y3N(V5, h5.e_shapeTypeCount); V5++) this.m_registers[Q5][V5] = new m9; } this.AddType(a9.Create, a9.Destroy, h5.e_circleShape, h5.e_circleShape); this.AddType(S5.Create, S5.Destroy, h5.e_polygonShape, h5.e_circleShape); this.AddType(v5.Create, v5.Destroy, h5.e_polygonShape, h5.e_polygonShape); this.AddType(y5.Create, y5.Destroy, h5.e_edgeShape, h5.e_circleShape); this.AddType(q5.Create, q5.Destroy, h5.e_polygonShape, h5.e_edgeShape); }; B5.prototype.Create = function(Q5, V5) { var H5 = parseInt(Q5.GetType()), z5 = parseInt(V5.GetType()); H5 = this.m_registers[H5][z5]; if (H5.pool) { z5 = H5.pool; H5.pool = z5.m_next; H5.poolCount--; z5.Reset(Q5, V5); return z5; } z5 = H5.createFcn; if (d4Q.E3N(z5, d4Q.A1J)) { if (H5.primary) { z5 = z5(this.m_allocator); z5.Reset(Q5, V5); } else { z5 = z5(this.m_allocator); z5.Reset(V5, Q5); } return z5; } else return d4Q.A1J; }; B5.prototype.Destroy = function(Q5) { if (d4Q.H1N(Q5.m_manifold.m_pointCount, d4Q.M3J)) { Q5.m_fixtureA.m_body.SetAwake(d4Q.v1J); Q5.m_fixtureB.m_body.SetAwake(d4Q.v1J); } var V5 = parseInt(Q5.m_fixtureA.GetType()), H5 = parseInt(Q5.m_fixtureB.GetType()); V5 = this.m_registers[V5][H5]; V5.poolCount++; Q5.m_next = V5.pool; V5.pool = Q5; V5 = V5.destroyFcn; V5(Q5, this.m_allocator); }; m9.b2ContactRegister = function() {}; x5.b2ContactResult = function() { this.position = new j5; this.normal = new j5; this.id = new F5; }; i5.b2ContactSolver = function() { this.m_step = new w5; this.m_constraints = new Vector; }; i5.prototype.b2ContactSolver = function() {}; i5.prototype.Initialize = function(Q5, V5, H5, z5) { if (d4Q.z1N(H5, undefined)) H5 = 0; var P5; this.m_step.Set(Q5); this.m_allocator = z5; Q5 = 0; for (this.m_constraintCount = H5; d4Q.Z1N(this.m_constraints.length, this.m_constraintCount);) this.m_constraints[this.m_constraints.length] = new p5; for (Q5 = 0; d4Q.m1N(Q5, H5); ++Q5) { P5 = V5[Q5]; z5 = P5.m_fixtureA; var C5 = P5.m_fixtureB, Z5 = z5.m_shape.m_radius, m5 = C5.m_shape.m_radius, s5 = z5.m_body, N5 = C5.m_body, I5 = P5.GetManifold(), t5 = l5.b2MixFriction(z5.GetFriction(), C5.GetFriction()), b5 = l5.b2MixRestitution(z5.GetRestitution(), C5.GetRestitution()), f5 = s5.m_linearVelocity.x, T5 = s5.m_linearVelocity.y, o5 = N5.m_linearVelocity.x, c5 = N5.m_linearVelocity.y, n5 = s5.m_angularVelocity, r5 = N5.m_angularVelocity; l5.b2Assert(d4Q.S1N(I5.m_pointCount, 0)); i5.s_worldManifold.Initialize(I5, s5.m_xf, Z5, N5.m_xf, m5); C5 = i5.s_worldManifold.m_normal.x; P5 = i5.s_worldManifold.m_normal.y; z5 = this.m_constraints[Q5]; z5.bodyA = s5; z5.bodyB = N5; z5.manifold = I5; z5.normal.x = C5; z5.normal.y = P5; z5.pointCount = I5.m_pointCount; z5.friction = t5; z5.restitution = b5; z5.localPlaneNormal.x = I5.m_localPlaneNormal.x; z5.localPlaneNormal.y = I5.m_localPlaneNormal.y; z5.localPoint.x = I5.m_localPoint.x; z5.localPoint.y = I5.m_localPoint.y; z5.radius = Z5 + m5; z5.type = I5.m_type; for (Z5 = 0; d4Q.q1N(Z5, z5.pointCount); ++Z5) { t5 = I5.m_points[Z5]; m5 = z5.points[Z5]; m5.normalImpulse = t5.m_normalImpulse; m5.tangentImpulse = t5.m_tangentImpulse; m5.localPoint.SetV(t5.m_localPoint); t5 = m5.rA.x = d4Q.I1N(i5.s_worldManifold.m_points[Z5].x, s5.m_sweep.c.x); b5 = m5.rA.y = d4Q.T1N(i5.s_worldManifold.m_points[Z5].y, s5.m_sweep.c.y); var W5 = m5.rB.x = d4Q.h1N(i5.s_worldManifold.m_points[Z5].x, N5.m_sweep.c.x), Q9 = m5.rB.y = d4Q.W1N(i5.s_worldManifold.m_points[Z5].y, N5.m_sweep.c.y), $ = d4Q.k1N(t5 * P5, b5 * C5), e5 = d4Q.K1N(W5 * P5, Q9 * C5); $ *= $; e5 *= e5; m5.normalMass = d4Q.J1N(1, (s5.m_invMass + N5.m_invMass + s5.m_invI * $ + N5.m_invI * e5)); var M5 = d4Q.u1N(s5.m_mass, s5.m_invMass) + d4Q.L1N(N5.m_mass, N5.m_invMass); M5 += d4Q.r1N(s5.m_mass, s5.m_invI, $) + d4Q.E1N(N5.m_mass, N5.m_invI, e5); m5.equalizedMass = d4Q.i6N(1, M5); e5 = P5; M5 = -C5; $ = d4Q.P6N(t5 * M5, b5 * e5); e5 = d4Q.N6N(W5 * M5, Q9 * e5); $ *= $; e5 *= e5; m5.tangentMass = d4Q.A6N(1, (s5.m_invMass + N5.m_invMass + s5.m_invI * $ + N5.m_invI * e5)); m5.velocityBias = 0; t5 = z5.normal.x * (o5 + -r5 * Q9 - f5 - -n5 * b5) + d4Q.v6N(z5.normal.y, (c5 + r5 * W5 - T5 - n5 * t5)); if (t5 < -l5.b2_velocityThreshold) m5.velocityBias += -z5.restitution * t5; } if (d4Q.c6N(z5.pointCount, 2)) { c5 = z5.points[0]; o5 = z5.points[1]; I5 = s5.m_invMass; s5 = s5.m_invI; f5 = N5.m_invMass; N5 = N5.m_invI; T5 = d4Q.d6N(c5.rA.x * P5, c5.rA.y * C5); c5 = d4Q.U6N(c5.rB.x * P5, c5.rB.y * C5); n5 = d4Q.l6N(o5.rA.x * P5, o5.rA.y * C5); o5 = d4Q.f6N(o5.rB.x * P5, o5.rB.y * C5); C5 = I5 + f5 + d4Q.G6N(s5, T5, T5) + d4Q.M6N(N5, c5, c5); P5 = I5 + f5 + d4Q.u6N(s5, n5, n5) + d4Q.g6N(N5, o5, o5); N5 = I5 + f5 + d4Q.x6N(s5, T5, n5) + d4Q.V8N(N5, c5, o5); if (d4Q.z8N(C5 * C5, 100 * (C5 * P5 - N5 * N5))) { z5.K.col1.Set(C5, N5); z5.K.col2.Set(N5, P5); z5.K.GetInverse(z5.normalMass); } else z5.pointCount = 1; } } }; i5.prototype.InitVelocityConstraints = function(Q5) { for (var V5 = d4Q.M3J; d4Q.Z8N(V5, this.m_constraintCount); ++V5) { var H5 = this.m_constraints[V5], z5 = H5.bodyA, P5 = H5.bodyB, C5 = z5.m_invMass, Z5 = z5.m_invI, m5 = P5.m_invMass, s5 = P5.m_invI, N5 = H5.normal.x, I5 = H5.normal.y, t5 = I5, b5 = -N5, f5 = d4Q.M3J, T5 = d4Q.M3J; if (Q5.warmStarting) { T5 = H5.pointCount; for (f5 = d4Q.M3J; d4Q.m8N(f5, T5); ++f5) { var o5 = H5.points[f5]; o5.normalImpulse *= Q5.dtRatio; o5.tangentImpulse *= Q5.dtRatio; var c5 = d4Q.S8N(o5.normalImpulse, N5) + d4Q.q8N(o5.tangentImpulse, t5), n5 = d4Q.I8N(o5.normalImpulse, I5) + d4Q.T8N(o5.tangentImpulse, b5); z5.m_angularVelocity -= d4Q.h8N(Z5, (o5.rA.x * n5 - o5.rA.y * c5)); z5.m_linearVelocity.x -= d4Q.W8N(C5, c5); z5.m_linearVelocity.y -= d4Q.k8N(C5, n5); P5.m_angularVelocity += d4Q.K8N(s5, (o5.rB.x * n5 - o5.rB.y * c5)); P5.m_linearVelocity.x += d4Q.J8N(m5, c5); P5.m_linearVelocity.y += d4Q.u8N(m5, n5); } } else { T5 = H5.pointCount; for (f5 = d4Q.M3J; d4Q.L8N(f5, T5); ++f5) { z5 = H5.points[f5]; z5.normalImpulse = d4Q.M3J; z5.tangentImpulse = d4Q.M3J; } } } }; i5.prototype.SolveVelocityConstraints = function() { for (var Q5 = d4Q.M3J, V5, H5 = d4Q.M3J, z5 = d4Q.M3J, P5 = d4Q.M3J, C5 = z5 = z5 = H5 = H5 = d4Q.M3J, Z5 = H5 = H5 = d4Q.M3J, m5 = H5 = P5 = d4Q.M3J, s5 = d4Q.M3J, N5, I5 = d4Q.M3J; d4Q.r8N(I5, this.m_constraintCount); ++I5) { P5 = this.m_constraints[I5]; var t5 = P5.bodyA, b5 = P5.bodyB, f5 = t5.m_angularVelocity, T5 = b5.m_angularVelocity, o5 = t5.m_linearVelocity, c5 = b5.m_linearVelocity, n5 = t5.m_invMass, r5 = t5.m_invI, W5 = b5.m_invMass, Q9 = b5.m_invI; m5 = P5.normal.x; var $ = s5 = P5.normal.y; N5 = -m5; Z5 = P5.friction; for (Q5 = d4Q.M3J; d4Q.B8N(Q5, P5.pointCount); Q5++) { V5 = P5.points[Q5]; H5 = d4Q.V0N(c5.x, T5 * V5.rB.y, o5.x, f5 * V5.rA.y); z5 = c5.y + d4Q.P0N(T5, V5.rB.x) - o5.y - d4Q.N0N(f5, V5.rA.x); H5 = d4Q.A0N(H5, $) + d4Q.v0N(z5, N5); H5 = V5.tangentMass * -H5; z5 = d4Q.c0N(Z5, V5.normalImpulse); z5 = K5.Clamp(V5.tangentImpulse + H5, -z5, z5); H5 = d4Q.d0N(z5, V5.tangentImpulse); C5 = d4Q.U0N(H5, $); H5 = d4Q.l0N(H5, N5); o5.x -= d4Q.f0N(n5, C5); o5.y -= d4Q.G0N(n5, H5); f5 -= d4Q.j0N(r5, (V5.rA.x * H5 - V5.rA.y * C5)); c5.x += d4Q.R0N(W5, C5); c5.y += d4Q.e0N(W5, H5); T5 += d4Q.g0N(Q9, (V5.rB.x * H5 - V5.rB.y * C5)); V5.tangentImpulse = z5; } parseInt(P5.pointCount); if (d4Q.Y0N(P5.pointCount, d4Q.K3J)) { V5 = P5.points[d4Q.M3J]; H5 = c5.x + -T5 * V5.rB.y - o5.x - -f5 * V5.rA.y; z5 = c5.y + d4Q.E0N(T5, V5.rB.x) - o5.y - d4Q.H4N(f5, V5.rA.x); P5 = d4Q.z4N(H5, m5) + d4Q.Z4N(z5, s5); H5 = -V5.normalMass * (d4Q.m4N(P5, V5.velocityBias)); z5 = V5.normalImpulse + H5; z5 = d4Q.S4N(z5, d4Q.M3J) ? z5 : d4Q.M3J; H5 = d4Q.q4N(z5, V5.normalImpulse); C5 = d4Q.I4N(H5, m5); H5 = d4Q.T4N(H5, s5); o5.x -= d4Q.h4N(n5, C5); o5.y -= d4Q.W4N(n5, H5); f5 -= d4Q.k4N(r5, (V5.rA.x * H5 - V5.rA.y * C5)); c5.x += d4Q.K4N(W5, C5); c5.y += d4Q.J4N(W5, H5); T5 += d4Q.u4N(Q9, (V5.rB.x * H5 - V5.rB.y * C5)); V5.normalImpulse = z5; } else { V5 = P5.points[d4Q.M3J]; Q5 = P5.points[d4Q.K3J]; H5 = V5.normalImpulse; Z5 = Q5.normalImpulse; var e5 = d4Q.L4N((c5.x - T5 * V5.rB.y - o5.x + f5 * V5.rA.y), m5) + d4Q.r4N((c5.y + T5 * V5.rB.x - o5.y - f5 * V5.rA.x), s5), M5 = d4Q.B4N((c5.x - T5 * Q5.rB.y - o5.x + f5 * Q5.rA.y), m5) + d4Q.V7N((c5.y + T5 * Q5.rB.x - o5.y - f5 * Q5.rA.x), s5); z5 = d4Q.y7N(e5, V5.velocityBias); C5 = d4Q.C7N(M5, Q5.velocityBias); N5 = P5.K; z5 -= d4Q.s7N(N5.col1.x, H5) + d4Q.a7N(N5.col2.x, Z5); for (C5 -= d4Q.t7N(N5.col1.y, H5) + d4Q.o7N(N5.col2.y, Z5);;) { N5 = P5.normalMass; $ = -(d4Q.n7N(N5.col1.x, z5) + d4Q.O7N(N5.col2.x, C5)); N5 = -(d4Q.w7N(N5.col1.y, z5) + d4Q.b7N(N5.col2.y, C5)); if (d4Q.p7N($, d4Q.M3J) && d4Q.M7N(N5, d4Q.M3J)) { H5 = d4Q.X7N($, H5); Z5 = d4Q.F7N(N5, Z5); P5 = d4Q.D7N(H5, m5); H5 = d4Q.x7N(H5, s5); m5 = d4Q.Q2N(Z5, m5); s5 = d4Q.i2N(Z5, s5); o5.x -= d4Q.P2N(n5, (P5 + m5)); o5.y -= d4Q.N2N(n5, (H5 + s5)); f5 -= d4Q.A2N(r5, (V5.rA.x * H5 - V5.rA.y * P5 + Q5.rA.x * s5 - Q5.rA.y * m5)); c5.x += d4Q.v2N(W5, (P5 + m5)); c5.y += d4Q.c2N(W5, (H5 + s5)); T5 += d4Q.d2N(Q9, (V5.rB.x * H5 - V5.rB.y * P5 + Q5.rB.x * s5 - Q5.rB.y * m5)); V5.normalImpulse = $; Q5.normalImpulse = N5; break; } $ = -V5.normalMass * z5; N5 = d4Q.M3J; M5 = d4Q.U2N(P5.K.col1.y, $) + C5; if (d4Q.l2N($, d4Q.M3J) && d4Q.f2N(M5, d4Q.M3J)) { H5 = d4Q.G2N($, H5); Z5 = d4Q.j2N(N5, Z5); P5 = d4Q.R2N(H5, m5); H5 = d4Q.e2N(H5, s5); m5 = d4Q.g2N(Z5, m5); s5 = d4Q.Y2N(Z5, s5); o5.x -= d4Q.E2N(n5, (P5 + m5)); o5.y -= d4Q.H5o(n5, (H5 + s5)); f5 -= d4Q.z5o(r5, (V5.rA.x * H5 - V5.rA.y * P5 + Q5.rA.x * s5 - Q5.rA.y * m5)); c5.x += d4Q.Z5o(W5, (P5 + m5)); c5.y += d4Q.m5o(W5, (H5 + s5)); T5 += d4Q.S5o(Q9, (V5.rB.x * H5 - V5.rB.y * P5 + Q5.rB.x * s5 - Q5.rB.y * m5)); V5.normalImpulse = $; Q5.normalImpulse = N5; break; } $ = d4Q.M3J; N5 = -Q5.normalMass * C5; e5 = d4Q.q5o(P5.K.col2.x, N5) + z5; if (d4Q.I5o(N5, d4Q.M3J) && d4Q.T5o(e5, d4Q.M3J)) { H5 = d4Q.h5o($, H5); Z5 = d4Q.W5o(N5, Z5); P5 = d4Q.k5o(H5, m5); H5 = d4Q.K5o(H5, s5); m5 = d4Q.J5o(Z5, m5); s5 = d4Q.u5o(Z5, s5); o5.x -= d4Q.L5o(n5, (P5 + m5)); o5.y -= d4Q.r5o(n5, (H5 + s5)); f5 -= d4Q.B5o(r5, (V5.rA.x * H5 - V5.rA.y * P5 + Q5.rA.x * s5 - Q5.rA.y * m5)); c5.x += d4Q.V9o(W5, (P5 + m5)); c5.y += d4Q.y9o(W5, (H5 + s5)); T5 += d4Q.C9o(Q9, (V5.rB.x * H5 - V5.rB.y * P5 + Q5.rB.x * s5 - Q5.rB.y * m5)); V5.normalImpulse = $; Q5.normalImpulse = N5; break; } N5 = $ = d4Q.M3J; e5 = z5; M5 = C5; if (d4Q.s9o(e5, d4Q.M3J) && d4Q.a9o(M5, d4Q.M3J)) { H5 = d4Q.t9o($, H5); Z5 = d4Q.o9o(N5, Z5); P5 = d4Q.n9o(H5, m5); H5 = d4Q.O9o(H5, s5); m5 = d4Q.w9o(Z5, m5); s5 = d4Q.b9o(Z5, s5); o5.x -= d4Q.p9o(n5, (P5 + m5)); o5.y -= d4Q.M9o(n5, (H5 + s5)); f5 -= d4Q.X9o(r5, (V5.rA.x * H5 - V5.rA.y * P5 + Q5.rA.x * s5 - Q5.rA.y * m5)); c5.x += d4Q.F9o(W5, (P5 + m5)); c5.y += d4Q.D9o(W5, (H5 + s5)); T5 += d4Q.x9o(Q9, (V5.rB.x * H5 - V5.rB.y * P5 + Q5.rB.x * s5 - Q5.rB.y * m5)); V5.normalImpulse = $; Q5.normalImpulse = N5; break; } break; } } t5.m_angularVelocity = f5; b5.m_angularVelocity = T5; } }; i5.prototype.FinalizeVelocityConstraints = function() { for (var Q5 = d4Q.M3J; d4Q.Q3o(Q5, this.m_constraintCount); ++Q5) for (var V5 = this.m_constraints[Q5], H5 = V5.manifold, z5 = d4Q.M3J; d4Q.i3o(z5, V5.pointCount); ++z5) { var P5 = H5.m_points[z5], C5 = V5.points[z5]; P5.m_normalImpulse = C5.normalImpulse; P5.m_tangentImpulse = C5.tangentImpulse; } }; i5.prototype.SolvePositionConstraints = function(Q5) { if (d4Q.P3o(Q5, undefined)) Q5 = d4Q.M3J; for (var V5 = d4Q.M3J, H5 = d4Q.M3J; d4Q.N3o(H5, this.m_constraintCount); H5++) { var z5 = this.m_constraints[H5], P5 = z5.bodyA, C5 = z5.bodyB, Z5 = d4Q.A3o(P5.m_mass, P5.m_invMass), m5 = d4Q.v3o(P5.m_mass, P5.m_invI), s5 = d4Q.c3o(C5.m_mass, C5.m_invMass), N5 = d4Q.d3o(C5.m_mass, C5.m_invI); i5.s_psm.Initialize(z5); for (var I5 = i5.s_psm.m_normal, t5 = d4Q.M3J; d4Q.U3o(t5, z5.pointCount); t5++) { var b5 = z5.points[t5], f5 = i5.s_psm.m_points[t5], T5 = i5.s_psm.m_separations[t5], o5 = d4Q.l3o(f5.x, P5.m_sweep.c.x), c5 = d4Q.f3o(f5.y, P5.m_sweep.c.y), n5 = d4Q.G3o(f5.x, C5.m_sweep.c.x); f5 = d4Q.j3o(f5.y, C5.m_sweep.c.y); V5 = d4Q.R3o(V5, T5) ? V5 : T5; T5 = K5.Clamp(d4Q.e3o(Q5, (T5 + l5.b2_linearSlop)), -l5.b2_maxLinearCorrection, d4Q.M3J); T5 = -b5.equalizedMass * T5; b5 = d4Q.g3o(T5, I5.x); T5 = d4Q.Y3o(T5, I5.y); P5.m_sweep.c.x -= d4Q.E3o(Z5, b5); P5.m_sweep.c.y -= d4Q.H1o(Z5, T5); P5.m_sweep.a -= d4Q.z1o(m5, (o5 * T5 - c5 * b5)); P5.SynchronizeTransform(); C5.m_sweep.c.x += d4Q.Z1o(s5, b5); C5.m_sweep.c.y += d4Q.m1o(s5, T5); C5.m_sweep.a += d4Q.S1o(N5, (n5 * T5 - f5 * b5)); C5.SynchronizeTransform(); } } return V5 > -d4Q.o3J * l5.b2_linearSlop; }; Box2D.postDefs.push(function() { Box2D.Dynamics.Contacts.b2ContactSolver.s_worldManifold = new s9; Box2D.Dynamics.Contacts.b2ContactSolver.s_psm = new d5; }); Box2D.inherit(y5, Box2D.Dynamics.Contacts.b2Contact); y5.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; y5.b2EdgeAndCircleContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; y5.Create = function() { return new y5; }; y5.Destroy = function() {}; y5.prototype.Reset = function(Q5, V5) { this.__super.Reset.call(this, Q5, V5); }; y5.prototype.Evaluate = function() { var Q5 = this.m_fixtureA.GetBody(), V5 = this.m_fixtureB.GetBody(); this.b2CollideEdgeAndCircle(this.m_manifold, d4Q.q1o(this.m_fixtureA.GetShape(), Y5) ? this.m_fixtureA.GetShape() : d4Q.A1J, Q5.m_xf, d4Q.I1o(this.m_fixtureB.GetShape(), V9) ? this.m_fixtureB.GetShape() : d4Q.A1J, V5.m_xf); }; y5.prototype.b2CollideEdgeAndCircle = function() {}; Box2D.inherit(A5, Box2D.Dynamics.Contacts.b2Contact); A5.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; A5.b2NullContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; A5.prototype.b2NullContact = function() { this.__super.b2Contact.call(this); }; A5.prototype.Evaluate = function() {}; Box2D.inherit(S5, Box2D.Dynamics.Contacts.b2Contact); S5.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; S5.b2PolyAndCircleContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; S5.Create = function() { return new S5; }; S5.Destroy = function() {}; S5.prototype.Reset = function(Q5, V5) { this.__super.Reset.call(this, Q5, V5); l5.b2Assert(d4Q.T1o(Q5.GetType(), h5.e_polygonShape)); l5.b2Assert(d4Q.h1o(V5.GetType(), h5.e_circleShape)); }; S5.prototype.Evaluate = function() { var Q5 = this.m_fixtureA.m_body, V5 = this.m_fixtureB.m_body; Y9.CollidePolygonAndCircle(this.m_manifold, d4Q.W1o(this.m_fixtureA.GetShape(), N9) ? this.m_fixtureA.GetShape() : d4Q.A1J, Q5.m_xf, d4Q.k1o(this.m_fixtureB.GetShape(), V9) ? this.m_fixtureB.GetShape() : d4Q.A1J, V5.m_xf); }; Box2D.inherit(q5, Box2D.Dynamics.Contacts.b2Contact); q5.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; q5.b2PolyAndEdgeContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; q5.Create = function() { return new q5; }; q5.Destroy = function() {}; q5.prototype.Reset = function(Q5, V5) { this.__super.Reset.call(this, Q5, V5); l5.b2Assert(d4Q.K1o(Q5.GetType(), h5.e_polygonShape)); l5.b2Assert(d4Q.J1o(V5.GetType(), h5.e_edgeShape)); }; q5.prototype.Evaluate = function() { var Q5 = this.m_fixtureA.GetBody(), V5 = this.m_fixtureB.GetBody(); this.b2CollidePolyAndEdge(this.m_manifold, d4Q.u1o(this.m_fixtureA.GetShape(), N9) ? this.m_fixtureA.GetShape() : d4Q.A1J, Q5.m_xf, d4Q.L1o(this.m_fixtureB.GetShape(), Y5) ? this.m_fixtureB.GetShape() : d4Q.A1J, V5.m_xf); }; q5.prototype.b2CollidePolyAndEdge = function() {}; Box2D.inherit(v5, Box2D.Dynamics.Contacts.b2Contact); v5.prototype.__super = Box2D.Dynamics.Contacts.b2Contact.prototype; v5.b2PolygonContact = function() { Box2D.Dynamics.Contacts.b2Contact.b2Contact.apply(this, arguments); }; v5.Create = function() { return new v5; }; v5.Destroy = function() {}; v5.prototype.Reset = function(Q5, V5) { this.__super.Reset.call(this, Q5, V5); }; v5.prototype.Evaluate = function() { var Q5 = this.m_fixtureA.GetBody(), V5 = this.m_fixtureB.GetBody(); Y9.CollidePolygons(this.m_manifold, d4Q.r1o(this.m_fixtureA.GetShape(), N9) ? this.m_fixtureA.GetShape() : d4Q.A1J, Q5.m_xf, d4Q.B1o(this.m_fixtureB.GetShape(), N9) ? this.m_fixtureB.GetShape() : d4Q.A1J, V5.m_xf); }; d5.b2PositionSolverManifold = function() {}; d5.prototype.b2PositionSolverManifold = function() { this.m_normal = new j5; this.m_separations = new Vector_a2j_Number(l5.b2_maxManifoldPoints); this.m_points = new Vector(l5.b2_maxManifoldPoints); for (var Q5 = d4Q.M3J; d4Q.V6o(Q5, l5.b2_maxManifoldPoints); Q5++) this.m_points[Q5] = new j5; }; d5.prototype.Initialize = function(Q5) { l5.b2Assert(d4Q.y6o(Q5.pointCount, d4Q.M3J)); var V5 = d4Q.M3J, H5 = d4Q.M3J, z5 = d4Q.M3J, P5, C5 = d4Q.M3J, Z5 = d4Q.M3J; switch (Q5.type) { case L5.e_circles: P5 = Q5.bodyA.m_xf.R; z5 = Q5.localPoint; V5 = Q5.bodyA.m_xf.position.x + (d4Q.C6o(P5.col1.x, z5.x) + d4Q.s6o(P5.col2.x, z5.y)); H5 = Q5.bodyA.m_xf.position.y + (d4Q.a6o(P5.col1.y, z5.x) + d4Q.t6o(P5.col2.y, z5.y)); P5 = Q5.bodyB.m_xf.R; z5 = Q5.points[d4Q.M3J].localPoint; C5 = Q5.bodyB.m_xf.position.x + (d4Q.o6o(P5.col1.x, z5.x) + d4Q.n6o(P5.col2.x, z5.y)); P5 = Q5.bodyB.m_xf.position.y + (d4Q.O6o(P5.col1.y, z5.x) + d4Q.w6o(P5.col2.y, z5.y)); z5 = d4Q.b6o(C5, V5); Z5 = d4Q.p6o(P5, H5); var m5 = d4Q.M6o(z5, z5) + d4Q.X6o(Z5, Z5); if (d4Q.F6o(m5, Number.MIN_VALUE * Number.MIN_VALUE)) { m5 = Math.sqrt(m5); this.m_normal.x = d4Q.D6o(z5, m5); this.m_normal.y = d4Q.x6o(Z5, m5); } else { this.m_normal.x = d4Q.K3J; this.m_normal.y = d4Q.M3J; } this.m_points[d4Q.M3J].x = d4Q.Q8o(d4Q.t3J, (V5 + C5)); this.m_points[d4Q.M3J].y = d4Q.i8o(d4Q.t3J, (H5 + P5)); this.m_separations[d4Q.M3J] = d4Q.P8o(z5, this.m_normal.x) + d4Q.N8o(Z5, this.m_normal.y) - Q5.radius; break; case L5.e_faceA: P5 = Q5.bodyA.m_xf.R; z5 = Q5.localPlaneNormal; this.m_normal.x = d4Q.A8o(P5.col1.x, z5.x) + d4Q.v8o(P5.col2.x, z5.y); this.m_normal.y = d4Q.c8o(P5.col1.y, z5.x) + d4Q.d8o(P5.col2.y, z5.y); P5 = Q5.bodyA.m_xf.R; z5 = Q5.localPoint; C5 = Q5.bodyA.m_xf.position.x + (d4Q.U8o(P5.col1.x, z5.x) + d4Q.l8o(P5.col2.x, z5.y)); Z5 = Q5.bodyA.m_xf.position.y + (d4Q.f8o(P5.col1.y, z5.x) + d4Q.G8o(P5.col2.y, z5.y)); P5 = Q5.bodyB.m_xf.R; for (V5 = d4Q.M3J; d4Q.j8o(V5, Q5.pointCount); ++V5) { z5 = Q5.points[V5].localPoint; H5 = Q5.bodyB.m_xf.position.x + (d4Q.R8o(P5.col1.x, z5.x) + d4Q.e8o(P5.col2.x, z5.y)); z5 = Q5.bodyB.m_xf.position.y + (d4Q.g8o(P5.col1.y, z5.x) + d4Q.Y8o(P5.col2.y, z5.y)); this.m_separations[V5] = d4Q.E8o((H5 - C5), this.m_normal.x) + d4Q.H0o((z5 - Z5), this.m_normal.y) - Q5.radius; this.m_points[V5].x = H5; this.m_points[V5].y = z5; } break; case L5.e_faceB: P5 = Q5.bodyB.m_xf.R; z5 = Q5.localPlaneNormal; this.m_normal.x = d4Q.z0o(P5.col1.x, z5.x) + d4Q.Z0o(P5.col2.x, z5.y); this.m_normal.y = d4Q.m0o(P5.col1.y, z5.x) + d4Q.S0o(P5.col2.y, z5.y); P5 = Q5.bodyB.m_xf.R; z5 = Q5.localPoint; C5 = Q5.bodyB.m_xf.position.x + (d4Q.q0o(P5.col1.x, z5.x) + d4Q.I0o(P5.col2.x, z5.y)); Z5 = Q5.bodyB.m_xf.position.y + (d4Q.T0o(P5.col1.y, z5.x) + d4Q.h0o(P5.col2.y, z5.y)); P5 = Q5.bodyA.m_xf.R; for (V5 = d4Q.M3J; d4Q.W0o(V5, Q5.pointCount); ++V5) { z5 = Q5.points[V5].localPoint; H5 = Q5.bodyA.m_xf.position.x + (d4Q.k0o(P5.col1.x, z5.x) + d4Q.K0o(P5.col2.x, z5.y)); z5 = Q5.bodyA.m_xf.position.y + (d4Q.J0o(P5.col1.y, z5.x) + d4Q.u0o(P5.col2.y, z5.y)); this.m_separations[V5] = d4Q.L0o((H5 - C5), this.m_normal.x) + d4Q.r0o((z5 - Z5), this.m_normal.y) - Q5.radius; this.m_points[V5].Set(H5, z5); } this.m_normal.x *= -d4Q.K3J; this.m_normal.y *= -d4Q.K3J; } }; Box2D.postDefs.push(function() { Box2D.Dynamics.Contacts.b2PositionSolverManifold.circlePointA = new j5; Box2D.Dynamics.Contacts.b2PositionSolverManifold.circlePointB = new j5; }); })(); (function() { var I5 = Box2D.Common.Math.b2Mat22, t5 = Box2D.Common.Math.b2Math, b5 = Box2D.Common.Math.b2Vec2, f5 = Box2D.Common.b2Color, T5 = Box2D.Dynamics.Controllers.b2BuoyancyController, o5 = Box2D.Dynamics.Controllers.b2ConstantAccelController, c5 = Box2D.Dynamics.Controllers.b2ConstantForceController, n5 = Box2D.Dynamics.Controllers.b2Controller, r5 = Box2D.Dynamics.Controllers.b2ControllerEdge, W5 = Box2D.Dynamics.Controllers.b2GravityController, Q9 = Box2D.Dynamics.Controllers.b2TensorDampingController; Box2D.inherit(T5, Box2D.Dynamics.Controllers.b2Controller); T5.prototype.__super = Box2D.Dynamics.Controllers.b2Controller.prototype; T5.b2BuoyancyController = function() { Box2D.Dynamics.Controllers.b2Controller.b2Controller.apply(this, arguments); this.normal = new b5(d4Q.M3J, -d4Q.K3J); this.density = this.offset = d4Q.M3J; this.velocity = new b5(d4Q.M3J, d4Q.M3J); this.linearDrag = d4Q.p3J; this.angularDrag = d4Q.K3J; this.useDensity = d4Q.d3J; this.useWorldGravity = d4Q.v1J; this.gravity = d4Q.A1J; }; T5.prototype.Step = function() { if (this.m_bodyList) { if (this.useWorldGravity) this.gravity = this.GetWorld().GetGravity().Copy(); for (var Q5 = this.m_bodyList; Q5; Q5 = Q5.nextBody) { var V5 = Q5.body; if (d4Q.B0o(V5.IsAwake(), d4Q.d3J)) { for (var H5 = new b5, z5 = new b5, P5 = d4Q.M3J, C5 = d4Q.M3J, Z5 = V5.GetFixtureList(); Z5; Z5 = Z5.GetNext()) { var m5 = new b5, s5 = Z5.GetShape().ComputeSubmergedArea(this.normal, this.offset, V5.GetTransform(), m5); P5 += s5; H5.x += d4Q.V4o(s5, m5.x); H5.y += d4Q.y4o(s5, m5.y); var N5 = d4Q.M3J; N5 = d4Q.K3J; C5 += d4Q.C4o(s5, N5); z5.x += d4Q.s4o(s5, m5.x, N5); z5.y += d4Q.S4o(s5, m5.y, N5); } H5.x /= P5; H5.y /= P5; z5.x /= C5; z5.y /= C5; if (!(d4Q.c4o(P5, Number.MIN_VALUE))) { C5 = this.gravity.GetNegative(); C5.Multiply(d4Q.d4o(this.density, P5)); V5.ApplyForce(C5, z5); z5 = V5.GetLinearVelocityFromWorldPoint(H5); z5.Subtract(this.velocity); z5.Multiply(-this.linearDrag * P5); V5.ApplyForce(z5, H5); V5.ApplyTorque(-V5.GetInertia() / V5.GetMass() * P5 * V5.GetAngularVelocity() * this.angularDrag); } } } } }; T5.prototype.Draw = function(Q5) { var V5 = new b5, H5 = new b5; V5.x = d4Q.U4o(this.normal.x, this.offset) + d4Q.l4o(this.normal.y, d4Q.U1J); V5.y = d4Q.f4o(this.normal.y * this.offset, this.normal.x * d4Q.U1J); H5.x = d4Q.G4o(this.normal.x * this.offset, this.normal.y * d4Q.U1J); H5.y = d4Q.j4o(this.normal.y, this.offset) + d4Q.R4o(this.normal.x, d4Q.U1J); var z5 = new f5(d4Q.M3J, d4Q.M3J, d4Q.K3J); Q5.DrawSegment(V5, H5, z5); }; Box2D.inherit(o5, Box2D.Dynamics.Controllers.b2Controller); o5.prototype.__super = Box2D.Dynamics.Controllers.b2Controller.prototype; o5.b2ConstantAccelController = function() { Box2D.Dynamics.Controllers.b2Controller.b2Controller.apply(this, arguments); this.A = new b5(d4Q.M3J, d4Q.M3J); }; o5.prototype.Step = function(Q5) { Q5 = new b5(d4Q.e4o(this.A.x, Q5.dt), d4Q.g4o(this.A.y, Q5.dt)); for (var V5 = this.m_bodyList; V5; V5 = V5.nextBody) { var H5 = V5.body; H5.IsAwake() && H5.SetLinearVelocity(new b5(H5.GetLinearVelocity().x + Q5.x, H5.GetLinearVelocity().y + Q5.y)); } }; Box2D.inherit(c5, Box2D.Dynamics.Controllers.b2Controller); c5.prototype.__super = Box2D.Dynamics.Controllers.b2Controller.prototype; c5.b2ConstantForceController = function() { Box2D.Dynamics.Controllers.b2Controller.b2Controller.apply(this, arguments); this.F = new b5(d4Q.M3J, d4Q.M3J); }; c5.prototype.Step = function() { for (var Q5 = this.m_bodyList; Q5; Q5 = Q5.nextBody) { var V5 = Q5.body; V5.IsAwake() && V5.ApplyForce(this.F, V5.GetWorldCenter()); } }; n5.b2Controller = function() {}; n5.prototype.Step = function() {}; n5.prototype.Draw = function() {}; n5.prototype.AddBody = function(Q5) { var V5 = new r5; V5.controller = this; V5.body = Q5; V5.nextBody = this.m_bodyList; V5.prevBody = d4Q.A1J; this.m_bodyList = V5; if (V5.nextBody) V5.nextBody.prevBody = V5; this.m_bodyCount++; V5.nextController = Q5.m_controllerList; V5.prevController = d4Q.A1J; Q5.m_controllerList = V5; if (V5.nextController) V5.nextController.prevController = V5; Q5.m_controllerCount++; }; n5.prototype.RemoveBody = function(Q5) { for (var V5 = Q5.m_controllerList; V5 && d4Q.Y4o(V5.controller, this);) V5 = V5.nextController; if (V5.prevBody) V5.prevBody.nextBody = V5.nextBody; if (V5.nextBody) V5.nextBody.prevBody = V5.prevBody; if (V5.nextController) V5.nextController.prevController = V5.prevController; if (V5.prevController) V5.prevController.nextController = V5.nextController; if (d4Q.E4o(this.m_bodyList, V5)) this.m_bodyList = V5.nextBody; if (d4Q.H7o(Q5.m_controllerList, V5)) Q5.m_controllerList = V5.nextController; Q5.m_controllerCount--; this.m_bodyCount--; }; n5.prototype.Clear = function() { for (; this.m_bodyList;) this.RemoveBody(this.m_bodyList.body); }; n5.prototype.GetNext = function() { return this.m_next; }; n5.prototype.GetWorld = function() { return this.m_world; }; n5.prototype.GetBodyList = function() { return this.m_bodyList; }; r5.b2ControllerEdge = function() {}; Box2D.inherit(W5, Box2D.Dynamics.Controllers.b2Controller); W5.prototype.__super = Box2D.Dynamics.Controllers.b2Controller.prototype; W5.b2GravityController = function() { Box2D.Dynamics.Controllers.b2Controller.b2Controller.apply(this, arguments); this.G = d4Q.K3J; this.invSqr = d4Q.v1J; }; W5.prototype.Step = function() { var Q5 = d4Q.A1J, V5 = d4Q.A1J, H5 = d4Q.A1J, z5 = d4Q.M3J, P5 = d4Q.A1J, C5 = d4Q.A1J, Z5 = d4Q.A1J, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J; m5 = d4Q.A1J; if (this.invSqr) for (Q5 = this.m_bodyList; Q5; Q5 = Q5.nextBody) { V5 = Q5.body; H5 = V5.GetWorldCenter(); z5 = V5.GetMass(); for (P5 = this.m_bodyList; d4Q.z7o(P5, Q5); P5 = P5.nextBody) { C5 = P5.body; Z5 = C5.GetWorldCenter(); m5 = d4Q.Z7o(Z5.x, H5.x); s5 = d4Q.m7o(Z5.y, H5.y); N5 = d4Q.S7o(m5, m5) + d4Q.q7o(s5, s5); if (!(d4Q.I7o(N5, Number.MIN_VALUE))) { m5 = new b5(m5, s5); m5.Multiply(d4Q.T7o(this.G, N5, Math.sqrt(N5), z5, C5.GetMass())); V5.IsAwake() && V5.ApplyForce(m5, H5); m5.Multiply(-d4Q.K3J); C5.IsAwake() && C5.ApplyForce(m5, Z5); } } } else for (Q5 = this.m_bodyList; Q5; Q5 = Q5.nextBody) { V5 = Q5.body; H5 = V5.GetWorldCenter(); z5 = V5.GetMass(); for (P5 = this.m_bodyList; d4Q.W7o(P5, Q5); P5 = P5.nextBody) { C5 = P5.body; Z5 = C5.GetWorldCenter(); m5 = d4Q.k7o(Z5.x, H5.x); s5 = d4Q.K7o(Z5.y, H5.y); N5 = d4Q.J7o(m5, m5) + d4Q.u7o(s5, s5); if (!(d4Q.L7o(N5, Number.MIN_VALUE))) { m5 = new b5(m5, s5); m5.Multiply(d4Q.r7o(this.G, N5, z5, C5.GetMass())); V5.IsAwake() && V5.ApplyForce(m5, H5); m5.Multiply(-d4Q.K3J); C5.IsAwake() && C5.ApplyForce(m5, Z5); } } } }; Box2D.inherit(Q9, Box2D.Dynamics.Controllers.b2Controller); Q9.prototype.__super = Box2D.Dynamics.Controllers.b2Controller.prototype; Q9.b2TensorDampingController = function() { Box2D.Dynamics.Controllers.b2Controller.b2Controller.apply(this, arguments); this.T = new I5; this.maxTimestep = d4Q.M3J; }; Q9.prototype.SetAxisAligned = function(Q5, V5) { if (d4Q.Q2o(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.i2o(V5, undefined)) V5 = d4Q.M3J; this.T.col1.x = -Q5; this.T.col1.y = d4Q.M3J; this.T.col2.x = d4Q.M3J; this.T.col2.y = -V5; this.maxTimestep = d4Q.P2o(Q5, d4Q.M3J) || d4Q.N2o(V5, d4Q.M3J) ? d4Q.A2o(d4Q.K3J, Math.max(Q5, V5)) : d4Q.M3J; }; Q9.prototype.Step = function(Q5) { Q5 = Q5.dt; if (!(d4Q.v2o(Q5, Number.MIN_VALUE))) { if (d4Q.c2o(Q5, this.maxTimestep) && d4Q.d2o(this.maxTimestep, d4Q.M3J)) Q5 = this.maxTimestep; for (var V5 = this.m_bodyList; V5; V5 = V5.nextBody) { var H5 = V5.body; if (H5.IsAwake()) { var z5 = H5.GetWorldVector(t5.MulMV(this.T, H5.GetLocalVector(H5.GetLinearVelocity()))); H5.SetLinearVelocity(new b5(H5.GetLinearVelocity().x + d4Q.U2o(z5.x, Q5), H5.GetLinearVelocity().y + d4Q.l2o(z5.y, Q5))); } } } }; })(); (function() { var r5 = 5, W5 = Box2D.Common.b2Settings, Q9 = Box2D.Common.Math.b2Mat22, R5 = Box2D.Common.Math.b2Mat33, e5 = Box2D.Common.Math.b2Math, M5 = Box2D.Common.Math.b2Vec2, V9 = Box2D.Common.Math.b2Vec3, Y5 = Box2D.Dynamics.Joints.b2DistanceJoint, N9 = Box2D.Dynamics.Joints.b2DistanceJointDef, h5 = Box2D.Dynamics.Joints.b2FrictionJoint, a9 = Box2D.Dynamics.Joints.b2FrictionJointDef, u5 = Box2D.Dynamics.Joints.b2GearJoint, p5 = Box2D.Dynamics.Joints.b2GearJointDef, U5 = Box2D.Dynamics.Joints.b2Jacobian, k5 = Box2D.Dynamics.Joints.b2Joint, B5 = Box2D.Dynamics.Joints.b2JointDef, m9 = Box2D.Dynamics.Joints.b2JointEdge, x5 = Box2D.Dynamics.Joints.b2LineJoint, i5 = Box2D.Dynamics.Joints.b2LineJointDef, y5 = Box2D.Dynamics.Joints.b2MouseJoint, A5 = Box2D.Dynamics.Joints.b2MouseJointDef, S5 = Box2D.Dynamics.Joints.b2PrismaticJoint, q5 = Box2D.Dynamics.Joints.b2PrismaticJointDef, v5 = Box2D.Dynamics.Joints.b2PulleyJoint, d5 = Box2D.Dynamics.Joints.b2PulleyJointDef, O5 = Box2D.Dynamics.Joints.b2RevoluteJoint, w5 = Box2D.Dynamics.Joints.b2RevoluteJointDef, l5 = Box2D.Dynamics.Joints.b2WeldJoint, J5 = Box2D.Dynamics.Joints.b2WeldJointDef; Box2D.inherit(Y5, Box2D.Dynamics.Joints.b2Joint); Y5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; Y5.b2DistanceJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_u = new M5; }; Y5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; Y5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; Y5.prototype.GetReactionForce = function(Q5) { if (d4Q.f2o(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.G2o(Q5, this.m_impulse, this.m_u.x), d4Q.M2o(Q5, this.m_impulse, this.m_u.y)); }; Y5.prototype.GetReactionTorque = function() { return d4Q.M3J; }; Y5.prototype.GetLength = function() { return this.m_length; }; Y5.prototype.SetLength = function(Q5) { if (d4Q.u2o(Q5, undefined)) Q5 = d4Q.M3J; this.m_length = Q5; }; Y5.prototype.GetFrequency = function() { return this.m_frequencyHz; }; Y5.prototype.SetFrequency = function(Q5) { if (d4Q.L2o(Q5, undefined)) Q5 = d4Q.M3J; this.m_frequencyHz = Q5; }; Y5.prototype.GetDampingRatio = function() { return this.m_dampingRatio; }; Y5.prototype.SetDampingRatio = function(Q5) { if (d4Q.r2o(Q5, undefined)) Q5 = d4Q.M3J; this.m_dampingRatio = Q5; }; Y5.prototype.b2DistanceJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchor1.SetV(Q5.localAnchorA); this.m_localAnchor2.SetV(Q5.localAnchorB); this.m_length = Q5.length; this.m_frequencyHz = Q5.frequencyHz; this.m_dampingRatio = Q5.dampingRatio; this.m_bias = this.m_gamma = this.m_impulse = d4Q.M3J; }; Y5.prototype.InitVelocityConstraints = function(Q5) { var V5, H5 = d4Q.M3J, z5 = this.m_bodyA, P5 = this.m_bodyB; V5 = z5.m_xf.R; var C5 = d4Q.B2o(this.m_localAnchor1.x, z5.m_sweep.localCenter.x), Z5 = d4Q.V5I(this.m_localAnchor1.y, z5.m_sweep.localCenter.y); H5 = d4Q.y5I(V5.col1.x, C5) + d4Q.C5I(V5.col2.x, Z5); Z5 = d4Q.s5I(V5.col1.y, C5) + d4Q.a5I(V5.col2.y, Z5); C5 = H5; V5 = P5.m_xf.R; var m5 = d4Q.t5I(this.m_localAnchor2.x, P5.m_sweep.localCenter.x), s5 = d4Q.o5I(this.m_localAnchor2.y, P5.m_sweep.localCenter.y); H5 = d4Q.n5I(V5.col1.x, m5) + d4Q.O5I(V5.col2.x, s5); s5 = d4Q.w5I(V5.col1.y, m5) + d4Q.b5I(V5.col2.y, s5); m5 = H5; this.m_u.x = P5.m_sweep.c.x + m5 - z5.m_sweep.c.x - C5; this.m_u.y = P5.m_sweep.c.y + s5 - z5.m_sweep.c.y - Z5; H5 = Math.sqrt(d4Q.p5I(this.m_u.x, this.m_u.x) + d4Q.M5I(this.m_u.y, this.m_u.y)); d4Q.X5I(H5, W5.b2_linearSlop) ? this.m_u.Multiply(d4Q.F5I(d4Q.K3J, H5)) : this.m_u.SetZero(); V5 = d4Q.D5I(C5 * this.m_u.y, Z5 * this.m_u.x); var N5 = d4Q.x5I(m5 * this.m_u.y, s5 * this.m_u.x); V5 = z5.m_invMass + d4Q.Q9I(z5.m_invI, V5, V5) + P5.m_invMass + d4Q.y9I(P5.m_invI, N5, N5); this.m_mass = d4Q.Z9I(V5, d4Q.M3J) ? d4Q.m9I(d4Q.K3J, V5) : d4Q.M3J; if (d4Q.S9I(this.m_frequencyHz, d4Q.M3J)) { H5 = d4Q.q9I(H5, this.m_length); N5 = d4Q.I9I(d4Q.p3J, Math.PI, this.m_frequencyHz); var I5 = d4Q.U9I(this.m_mass, N5, N5); this.m_gamma = d4Q.w9I(Q5.dt, (d4Q.p3J * this.m_mass * this.m_dampingRatio * N5 + Q5.dt * I5)); this.m_gamma = d4Q.b9I(this.m_gamma, d4Q.M3J) ? d4Q.p9I(d4Q.K3J, this.m_gamma) : d4Q.M3J; this.m_bias = d4Q.M9I(H5, Q5.dt, I5, this.m_gamma); this.m_mass = V5 + this.m_gamma; this.m_mass = d4Q.e9I(this.m_mass, d4Q.M3J) ? d4Q.g9I(d4Q.K3J, this.m_mass) : d4Q.M3J; } if (Q5.warmStarting) { this.m_impulse *= Q5.dtRatio; Q5 = d4Q.Y9I(this.m_impulse, this.m_u.x); V5 = d4Q.E9I(this.m_impulse, this.m_u.y); z5.m_linearVelocity.x -= d4Q.H3I(z5.m_invMass, Q5); z5.m_linearVelocity.y -= d4Q.z3I(z5.m_invMass, V5); z5.m_angularVelocity -= d4Q.Z3I(z5.m_invI, (C5 * V5 - Z5 * Q5)); P5.m_linearVelocity.x += d4Q.m3I(P5.m_invMass, Q5); P5.m_linearVelocity.y += d4Q.S3I(P5.m_invMass, V5); P5.m_angularVelocity += d4Q.q3I(P5.m_invI, (m5 * V5 - s5 * Q5)); } else this.m_impulse = d4Q.M3J; }; Y5.prototype.SolveVelocityConstraints = function() { var Q5, V5 = this.m_bodyA, H5 = this.m_bodyB; Q5 = V5.m_xf.R; var z5 = d4Q.I3I(this.m_localAnchor1.x, V5.m_sweep.localCenter.x), P5 = d4Q.T3I(this.m_localAnchor1.y, V5.m_sweep.localCenter.y), C5 = d4Q.h3I(Q5.col1.x, z5) + d4Q.W3I(Q5.col2.x, P5); P5 = d4Q.k3I(Q5.col1.y, z5) + d4Q.K3I(Q5.col2.y, P5); z5 = C5; Q5 = H5.m_xf.R; var Z5 = d4Q.J3I(this.m_localAnchor2.x, H5.m_sweep.localCenter.x), m5 = d4Q.u3I(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); C5 = d4Q.L3I(Q5.col1.x, Z5) + d4Q.r3I(Q5.col2.x, m5); m5 = d4Q.B3I(Q5.col1.y, Z5) + d4Q.V1I(Q5.col2.y, m5); Z5 = C5; C5 = -this.m_mass * (this.m_u.x * (H5.m_linearVelocity.x + -H5.m_angularVelocity * m5 - (V5.m_linearVelocity.x + -V5.m_angularVelocity * P5)) + d4Q.y1I(this.m_u.y, (H5.m_linearVelocity.y + H5.m_angularVelocity * Z5 - (V5.m_linearVelocity.y + V5.m_angularVelocity * z5))) + this.m_bias + d4Q.C1I(this.m_gamma, this.m_impulse)); this.m_impulse += C5; Q5 = d4Q.s1I(C5, this.m_u.x); C5 = d4Q.a1I(C5, this.m_u.y); V5.m_linearVelocity.x -= d4Q.t1I(V5.m_invMass, Q5); V5.m_linearVelocity.y -= d4Q.o1I(V5.m_invMass, C5); V5.m_angularVelocity -= d4Q.n1I(V5.m_invI, (z5 * C5 - P5 * Q5)); H5.m_linearVelocity.x += d4Q.O1I(H5.m_invMass, Q5); H5.m_linearVelocity.y += d4Q.w1I(H5.m_invMass, C5); H5.m_angularVelocity += d4Q.b1I(H5.m_invI, (Z5 * C5 - m5 * Q5)); }; Y5.prototype.SolvePositionConstraints = function() { var Q5; if (d4Q.p1I(this.m_frequencyHz, d4Q.M3J)) return d4Q.v1J; var V5 = this.m_bodyA, H5 = this.m_bodyB; Q5 = V5.m_xf.R; var z5 = d4Q.M1I(this.m_localAnchor1.x, V5.m_sweep.localCenter.x), P5 = d4Q.X1I(this.m_localAnchor1.y, V5.m_sweep.localCenter.y), C5 = d4Q.F1I(Q5.col1.x, z5) + d4Q.D1I(Q5.col2.x, P5); P5 = d4Q.x1I(Q5.col1.y, z5) + d4Q.Q6I(Q5.col2.y, P5); z5 = C5; Q5 = H5.m_xf.R; var Z5 = d4Q.i6I(this.m_localAnchor2.x, H5.m_sweep.localCenter.x), m5 = d4Q.P6I(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); C5 = d4Q.N6I(Q5.col1.x, Z5) + d4Q.A6I(Q5.col2.x, m5); m5 = d4Q.v6I(Q5.col1.y, Z5) + d4Q.c6I(Q5.col2.y, m5); Z5 = C5; C5 = H5.m_sweep.c.x + Z5 - V5.m_sweep.c.x - z5; var s5 = H5.m_sweep.c.y + m5 - V5.m_sweep.c.y - P5; Q5 = Math.sqrt(d4Q.d6I(C5, C5) + d4Q.U6I(s5, s5)); C5 /= Q5; s5 /= Q5; Q5 = d4Q.l6I(Q5, this.m_length); Q5 = e5.Clamp(Q5, -W5.b2_maxLinearCorrection, W5.b2_maxLinearCorrection); var N5 = -this.m_mass * Q5; this.m_u.Set(C5, s5); C5 = d4Q.f6I(N5, this.m_u.x); s5 = d4Q.G6I(N5, this.m_u.y); V5.m_sweep.c.x -= d4Q.j6I(V5.m_invMass, C5); V5.m_sweep.c.y -= d4Q.R6I(V5.m_invMass, s5); V5.m_sweep.a -= d4Q.e6I(V5.m_invI, (z5 * s5 - P5 * C5)); H5.m_sweep.c.x += d4Q.g6I(H5.m_invMass, C5); H5.m_sweep.c.y += d4Q.Y6I(H5.m_invMass, s5); H5.m_sweep.a += d4Q.E6I(H5.m_invI, (Z5 * s5 - m5 * C5)); V5.SynchronizeTransform(); H5.SynchronizeTransform(); return d4Q.H8I(e5.Abs(Q5), W5.b2_linearSlop); }; Box2D.inherit(N9, Box2D.Dynamics.Joints.b2JointDef); N9.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; N9.b2DistanceJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; }; N9.prototype.b2DistanceJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_distanceJoint; this.length = 1; this.dampingRatio = this.frequencyHz = d4Q.M3J; }; N9.prototype.Initialize = function(Q5, V5, H5, z5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA.SetV(this.bodyA.GetLocalPoint(H5)); this.localAnchorB.SetV(this.bodyB.GetLocalPoint(z5)); Q5 = d4Q.z8I(z5.x, H5.x); H5 = d4Q.Z8I(z5.y, H5.y); this.length = Math.sqrt(d4Q.m8I(Q5, Q5) + d4Q.S8I(H5, H5)); this.dampingRatio = this.frequencyHz = d4Q.M3J; }; Box2D.inherit(h5, Box2D.Dynamics.Joints.b2Joint); h5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; h5.b2FrictionJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_localAnchorA = new M5; this.m_localAnchorB = new M5; this.m_linearMass = new Q9; this.m_linearImpulse = new M5; }; h5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchorA); }; h5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchorB); }; h5.prototype.GetReactionForce = function(Q5) { if (d4Q.q8I(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.I8I(Q5, this.m_linearImpulse.x), d4Q.T8I(Q5, this.m_linearImpulse.y)); }; h5.prototype.GetReactionTorque = function(Q5) { if (d4Q.h8I(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.W8I(Q5, this.m_angularImpulse); }; h5.prototype.SetMaxForce = function(Q5) { if (d4Q.k8I(Q5, undefined)) Q5 = d4Q.M3J; this.m_maxForce = Q5; }; h5.prototype.GetMaxForce = function() { return this.m_maxForce; }; h5.prototype.SetMaxTorque = function(Q5) { if (d4Q.K8I(Q5, undefined)) Q5 = d4Q.M3J; this.m_maxTorque = Q5; }; h5.prototype.GetMaxTorque = function() { return this.m_maxTorque; }; h5.prototype.b2FrictionJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchorA.SetV(Q5.localAnchorA); this.m_localAnchorB.SetV(Q5.localAnchorB); this.m_linearMass.SetZero(); this.m_angularMass = d4Q.M3J; this.m_linearImpulse.SetZero(); this.m_angularImpulse = d4Q.M3J; this.m_maxForce = Q5.maxForce; this.m_maxTorque = Q5.maxTorque; }; h5.prototype.InitVelocityConstraints = function(Q5) { var V5, H5 = d4Q.M3J, z5 = this.m_bodyA, P5 = this.m_bodyB; V5 = z5.m_xf.R; var C5 = d4Q.J8I(this.m_localAnchorA.x, z5.m_sweep.localCenter.x), Z5 = d4Q.u8I(this.m_localAnchorA.y, z5.m_sweep.localCenter.y); H5 = d4Q.L8I(V5.col1.x, C5) + d4Q.r8I(V5.col2.x, Z5); Z5 = d4Q.B8I(V5.col1.y, C5) + d4Q.V0I(V5.col2.y, Z5); C5 = H5; V5 = P5.m_xf.R; var m5 = d4Q.y0I(this.m_localAnchorB.x, P5.m_sweep.localCenter.x), s5 = d4Q.C0I(this.m_localAnchorB.y, P5.m_sweep.localCenter.y); H5 = d4Q.s0I(V5.col1.x, m5) + d4Q.a0I(V5.col2.x, s5); s5 = d4Q.t0I(V5.col1.y, m5) + d4Q.o0I(V5.col2.y, s5); m5 = H5; V5 = z5.m_invMass; H5 = P5.m_invMass; var N5 = z5.m_invI, I5 = P5.m_invI, t5 = new Q9; t5.col1.x = V5 + H5; t5.col2.x = d4Q.M3J; t5.col1.y = d4Q.M3J; t5.col2.y = V5 + H5; t5.col1.x += d4Q.n0I(N5, Z5, Z5); t5.col2.x += -N5 * C5 * Z5; t5.col1.y += -N5 * C5 * Z5; t5.col2.y += d4Q.h0I(N5, C5, C5); t5.col1.x += d4Q.f0I(I5, s5, s5); t5.col2.x += -I5 * m5 * s5; t5.col1.y += -I5 * m5 * s5; t5.col2.y += d4Q.p0I(I5, m5, m5); t5.GetInverse(this.m_linearMass); this.m_angularMass = N5 + I5; if (d4Q.J0I(this.m_angularMass, d4Q.M3J)) this.m_angularMass = d4Q.u0I(d4Q.K3J, this.m_angularMass); if (Q5.warmStarting) { this.m_linearImpulse.x *= Q5.dtRatio; this.m_linearImpulse.y *= Q5.dtRatio; this.m_angularImpulse *= Q5.dtRatio; Q5 = this.m_linearImpulse; z5.m_linearVelocity.x -= d4Q.L0I(V5, Q5.x); z5.m_linearVelocity.y -= d4Q.r0I(V5, Q5.y); z5.m_angularVelocity -= d4Q.B0I(N5, (C5 * Q5.y - Z5 * Q5.x + this.m_angularImpulse)); P5.m_linearVelocity.x += d4Q.V4I(H5, Q5.x); P5.m_linearVelocity.y += d4Q.y4I(H5, Q5.y); P5.m_angularVelocity += d4Q.C4I(I5, (m5 * Q5.y - s5 * Q5.x + this.m_angularImpulse)); } else { this.m_linearImpulse.SetZero(); this.m_angularImpulse = d4Q.M3J; } }; h5.prototype.SolveVelocityConstraints = function(Q5) { var V5, H5 = d4Q.M3J, z5 = this.m_bodyA, P5 = this.m_bodyB, C5 = z5.m_linearVelocity, Z5 = z5.m_angularVelocity, m5 = P5.m_linearVelocity, s5 = P5.m_angularVelocity, N5 = z5.m_invMass, I5 = P5.m_invMass, t5 = z5.m_invI, b5 = P5.m_invI; V5 = z5.m_xf.R; var f5 = d4Q.s4I(this.m_localAnchorA.x, z5.m_sweep.localCenter.x), T5 = d4Q.a4I(this.m_localAnchorA.y, z5.m_sweep.localCenter.y); H5 = d4Q.t4I(V5.col1.x, f5) + d4Q.o4I(V5.col2.x, T5); T5 = d4Q.n4I(V5.col1.y, f5) + d4Q.O4I(V5.col2.y, T5); f5 = H5; V5 = P5.m_xf.R; var o5 = d4Q.w4I(this.m_localAnchorB.x, P5.m_sweep.localCenter.x), c5 = d4Q.b4I(this.m_localAnchorB.y, P5.m_sweep.localCenter.y); H5 = d4Q.p4I(V5.col1.x, o5) + d4Q.M4I(V5.col2.x, c5); c5 = d4Q.X4I(V5.col1.y, o5) + d4Q.F4I(V5.col2.y, c5); o5 = H5; V5 = d4Q.M3J; H5 = -this.m_angularMass * (d4Q.D4I(s5, Z5)); var n5 = this.m_angularImpulse; V5 = d4Q.x4I(Q5.dt, this.m_maxTorque); this.m_angularImpulse = e5.Clamp(this.m_angularImpulse + H5, -V5, V5); H5 = d4Q.Q7I(this.m_angularImpulse, n5); Z5 -= d4Q.i7I(t5, H5); s5 += d4Q.P7I(b5, H5); V5 = e5.MulMV(this.m_linearMass, new M5(-(d4Q.N7I(m5.x, s5 * c5, C5.x, Z5 * T5)), -(m5.y + d4Q.S7I(s5, o5) - C5.y - d4Q.q7I(Z5, f5)))); H5 = this.m_linearImpulse.Copy(); this.m_linearImpulse.Add(V5); V5 = d4Q.I7I(Q5.dt, this.m_maxForce); if (d4Q.T7I(this.m_linearImpulse.LengthSquared(), V5 * V5)) { this.m_linearImpulse.Normalize(); this.m_linearImpulse.Multiply(V5); } V5 = e5.SubtractVV(this.m_linearImpulse, H5); C5.x -= d4Q.h7I(N5, V5.x); C5.y -= d4Q.W7I(N5, V5.y); Z5 -= d4Q.k7I(t5, (f5 * V5.y - T5 * V5.x)); m5.x += d4Q.K7I(I5, V5.x); m5.y += d4Q.J7I(I5, V5.y); s5 += d4Q.u7I(b5, (o5 * V5.y - c5 * V5.x)); z5.m_angularVelocity = Z5; P5.m_angularVelocity = s5; }; h5.prototype.SolvePositionConstraints = function() { return d4Q.v1J; }; Box2D.inherit(a9, Box2D.Dynamics.Joints.b2JointDef); a9.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; a9.b2FrictionJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; }; a9.prototype.b2FrictionJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_frictionJoint; this.maxTorque = this.maxForce = d4Q.M3J; }; a9.prototype.Initialize = function(Q5, V5, H5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA.SetV(this.bodyA.GetLocalPoint(H5)); this.localAnchorB.SetV(this.bodyB.GetLocalPoint(H5)); }; Box2D.inherit(u5, Box2D.Dynamics.Joints.b2Joint); u5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; u5.b2GearJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_groundAnchor1 = new M5; this.m_groundAnchor2 = new M5; this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_J = new U5; }; u5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; u5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; u5.prototype.GetReactionForce = function(Q5) { if (d4Q.L7I(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.r7I(Q5, this.m_impulse, this.m_J.linearB.x), d4Q.E7I(Q5, this.m_impulse, this.m_J.linearB.y)); }; u5.prototype.GetReactionTorque = function(Q5) { if (d4Q.i2I(Q5, undefined)) Q5 = d4Q.M3J; var V5 = this.m_bodyB.m_xf.R, H5 = d4Q.P2I(this.m_localAnchor1.x, this.m_bodyB.m_sweep.localCenter.x), z5 = d4Q.N2I(this.m_localAnchor1.y, this.m_bodyB.m_sweep.localCenter.y), P5 = d4Q.A2I(V5.col1.x, H5) + d4Q.v2I(V5.col2.x, z5); z5 = d4Q.c2I(V5.col1.y, H5) + d4Q.d2I(V5.col2.y, z5); H5 = P5; return d4Q.U2I(Q5, (this.m_impulse * this.m_J.angularB - H5 * this.m_impulse * this.m_J.linearB.y + z5 * this.m_impulse * this.m_J.linearB.x)); }; u5.prototype.GetRatio = function() { return this.m_ratio; }; u5.prototype.SetRatio = function(Q5) { if (d4Q.l2I(Q5, undefined)) Q5 = d4Q.M3J; this.m_ratio = Q5; }; u5.prototype.b2GearJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); var V5 = parseInt(Q5.joint1.m_type), H5 = parseInt(Q5.joint2.m_type); this.m_prismatic2 = this.m_revolute2 = this.m_prismatic1 = this.m_revolute1 = d4Q.A1J; var z5 = d4Q.M3J, P5 = d4Q.M3J; this.m_ground1 = Q5.joint1.GetBodyA(); this.m_bodyA = Q5.joint1.GetBodyB(); if (d4Q.f2I(V5, k5.e_revoluteJoint)) { this.m_revolute1 = d4Q.G2I(Q5.joint1, O5) ? Q5.joint1 : d4Q.A1J; this.m_groundAnchor1.SetV(this.m_revolute1.m_localAnchor1); this.m_localAnchor1.SetV(this.m_revolute1.m_localAnchor2); z5 = this.m_revolute1.GetJointAngle(); } else { this.m_prismatic1 = d4Q.j2I(Q5.joint1, S5) ? Q5.joint1 : d4Q.A1J; this.m_groundAnchor1.SetV(this.m_prismatic1.m_localAnchor1); this.m_localAnchor1.SetV(this.m_prismatic1.m_localAnchor2); z5 = this.m_prismatic1.GetJointTranslation(); } this.m_ground2 = Q5.joint2.GetBodyA(); this.m_bodyB = Q5.joint2.GetBodyB(); if (d4Q.R2I(H5, k5.e_revoluteJoint)) { this.m_revolute2 = d4Q.e2I(Q5.joint2, O5) ? Q5.joint2 : d4Q.A1J; this.m_groundAnchor2.SetV(this.m_revolute2.m_localAnchor1); this.m_localAnchor2.SetV(this.m_revolute2.m_localAnchor2); P5 = this.m_revolute2.GetJointAngle(); } else { this.m_prismatic2 = d4Q.g2I(Q5.joint2, S5) ? Q5.joint2 : d4Q.A1J; this.m_groundAnchor2.SetV(this.m_prismatic2.m_localAnchor1); this.m_localAnchor2.SetV(this.m_prismatic2.m_localAnchor2); P5 = this.m_prismatic2.GetJointTranslation(); } this.m_ratio = Q5.ratio; this.m_constant = z5 + d4Q.Y2I(this.m_ratio, P5); this.m_impulse = d4Q.M3J; }; u5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_ground1, H5 = this.m_ground2, z5 = this.m_bodyA, P5 = this.m_bodyB, C5 = d4Q.M3J, Z5 = d4Q.M3J, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = m5 = d4Q.M3J, I5 = d4Q.M3J; this.m_J.SetZero(); if (this.m_revolute1) { this.m_J.angularA = -d4Q.K3J; I5 += z5.m_invI; } else { V5 = V5.m_xf.R; Z5 = this.m_prismatic1.m_localXAxis1; C5 = d4Q.E2I(V5.col1.x, Z5.x) + d4Q.H5B(V5.col2.x, Z5.y); Z5 = d4Q.z5B(V5.col1.y, Z5.x) + d4Q.Z5B(V5.col2.y, Z5.y); V5 = z5.m_xf.R; m5 = d4Q.m5B(this.m_localAnchor1.x, z5.m_sweep.localCenter.x); s5 = d4Q.S5B(this.m_localAnchor1.y, z5.m_sweep.localCenter.y); N5 = d4Q.q5B(V5.col1.x, m5) + d4Q.I5B(V5.col2.x, s5); s5 = d4Q.T5B(V5.col1.y, m5) + d4Q.h5B(V5.col2.y, s5); m5 = N5; m5 = d4Q.W5B(m5 * Z5, s5 * C5); this.m_J.linearA.Set(-C5, -Z5); this.m_J.angularA = -m5; I5 += z5.m_invMass + d4Q.k5B(z5.m_invI, m5, m5); } if (this.m_revolute2) { this.m_J.angularB = -this.m_ratio; I5 += d4Q.j5B(this.m_ratio, this.m_ratio, P5.m_invI); } else { V5 = H5.m_xf.R; Z5 = this.m_prismatic2.m_localXAxis1; C5 = d4Q.X5B(V5.col1.x, Z5.x) + d4Q.F5B(V5.col2.x, Z5.y); Z5 = d4Q.D5B(V5.col1.y, Z5.x) + d4Q.x5B(V5.col2.y, Z5.y); V5 = P5.m_xf.R; m5 = d4Q.Q9B(this.m_localAnchor2.x, P5.m_sweep.localCenter.x); s5 = d4Q.i9B(this.m_localAnchor2.y, P5.m_sweep.localCenter.y); N5 = d4Q.P9B(V5.col1.x, m5) + d4Q.N9B(V5.col2.x, s5); s5 = d4Q.A9B(V5.col1.y, m5) + d4Q.v9B(V5.col2.y, s5); m5 = N5; m5 = d4Q.c9B(m5 * Z5, s5 * C5); this.m_J.linearB.Set(-this.m_ratio * C5, -this.m_ratio * Z5); this.m_J.angularB = -this.m_ratio * m5; I5 += d4Q.d9B(this.m_ratio, this.m_ratio, (P5.m_invMass + P5.m_invI * m5 * m5)); } this.m_mass = d4Q.O9B(I5, d4Q.M3J) ? d4Q.w9B(d4Q.K3J, I5) : d4Q.M3J; if (Q5.warmStarting) { z5.m_linearVelocity.x += d4Q.b9B(z5.m_invMass, this.m_impulse, this.m_J.linearA.x); z5.m_linearVelocity.y += d4Q.K9B(z5.m_invMass, this.m_impulse, this.m_J.linearA.y); z5.m_angularVelocity += d4Q.R9B(z5.m_invI, this.m_impulse, this.m_J.angularA); P5.m_linearVelocity.x += d4Q.F9B(P5.m_invMass, this.m_impulse, this.m_J.linearB.x); P5.m_linearVelocity.y += d4Q.r9B(P5.m_invMass, this.m_impulse, this.m_J.linearB.y); P5.m_angularVelocity += d4Q.E9B(P5.m_invI, this.m_impulse, this.m_J.angularB); } else this.m_impulse = d4Q.M3J; }; u5.prototype.SolveVelocityConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = -this.m_mass * this.m_J.Compute(Q5.m_linearVelocity, Q5.m_angularVelocity, V5.m_linearVelocity, V5.m_angularVelocity); this.m_impulse += H5; Q5.m_linearVelocity.x += d4Q.i3B(Q5.m_invMass, H5, this.m_J.linearA.x); Q5.m_linearVelocity.y += d4Q.C3B(Q5.m_invMass, H5, this.m_J.linearA.y); Q5.m_angularVelocity += d4Q.m3B(Q5.m_invI, H5, this.m_J.angularA); V5.m_linearVelocity.x += d4Q.v3B(V5.m_invMass, H5, this.m_J.linearB.x); V5.m_linearVelocity.y += d4Q.o3B(V5.m_invMass, H5, this.m_J.linearB.y); V5.m_angularVelocity += d4Q.T3B(V5.m_invI, H5, this.m_J.angularB); }; u5.prototype.SolvePositionConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = d4Q.M3J, z5 = d4Q.M3J; H5 = this.m_revolute1 ? this.m_revolute1.GetJointAngle() : this.m_prismatic1.GetJointTranslation(); z5 = this.m_revolute2 ? this.m_revolute2.GetJointAngle() : this.m_prismatic2.GetJointTranslation(); H5 = -this.m_mass * (d4Q.l3B(this.m_constant, (H5 + this.m_ratio * z5))); Q5.m_sweep.c.x += d4Q.f3B(Q5.m_invMass, H5, this.m_J.linearA.x); Q5.m_sweep.c.y += d4Q.p3B(Q5.m_invMass, H5, this.m_J.linearA.y); Q5.m_sweep.a += d4Q.J3B(Q5.m_invI, H5, this.m_J.angularA); V5.m_sweep.c.x += d4Q.e3B(V5.m_invMass, H5, this.m_J.linearB.x); V5.m_sweep.c.y += d4Q.D3B(V5.m_invMass, H5, this.m_J.linearB.y); V5.m_sweep.a += d4Q.B3B(V5.m_invI, H5, this.m_J.angularB); Q5.SynchronizeTransform(); V5.SynchronizeTransform(); return d4Q.H1B(d4Q.M3J, W5.b2_linearSlop); }; Box2D.inherit(p5, Box2D.Dynamics.Joints.b2JointDef); p5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; p5.b2GearJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); }; p5.prototype.b2GearJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_gearJoint; this.joint2 = this.joint1 = d4Q.A1J; this.ratio = d4Q.K3J; }; U5.b2Jacobian = function() { this.linearA = new M5; this.linearB = new M5; }; U5.prototype.SetZero = function() { this.linearA.SetZero(); this.angularA = d4Q.M3J; this.linearB.SetZero(); this.angularB = d4Q.M3J; }; U5.prototype.Set = function(Q5, V5, H5, z5) { if (d4Q.z1B(V5, undefined)) V5 = d4Q.M3J; if (d4Q.Z1B(z5, undefined)) z5 = d4Q.M3J; this.linearA.SetV(Q5); this.angularA = V5; this.linearB.SetV(H5); this.angularB = z5; }; U5.prototype.Compute = function(Q5, V5, H5, z5) { if (d4Q.m1B(V5, undefined)) V5 = d4Q.M3J; if (d4Q.S1B(z5, undefined)) z5 = d4Q.M3J; return d4Q.q1B(this.linearA.x, Q5.x) + d4Q.I1B(this.linearA.y, Q5.y) + d4Q.T1B(this.angularA, V5) + (d4Q.h1B(this.linearB.x, H5.x) + d4Q.W1B(this.linearB.y, H5.y)) + d4Q.k1B(this.angularB, z5); }; k5.b2Joint = function() { this.m_edgeA = new m9; this.m_edgeB = new m9; this.m_localCenterA = new M5; this.m_localCenterB = new M5; }; k5.prototype.GetType = function() { return this.m_type; }; k5.prototype.GetAnchorA = function() { return d4Q.A1J; }; k5.prototype.GetAnchorB = function() { return d4Q.A1J; }; k5.prototype.GetReactionForce = function() { return d4Q.A1J; }; k5.prototype.GetReactionTorque = function() { return d4Q.M3J; }; k5.prototype.GetBodyA = function() { return this.m_bodyA; }; k5.prototype.GetBodyB = function() { return this.m_bodyB; }; k5.prototype.GetNext = function() { return this.m_next; }; k5.prototype.GetUserData = function() { return this.m_userData; }; k5.prototype.SetUserData = function(Q5) { this.m_userData = Q5; }; k5.prototype.IsActive = function() { return this.m_bodyA.IsActive() && this.m_bodyB.IsActive(); }; k5.Create = function(Q5) { var V5 = d4Q.A1J; switch (Q5.type) { case k5.e_distanceJoint: V5 = new Y5(d4Q.K1B(Q5, N9) ? Q5 : d4Q.A1J); break; case k5.e_mouseJoint: V5 = new y5(d4Q.J1B(Q5, A5) ? Q5 : d4Q.A1J); break; case k5.e_prismaticJoint: V5 = new S5(d4Q.u1B(Q5, q5) ? Q5 : d4Q.A1J); break; case k5.e_revoluteJoint: V5 = new O5(d4Q.L1B(Q5, w5) ? Q5 : d4Q.A1J); break; case k5.e_pulleyJoint: V5 = new v5(d4Q.r1B(Q5, d5) ? Q5 : d4Q.A1J); break; case k5.e_gearJoint: V5 = new u5(d4Q.B1B(Q5, p5) ? Q5 : d4Q.A1J); break; case k5.e_lineJoint: V5 = new x5(d4Q.V6B(Q5, i5) ? Q5 : d4Q.A1J); break; case k5.e_weldJoint: V5 = new l5(d4Q.y6B(Q5, J5) ? Q5 : d4Q.A1J); break; case k5.e_frictionJoint: V5 = new h5(d4Q.C6B(Q5, a9) ? Q5 : d4Q.A1J); } return V5; }; k5.Destroy = function() {}; k5.prototype.b2Joint = function(Q5) { W5.b2Assert(d4Q.s6B(Q5.bodyA, Q5.bodyB)); this.m_type = Q5.type; this.m_next = this.m_prev = d4Q.A1J; this.m_bodyA = Q5.bodyA; this.m_bodyB = Q5.bodyB; this.m_collideConnected = Q5.collideConnected; this.m_islandFlag = d4Q.d3J; this.m_userData = Q5.userData; }; k5.prototype.InitVelocityConstraints = function() {}; k5.prototype.SolveVelocityConstraints = function() {}; k5.prototype.FinalizeVelocityConstraints = function() {}; k5.prototype.SolvePositionConstraints = function() { return d4Q.d3J; }; Box2D.postDefs.push(function() { var V5 = 9, H5 = 7, z5 = 6, P5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_equalLimits = Q5; }, C5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_revoluteJoint = Q5; }, Z5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_mouseJoint = Q5; }, m5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_atLowerLimit = Q5; }, s5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_frictionJoint = Q5; }, N5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_inactiveLimit = Q5; }, I5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_atUpperLimit = Q5; }, t5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_lineJoint = Q5; }, b5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_distanceJoint = Q5; }, f5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_weldJoint = Q5; }, T5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_prismaticJoint = Q5; }, o5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_unknownJoint = Q5; }, c5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_gearJoint = Q5; }, n5 = function(Q5) { Box2D.Dynamics.Joints.b2Joint.e_pulleyJoint = Q5; }; o5(d4Q.M3J); C5(d4Q.K3J); T5(d4Q.p3J); b5(d4Q.k3J); n5(d4Q.F3J); Z5(r5); c5(z5); t5(H5); f5(d4Q.Y3J); s5(V5); N5(d4Q.M3J); m5(d4Q.K3J); I5(d4Q.p3J); P5(d4Q.k3J); }); B5.b2JointDef = function() {}; B5.prototype.b2JointDef = function() { this.type = k5.e_unknownJoint; this.bodyB = this.bodyA = this.userData = d4Q.A1J; this.collideConnected = d4Q.d3J; }; m9.b2JointEdge = function() {}; Box2D.inherit(x5, Box2D.Dynamics.Joints.b2Joint); x5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; x5.b2LineJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_localXAxis1 = new M5; this.m_localYAxis1 = new M5; this.m_axis = new M5; this.m_perp = new M5; this.m_K = new Q9; this.m_impulse = new M5; }; x5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; x5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; x5.prototype.GetReactionForce = function(Q5) { if (d4Q.a6B(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.t6B(Q5, (this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.x)), d4Q.o6B(Q5, (this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.y))); }; x5.prototype.GetReactionTorque = function(Q5) { if (d4Q.n6B(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.O6B(Q5, this.m_impulse.y); }; x5.prototype.GetJointTranslation = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = Q5.GetWorldPoint(this.m_localAnchor1), z5 = V5.GetWorldPoint(this.m_localAnchor2); V5 = d4Q.w6B(z5.x, H5.x); H5 = d4Q.b6B(z5.y, H5.y); Q5 = Q5.GetWorldVector(this.m_localXAxis1); return d4Q.p6B(Q5.x, V5) + d4Q.M6B(Q5.y, H5); }; x5.prototype.GetJointSpeed = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5; H5 = Q5.m_xf.R; var z5 = d4Q.X6B(this.m_localAnchor1.x, Q5.m_sweep.localCenter.x), P5 = d4Q.F6B(this.m_localAnchor1.y, Q5.m_sweep.localCenter.y), C5 = d4Q.D6B(H5.col1.x, z5) + d4Q.x6B(H5.col2.x, P5); P5 = d4Q.Q8B(H5.col1.y, z5) + d4Q.i8B(H5.col2.y, P5); z5 = C5; H5 = V5.m_xf.R; var Z5 = d4Q.P8B(this.m_localAnchor2.x, V5.m_sweep.localCenter.x), m5 = d4Q.N8B(this.m_localAnchor2.y, V5.m_sweep.localCenter.y); C5 = d4Q.A8B(H5.col1.x, Z5) + d4Q.v8B(H5.col2.x, m5); m5 = d4Q.c8B(H5.col1.y, Z5) + d4Q.d8B(H5.col2.y, m5); Z5 = C5; H5 = V5.m_sweep.c.x + Z5 - (Q5.m_sweep.c.x + z5); C5 = V5.m_sweep.c.y + m5 - (Q5.m_sweep.c.y + P5); var s5 = Q5.GetWorldVector(this.m_localXAxis1), N5 = Q5.m_linearVelocity, I5 = V5.m_linearVelocity; Q5 = Q5.m_angularVelocity; V5 = V5.m_angularVelocity; return H5 * -Q5 * s5.y + d4Q.U8B(C5, Q5, s5.x) + (s5.x * (I5.x + -V5 * m5 - N5.x - -Q5 * P5) + d4Q.w8B(s5.y, (I5.y + V5 * Z5 - N5.y - Q5 * z5))); }; x5.prototype.IsLimitEnabled = function() { return this.m_enableLimit; }; x5.prototype.EnableLimit = function(Q5) { this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_enableLimit = Q5; }; x5.prototype.GetLowerLimit = function() { return this.m_lowerTranslation; }; x5.prototype.GetUpperLimit = function() { return this.m_upperTranslation; }; x5.prototype.SetLimits = function(Q5, V5) { if (d4Q.b8B(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.p8B(V5, undefined)) V5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_lowerTranslation = Q5; this.m_upperTranslation = V5; }; x5.prototype.IsMotorEnabled = function() { return this.m_enableMotor; }; x5.prototype.EnableMotor = function(Q5) { this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_enableMotor = Q5; }; x5.prototype.SetMotorSpeed = function(Q5) { if (d4Q.M8B(Q5, undefined)) Q5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_motorSpeed = Q5; }; x5.prototype.GetMotorSpeed = function() { return this.m_motorSpeed; }; x5.prototype.SetMaxMotorForce = function(Q5) { if (d4Q.X8B(Q5, undefined)) Q5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_maxMotorForce = Q5; }; x5.prototype.GetMaxMotorForce = function() { return this.m_maxMotorForce; }; x5.prototype.GetMotorForce = function() { return this.m_motorImpulse; }; x5.prototype.b2LineJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchor1.SetV(Q5.localAnchorA); this.m_localAnchor2.SetV(Q5.localAnchorB); this.m_localXAxis1.SetV(Q5.localAxisA); this.m_localYAxis1.x = -this.m_localXAxis1.y; this.m_localYAxis1.y = this.m_localXAxis1.x; this.m_impulse.SetZero(); this.m_motorImpulse = this.m_motorMass = d4Q.M3J; this.m_lowerTranslation = Q5.lowerTranslation; this.m_upperTranslation = Q5.upperTranslation; this.m_maxMotorForce = Q5.maxMotorForce; this.m_motorSpeed = Q5.motorSpeed; this.m_enableLimit = Q5.enableLimit; this.m_enableMotor = Q5.enableMotor; this.m_limitState = k5.e_inactiveLimit; this.m_axis.SetZero(); this.m_perp.SetZero(); }; x5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5, P5 = d4Q.M3J; this.m_localCenterA.SetV(V5.GetLocalCenter()); this.m_localCenterB.SetV(H5.GetLocalCenter()); var C5 = V5.GetTransform(); H5.GetTransform(); z5 = V5.m_xf.R; var Z5 = d4Q.F8B(this.m_localAnchor1.x, this.m_localCenterA.x), m5 = d4Q.D8B(this.m_localAnchor1.y, this.m_localCenterA.y); P5 = d4Q.x8B(z5.col1.x, Z5) + d4Q.Q0B(z5.col2.x, m5); m5 = d4Q.i0B(z5.col1.y, Z5) + d4Q.P0B(z5.col2.y, m5); Z5 = P5; z5 = H5.m_xf.R; var s5 = d4Q.N0B(this.m_localAnchor2.x, this.m_localCenterB.x), N5 = d4Q.A0B(this.m_localAnchor2.y, this.m_localCenterB.y); P5 = d4Q.v0B(z5.col1.x, s5) + d4Q.c0B(z5.col2.x, N5); N5 = d4Q.d0B(z5.col1.y, s5) + d4Q.U0B(z5.col2.y, N5); s5 = P5; z5 = H5.m_sweep.c.x + s5 - V5.m_sweep.c.x - Z5; P5 = H5.m_sweep.c.y + N5 - V5.m_sweep.c.y - m5; this.m_invMassA = V5.m_invMass; this.m_invMassB = H5.m_invMass; this.m_invIA = V5.m_invI; this.m_invIB = H5.m_invI; this.m_axis.SetV(e5.MulMV(C5.R, this.m_localXAxis1)); this.m_a1 = d4Q.l0B((z5 + Z5) * this.m_axis.y, (P5 + m5) * this.m_axis.x); this.m_a2 = d4Q.f0B(s5 * this.m_axis.y, N5 * this.m_axis.x); this.m_motorMass = this.m_invMassA + this.m_invMassB + d4Q.G0B(this.m_invIA, this.m_a1, this.m_a1) + d4Q.M0B(this.m_invIB, this.m_a2, this.m_a2); this.m_motorMass = d4Q.u0B(this.m_motorMass, Number.MIN_VALUE) ? d4Q.L0B(d4Q.K3J, this.m_motorMass) : d4Q.M3J; this.m_perp.SetV(e5.MulMV(C5.R, this.m_localYAxis1)); this.m_s1 = d4Q.r0B((z5 + Z5) * this.m_perp.y, (P5 + m5) * this.m_perp.x); this.m_s2 = d4Q.B0B(s5 * this.m_perp.y, N5 * this.m_perp.x); C5 = this.m_invMassA; Z5 = this.m_invMassB; m5 = this.m_invIA; s5 = this.m_invIB; this.m_K.col1.x = C5 + Z5 + d4Q.V4B(m5, this.m_s1, this.m_s1) + d4Q.z4B(s5, this.m_s2, this.m_s2); this.m_K.col1.y = d4Q.N4B(m5, this.m_s1, this.m_a1) + d4Q.a4B(s5, this.m_s2, this.m_a2); this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = C5 + Z5 + d4Q.q4B(m5, this.m_a1, this.m_a1) + d4Q.d4B(s5, this.m_a2, this.m_a2); if (this.m_enableLimit) { z5 = d4Q.O4B(this.m_axis.x, z5) + d4Q.w4B(this.m_axis.y, P5); if (d4Q.b4B(e5.Abs(this.m_upperTranslation - this.m_lowerTranslation), d4Q.p3J * W5.b2_linearSlop)) this.m_limitState = k5.e_equalLimits; else if (d4Q.p4B(z5, this.m_lowerTranslation)) { if (d4Q.M4B(this.m_limitState, k5.e_atLowerLimit)) { this.m_limitState = k5.e_atLowerLimit; this.m_impulse.y = d4Q.M3J; } } else if (d4Q.X4B(z5, this.m_upperTranslation)) { if (d4Q.F4B(this.m_limitState, k5.e_atUpperLimit)) { this.m_limitState = k5.e_atUpperLimit; this.m_impulse.y = d4Q.M3J; } } else { this.m_limitState = k5.e_inactiveLimit; this.m_impulse.y = d4Q.M3J; } } else this.m_limitState = k5.e_inactiveLimit; if (d4Q.D4B(this.m_enableMotor, d4Q.d3J)) this.m_motorImpulse = d4Q.M3J; if (Q5.warmStarting) { this.m_impulse.x *= Q5.dtRatio; this.m_impulse.y *= Q5.dtRatio; this.m_motorImpulse *= Q5.dtRatio; Q5 = d4Q.x4B(this.m_impulse.x, this.m_perp.x) + d4Q.Q7B((this.m_motorImpulse + this.m_impulse.y), this.m_axis.x); z5 = d4Q.i7B(this.m_impulse.x, this.m_perp.y) + d4Q.P7B((this.m_motorImpulse + this.m_impulse.y), this.m_axis.y); P5 = d4Q.N7B(this.m_impulse.x, this.m_s1) + d4Q.A7B((this.m_motorImpulse + this.m_impulse.y), this.m_a1); C5 = d4Q.v7B(this.m_impulse.x, this.m_s2) + d4Q.c7B((this.m_motorImpulse + this.m_impulse.y), this.m_a2); V5.m_linearVelocity.x -= d4Q.d7B(this.m_invMassA, Q5); V5.m_linearVelocity.y -= d4Q.U7B(this.m_invMassA, z5); V5.m_angularVelocity -= d4Q.l7B(this.m_invIA, P5); H5.m_linearVelocity.x += d4Q.f7B(this.m_invMassB, Q5); H5.m_linearVelocity.y += d4Q.G7B(this.m_invMassB, z5); H5.m_angularVelocity += d4Q.j7B(this.m_invIB, C5); } else { this.m_impulse.SetZero(); this.m_motorImpulse = d4Q.M3J; } }; x5.prototype.SolveVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5 = V5.m_linearVelocity, P5 = V5.m_angularVelocity, C5 = H5.m_linearVelocity, Z5 = H5.m_angularVelocity, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = d4Q.M3J; if (this.m_enableMotor && d4Q.R7B(this.m_limitState, k5.e_equalLimits)) { I5 = d4Q.e7B(this.m_motorMass, (this.m_motorSpeed - (this.m_axis.x * (C5.x - z5.x) + this.m_axis.y * (C5.y - z5.y) + this.m_a2 * Z5 - this.m_a1 * P5))); m5 = this.m_motorImpulse; s5 = d4Q.g7B(Q5.dt, this.m_maxMotorForce); this.m_motorImpulse = e5.Clamp(this.m_motorImpulse + I5, -s5, s5); I5 = d4Q.Y7B(this.m_motorImpulse, m5); m5 = d4Q.E7B(I5, this.m_axis.x); s5 = d4Q.H2B(I5, this.m_axis.y); N5 = d4Q.z2B(I5, this.m_a1); I5 = d4Q.Z2B(I5, this.m_a2); z5.x -= d4Q.m2B(this.m_invMassA, m5); z5.y -= d4Q.S2B(this.m_invMassA, s5); P5 -= d4Q.q2B(this.m_invIA, N5); C5.x += d4Q.I2B(this.m_invMassB, m5); C5.y += d4Q.T2B(this.m_invMassB, s5); Z5 += d4Q.h2B(this.m_invIB, I5); } s5 = d4Q.W2B(this.m_perp.x, (C5.x - z5.x)) + d4Q.k2B(this.m_perp.y, (C5.y - z5.y)) + d4Q.K2B(this.m_s2, Z5) - d4Q.J2B(this.m_s1, P5); if (this.m_enableLimit && d4Q.u2B(this.m_limitState, k5.e_inactiveLimit)) { N5 = d4Q.L2B(this.m_axis.x, (C5.x - z5.x)) + d4Q.r2B(this.m_axis.y, (C5.y - z5.y)) + d4Q.B2B(this.m_a2, Z5) - d4Q.V5K(this.m_a1, P5); m5 = this.m_impulse.Copy(); Q5 = this.m_K.Solve(new M5, -s5, -N5); this.m_impulse.Add(Q5); if (d4Q.y5K(this.m_limitState, k5.e_atLowerLimit)) this.m_impulse.y = e5.Max(this.m_impulse.y, d4Q.M3J); else if (d4Q.C5K(this.m_limitState, k5.e_atUpperLimit)) this.m_impulse.y = e5.Min(this.m_impulse.y, d4Q.M3J); s5 = -s5 - (d4Q.s5K(this.m_impulse.y, m5.y)) * this.m_K.col2.x; N5 = d4Q.M3J; N5 = d4Q.a5K(this.m_K.col1.x, d4Q.M3J) ? d4Q.t5K(s5, this.m_K.col1.x) + m5.x : m5.x; this.m_impulse.x = N5; Q5.x = d4Q.o5K(this.m_impulse.x, m5.x); Q5.y = d4Q.n5K(this.m_impulse.y, m5.y); m5 = d4Q.O5K(Q5.x, this.m_perp.x) + d4Q.w5K(Q5.y, this.m_axis.x); s5 = d4Q.b5K(Q5.x, this.m_perp.y) + d4Q.p5K(Q5.y, this.m_axis.y); N5 = d4Q.M5K(Q5.x, this.m_s1) + d4Q.X5K(Q5.y, this.m_a1); I5 = d4Q.F5K(Q5.x, this.m_s2) + d4Q.D5K(Q5.y, this.m_a2); } else { Q5 = d4Q.M3J; Q5 = d4Q.x5K(this.m_K.col1.x, d4Q.M3J) ? -s5 / this.m_K.col1.x : d4Q.M3J; this.m_impulse.x += Q5; m5 = d4Q.Q9K(Q5, this.m_perp.x); s5 = d4Q.i9K(Q5, this.m_perp.y); N5 = d4Q.P9K(Q5, this.m_s1); I5 = d4Q.N9K(Q5, this.m_s2); } z5.x -= d4Q.A9K(this.m_invMassA, m5); z5.y -= d4Q.v9K(this.m_invMassA, s5); P5 -= d4Q.c9K(this.m_invIA, N5); C5.x += d4Q.d9K(this.m_invMassB, m5); C5.y += d4Q.U9K(this.m_invMassB, s5); Z5 += d4Q.l9K(this.m_invIB, I5); V5.m_linearVelocity.SetV(z5); V5.m_angularVelocity = P5; H5.m_linearVelocity.SetV(C5); H5.m_angularVelocity = Z5; }; x5.prototype.SolvePositionConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = Q5.m_sweep.c, z5 = Q5.m_sweep.a, P5 = V5.m_sweep.c, C5 = V5.m_sweep.a, Z5, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = d4Q.M3J, t5 = Z5 = d4Q.M3J, b5 = d4Q.M3J; s5 = d4Q.d3J; var f5 = d4Q.M3J, T5 = Q9.FromAngle(z5); N5 = Q9.FromAngle(C5); Z5 = T5; b5 = d4Q.f9K(this.m_localAnchor1.x, this.m_localCenterA.x); var o5 = d4Q.G9K(this.m_localAnchor1.y, this.m_localCenterA.y); m5 = d4Q.j9K(Z5.col1.x, b5) + d4Q.R9K(Z5.col2.x, o5); o5 = d4Q.e9K(Z5.col1.y, b5) + d4Q.g9K(Z5.col2.y, o5); b5 = m5; Z5 = N5; N5 = d4Q.Y9K(this.m_localAnchor2.x, this.m_localCenterB.x); I5 = d4Q.E9K(this.m_localAnchor2.y, this.m_localCenterB.y); m5 = d4Q.H3K(Z5.col1.x, N5) + d4Q.z3K(Z5.col2.x, I5); I5 = d4Q.Z3K(Z5.col1.y, N5) + d4Q.m3K(Z5.col2.y, I5); N5 = m5; Z5 = P5.x + N5 - H5.x - b5; m5 = P5.y + I5 - H5.y - o5; if (this.m_enableLimit) { this.m_axis = e5.MulMV(T5, this.m_localXAxis1); this.m_a1 = d4Q.S3K((Z5 + b5) * this.m_axis.y, (m5 + o5) * this.m_axis.x); this.m_a2 = d4Q.q3K(N5 * this.m_axis.y, I5 * this.m_axis.x); var c5 = d4Q.I3K(this.m_axis.x, Z5) + d4Q.T3K(this.m_axis.y, m5); if (d4Q.h3K(e5.Abs(this.m_upperTranslation - this.m_lowerTranslation), d4Q.p3J * W5.b2_linearSlop)) { f5 = e5.Clamp(c5, -W5.b2_maxLinearCorrection, W5.b2_maxLinearCorrection); t5 = e5.Abs(c5); s5 = d4Q.v1J; } else if (d4Q.W3K(c5, this.m_lowerTranslation)) { f5 = e5.Clamp(d4Q.k3K(c5, this.m_lowerTranslation, W5.b2_linearSlop), -W5.b2_maxLinearCorrection, d4Q.M3J); t5 = d4Q.j3K(this.m_lowerTranslation, c5); s5 = d4Q.v1J; } else if (d4Q.R3K(c5, this.m_upperTranslation)) { f5 = e5.Clamp(d4Q.e3K(c5, this.m_upperTranslation, W5.b2_linearSlop), d4Q.M3J, W5.b2_maxLinearCorrection); t5 = d4Q.D3K(c5, this.m_upperTranslation); s5 = d4Q.v1J; } } this.m_perp = e5.MulMV(T5, this.m_localYAxis1); this.m_s1 = d4Q.x3K((Z5 + b5) * this.m_perp.y, (m5 + o5) * this.m_perp.x); this.m_s2 = d4Q.Q1K(N5 * this.m_perp.y, I5 * this.m_perp.x); T5 = new M5; o5 = d4Q.i1K(this.m_perp.x, Z5) + d4Q.P1K(this.m_perp.y, m5); t5 = e5.Max(t5, e5.Abs(o5)); b5 = d4Q.M3J; if (s5) { s5 = this.m_invMassA; N5 = this.m_invMassB; I5 = this.m_invIA; Z5 = this.m_invIB; this.m_K.col1.x = s5 + N5 + d4Q.N1K(I5, this.m_s1, this.m_s1) + d4Q.a1K(Z5, this.m_s2, this.m_s2); this.m_K.col1.y = d4Q.q1K(I5, this.m_s1, this.m_a1) + d4Q.d1K(Z5, this.m_s2, this.m_a2); this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = s5 + N5 + d4Q.O1K(I5, this.m_a1, this.m_a1) + d4Q.W1K(Z5, this.m_a2, this.m_a2); this.m_K.Solve(T5, -o5, -f5); } else { s5 = this.m_invMassA; N5 = this.m_invMassB; I5 = this.m_invIA; Z5 = this.m_invIB; f5 = s5 + N5 + d4Q.G1K(I5, this.m_s1, this.m_s1) + d4Q.M1K(Z5, this.m_s2, this.m_s2); s5 = d4Q.M3J; s5 = d4Q.u1K(f5, d4Q.M3J) ? -o5 / f5 : d4Q.M3J; T5.x = s5; T5.y = d4Q.M3J; } f5 = d4Q.L1K(T5.x, this.m_perp.x) + d4Q.r1K(T5.y, this.m_axis.x); s5 = d4Q.B1K(T5.x, this.m_perp.y) + d4Q.V6K(T5.y, this.m_axis.y); o5 = d4Q.y6K(T5.x, this.m_s1) + d4Q.C6K(T5.y, this.m_a1); T5 = d4Q.s6K(T5.x, this.m_s2) + d4Q.a6K(T5.y, this.m_a2); H5.x -= d4Q.t6K(this.m_invMassA, f5); H5.y -= d4Q.o6K(this.m_invMassA, s5); z5 -= d4Q.n6K(this.m_invIA, o5); P5.x += d4Q.O6K(this.m_invMassB, f5); P5.y += d4Q.w6K(this.m_invMassB, s5); C5 += d4Q.b6K(this.m_invIB, T5); Q5.m_sweep.a = z5; V5.m_sweep.a = C5; Q5.SynchronizeTransform(); V5.SynchronizeTransform(); return d4Q.p6K(t5, W5.b2_linearSlop) && d4Q.M6K(b5, W5.b2_angularSlop); }; Box2D.inherit(i5, Box2D.Dynamics.Joints.b2JointDef); i5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; i5.b2LineJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; this.localAxisA = new M5; }; i5.prototype.b2LineJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_lineJoint; this.localAxisA.Set(d4Q.K3J, d4Q.M3J); this.enableLimit = d4Q.d3J; this.upperTranslation = this.lowerTranslation = d4Q.M3J; this.enableMotor = d4Q.d3J; this.motorSpeed = this.maxMotorForce = d4Q.M3J; }; i5.prototype.Initialize = function(Q5, V5, H5, z5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA = this.bodyA.GetLocalPoint(H5); this.localAnchorB = this.bodyB.GetLocalPoint(H5); this.localAxisA = this.bodyA.GetLocalVector(z5); }; Box2D.inherit(y5, Box2D.Dynamics.Joints.b2Joint); y5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; y5.b2MouseJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.K = new Q9; this.K1 = new Q9; this.K2 = new Q9; this.m_localAnchor = new M5; this.m_target = new M5; this.m_impulse = new M5; this.m_mass = new Q9; this.m_C = new M5; }; y5.prototype.GetAnchorA = function() { return this.m_target; }; y5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor); }; y5.prototype.GetReactionForce = function(Q5) { if (d4Q.X6K(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.F6K(Q5, this.m_impulse.x), d4Q.D6K(Q5, this.m_impulse.y)); }; y5.prototype.GetReactionTorque = function() { return d4Q.M3J; }; y5.prototype.GetTarget = function() { return this.m_target; }; y5.prototype.SetTarget = function(Q5) { d4Q.x6K(this.m_bodyB.IsAwake(), d4Q.d3J) && this.m_bodyB.SetAwake(d4Q.v1J); this.m_target = Q5; }; y5.prototype.GetMaxForce = function() { return this.m_maxForce; }; y5.prototype.SetMaxForce = function(Q5) { if (d4Q.Q8K(Q5, undefined)) Q5 = d4Q.M3J; this.m_maxForce = Q5; }; y5.prototype.GetFrequency = function() { return this.m_frequencyHz; }; y5.prototype.SetFrequency = function(Q5) { if (d4Q.i8K(Q5, undefined)) Q5 = d4Q.M3J; this.m_frequencyHz = Q5; }; y5.prototype.GetDampingRatio = function() { return this.m_dampingRatio; }; y5.prototype.SetDampingRatio = function(Q5) { if (d4Q.P8K(Q5, undefined)) Q5 = d4Q.M3J; this.m_dampingRatio = Q5; }; y5.prototype.b2MouseJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_target.SetV(Q5.target); var V5 = d4Q.N8K(this.m_target.x, this.m_bodyB.m_xf.position.x), H5 = d4Q.A8K(this.m_target.y, this.m_bodyB.m_xf.position.y), z5 = this.m_bodyB.m_xf.R; this.m_localAnchor.x = d4Q.v8K(V5, z5.col1.x) + d4Q.c8K(H5, z5.col1.y); this.m_localAnchor.y = d4Q.d8K(V5, z5.col2.x) + d4Q.U8K(H5, z5.col2.y); this.m_maxForce = Q5.maxForce; this.m_impulse.SetZero(); this.m_frequencyHz = Q5.frequencyHz; this.m_dampingRatio = Q5.dampingRatio; this.m_gamma = this.m_beta = d4Q.M3J; }; y5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_bodyB, H5 = V5.GetMass(), z5 = d4Q.l8K(d4Q.p3J, Math.PI, this.m_frequencyHz), P5 = d4Q.b8K(H5, z5, z5); this.m_gamma = d4Q.K8K(Q5.dt, (d4Q.p3J * H5 * this.m_dampingRatio * z5 + Q5.dt * P5)); this.m_gamma = d4Q.J8K(this.m_gamma, d4Q.M3J) ? d4Q.u8K(d4Q.K3J, this.m_gamma) : d4Q.M3J; this.m_beta = d4Q.L8K(Q5.dt, P5, this.m_gamma); P5 = V5.m_xf.R; H5 = d4Q.Y8K(this.m_localAnchor.x, V5.m_sweep.localCenter.x); z5 = d4Q.E8K(this.m_localAnchor.y, V5.m_sweep.localCenter.y); var C5 = d4Q.H0K(P5.col1.x, H5) + d4Q.z0K(P5.col2.x, z5); z5 = d4Q.Z0K(P5.col1.y, H5) + d4Q.m0K(P5.col2.y, z5); H5 = C5; P5 = V5.m_invMass; C5 = V5.m_invI; this.K1.col1.x = P5; this.K1.col2.x = d4Q.M3J; this.K1.col1.y = d4Q.M3J; this.K1.col2.y = P5; this.K2.col1.x = d4Q.S0K(C5, z5, z5); this.K2.col2.x = -C5 * H5 * z5; this.K2.col1.y = -C5 * H5 * z5; this.K2.col2.y = d4Q.c0K(C5, H5, H5); this.K.SetM(this.K1); this.K.AddM(this.K2); this.K.col1.x += this.m_gamma; this.K.col2.y += this.m_gamma; this.K.GetInverse(this.m_mass); this.m_C.x = V5.m_sweep.c.x + H5 - this.m_target.x; this.m_C.y = V5.m_sweep.c.y + z5 - this.m_target.y; V5.m_angularVelocity *= d4Q.j3J; this.m_impulse.x *= Q5.dtRatio; this.m_impulse.y *= Q5.dtRatio; V5.m_linearVelocity.x += d4Q.n0K(P5, this.m_impulse.x); V5.m_linearVelocity.y += d4Q.O0K(P5, this.m_impulse.y); V5.m_angularVelocity += d4Q.w0K(C5, (H5 * this.m_impulse.y - z5 * this.m_impulse.x)); }; y5.prototype.SolveVelocityConstraints = function(Q5) { var V5 = this.m_bodyB, H5, z5 = d4Q.M3J, P5 = d4Q.M3J; H5 = V5.m_xf.R; var C5 = d4Q.b0K(this.m_localAnchor.x, V5.m_sweep.localCenter.x), Z5 = d4Q.p0K(this.m_localAnchor.y, V5.m_sweep.localCenter.y); z5 = d4Q.M0K(H5.col1.x, C5) + d4Q.X0K(H5.col2.x, Z5); Z5 = d4Q.F0K(H5.col1.y, C5) + d4Q.D0K(H5.col2.y, Z5); C5 = z5; z5 = V5.m_linearVelocity.x + -V5.m_angularVelocity * Z5; var m5 = V5.m_linearVelocity.y + d4Q.x0K(V5.m_angularVelocity, C5); H5 = this.m_mass; z5 = z5 + d4Q.Q4K(this.m_beta, this.m_C.x) + d4Q.i4K(this.m_gamma, this.m_impulse.x); P5 = m5 + d4Q.P4K(this.m_beta, this.m_C.y) + d4Q.N4K(this.m_gamma, this.m_impulse.y); m5 = -(d4Q.A4K(H5.col1.x, z5) + d4Q.v4K(H5.col2.x, P5)); P5 = -(d4Q.c4K(H5.col1.y, z5) + d4Q.d4K(H5.col2.y, P5)); H5 = this.m_impulse.x; z5 = this.m_impulse.y; this.m_impulse.x += m5; this.m_impulse.y += P5; Q5 = d4Q.U4K(Q5.dt, this.m_maxForce); d4Q.l4K(this.m_impulse.LengthSquared(), Q5 * Q5) && this.m_impulse.Multiply(d4Q.f4K(Q5, this.m_impulse.Length())); m5 = d4Q.G4K(this.m_impulse.x, H5); P5 = d4Q.j4K(this.m_impulse.y, z5); V5.m_linearVelocity.x += d4Q.R4K(V5.m_invMass, m5); V5.m_linearVelocity.y += d4Q.e4K(V5.m_invMass, P5); V5.m_angularVelocity += d4Q.g4K(V5.m_invI, (C5 * P5 - Z5 * m5)); }; y5.prototype.SolvePositionConstraints = function() { return d4Q.v1J; }; Box2D.inherit(A5, Box2D.Dynamics.Joints.b2JointDef); A5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; A5.b2MouseJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.target = new M5; }; A5.prototype.b2MouseJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_mouseJoint; this.maxForce = d4Q.M3J; this.frequencyHz = r5; this.dampingRatio = d4Q.h3J; }; Box2D.inherit(S5, Box2D.Dynamics.Joints.b2Joint); S5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; S5.b2PrismaticJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_localXAxis1 = new M5; this.m_localYAxis1 = new M5; this.m_axis = new M5; this.m_perp = new M5; this.m_K = new R5; this.m_impulse = new V9; }; S5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; S5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; S5.prototype.GetReactionForce = function(Q5) { if (d4Q.Y4K(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.E4K(Q5, (this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.x)), d4Q.H7K(Q5, (this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.y))); }; S5.prototype.GetReactionTorque = function(Q5) { if (d4Q.z7K(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.Z7K(Q5, this.m_impulse.y); }; S5.prototype.GetJointTranslation = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = Q5.GetWorldPoint(this.m_localAnchor1), z5 = V5.GetWorldPoint(this.m_localAnchor2); V5 = d4Q.m7K(z5.x, H5.x); H5 = d4Q.S7K(z5.y, H5.y); Q5 = Q5.GetWorldVector(this.m_localXAxis1); return d4Q.q7K(Q5.x, V5) + d4Q.I7K(Q5.y, H5); }; S5.prototype.GetJointSpeed = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5; H5 = Q5.m_xf.R; var z5 = d4Q.T7K(this.m_localAnchor1.x, Q5.m_sweep.localCenter.x), P5 = d4Q.h7K(this.m_localAnchor1.y, Q5.m_sweep.localCenter.y), C5 = d4Q.W7K(H5.col1.x, z5) + d4Q.k7K(H5.col2.x, P5); P5 = d4Q.K7K(H5.col1.y, z5) + d4Q.J7K(H5.col2.y, P5); z5 = C5; H5 = V5.m_xf.R; var Z5 = d4Q.u7K(this.m_localAnchor2.x, V5.m_sweep.localCenter.x), m5 = d4Q.L7K(this.m_localAnchor2.y, V5.m_sweep.localCenter.y); C5 = d4Q.r7K(H5.col1.x, Z5) + d4Q.B7K(H5.col2.x, m5); m5 = d4Q.V2K(H5.col1.y, Z5) + d4Q.y2K(H5.col2.y, m5); Z5 = C5; H5 = V5.m_sweep.c.x + Z5 - (Q5.m_sweep.c.x + z5); C5 = V5.m_sweep.c.y + m5 - (Q5.m_sweep.c.y + P5); var s5 = Q5.GetWorldVector(this.m_localXAxis1), N5 = Q5.m_linearVelocity, I5 = V5.m_linearVelocity; Q5 = Q5.m_angularVelocity; V5 = V5.m_angularVelocity; return H5 * -Q5 * s5.y + d4Q.C2K(C5, Q5, s5.x) + (s5.x * (I5.x + -V5 * m5 - N5.x - -Q5 * P5) + d4Q.m2K(s5.y, (I5.y + V5 * Z5 - N5.y - Q5 * z5))); }; S5.prototype.IsLimitEnabled = function() { return this.m_enableLimit; }; S5.prototype.EnableLimit = function(Q5) { this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_enableLimit = Q5; }; S5.prototype.GetLowerLimit = function() { return this.m_lowerTranslation; }; S5.prototype.GetUpperLimit = function() { return this.m_upperTranslation; }; S5.prototype.SetLimits = function(Q5, V5) { if (d4Q.S2K(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.q2K(V5, undefined)) V5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_lowerTranslation = Q5; this.m_upperTranslation = V5; }; S5.prototype.IsMotorEnabled = function() { return this.m_enableMotor; }; S5.prototype.EnableMotor = function(Q5) { this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_enableMotor = Q5; }; S5.prototype.SetMotorSpeed = function(Q5) { if (d4Q.I2K(Q5, undefined)) Q5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_motorSpeed = Q5; }; S5.prototype.GetMotorSpeed = function() { return this.m_motorSpeed; }; S5.prototype.SetMaxMotorForce = function(Q5) { if (d4Q.T2K(Q5, undefined)) Q5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_maxMotorForce = Q5; }; S5.prototype.GetMotorForce = function() { return this.m_motorImpulse; }; S5.prototype.b2PrismaticJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchor1.SetV(Q5.localAnchorA); this.m_localAnchor2.SetV(Q5.localAnchorB); this.m_localXAxis1.SetV(Q5.localAxisA); this.m_localYAxis1.x = -this.m_localXAxis1.y; this.m_localYAxis1.y = this.m_localXAxis1.x; this.m_refAngle = Q5.referenceAngle; this.m_impulse.SetZero(); this.m_motorImpulse = this.m_motorMass = d4Q.M3J; this.m_lowerTranslation = Q5.lowerTranslation; this.m_upperTranslation = Q5.upperTranslation; this.m_maxMotorForce = Q5.maxMotorForce; this.m_motorSpeed = Q5.motorSpeed; this.m_enableLimit = Q5.enableLimit; this.m_enableMotor = Q5.enableMotor; this.m_limitState = k5.e_inactiveLimit; this.m_axis.SetZero(); this.m_perp.SetZero(); }; S5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5, P5 = d4Q.M3J; this.m_localCenterA.SetV(V5.GetLocalCenter()); this.m_localCenterB.SetV(H5.GetLocalCenter()); var C5 = V5.GetTransform(); H5.GetTransform(); z5 = V5.m_xf.R; var Z5 = d4Q.h2K(this.m_localAnchor1.x, this.m_localCenterA.x), m5 = d4Q.W2K(this.m_localAnchor1.y, this.m_localCenterA.y); P5 = d4Q.k2K(z5.col1.x, Z5) + d4Q.K2K(z5.col2.x, m5); m5 = d4Q.J2K(z5.col1.y, Z5) + d4Q.u2K(z5.col2.y, m5); Z5 = P5; z5 = H5.m_xf.R; var s5 = d4Q.L2K(this.m_localAnchor2.x, this.m_localCenterB.x), N5 = d4Q.r2K(this.m_localAnchor2.y, this.m_localCenterB.y); P5 = d4Q.B2K(z5.col1.x, s5) + d4Q.V5z(z5.col2.x, N5); N5 = d4Q.y5z(z5.col1.y, s5) + d4Q.C5z(z5.col2.y, N5); s5 = P5; z5 = H5.m_sweep.c.x + s5 - V5.m_sweep.c.x - Z5; P5 = H5.m_sweep.c.y + N5 - V5.m_sweep.c.y - m5; this.m_invMassA = V5.m_invMass; this.m_invMassB = H5.m_invMass; this.m_invIA = V5.m_invI; this.m_invIB = H5.m_invI; this.m_axis.SetV(e5.MulMV(C5.R, this.m_localXAxis1)); this.m_a1 = d4Q.s5z((z5 + Z5) * this.m_axis.y, (P5 + m5) * this.m_axis.x); this.m_a2 = d4Q.a5z(s5 * this.m_axis.y, N5 * this.m_axis.x); this.m_motorMass = this.m_invMassA + this.m_invMassB + d4Q.t5z(this.m_invIA, this.m_a1, this.m_a1) + d4Q.I5z(this.m_invIB, this.m_a2, this.m_a2); if (d4Q.U5z(this.m_motorMass, Number.MIN_VALUE)) this.m_motorMass = d4Q.l5z(d4Q.K3J, this.m_motorMass); this.m_perp.SetV(e5.MulMV(C5.R, this.m_localYAxis1)); this.m_s1 = d4Q.f5z((z5 + Z5) * this.m_perp.y, (P5 + m5) * this.m_perp.x); this.m_s2 = d4Q.G5z(s5 * this.m_perp.y, N5 * this.m_perp.x); C5 = this.m_invMassA; Z5 = this.m_invMassB; m5 = this.m_invIA; s5 = this.m_invIB; this.m_K.col1.x = C5 + Z5 + d4Q.j5z(m5, this.m_s1, this.m_s1) + d4Q.X5z(s5, this.m_s2, this.m_s2); this.m_K.col1.y = d4Q.L5z(m5, this.m_s1) + d4Q.r5z(s5, this.m_s2); this.m_K.col1.z = d4Q.B5z(m5, this.m_s1, this.m_a1) + d4Q.H9z(s5, this.m_s2, this.m_a2); this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = m5 + s5; this.m_K.col2.z = d4Q.P9z(m5, this.m_a1) + d4Q.N9z(s5, this.m_a2); this.m_K.col3.x = this.m_K.col1.z; this.m_K.col3.y = this.m_K.col2.z; this.m_K.col3.z = C5 + Z5 + d4Q.A9z(m5, this.m_a1, this.m_a1) + d4Q.t9z(s5, this.m_a2, this.m_a2); if (this.m_enableLimit) { z5 = d4Q.I9z(this.m_axis.x, z5) + d4Q.T9z(this.m_axis.y, P5); if (d4Q.h9z(e5.Abs(this.m_upperTranslation - this.m_lowerTranslation), d4Q.p3J * W5.b2_linearSlop)) this.m_limitState = k5.e_equalLimits; else if (d4Q.W9z(z5, this.m_lowerTranslation)) { if (d4Q.k9z(this.m_limitState, k5.e_atLowerLimit)) { this.m_limitState = k5.e_atLowerLimit; this.m_impulse.z = d4Q.M3J; } } else if (d4Q.K9z(z5, this.m_upperTranslation)) { if (d4Q.J9z(this.m_limitState, k5.e_atUpperLimit)) { this.m_limitState = k5.e_atUpperLimit; this.m_impulse.z = d4Q.M3J; } } else { this.m_limitState = k5.e_inactiveLimit; this.m_impulse.z = d4Q.M3J; } } else this.m_limitState = k5.e_inactiveLimit; if (d4Q.u9z(this.m_enableMotor, d4Q.d3J)) this.m_motorImpulse = d4Q.M3J; if (Q5.warmStarting) { this.m_impulse.x *= Q5.dtRatio; this.m_impulse.y *= Q5.dtRatio; this.m_motorImpulse *= Q5.dtRatio; Q5 = d4Q.L9z(this.m_impulse.x, this.m_perp.x) + d4Q.r9z((this.m_motorImpulse + this.m_impulse.z), this.m_axis.x); z5 = d4Q.B9z(this.m_impulse.x, this.m_perp.y) + d4Q.V3z((this.m_motorImpulse + this.m_impulse.z), this.m_axis.y); P5 = d4Q.y3z(this.m_impulse.x, this.m_s1) + this.m_impulse.y + d4Q.C3z((this.m_motorImpulse + this.m_impulse.z), this.m_a1); C5 = d4Q.s3z(this.m_impulse.x, this.m_s2) + this.m_impulse.y + d4Q.a3z((this.m_motorImpulse + this.m_impulse.z), this.m_a2); V5.m_linearVelocity.x -= d4Q.t3z(this.m_invMassA, Q5); V5.m_linearVelocity.y -= d4Q.o3z(this.m_invMassA, z5); V5.m_angularVelocity -= d4Q.n3z(this.m_invIA, P5); H5.m_linearVelocity.x += d4Q.O3z(this.m_invMassB, Q5); H5.m_linearVelocity.y += d4Q.w3z(this.m_invMassB, z5); H5.m_angularVelocity += d4Q.b3z(this.m_invIB, C5); } else { this.m_impulse.SetZero(); this.m_motorImpulse = d4Q.M3J; } }; S5.prototype.SolveVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5 = V5.m_linearVelocity, P5 = V5.m_angularVelocity, C5 = H5.m_linearVelocity, Z5 = H5.m_angularVelocity, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = d4Q.M3J; if (this.m_enableMotor && d4Q.p3z(this.m_limitState, k5.e_equalLimits)) { I5 = d4Q.M3z(this.m_motorMass, (this.m_motorSpeed - (this.m_axis.x * (C5.x - z5.x) + this.m_axis.y * (C5.y - z5.y) + this.m_a2 * Z5 - this.m_a1 * P5))); m5 = this.m_motorImpulse; Q5 = d4Q.X3z(Q5.dt, this.m_maxMotorForce); this.m_motorImpulse = e5.Clamp(this.m_motorImpulse + I5, -Q5, Q5); I5 = d4Q.F3z(this.m_motorImpulse, m5); m5 = d4Q.D3z(I5, this.m_axis.x); s5 = d4Q.x3z(I5, this.m_axis.y); N5 = d4Q.Q1z(I5, this.m_a1); I5 = d4Q.i1z(I5, this.m_a2); z5.x -= d4Q.P1z(this.m_invMassA, m5); z5.y -= d4Q.N1z(this.m_invMassA, s5); P5 -= d4Q.A1z(this.m_invIA, N5); C5.x += d4Q.v1z(this.m_invMassB, m5); C5.y += d4Q.c1z(this.m_invMassB, s5); Z5 += d4Q.d1z(this.m_invIB, I5); } N5 = d4Q.U1z(this.m_perp.x, (C5.x - z5.x)) + d4Q.l1z(this.m_perp.y, (C5.y - z5.y)) + d4Q.f1z(this.m_s2, Z5) - d4Q.G1z(this.m_s1, P5); s5 = d4Q.j1z(Z5, P5); if (this.m_enableLimit && d4Q.R1z(this.m_limitState, k5.e_inactiveLimit)) { Q5 = d4Q.e1z(this.m_axis.x, (C5.x - z5.x)) + d4Q.g1z(this.m_axis.y, (C5.y - z5.y)) + d4Q.Y1z(this.m_a2, Z5) - d4Q.E1z(this.m_a1, P5); m5 = this.m_impulse.Copy(); Q5 = this.m_K.Solve33(new V9, -N5, -s5, -Q5); this.m_impulse.Add(Q5); if (d4Q.H6z(this.m_limitState, k5.e_atLowerLimit)) this.m_impulse.z = e5.Max(this.m_impulse.z, d4Q.M3J); else if (d4Q.z6z(this.m_limitState, k5.e_atUpperLimit)) this.m_impulse.z = e5.Min(this.m_impulse.z, d4Q.M3J); N5 = -N5 - (d4Q.Z6z(this.m_impulse.z, m5.z)) * this.m_K.col3.x; s5 = -s5 - (d4Q.m6z(this.m_impulse.z, m5.z)) * this.m_K.col3.y; s5 = this.m_K.Solve22(new M5, N5, s5); s5.x += m5.x; s5.y += m5.y; this.m_impulse.x = s5.x; this.m_impulse.y = s5.y; Q5.x = d4Q.S6z(this.m_impulse.x, m5.x); Q5.y = d4Q.q6z(this.m_impulse.y, m5.y); Q5.z = d4Q.I6z(this.m_impulse.z, m5.z); m5 = d4Q.T6z(Q5.x, this.m_perp.x) + d4Q.h6z(Q5.z, this.m_axis.x); s5 = d4Q.W6z(Q5.x, this.m_perp.y) + d4Q.k6z(Q5.z, this.m_axis.y); N5 = d4Q.K6z(Q5.x, this.m_s1) + Q5.y + d4Q.J6z(Q5.z, this.m_a1); I5 = d4Q.u6z(Q5.x, this.m_s2) + Q5.y + d4Q.L6z(Q5.z, this.m_a2); } else { Q5 = this.m_K.Solve22(new M5, -N5, -s5); this.m_impulse.x += Q5.x; this.m_impulse.y += Q5.y; m5 = d4Q.r6z(Q5.x, this.m_perp.x); s5 = d4Q.B6z(Q5.x, this.m_perp.y); N5 = d4Q.V8z(Q5.x, this.m_s1) + Q5.y; I5 = d4Q.y8z(Q5.x, this.m_s2) + Q5.y; } z5.x -= d4Q.C8z(this.m_invMassA, m5); z5.y -= d4Q.s8z(this.m_invMassA, s5); P5 -= d4Q.a8z(this.m_invIA, N5); C5.x += d4Q.t8z(this.m_invMassB, m5); C5.y += d4Q.o8z(this.m_invMassB, s5); Z5 += d4Q.n8z(this.m_invIB, I5); V5.m_linearVelocity.SetV(z5); V5.m_angularVelocity = P5; H5.m_linearVelocity.SetV(C5); H5.m_angularVelocity = Z5; }; S5.prototype.SolvePositionConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5 = Q5.m_sweep.c, z5 = Q5.m_sweep.a, P5 = V5.m_sweep.c, C5 = V5.m_sweep.a, Z5, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = m5 = Z5 = d4Q.M3J, t5 = d4Q.M3J; s5 = d4Q.d3J; var b5 = d4Q.M3J, f5 = Q9.FromAngle(z5), T5 = Q9.FromAngle(C5); Z5 = f5; t5 = d4Q.O8z(this.m_localAnchor1.x, this.m_localCenterA.x); var o5 = d4Q.w8z(this.m_localAnchor1.y, this.m_localCenterA.y); m5 = d4Q.b8z(Z5.col1.x, t5) + d4Q.p8z(Z5.col2.x, o5); o5 = d4Q.M8z(Z5.col1.y, t5) + d4Q.X8z(Z5.col2.y, o5); t5 = m5; Z5 = T5; T5 = d4Q.F8z(this.m_localAnchor2.x, this.m_localCenterB.x); N5 = d4Q.D8z(this.m_localAnchor2.y, this.m_localCenterB.y); m5 = d4Q.x8z(Z5.col1.x, T5) + d4Q.Q0z(Z5.col2.x, N5); N5 = d4Q.i0z(Z5.col1.y, T5) + d4Q.P0z(Z5.col2.y, N5); T5 = m5; Z5 = P5.x + T5 - H5.x - t5; m5 = P5.y + N5 - H5.y - o5; if (this.m_enableLimit) { this.m_axis = e5.MulMV(f5, this.m_localXAxis1); this.m_a1 = d4Q.N0z((Z5 + t5) * this.m_axis.y, (m5 + o5) * this.m_axis.x); this.m_a2 = d4Q.A0z(T5 * this.m_axis.y, N5 * this.m_axis.x); var c5 = d4Q.v0z(this.m_axis.x, Z5) + d4Q.c0z(this.m_axis.y, m5); if (d4Q.d0z(e5.Abs(this.m_upperTranslation - this.m_lowerTranslation), d4Q.p3J * W5.b2_linearSlop)) { b5 = e5.Clamp(c5, -W5.b2_maxLinearCorrection, W5.b2_maxLinearCorrection); I5 = e5.Abs(c5); s5 = d4Q.v1J; } else if (d4Q.U0z(c5, this.m_lowerTranslation)) { b5 = e5.Clamp(d4Q.l0z(c5, this.m_lowerTranslation, W5.b2_linearSlop), -W5.b2_maxLinearCorrection, d4Q.M3J); I5 = d4Q.b0z(this.m_lowerTranslation, c5); s5 = d4Q.v1J; } else if (d4Q.p0z(c5, this.m_upperTranslation)) { b5 = e5.Clamp(d4Q.M0z(c5, this.m_upperTranslation, W5.b2_linearSlop), d4Q.M3J, W5.b2_maxLinearCorrection); I5 = d4Q.u0z(c5, this.m_upperTranslation); s5 = d4Q.v1J; } } this.m_perp = e5.MulMV(f5, this.m_localYAxis1); this.m_s1 = d4Q.L0z((Z5 + t5) * this.m_perp.y, (m5 + o5) * this.m_perp.x); this.m_s2 = d4Q.r0z(T5 * this.m_perp.y, N5 * this.m_perp.x); f5 = new V9; o5 = d4Q.B0z(this.m_perp.x, Z5) + d4Q.V4z(this.m_perp.y, m5); T5 = d4Q.y4z(C5, z5, this.m_refAngle); I5 = e5.Max(I5, e5.Abs(o5)); t5 = e5.Abs(T5); if (s5) { s5 = this.m_invMassA; N5 = this.m_invMassB; Z5 = this.m_invIA; m5 = this.m_invIB; this.m_K.col1.x = s5 + N5 + d4Q.Z4z(Z5, this.m_s1, this.m_s1) + d4Q.A4z(m5, this.m_s2, this.m_s2); this.m_K.col1.y = d4Q.t4z(Z5, this.m_s1) + d4Q.o4z(m5, this.m_s2); this.m_K.col1.z = d4Q.n4z(Z5, this.m_s1, this.m_a1) + d4Q.h4z(m5, this.m_s2, this.m_a2); this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = Z5 + m5; this.m_K.col2.z = d4Q.f4z(Z5, this.m_a1) + d4Q.G4z(m5, this.m_a2); this.m_K.col3.x = this.m_K.col1.z; this.m_K.col3.y = this.m_K.col2.z; this.m_K.col3.z = s5 + N5 + d4Q.j4z(Z5, this.m_a1, this.m_a1) + d4Q.X4z(m5, this.m_a2, this.m_a2); this.m_K.Solve33(f5, -o5, -T5, -b5); } else { s5 = this.m_invMassA; N5 = this.m_invMassB; Z5 = this.m_invIA; m5 = this.m_invIB; b5 = d4Q.L4z(Z5, this.m_s1) + d4Q.r4z(m5, this.m_s2); c5 = Z5 + m5; this.m_K.col1.Set(s5 + N5 + d4Q.B4z(Z5, this.m_s1, this.m_s1) + d4Q.H7z(m5, this.m_s2, this.m_s2), b5, d4Q.M3J); this.m_K.col2.Set(b5, c5, d4Q.M3J); b5 = this.m_K.Solve22(new M5, -o5, -T5); f5.x = b5.x; f5.y = b5.y; f5.z = d4Q.M3J; } b5 = d4Q.P7z(f5.x, this.m_perp.x) + d4Q.N7z(f5.z, this.m_axis.x); s5 = d4Q.A7z(f5.x, this.m_perp.y) + d4Q.v7z(f5.z, this.m_axis.y); o5 = d4Q.c7z(f5.x, this.m_s1) + f5.y + d4Q.d7z(f5.z, this.m_a1); f5 = d4Q.U7z(f5.x, this.m_s2) + f5.y + d4Q.l7z(f5.z, this.m_a2); H5.x -= d4Q.f7z(this.m_invMassA, b5); H5.y -= d4Q.G7z(this.m_invMassA, s5); z5 -= d4Q.j7z(this.m_invIA, o5); P5.x += d4Q.R7z(this.m_invMassB, b5); P5.y += d4Q.e7z(this.m_invMassB, s5); C5 += d4Q.g7z(this.m_invIB, f5); Q5.m_sweep.a = z5; V5.m_sweep.a = C5; Q5.SynchronizeTransform(); V5.SynchronizeTransform(); return d4Q.Y7z(I5, W5.b2_linearSlop) && d4Q.E7z(t5, W5.b2_angularSlop); }; Box2D.inherit(q5, Box2D.Dynamics.Joints.b2JointDef); q5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; q5.b2PrismaticJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; this.localAxisA = new M5; }; q5.prototype.b2PrismaticJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_prismaticJoint; this.localAxisA.Set(d4Q.K3J, d4Q.M3J); this.referenceAngle = d4Q.M3J; this.enableLimit = d4Q.d3J; this.upperTranslation = this.lowerTranslation = d4Q.M3J; this.enableMotor = d4Q.d3J; this.motorSpeed = this.maxMotorForce = d4Q.M3J; }; q5.prototype.Initialize = function(Q5, V5, H5, z5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA = this.bodyA.GetLocalPoint(H5); this.localAnchorB = this.bodyB.GetLocalPoint(H5); this.localAxisA = this.bodyA.GetLocalVector(z5); this.referenceAngle = d4Q.H2z(this.bodyB.GetAngle(), this.bodyA.GetAngle()); }; Box2D.inherit(v5, Box2D.Dynamics.Joints.b2Joint); v5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; v5.b2PulleyJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_groundAnchor1 = new M5; this.m_groundAnchor2 = new M5; this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_u1 = new M5; this.m_u2 = new M5; }; v5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; v5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; v5.prototype.GetReactionForce = function(Q5) { if (d4Q.z2z(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.Z2z(Q5, this.m_impulse, this.m_u2.x), d4Q.A2z(Q5, this.m_impulse, this.m_u2.y)); }; v5.prototype.GetReactionTorque = function() { return d4Q.M3J; }; v5.prototype.GetGroundAnchorA = function() { var Q5 = this.m_ground.m_xf.position.Copy(); Q5.Add(this.m_groundAnchor1); return Q5; }; v5.prototype.GetGroundAnchorB = function() { var Q5 = this.m_ground.m_xf.position.Copy(); Q5.Add(this.m_groundAnchor2); return Q5; }; v5.prototype.GetLength1 = function() { var Q5 = this.m_bodyA.GetWorldPoint(this.m_localAnchor1), V5 = d4Q.t2z(Q5.x, (this.m_ground.m_xf.position.x + this.m_groundAnchor1.x)); Q5 = d4Q.o2z(Q5.y, (this.m_ground.m_xf.position.y + this.m_groundAnchor1.y)); return Math.sqrt(d4Q.n2z(V5, V5) + d4Q.O2z(Q5, Q5)); }; v5.prototype.GetLength2 = function() { var Q5 = this.m_bodyB.GetWorldPoint(this.m_localAnchor2), V5 = d4Q.w2z(Q5.x, (this.m_ground.m_xf.position.x + this.m_groundAnchor2.x)); Q5 = d4Q.b2z(Q5.y, (this.m_ground.m_xf.position.y + this.m_groundAnchor2.y)); return Math.sqrt(d4Q.p2z(V5, V5) + d4Q.M2z(Q5, Q5)); }; v5.prototype.GetRatio = function() { return this.m_ratio; }; v5.prototype.b2PulleyJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_ground = this.m_bodyA.m_world.m_groundBody; this.m_groundAnchor1.x = d4Q.X2z(Q5.groundAnchorA.x, this.m_ground.m_xf.position.x); this.m_groundAnchor1.y = d4Q.F2z(Q5.groundAnchorA.y, this.m_ground.m_xf.position.y); this.m_groundAnchor2.x = d4Q.D2z(Q5.groundAnchorB.x, this.m_ground.m_xf.position.x); this.m_groundAnchor2.y = d4Q.x2z(Q5.groundAnchorB.y, this.m_ground.m_xf.position.y); this.m_localAnchor1.SetV(Q5.localAnchorA); this.m_localAnchor2.SetV(Q5.localAnchorB); this.m_ratio = Q5.ratio; this.m_constant = Q5.lengthA + d4Q.Q5x(this.m_ratio, Q5.lengthB); this.m_maxLength1 = e5.Min(Q5.maxLengthA, d4Q.i5x(this.m_constant, this.m_ratio * v5.b2_minPulleyLength)); this.m_maxLength2 = e5.Min(Q5.maxLengthB, d4Q.P5x((this.m_constant - v5.b2_minPulleyLength), this.m_ratio)); this.m_limitImpulse2 = this.m_limitImpulse1 = this.m_impulse = d4Q.M3J; }; v5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5; z5 = V5.m_xf.R; var P5 = d4Q.N5x(this.m_localAnchor1.x, V5.m_sweep.localCenter.x), C5 = d4Q.A5x(this.m_localAnchor1.y, V5.m_sweep.localCenter.y), Z5 = d4Q.v5x(z5.col1.x, P5) + d4Q.c5x(z5.col2.x, C5); C5 = d4Q.d5x(z5.col1.y, P5) + d4Q.U5x(z5.col2.y, C5); P5 = Z5; z5 = H5.m_xf.R; var m5 = d4Q.l5x(this.m_localAnchor2.x, H5.m_sweep.localCenter.x), s5 = d4Q.f5x(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); Z5 = d4Q.G5x(z5.col1.x, m5) + d4Q.j5x(z5.col2.x, s5); s5 = d4Q.R5x(z5.col1.y, m5) + d4Q.e5x(z5.col2.y, s5); m5 = Z5; z5 = H5.m_sweep.c.x + m5; Z5 = H5.m_sweep.c.y + s5; var N5 = this.m_ground.m_xf.position.x + this.m_groundAnchor2.x, I5 = this.m_ground.m_xf.position.y + this.m_groundAnchor2.y; this.m_u1.Set(V5.m_sweep.c.x + P5 - (this.m_ground.m_xf.position.x + this.m_groundAnchor1.x), V5.m_sweep.c.y + C5 - (this.m_ground.m_xf.position.y + this.m_groundAnchor1.y)); this.m_u2.Set(d4Q.g5x(z5, N5), d4Q.Y5x(Z5, I5)); z5 = this.m_u1.Length(); Z5 = this.m_u2.Length(); d4Q.E5x(z5, W5.b2_linearSlop) ? this.m_u1.Multiply(d4Q.H9x(d4Q.K3J, z5)) : this.m_u1.SetZero(); d4Q.z9x(Z5, W5.b2_linearSlop) ? this.m_u2.Multiply(d4Q.Z9x(d4Q.K3J, Z5)) : this.m_u2.SetZero(); if (d4Q.m9x(this.m_constant - z5 - this.m_ratio * Z5, d4Q.M3J)) { this.m_state = k5.e_inactiveLimit; this.m_impulse = d4Q.M3J; } else this.m_state = k5.e_atUpperLimit; if (d4Q.S9x(z5, this.m_maxLength1)) { this.m_limitState1 = k5.e_inactiveLimit; this.m_limitImpulse1 = d4Q.M3J; } else this.m_limitState1 = k5.e_atUpperLimit; if (d4Q.q9x(Z5, this.m_maxLength2)) { this.m_limitState2 = k5.e_inactiveLimit; this.m_limitImpulse2 = d4Q.M3J; } else this.m_limitState2 = k5.e_atUpperLimit; z5 = d4Q.I9x(P5 * this.m_u1.y, C5 * this.m_u1.x); Z5 = d4Q.T9x(m5 * this.m_u2.y, s5 * this.m_u2.x); this.m_limitMass1 = V5.m_invMass + d4Q.h9x(V5.m_invI, z5, z5); this.m_limitMass2 = H5.m_invMass + d4Q.f9x(H5.m_invI, Z5, Z5); this.m_pulleyMass = this.m_limitMass1 + d4Q.p9x(this.m_ratio, this.m_ratio, this.m_limitMass2); this.m_limitMass1 = d4Q.J9x(d4Q.K3J, this.m_limitMass1); this.m_limitMass2 = d4Q.u9x(d4Q.K3J, this.m_limitMass2); this.m_pulleyMass = d4Q.L9x(d4Q.K3J, this.m_pulleyMass); if (Q5.warmStarting) { this.m_impulse *= Q5.dtRatio; this.m_limitImpulse1 *= Q5.dtRatio; this.m_limitImpulse2 *= Q5.dtRatio; Q5 = (-this.m_impulse - this.m_limitImpulse1) * this.m_u1.x; z5 = (-this.m_impulse - this.m_limitImpulse1) * this.m_u1.y; Z5 = (-this.m_ratio * this.m_impulse - this.m_limitImpulse2) * this.m_u2.x; N5 = (-this.m_ratio * this.m_impulse - this.m_limitImpulse2) * this.m_u2.y; V5.m_linearVelocity.x += d4Q.r9x(V5.m_invMass, Q5); V5.m_linearVelocity.y += d4Q.B9x(V5.m_invMass, z5); V5.m_angularVelocity += d4Q.V3x(V5.m_invI, (P5 * z5 - C5 * Q5)); H5.m_linearVelocity.x += d4Q.y3x(H5.m_invMass, Z5); H5.m_linearVelocity.y += d4Q.C3x(H5.m_invMass, N5); H5.m_angularVelocity += d4Q.s3x(H5.m_invI, (m5 * N5 - s5 * Z5)); } else this.m_limitImpulse2 = this.m_limitImpulse1 = this.m_impulse = d4Q.M3J; }; v5.prototype.SolveVelocityConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5; H5 = Q5.m_xf.R; var z5 = d4Q.a3x(this.m_localAnchor1.x, Q5.m_sweep.localCenter.x), P5 = d4Q.t3x(this.m_localAnchor1.y, Q5.m_sweep.localCenter.y), C5 = d4Q.o3x(H5.col1.x, z5) + d4Q.n3x(H5.col2.x, P5); P5 = d4Q.O3x(H5.col1.y, z5) + d4Q.w3x(H5.col2.y, P5); z5 = C5; H5 = V5.m_xf.R; var Z5 = d4Q.b3x(this.m_localAnchor2.x, V5.m_sweep.localCenter.x), m5 = d4Q.p3x(this.m_localAnchor2.y, V5.m_sweep.localCenter.y); C5 = d4Q.M3x(H5.col1.x, Z5) + d4Q.X3x(H5.col2.x, m5); m5 = d4Q.F3x(H5.col1.y, Z5) + d4Q.D3x(H5.col2.y, m5); Z5 = C5; var s5 = C5 = H5 = d4Q.M3J, N5 = d4Q.M3J; H5 = N5 = H5 = N5 = s5 = C5 = H5 = d4Q.M3J; if (d4Q.x3x(this.m_state, k5.e_atUpperLimit)) { H5 = Q5.m_linearVelocity.x + -Q5.m_angularVelocity * P5; C5 = Q5.m_linearVelocity.y + d4Q.Q1x(Q5.m_angularVelocity, z5); s5 = V5.m_linearVelocity.x + -V5.m_angularVelocity * m5; N5 = V5.m_linearVelocity.y + d4Q.i1x(V5.m_angularVelocity, Z5); H5 = -(d4Q.P1x(this.m_u1.x, H5) + d4Q.N1x(this.m_u1.y, C5)) - this.m_ratio * (d4Q.A1x(this.m_u2.x, s5) + d4Q.v1x(this.m_u2.y, N5)); N5 = this.m_pulleyMass * -H5; H5 = this.m_impulse; this.m_impulse = e5.Max(d4Q.M3J, this.m_impulse + N5); N5 = d4Q.c1x(this.m_impulse, H5); H5 = -N5 * this.m_u1.x; C5 = -N5 * this.m_u1.y; s5 = -this.m_ratio * N5 * this.m_u2.x; N5 = -this.m_ratio * N5 * this.m_u2.y; Q5.m_linearVelocity.x += d4Q.d1x(Q5.m_invMass, H5); Q5.m_linearVelocity.y += d4Q.U1x(Q5.m_invMass, C5); Q5.m_angularVelocity += d4Q.l1x(Q5.m_invI, (z5 * C5 - P5 * H5)); V5.m_linearVelocity.x += d4Q.f1x(V5.m_invMass, s5); V5.m_linearVelocity.y += d4Q.G1x(V5.m_invMass, N5); V5.m_angularVelocity += d4Q.j1x(V5.m_invI, (Z5 * N5 - m5 * s5)); } if (d4Q.R1x(this.m_limitState1, k5.e_atUpperLimit)) { H5 = Q5.m_linearVelocity.x + -Q5.m_angularVelocity * P5; C5 = Q5.m_linearVelocity.y + d4Q.e1x(Q5.m_angularVelocity, z5); H5 = -(d4Q.g1x(this.m_u1.x, H5) + d4Q.Y1x(this.m_u1.y, C5)); N5 = -this.m_limitMass1 * H5; H5 = this.m_limitImpulse1; this.m_limitImpulse1 = e5.Max(d4Q.M3J, this.m_limitImpulse1 + N5); N5 = d4Q.E1x(this.m_limitImpulse1, H5); H5 = -N5 * this.m_u1.x; C5 = -N5 * this.m_u1.y; Q5.m_linearVelocity.x += d4Q.H6x(Q5.m_invMass, H5); Q5.m_linearVelocity.y += d4Q.z6x(Q5.m_invMass, C5); Q5.m_angularVelocity += d4Q.Z6x(Q5.m_invI, (z5 * C5 - P5 * H5)); } if (d4Q.m6x(this.m_limitState2, k5.e_atUpperLimit)) { s5 = V5.m_linearVelocity.x + -V5.m_angularVelocity * m5; N5 = V5.m_linearVelocity.y + d4Q.S6x(V5.m_angularVelocity, Z5); H5 = -(d4Q.q6x(this.m_u2.x, s5) + d4Q.I6x(this.m_u2.y, N5)); N5 = -this.m_limitMass2 * H5; H5 = this.m_limitImpulse2; this.m_limitImpulse2 = e5.Max(d4Q.M3J, this.m_limitImpulse2 + N5); N5 = d4Q.T6x(this.m_limitImpulse2, H5); s5 = -N5 * this.m_u2.x; N5 = -N5 * this.m_u2.y; V5.m_linearVelocity.x += d4Q.h6x(V5.m_invMass, s5); V5.m_linearVelocity.y += d4Q.W6x(V5.m_invMass, N5); V5.m_angularVelocity += d4Q.k6x(V5.m_invI, (Z5 * N5 - m5 * s5)); } }; v5.prototype.SolvePositionConstraints = function() { var Q5 = this.m_bodyA, V5 = this.m_bodyB, H5, z5 = this.m_ground.m_xf.position.x + this.m_groundAnchor1.x, P5 = this.m_ground.m_xf.position.y + this.m_groundAnchor1.y, C5 = this.m_ground.m_xf.position.x + this.m_groundAnchor2.x, Z5 = this.m_ground.m_xf.position.y + this.m_groundAnchor2.y, m5 = d4Q.M3J, s5 = d4Q.M3J, N5 = d4Q.M3J, I5 = d4Q.M3J, t5 = H5 = d4Q.M3J, b5 = d4Q.M3J, f5 = d4Q.M3J, T5 = t5 = f5 = H5 = t5 = H5 = d4Q.M3J; if (d4Q.K6x(this.m_state, k5.e_atUpperLimit)) { H5 = Q5.m_xf.R; m5 = d4Q.J6x(this.m_localAnchor1.x, Q5.m_sweep.localCenter.x); s5 = d4Q.u6x(this.m_localAnchor1.y, Q5.m_sweep.localCenter.y); t5 = d4Q.L6x(H5.col1.x, m5) + d4Q.r6x(H5.col2.x, s5); s5 = d4Q.B6x(H5.col1.y, m5) + d4Q.V8x(H5.col2.y, s5); m5 = t5; H5 = V5.m_xf.R; N5 = d4Q.y8x(this.m_localAnchor2.x, V5.m_sweep.localCenter.x); I5 = d4Q.C8x(this.m_localAnchor2.y, V5.m_sweep.localCenter.y); t5 = d4Q.s8x(H5.col1.x, N5) + d4Q.a8x(H5.col2.x, I5); I5 = d4Q.t8x(H5.col1.y, N5) + d4Q.o8x(H5.col2.y, I5); N5 = t5; H5 = Q5.m_sweep.c.x + m5; t5 = Q5.m_sweep.c.y + s5; b5 = V5.m_sweep.c.x + N5; f5 = V5.m_sweep.c.y + I5; this.m_u1.Set(d4Q.n8x(H5, z5), d4Q.O8x(t5, P5)); this.m_u2.Set(d4Q.w8x(b5, C5), d4Q.b8x(f5, Z5)); H5 = this.m_u1.Length(); t5 = this.m_u2.Length(); d4Q.p8x(H5, W5.b2_linearSlop) ? this.m_u1.Multiply(d4Q.M8x(d4Q.K3J, H5)) : this.m_u1.SetZero(); d4Q.X8x(t5, W5.b2_linearSlop) ? this.m_u2.Multiply(d4Q.F8x(d4Q.K3J, t5)) : this.m_u2.SetZero(); H5 = d4Q.D8x(this.m_constant, H5, this.m_ratio * t5); T5 = e5.Max(T5, -H5); H5 = e5.Clamp(H5 + W5.b2_linearSlop, -W5.b2_maxLinearCorrection, d4Q.M3J); f5 = -this.m_pulleyMass * H5; H5 = -f5 * this.m_u1.x; t5 = -f5 * this.m_u1.y; b5 = -this.m_ratio * f5 * this.m_u2.x; f5 = -this.m_ratio * f5 * this.m_u2.y; Q5.m_sweep.c.x += d4Q.B8x(Q5.m_invMass, H5); Q5.m_sweep.c.y += d4Q.V0x(Q5.m_invMass, t5); Q5.m_sweep.a += d4Q.y0x(Q5.m_invI, (m5 * t5 - s5 * H5)); V5.m_sweep.c.x += d4Q.C0x(V5.m_invMass, b5); V5.m_sweep.c.y += d4Q.s0x(V5.m_invMass, f5); V5.m_sweep.a += d4Q.a0x(V5.m_invI, (N5 * f5 - I5 * b5)); Q5.SynchronizeTransform(); V5.SynchronizeTransform(); } if (d4Q.t0x(this.m_limitState1, k5.e_atUpperLimit)) { H5 = Q5.m_xf.R; m5 = d4Q.o0x(this.m_localAnchor1.x, Q5.m_sweep.localCenter.x); s5 = d4Q.n0x(this.m_localAnchor1.y, Q5.m_sweep.localCenter.y); t5 = d4Q.O0x(H5.col1.x, m5) + d4Q.w0x(H5.col2.x, s5); s5 = d4Q.b0x(H5.col1.y, m5) + d4Q.p0x(H5.col2.y, s5); m5 = t5; H5 = Q5.m_sweep.c.x + m5; t5 = Q5.m_sweep.c.y + s5; this.m_u1.Set(d4Q.M0x(H5, z5), d4Q.X0x(t5, P5)); H5 = this.m_u1.Length(); if (d4Q.F0x(H5, W5.b2_linearSlop)) { this.m_u1.x *= d4Q.D0x(d4Q.K3J, H5); this.m_u1.y *= d4Q.x0x(d4Q.K3J, H5); } else this.m_u1.SetZero(); H5 = d4Q.Q4x(this.m_maxLength1, H5); T5 = e5.Max(T5, -H5); H5 = e5.Clamp(H5 + W5.b2_linearSlop, -W5.b2_maxLinearCorrection, d4Q.M3J); f5 = -this.m_limitMass1 * H5; H5 = -f5 * this.m_u1.x; t5 = -f5 * this.m_u1.y; Q5.m_sweep.c.x += d4Q.i4x(Q5.m_invMass, H5); Q5.m_sweep.c.y += d4Q.P4x(Q5.m_invMass, t5); Q5.m_sweep.a += d4Q.N4x(Q5.m_invI, (m5 * t5 - s5 * H5)); Q5.SynchronizeTransform(); } if (d4Q.A4x(this.m_limitState2, k5.e_atUpperLimit)) { H5 = V5.m_xf.R; N5 = d4Q.v4x(this.m_localAnchor2.x, V5.m_sweep.localCenter.x); I5 = d4Q.c4x(this.m_localAnchor2.y, V5.m_sweep.localCenter.y); t5 = d4Q.d4x(H5.col1.x, N5) + d4Q.U4x(H5.col2.x, I5); I5 = d4Q.l4x(H5.col1.y, N5) + d4Q.f4x(H5.col2.y, I5); N5 = t5; b5 = V5.m_sweep.c.x + N5; f5 = V5.m_sweep.c.y + I5; this.m_u2.Set(d4Q.G4x(b5, C5), d4Q.j4x(f5, Z5)); t5 = this.m_u2.Length(); if (d4Q.R4x(t5, W5.b2_linearSlop)) { this.m_u2.x *= d4Q.e4x(d4Q.K3J, t5); this.m_u2.y *= d4Q.g4x(d4Q.K3J, t5); } else this.m_u2.SetZero(); H5 = d4Q.Y4x(this.m_maxLength2, t5); T5 = e5.Max(T5, -H5); H5 = e5.Clamp(H5 + W5.b2_linearSlop, -W5.b2_maxLinearCorrection, d4Q.M3J); f5 = -this.m_limitMass2 * H5; b5 = -f5 * this.m_u2.x; f5 = -f5 * this.m_u2.y; V5.m_sweep.c.x += d4Q.E4x(V5.m_invMass, b5); V5.m_sweep.c.y += d4Q.H7x(V5.m_invMass, f5); V5.m_sweep.a += d4Q.z7x(V5.m_invI, (N5 * f5 - I5 * b5)); V5.SynchronizeTransform(); } return d4Q.Z7x(T5, W5.b2_linearSlop); }; Box2D.postDefs.push(function() { var V5 = function(Q5) { Box2D.Dynamics.Joints.b2PulleyJoint.b2_minPulleyLength = Q5; }; V5(d4Q.p3J); }); Box2D.inherit(d5, Box2D.Dynamics.Joints.b2JointDef); d5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; d5.b2PulleyJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.groundAnchorA = new M5; this.groundAnchorB = new M5; this.localAnchorA = new M5; this.localAnchorB = new M5; }; d5.prototype.b2PulleyJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_pulleyJoint; this.groundAnchorA.Set(-d4Q.K3J, d4Q.K3J); this.groundAnchorB.Set(d4Q.K3J, d4Q.K3J); this.localAnchorA.Set(-d4Q.K3J, d4Q.M3J); this.localAnchorB.Set(d4Q.K3J, d4Q.M3J); this.maxLengthB = this.lengthB = this.maxLengthA = this.lengthA = d4Q.M3J; this.ratio = d4Q.K3J; this.collideConnected = d4Q.v1J; }; d5.prototype.Initialize = function(Q5, V5, H5, z5, P5, C5, Z5) { if (d4Q.m7x(Z5, undefined)) Z5 = d4Q.M3J; this.bodyA = Q5; this.bodyB = V5; this.groundAnchorA.SetV(H5); this.groundAnchorB.SetV(z5); this.localAnchorA = this.bodyA.GetLocalPoint(P5); this.localAnchorB = this.bodyB.GetLocalPoint(C5); Q5 = d4Q.S7x(P5.x, H5.x); H5 = d4Q.q7x(P5.y, H5.y); this.lengthA = Math.sqrt(d4Q.I7x(Q5, Q5) + d4Q.T7x(H5, H5)); H5 = d4Q.h7x(C5.x, z5.x); z5 = d4Q.W7x(C5.y, z5.y); this.lengthB = Math.sqrt(d4Q.k7x(H5, H5) + d4Q.K7x(z5, z5)); this.ratio = Z5; Z5 = this.lengthA + d4Q.J7x(this.ratio, this.lengthB); this.maxLengthA = d4Q.u7x(Z5, this.ratio * v5.b2_minPulleyLength); this.maxLengthB = d4Q.L7x((Z5 - v5.b2_minPulleyLength), this.ratio); }; Box2D.inherit(O5, Box2D.Dynamics.Joints.b2Joint); O5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; O5.b2RevoluteJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.K = new Q9; this.K1 = new Q9; this.K2 = new Q9; this.K3 = new Q9; this.impulse3 = new V9; this.impulse2 = new M5; this.reduced = new M5; this.m_localAnchor1 = new M5; this.m_localAnchor2 = new M5; this.m_impulse = new V9; this.m_mass = new R5; }; O5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchor1); }; O5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchor2); }; O5.prototype.GetReactionForce = function(Q5) { if (d4Q.r7x(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.B7x(Q5, this.m_impulse.x), d4Q.V2x(Q5, this.m_impulse.y)); }; O5.prototype.GetReactionTorque = function(Q5) { if (d4Q.y2x(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.C2x(Q5, this.m_impulse.z); }; O5.prototype.GetJointAngle = function() { return d4Q.s2x(this.m_bodyB.m_sweep.a, this.m_bodyA.m_sweep.a, this.m_referenceAngle); }; O5.prototype.GetJointSpeed = function() { return d4Q.S2x(this.m_bodyB.m_angularVelocity, this.m_bodyA.m_angularVelocity); }; O5.prototype.IsLimitEnabled = function() { return this.m_enableLimit; }; O5.prototype.EnableLimit = function(Q5) { this.m_enableLimit = Q5; }; O5.prototype.GetLowerLimit = function() { return this.m_lowerAngle; }; O5.prototype.GetUpperLimit = function() { return this.m_upperAngle; }; O5.prototype.SetLimits = function(Q5, V5) { if (d4Q.q2x(Q5, undefined)) Q5 = d4Q.M3J; if (d4Q.I2x(V5, undefined)) V5 = d4Q.M3J; this.m_lowerAngle = Q5; this.m_upperAngle = V5; }; O5.prototype.IsMotorEnabled = function() { this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); return this.m_enableMotor; }; O5.prototype.EnableMotor = function(Q5) { this.m_enableMotor = Q5; }; O5.prototype.SetMotorSpeed = function(Q5) { if (d4Q.T2x(Q5, undefined)) Q5 = d4Q.M3J; this.m_bodyA.SetAwake(d4Q.v1J); this.m_bodyB.SetAwake(d4Q.v1J); this.m_motorSpeed = Q5; }; O5.prototype.GetMotorSpeed = function() { return this.m_motorSpeed; }; O5.prototype.SetMaxMotorTorque = function(Q5) { if (d4Q.h2x(Q5, undefined)) Q5 = d4Q.M3J; this.m_maxMotorTorque = Q5; }; O5.prototype.GetMotorTorque = function() { return this.m_maxMotorTorque; }; O5.prototype.b2RevoluteJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchor1.SetV(Q5.localAnchorA); this.m_localAnchor2.SetV(Q5.localAnchorB); this.m_referenceAngle = Q5.referenceAngle; this.m_impulse.SetZero(); this.m_motorImpulse = d4Q.M3J; this.m_lowerAngle = Q5.lowerAngle; this.m_upperAngle = Q5.upperAngle; this.m_maxMotorTorque = Q5.maxMotorTorque; this.m_motorSpeed = Q5.motorSpeed; this.m_enableLimit = Q5.enableLimit; this.m_enableMotor = Q5.enableMotor; this.m_limitState = k5.e_inactiveLimit; }; O5.prototype.InitVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5, P5 = d4Q.M3J; z5 = V5.m_xf.R; var C5 = d4Q.W2x(this.m_localAnchor1.x, V5.m_sweep.localCenter.x), Z5 = d4Q.k2x(this.m_localAnchor1.y, V5.m_sweep.localCenter.y); P5 = d4Q.K2x(z5.col1.x, C5) + d4Q.J2x(z5.col2.x, Z5); Z5 = d4Q.u2x(z5.col1.y, C5) + d4Q.L2x(z5.col2.y, Z5); C5 = P5; z5 = H5.m_xf.R; var m5 = d4Q.r2x(this.m_localAnchor2.x, H5.m_sweep.localCenter.x), s5 = d4Q.B2x(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); P5 = d4Q.V5m(z5.col1.x, m5) + d4Q.y5m(z5.col2.x, s5); s5 = d4Q.C5m(z5.col1.y, m5) + d4Q.s5m(z5.col2.y, s5); m5 = P5; z5 = V5.m_invMass; P5 = H5.m_invMass; var N5 = V5.m_invI, I5 = H5.m_invI; this.m_mass.col1.x = z5 + P5 + d4Q.a5m(Z5, Z5, N5) + d4Q.q5m(s5, s5, I5); this.m_mass.col2.x = -Z5 * C5 * N5 - d4Q.d5m(s5, m5, I5); this.m_mass.col3.x = -Z5 * N5 - d4Q.O5m(s5, I5); this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = z5 + P5 + d4Q.w5m(C5, C5, N5) + d4Q.k5m(m5, m5, I5); this.m_mass.col3.y = d4Q.j5m(C5, N5) + d4Q.R5m(m5, I5); this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = N5 + I5; this.m_motorMass = d4Q.e5m(d4Q.K3J, (N5 + I5)); if (d4Q.g5m(this.m_enableMotor, d4Q.d3J)) this.m_motorImpulse = d4Q.M3J; if (this.m_enableLimit) { var t5 = d4Q.Y5m(H5.m_sweep.a, V5.m_sweep.a, this.m_referenceAngle); if (d4Q.Q9m(e5.Abs(this.m_upperAngle - this.m_lowerAngle), d4Q.p3J * W5.b2_angularSlop)) this.m_limitState = k5.e_equalLimits; else if (d4Q.i9m(t5, this.m_lowerAngle)) { if (d4Q.P9m(this.m_limitState, k5.e_atLowerLimit)) this.m_impulse.z = d4Q.M3J; this.m_limitState = k5.e_atLowerLimit; } else if (d4Q.N9m(t5, this.m_upperAngle)) { if (d4Q.A9m(this.m_limitState, k5.e_atUpperLimit)) this.m_impulse.z = d4Q.M3J; this.m_limitState = k5.e_atUpperLimit; } else { this.m_limitState = k5.e_inactiveLimit; this.m_impulse.z = d4Q.M3J; } } else this.m_limitState = k5.e_inactiveLimit; if (Q5.warmStarting) { this.m_impulse.x *= Q5.dtRatio; this.m_impulse.y *= Q5.dtRatio; this.m_motorImpulse *= Q5.dtRatio; Q5 = this.m_impulse.x; t5 = this.m_impulse.y; V5.m_linearVelocity.x -= d4Q.v9m(z5, Q5); V5.m_linearVelocity.y -= d4Q.c9m(z5, t5); V5.m_angularVelocity -= d4Q.d9m(N5, (C5 * t5 - Z5 * Q5 + this.m_motorImpulse + this.m_impulse.z)); H5.m_linearVelocity.x += d4Q.U9m(P5, Q5); H5.m_linearVelocity.y += d4Q.l9m(P5, t5); H5.m_angularVelocity += d4Q.f9m(I5, (m5 * t5 - s5 * Q5 + this.m_motorImpulse + this.m_impulse.z)); } else { this.m_impulse.SetZero(); this.m_motorImpulse = d4Q.M3J; } }; O5.prototype.SolveVelocityConstraints = function(Q5) { var V5 = this.m_bodyA, H5 = this.m_bodyB, z5 = d4Q.M3J, P5 = z5 = d4Q.M3J, C5 = d4Q.M3J, Z5 = d4Q.M3J, m5 = d4Q.M3J, s5 = V5.m_linearVelocity, N5 = V5.m_angularVelocity, I5 = H5.m_linearVelocity, t5 = H5.m_angularVelocity, b5 = V5.m_invMass, f5 = H5.m_invMass, T5 = V5.m_invI, o5 = H5.m_invI; if (this.m_enableMotor && d4Q.G9m(this.m_limitState, k5.e_equalLimits)) { P5 = this.m_motorMass * -(d4Q.j9m(t5, N5, this.m_motorSpeed)); C5 = this.m_motorImpulse; Z5 = d4Q.X9m(Q5.dt, this.m_maxMotorTorque); this.m_motorImpulse = e5.Clamp(this.m_motorImpulse + P5, -Z5, Z5); P5 = d4Q.F9m(this.m_motorImpulse, C5); N5 -= d4Q.D9m(T5, P5); t5 += d4Q.x9m(o5, P5); } if (this.m_enableLimit && d4Q.Q3m(this.m_limitState, k5.e_inactiveLimit)) { Q5 = V5.m_xf.R; P5 = d4Q.i3m(this.m_localAnchor1.x, V5.m_sweep.localCenter.x); C5 = d4Q.P3m(this.m_localAnchor1.y, V5.m_sweep.localCenter.y); z5 = d4Q.N3m(Q5.col1.x, P5) + d4Q.A3m(Q5.col2.x, C5); C5 = d4Q.v3m(Q5.col1.y, P5) + d4Q.c3m(Q5.col2.y, C5); P5 = z5; Q5 = H5.m_xf.R; Z5 = d4Q.d3m(this.m_localAnchor2.x, H5.m_sweep.localCenter.x); m5 = d4Q.U3m(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); z5 = d4Q.l3m(Q5.col1.x, Z5) + d4Q.f3m(Q5.col2.x, m5); m5 = d4Q.G3m(Q5.col1.y, Z5) + d4Q.j3m(Q5.col2.y, m5); Z5 = z5; Q5 = I5.x + -t5 * m5 - s5.x - -N5 * C5; var c5 = I5.y + d4Q.R3m(t5, Z5) - s5.y - d4Q.e3m(N5, P5); this.m_mass.Solve33(this.impulse3, -Q5, -c5, -(d4Q.g3m(t5, N5))); if (d4Q.Y3m(this.m_limitState, k5.e_equalLimits)) this.m_impulse.Add(this.impulse3); else if (d4Q.E3m(this.m_limitState, k5.e_atLowerLimit)) { z5 = this.m_impulse.z + this.impulse3.z; if (d4Q.H1m(z5, d4Q.M3J)) { this.m_mass.Solve22(this.reduced, -Q5, -c5); this.impulse3.x = this.reduced.x; this.impulse3.y = this.reduced.y; this.impulse3.z = -this.m_impulse.z; this.m_impulse.x += this.reduced.x; this.m_impulse.y += this.reduced.y; this.m_impulse.z = d4Q.M3J; } } else if (d4Q.z1m(this.m_limitState, k5.e_atUpperLimit)) { z5 = this.m_impulse.z + this.impulse3.z; if (d4Q.Z1m(z5, d4Q.M3J)) { this.m_mass.Solve22(this.reduced, -Q5, -c5); this.impulse3.x = this.reduced.x; this.impulse3.y = this.reduced.y; this.impulse3.z = -this.m_impulse.z; this.m_impulse.x += this.reduced.x; this.m_impulse.y += this.reduced.y; this.m_impulse.z = d4Q.M3J; } } s5.x -= d4Q.m1m(b5, this.impulse3.x); s5.y -= d4Q.S1m(b5, this.impulse3.y); N5 -= d4Q.q1m(T5, (P5 * this.impulse3.y - C5 * this.impulse3.x + this.impulse3.z)); I5.x += d4Q.I1m(f5, this.impulse3.x); I5.y += d4Q.T1m(f5, this.impulse3.y); t5 += d4Q.h1m(o5, (Z5 * this.impulse3.y - m5 * this.impulse3.x + this.impulse3.z)); } else { Q5 = V5.m_xf.R; P5 = d4Q.W1m(this.m_localAnchor1.x, V5.m_sweep.localCenter.x); C5 = d4Q.k1m(this.m_localAnchor1.y, V5.m_sweep.localCenter.y); z5 = d4Q.K1m(Q5.col1.x, P5) + d4Q.J1m(Q5.col2.x, C5); C5 = d4Q.u1m(Q5.col1.y, P5) + d4Q.L1m(Q5.col2.y, C5); P5 = z5; Q5 = H5.m_xf.R; Z5 = d4Q.r1m(this.m_localAnchor2.x, H5.m_sweep.localCenter.x); m5 = d4Q.B1m(this.m_localAnchor2.y, H5.m_sweep.localCenter.y); z5 = d4Q.V6m(Q5.col1.x, Z5) + d4Q.y6m(Q5.col2.x, m5); m5 = d4Q.C6m(Q5.col1.y, Z5) + d4Q.s6m(Q5.col2.y, m5); Z5 = z5; this.m_mass.Solve22(this.impulse2, -(I5.x + -t5 * m5 - s5.x - -N5 * C5), -(I5.y + d4Q.a6m(t5, Z5) - s5.y - d4Q.t6m(N5, P5))); this.m_impulse.x += this.impulse2.x; this.m_impulse.y += this.impulse2.y; s5.x -= d4Q.o6m(b5, this.impulse2.x); s5.y -= d4Q.n6m(b5, this.impulse2.y); N5 -= d4Q.O6m(T5, (P5 * this.impulse2.y - C5 * this.impulse2.x)); I5.x += d4Q.w6m(f5, this.impulse2.x); I5.y += d4Q.b6m(f5, this.impulse2.y); t5 += d4Q.p6m(o5, (Z5 * this.impulse2.y - m5 * this.impulse2.x)); } V5.m_linearVelocity.SetV(s5); V5.m_angularVelocity = N5; H5.m_linearVelocity.SetV(I5); H5.m_angularVelocity = t5; }; O5.prototype.SolvePositionConstraints = function() { var Q5 = d4Q.M3J, V5, H5 = this.m_bodyA, z5 = this.m_bodyB, P5 = d4Q.M3J, C5 = V5 = d4Q.M3J, Z5 = d4Q.M3J, m5 = d4Q.M3J; if (this.m_enableLimit && d4Q.M6m(this.m_limitState, k5.e_inactiveLimit)) { Q5 = d4Q.X6m(z5.m_sweep.a, H5.m_sweep.a, this.m_referenceAngle); var s5 = d4Q.M3J; if (d4Q.L6m(this.m_limitState, k5.e_equalLimits)) { Q5 = e5.Clamp(d4Q.r6m(Q5, this.m_lowerAngle), -W5.b2_maxAngularCorrection, W5.b2_maxAngularCorrection); s5 = -this.m_motorMass * Q5; P5 = e5.Abs(Q5); } else if (d4Q.B6m(this.m_limitState, k5.e_atLowerLimit)) { Q5 = d4Q.V8m(Q5, this.m_lowerAngle); P5 = -Q5; Q5 = e5.Clamp(Q5 + W5.b2_angularSlop, -W5.b2_maxAngularCorrection, d4Q.M3J); s5 = -this.m_motorMass * Q5; } else if (d4Q.y8m(this.m_limitState, k5.e_atUpperLimit)) { P5 = Q5 = d4Q.C8m(Q5, this.m_upperAngle); Q5 = e5.Clamp(d4Q.s8m(Q5, W5.b2_angularSlop), d4Q.M3J, W5.b2_maxAngularCorrection); s5 = -this.m_motorMass * Q5; } H5.m_sweep.a -= d4Q.a8m(H5.m_invI, s5); z5.m_sweep.a += d4Q.t8m(z5.m_invI, s5); H5.SynchronizeTransform(); z5.SynchronizeTransform(); } V5 = H5.m_xf.R; s5 = d4Q.o8m(this.m_localAnchor1.x, H5.m_sweep.localCenter.x); Q5 = d4Q.n8m(this.m_localAnchor1.y, H5.m_sweep.localCenter.y); C5 = d4Q.O8m(V5.col1.x, s5) + d4Q.w8m(V5.col2.x, Q5); Q5 = d4Q.b8m(V5.col1.y, s5) + d4Q.p8m(V5.col2.y, Q5); s5 = C5; V5 = z5.m_xf.R; var N5 = d4Q.M8m(this.m_localAnchor2.x, z5.m_sweep.localCenter.x), I5 = d4Q.X8m(this.m_localAnchor2.y, z5.m_sweep.localCenter.y); C5 = d4Q.F8m(V5.col1.x, N5) + d4Q.D8m(V5.col2.x, I5); I5 = d4Q.x8m(V5.col1.y, N5) + d4Q.Q0m(V5.col2.y, I5); N5 = C5; Z5 = z5.m_sweep.c.x + N5 - H5.m_sweep.c.x - s5; m5 = z5.m_sweep.c.y + I5 - H5.m_sweep.c.y - Q5; var t5 = d4Q.i0m(Z5, Z5) + d4Q.P0m(m5, m5); V5 = Math.sqrt(t5); C5 = H5.m_invMass; var b5 = z5.m_invMass, f5 = H5.m_invI, T5 = z5.m_invI, o5 = d4Q.N0m(d4Q.d1J, W5.b2_linearSlop); if (d4Q.A0m(t5, o5 * o5)) { t5 = d4Q.v0m(d4Q.K3J, (C5 + b5)); Z5 = t5 * -Z5; m5 = t5 * -m5; H5.m_sweep.c.x -= d4Q.c0m(d4Q.t3J, C5, Z5); H5.m_sweep.c.y -= d4Q.n0m(d4Q.t3J, C5, m5); z5.m_sweep.c.x += d4Q.h0m(d4Q.t3J, b5, Z5); z5.m_sweep.c.y += d4Q.f0m(d4Q.t3J, b5, m5); Z5 = z5.m_sweep.c.x + N5 - H5.m_sweep.c.x - s5; m5 = z5.m_sweep.c.y + I5 - H5.m_sweep.c.y - Q5; } this.K1.col1.x = C5 + b5; this.K1.col2.x = d4Q.M3J; this.K1.col1.y = d4Q.M3J; this.K1.col2.y = C5 + b5; this.K2.col1.x = d4Q.p0m(f5, Q5, Q5); this.K2.col2.x = -f5 * s5 * Q5; this.K2.col1.y = -f5 * s5 * Q5; this.K2.col2.y = d4Q.J0m(f5, s5, s5); this.K3.col1.x = d4Q.e0m(T5, I5, I5); this.K3.col2.x = -T5 * N5 * I5; this.K3.col1.y = -T5 * N5 * I5; this.K3.col2.y = d4Q.D0m(T5, N5, N5); this.K.SetM(this.K1); this.K.AddM(this.K2); this.K.AddM(this.K3); this.K.Solve(O5.tImpulse, -Z5, -m5); Z5 = O5.tImpulse.x; m5 = O5.tImpulse.y; H5.m_sweep.c.x -= d4Q.B0m(H5.m_invMass, Z5); H5.m_sweep.c.y -= d4Q.V4m(H5.m_invMass, m5); H5.m_sweep.a -= d4Q.y4m(H5.m_invI, (s5 * m5 - Q5 * Z5)); z5.m_sweep.c.x += d4Q.C4m(z5.m_invMass, Z5); z5.m_sweep.c.y += d4Q.s4m(z5.m_invMass, m5); z5.m_sweep.a += d4Q.a4m(z5.m_invI, (N5 * m5 - I5 * Z5)); H5.SynchronizeTransform(); z5.SynchronizeTransform(); return d4Q.t4m(V5, W5.b2_linearSlop) && d4Q.o4m(P5, W5.b2_angularSlop); }; Box2D.postDefs.push(function() { Box2D.Dynamics.Joints.b2RevoluteJoint.tImpulse = new M5; }); Box2D.inherit(w5, Box2D.Dynamics.Joints.b2JointDef); w5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; w5.b2RevoluteJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; }; w5.prototype.b2RevoluteJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_revoluteJoint; this.localAnchorA.Set(d4Q.M3J, d4Q.M3J); this.localAnchorB.Set(d4Q.M3J, d4Q.M3J); this.motorSpeed = this.maxMotorTorque = this.upperAngle = this.lowerAngle = this.referenceAngle = d4Q.M3J; this.enableMotor = this.enableLimit = d4Q.d3J; }; w5.prototype.Initialize = function(Q5, V5, H5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA = this.bodyA.GetLocalPoint(H5); this.localAnchorB = this.bodyB.GetLocalPoint(H5); this.referenceAngle = d4Q.n4m(this.bodyB.GetAngle(), this.bodyA.GetAngle()); }; Box2D.inherit(l5, Box2D.Dynamics.Joints.b2Joint); l5.prototype.__super = Box2D.Dynamics.Joints.b2Joint.prototype; l5.b2WeldJoint = function() { Box2D.Dynamics.Joints.b2Joint.b2Joint.apply(this, arguments); this.m_localAnchorA = new M5; this.m_localAnchorB = new M5; this.m_impulse = new V9; this.m_mass = new R5; }; l5.prototype.GetAnchorA = function() { return this.m_bodyA.GetWorldPoint(this.m_localAnchorA); }; l5.prototype.GetAnchorB = function() { return this.m_bodyB.GetWorldPoint(this.m_localAnchorB); }; l5.prototype.GetReactionForce = function(Q5) { if (d4Q.O4m(Q5, undefined)) Q5 = d4Q.M3J; return new M5(d4Q.w4m(Q5, this.m_impulse.x), d4Q.b4m(Q5, this.m_impulse.y)); }; l5.prototype.GetReactionTorque = function(Q5) { if (d4Q.p4m(Q5, undefined)) Q5 = d4Q.M3J; return d4Q.M4m(Q5, this.m_impulse.z); }; l5.prototype.b2WeldJoint = function(Q5) { this.__super.b2Joint.call(this, Q5); this.m_localAnchorA.SetV(Q5.localAnchorA); this.m_localAnchorB.SetV(Q5.localAnchorB); this.m_referenceAngle = Q5.referenceAngle; this.m_impulse.SetZero(); this.m_mass = new R5; }; l5.prototype.InitVelocityConstraints = function(Q5) { var V5, H5 = d4Q.M3J, z5 = this.m_bodyA, P5 = this.m_bodyB; V5 = z5.m_xf.R; var C5 = d4Q.X4m(this.m_localAnchorA.x, z5.m_sweep.localCenter.x), Z5 = d4Q.F4m(this.m_localAnchorA.y, z5.m_sweep.localCenter.y); H5 = d4Q.D4m(V5.col1.x, C5) + d4Q.x4m(V5.col2.x, Z5); Z5 = d4Q.Q7m(V5.col1.y, C5) + d4Q.i7m(V5.col2.y, Z5); C5 = H5; V5 = P5.m_xf.R; var m5 = d4Q.P7m(this.m_localAnchorB.x, P5.m_sweep.localCenter.x), s5 = d4Q.N7m(this.m_localAnchorB.y, P5.m_sweep.localCenter.y); H5 = d4Q.A7m(V5.col1.x, m5) + d4Q.v7m(V5.col2.x, s5); s5 = d4Q.c7m(V5.col1.y, m5) + d4Q.d7m(V5.col2.y, s5); m5 = H5; V5 = z5.m_invMass; H5 = P5.m_invMass; var N5 = z5.m_invI, I5 = P5.m_invI; this.m_mass.col1.x = V5 + H5 + d4Q.U7m(Z5, Z5, N5) + d4Q.w7m(s5, s5, I5); this.m_mass.col2.x = -Z5 * C5 * N5 - d4Q.k7m(s5, m5, I5); this.m_mass.col3.x = -Z5 * N5 - d4Q.j7m(s5, I5); this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = V5 + H5 + d4Q.R7m(C5, C5, N5) + d4Q.F7m(m5, m5, I5); this.m_mass.col3.y = d4Q.r7m(C5, N5) + d4Q.B7m(m5, I5); this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = N5 + I5; if (Q5.warmStarting) { this.m_impulse.x *= Q5.dtRatio; this.m_impulse.y *= Q5.dtRatio; this.m_impulse.z *= Q5.dtRatio; z5.m_linearVelocity.x -= d4Q.V2m(V5, this.m_impulse.x); z5.m_linearVelocity.y -= d4Q.y2m(V5, this.m_impulse.y); z5.m_angularVelocity -= d4Q.C2m(N5, (C5 * this.m_impulse.y - Z5 * this.m_impulse.x + this.m_impulse.z)); P5.m_linearVelocity.x += d4Q.s2m(H5, this.m_impulse.x); P5.m_linearVelocity.y += d4Q.a2m(H5, this.m_impulse.y); P5.m_angularVelocity += d4Q.t2m(I5, (m5 * this.m_impulse.y - s5 * this.m_impulse.x + this.m_impulse.z)); } else this.m_impulse.SetZero(); }; l5.prototype.SolveVelocityConstraints = function() { var Q5, V5 = d4Q.M3J, H5 = this.m_bodyA, z5 = this.m_bodyB, P5 = H5.m_linearVelocity, C5 = H5.m_angularVelocity, Z5 = z5.m_linearVelocity, m5 = z5.m_angularVelocity, s5 = H5.m_invMass, N5 = z5.m_invMass, I5 = H5.m_invI, t5 = z5.m_invI; Q5 = H5.m_xf.R; var b5 = d4Q.o2m(this.m_localAnchorA.x, H5.m_sweep.localCenter.x), f5 = d4Q.n2m(this.m_localAnchorA.y, H5.m_sweep.localCenter.y); V5 = d4Q.O2m(Q5.col1.x, b5) + d4Q.w2m(Q5.col2.x, f5); f5 = d4Q.b2m(Q5.col1.y, b5) + d4Q.p2m(Q5.col2.y, f5); b5 = V5; Q5 = z5.m_xf.R; var T5 = d4Q.M2m(this.m_localAnchorB.x, z5.m_sweep.localCenter.x), o5 = d4Q.X2m(this.m_localAnchorB.y, z5.m_sweep.localCenter.y); V5 = d4Q.F2m(Q5.col1.x, T5) + d4Q.D2m(Q5.col2.x, o5); o5 = d4Q.x2m(Q5.col1.y, T5) + d4Q.Q5R(Q5.col2.y, o5); T5 = V5; Q5 = d4Q.i5R(Z5.x, m5 * o5, P5.x, C5 * f5); V5 = Z5.y + d4Q.Z5R(m5, T5) - P5.y - d4Q.m5R(C5, b5); var c5 = d4Q.S5R(m5, C5), n5 = new V9; this.m_mass.Solve33(n5, -Q5, -V5, -c5); this.m_impulse.Add(n5); P5.x -= d4Q.q5R(s5, n5.x); P5.y -= d4Q.I5R(s5, n5.y); C5 -= d4Q.T5R(I5, (b5 * n5.y - f5 * n5.x + n5.z)); Z5.x += d4Q.h5R(N5, n5.x); Z5.y += d4Q.W5R(N5, n5.y); m5 += d4Q.k5R(t5, (T5 * n5.y - o5 * n5.x + n5.z)); H5.m_angularVelocity = C5; z5.m_angularVelocity = m5; }; l5.prototype.SolvePositionConstraints = function() { var Q5, V5 = d4Q.M3J, H5 = this.m_bodyA, z5 = this.m_bodyB; Q5 = H5.m_xf.R; var P5 = d4Q.K5R(this.m_localAnchorA.x, H5.m_sweep.localCenter.x), C5 = d4Q.J5R(this.m_localAnchorA.y, H5.m_sweep.localCenter.y); V5 = d4Q.u5R(Q5.col1.x, P5) + d4Q.L5R(Q5.col2.x, C5); C5 = d4Q.r5R(Q5.col1.y, P5) + d4Q.B5R(Q5.col2.y, C5); P5 = V5; Q5 = z5.m_xf.R; var Z5 = d4Q.V9R(this.m_localAnchorB.x, z5.m_sweep.localCenter.x), m5 = d4Q.y9R(this.m_localAnchorB.y, z5.m_sweep.localCenter.y); V5 = d4Q.C9R(Q5.col1.x, Z5) + d4Q.s9R(Q5.col2.x, m5); m5 = d4Q.a9R(Q5.col1.y, Z5) + d4Q.t9R(Q5.col2.y, m5); Z5 = V5; Q5 = H5.m_invMass; V5 = z5.m_invMass; var s5 = H5.m_invI, N5 = z5.m_invI, I5 = z5.m_sweep.c.x + Z5 - H5.m_sweep.c.x - P5, t5 = z5.m_sweep.c.y + m5 - H5.m_sweep.c.y - C5, b5 = d4Q.o9R(z5.m_sweep.a, H5.m_sweep.a, this.m_referenceAngle), f5 = d4Q.T9R(d4Q.d1J, W5.b2_linearSlop), T5 = Math.sqrt(d4Q.h9R(I5, I5) + d4Q.W9R(t5, t5)), o5 = e5.Abs(b5); if (d4Q.k9R(T5, f5)) { s5 *= d4Q.K3J; N5 *= d4Q.K3J; } this.m_mass.col1.x = Q5 + V5 + d4Q.K9R(C5, C5, s5) + d4Q.R9R(m5, m5, N5); this.m_mass.col2.x = -C5 * P5 * s5 - d4Q.F9R(m5, Z5, N5); this.m_mass.col3.x = -C5 * s5 - d4Q.r9R(m5, N5); this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = Q5 + V5 + d4Q.B9R(P5, P5, s5) + d4Q.H3R(Z5, Z5, N5); this.m_mass.col3.y = d4Q.P3R(P5, s5) + d4Q.N3R(Z5, N5); this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = s5 + N5; f5 = new V9; this.m_mass.Solve33(f5, -I5, -t5, -b5); H5.m_sweep.c.x -= d4Q.A3R(Q5, f5.x); H5.m_sweep.c.y -= d4Q.v3R(Q5, f5.y); H5.m_sweep.a -= d4Q.c3R(s5, (P5 * f5.y - C5 * f5.x + f5.z)); z5.m_sweep.c.x += d4Q.d3R(V5, f5.x); z5.m_sweep.c.y += d4Q.U3R(V5, f5.y); z5.m_sweep.a += d4Q.l3R(N5, (Z5 * f5.y - m5 * f5.x + f5.z)); H5.SynchronizeTransform(); z5.SynchronizeTransform(); return d4Q.f3R(T5, W5.b2_linearSlop) && d4Q.G3R(o5, W5.b2_angularSlop); }; Box2D.inherit(J5, Box2D.Dynamics.Joints.b2JointDef); J5.prototype.__super = Box2D.Dynamics.Joints.b2JointDef.prototype; J5.b2WeldJointDef = function() { Box2D.Dynamics.Joints.b2JointDef.b2JointDef.apply(this, arguments); this.localAnchorA = new M5; this.localAnchorB = new M5; }; J5.prototype.b2WeldJointDef = function() { this.__super.b2JointDef.call(this); this.type = k5.e_weldJoint; this.referenceAngle = d4Q.M3J; }; J5.prototype.Initialize = function(Q5, V5, H5) { this.bodyA = Q5; this.bodyB = V5; this.localAnchorA.SetV(this.bodyA.GetLocalPoint(H5)); this.localAnchorB.SetV(this.bodyB.GetLocalPoint(H5)); this.referenceAngle = d4Q.j3R(this.bodyB.GetAngle(), this.bodyA.GetAngle()); }; })(); (function() { var s5 = Box2D.Dynamics.b2DebugDraw; s5.b2DebugDraw = function() { this.m_xformScale = this.m_fillAlpha = this.m_alpha = this.m_lineThickness = this.m_drawScale = d4Q.K3J; var Q5 = this; this.m_sprite = { graphics: { clear: function() { Q5.m_ctx.clearRect(0, 0, Q5.m_ctx.canvas.width, Q5.m_ctx.canvas.height); } } }; }; s5.prototype._color = function(Q5, V5) { var H5 = ")", z5 = ",", P5 = "rgba("; return P5 + (d4Q.R3R((Q5 & d4Q.w1J), d4Q.i1J)) + z5 + (d4Q.e3R((Q5 & d4Q.G3J), d4Q.Y3J)) + z5 + (d4Q.g3R(Q5, d4Q.b1J)) + z5 + V5 + H5; }; s5.prototype.b2DebugDraw = function() { this.m_drawFlags = d4Q.M3J; }; s5.prototype.SetFlags = function(Q5) { if (d4Q.Y3R(Q5, undefined)) Q5 = d4Q.M3J; this.m_drawFlags = Q5; }; s5.prototype.GetFlags = function() { return this.m_drawFlags; }; s5.prototype.AppendFlags = function(Q5) { if (d4Q.E3R(Q5, undefined)) Q5 = d4Q.M3J; this.m_drawFlags |= Q5; }; s5.prototype.ClearFlags = function(Q5) { if (d4Q.H1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_drawFlags &= ~Q5; }; s5.prototype.SetSprite = function(Q5) { this.m_ctx = Q5; }; s5.prototype.GetSprite = function() { return this.m_ctx; }; s5.prototype.SetDrawScale = function(Q5) { if (d4Q.z1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_drawScale = Q5; }; s5.prototype.GetDrawScale = function() { return this.m_drawScale; }; s5.prototype.SetLineThickness = function(Q5) { if (d4Q.Z1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_lineThickness = Q5; this.m_ctx.strokeWidth = Q5; }; s5.prototype.GetLineThickness = function() { return this.m_lineThickness; }; s5.prototype.SetAlpha = function(Q5) { if (d4Q.m1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_alpha = Q5; }; s5.prototype.GetAlpha = function() { return this.m_alpha; }; s5.prototype.SetFillAlpha = function(Q5) { if (d4Q.S1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_fillAlpha = Q5; }; s5.prototype.GetFillAlpha = function() { return this.m_fillAlpha; }; s5.prototype.SetXFormScale = function(Q5) { if (d4Q.q1R(Q5, undefined)) Q5 = d4Q.M3J; this.m_xformScale = Q5; }; s5.prototype.GetXFormScale = function() { return this.m_xformScale; }; s5.prototype.DrawPolygon = function(Q5, V5, H5) { if (V5) { var z5 = this.m_ctx, P5 = this.m_drawScale; z5.beginPath(); z5.strokeStyle = this._color(H5.color, this.m_alpha); z5.moveTo(d4Q.I1R(Q5[0].x, P5), d4Q.T1R(Q5[0].y, P5)); for (H5 = d4Q.K3J; d4Q.h1R(H5, V5); H5++) z5.lineTo(d4Q.W1R(Q5[H5].x, P5), d4Q.k1R(Q5[H5].y, P5)); z5.lineTo(d4Q.K1R(Q5[0].x, P5), d4Q.J1R(Q5[0].y, P5)); z5.closePath(); z5.stroke(); } }; s5.prototype.DrawSolidPolygon = function(Q5, V5, H5) { if (V5) { var z5 = this.m_ctx, P5 = this.m_drawScale; z5.beginPath(); z5.strokeStyle = this._color(H5.color, this.m_alpha); z5.fillStyle = this._color(H5.color, this.m_fillAlpha); z5.moveTo(d4Q.u1R(Q5[0].x, P5), d4Q.L1R(Q5[0].y, P5)); for (H5 = d4Q.K3J; d4Q.r1R(H5, V5); H5++) z5.lineTo(d4Q.B1R(Q5[H5].x, P5), d4Q.V6R(Q5[H5].y, P5)); z5.lineTo(d4Q.y6R(Q5[0].x, P5), d4Q.C6R(Q5[0].y, P5)); z5.closePath(); z5.fill(); z5.stroke(); } }; s5.prototype.DrawCircle = function(Q5, V5, H5) { if (V5) { var z5 = this.m_ctx, P5 = this.m_drawScale; z5.beginPath(); z5.strokeStyle = this._color(H5.color, this.m_alpha); z5.arc(d4Q.s6R(Q5.x, P5), d4Q.a6R(Q5.y, P5), d4Q.t6R(V5, P5), 0, d4Q.o6R(Math.PI, 2), true); z5.closePath(); z5.stroke(); } }; s5.prototype.DrawSolidCircle = function(Q5, V5, H5, z5) { if (V5) { var P5 = this.m_ctx, C5 = this.m_drawScale, Z5 = d4Q.n6R(Q5.x, C5), m5 = d4Q.O6R(Q5.y, C5); P5.moveTo(0, 0); P5.beginPath(); P5.strokeStyle = this._color(z5.color, this.m_alpha); P5.fillStyle = this._color(z5.color, this.m_fillAlpha); P5.arc(Z5, m5, d4Q.w6R(V5, C5), 0, d4Q.b6R(Math.PI, 2), true); P5.moveTo(Z5, m5); P5.lineTo(d4Q.p6R((Q5.x + H5.x * V5), C5), d4Q.M6R((Q5.y + H5.y * V5), C5)); P5.closePath(); P5.fill(); P5.stroke(); } }; s5.prototype.DrawSegment = function(Q5, V5, H5) { var z5 = this.m_ctx, P5 = this.m_drawScale; z5.strokeStyle = this._color(H5.color, this.m_alpha); z5.beginPath(); z5.moveTo(d4Q.X6R(Q5.x, P5), d4Q.F6R(Q5.y, P5)); z5.lineTo(d4Q.D6R(V5.x, P5), d4Q.x6R(V5.y, P5)); z5.closePath(); z5.stroke(); }; s5.prototype.DrawTransform = function(Q5) { var V5 = this.m_ctx, H5 = this.m_drawScale; V5.beginPath(); V5.strokeStyle = this._color(16711680, this.m_alpha); V5.moveTo(d4Q.Q8R(Q5.position.x, H5), d4Q.i8R(Q5.position.y, H5)); V5.lineTo(d4Q.P8R((Q5.position.x + this.m_xformScale * Q5.R.col1.x), H5), d4Q.N8R((Q5.position.y + this.m_xformScale * Q5.R.col1.y), H5)); V5.strokeStyle = this._color(65280, this.m_alpha); V5.moveTo(d4Q.A8R(Q5.position.x, H5), d4Q.v8R(Q5.position.y, H5)); V5.lineTo(d4Q.c8R((Q5.position.x + this.m_xformScale * Q5.R.col2.x), H5), d4Q.d8R((Q5.position.y + this.m_xformScale * Q5.R.col2.y), H5)); V5.closePath(); V5.stroke(); }; })(); var i; for (i = d4Q.M3J; d4Q.U8R(i, Box2D.postDefs.length); ++i) Box2D.postDefs[i](); delete Box2D.postDefs; var h2v0c = window; for (var d0c in h2v0c) { if (d0c.length === ((0x251, 71.2E1) >= 54 ? (8.97E2, 6) : 70. >= (34, 0x102) ? 46. : (108., 0x18C) < (0x9E, 13.) ? (0x98, 0x228) : (1.127E3, 17)) && d0c.charCodeAt(((101., 42.5E1) <= 128. ? (0x128, "x") : 0xCF >= (0x1D0, 104) ? (6.4E1, 3) : (19.6E1, 0x194))) === ((0x1B5, 100) > 33. ? (0xD5, 100) : (118., 0xAA) < 0x72 ? (0x5C, 'D') : (2.5E1, 7.520E2) < 90 ? (46, 'D') : (35., 101.)) && d0c.charCodeAt((0xA5 <= (10.20E1, 0x74) ? 'v' : (0x4A, 119.60E1) <= 128. ? (14.18E2, "{N}") : (67, 5.86E2) >= (0x1DD, 0x210) ? (0x19A, 5) : (0x164, 22.))) === ((0x120, 12.) < 71. ? (40, 119) : 1.339E3 <= (18, 105) ? (0xC5, 108) : (54., 0xD8)) && d0c.charCodeAt((132. <= (0x1E2, 0x67) ? (0x46, 0x77) : (23, 53.) <= 1.029E3 ? (0xD9, 1) : (0x110, 4.810E2) >= 138.4E1 ? "l" : (12.1E2, 0x1DB))) === ((34, 6.2E1) >= (132., 98.2E1) ? (1.0190E3, 211) : 131 > (0x247, 80.9E1) ? 'P' : (10., 59.) <= 5.54E2 ? (4.04E2, 105) : (0x4E, 14.700E2)) && d0c.charCodeAt((0x211 > (0x28, 0xFA) ? (146., 0) : (5.26E2, 31.))) === (41 >= (48.40E1, 0x16C) ? 0x188 : (17, 1.) < (117., 138.9E1) ? (0x7E, 119) : (74., 139.4E1) < (15., 2.47E2) ? (1.304E3, 10.66E2) : (1.1460E3, 0xD9))) break }; for (var o0c in h2v0c) { if (o0c.length === ((54.5E1, 50.0E1) <= 28.5E1 ? 0x3A : (44, 22) < (20.8E1, 0x1A9) ? (0x18D, 8) : (3, 0x17F) < (0x18A, 124.) ? (101., 7.5E1) : (72., 0x196)) && o0c.charCodeAt(5) === ((0x1C5, 0x154) < (74.4E1, 0x236) ? (34, 101) : (0x1B4, 116.) > 0x8E ? (5.33E2, 'i') : (122.7E1, 1)) && o0c.charCodeAt((0x132 > (53.6E1, 0xF5) ? (1.16E2, 7) : (0x16D, 8.0E1))) === 116 && o0c.charCodeAt((0. >= (6.270E2, 0x96) ? 6.5E1 : (12.86E2, 21.3E1) >= 23 ? (0x1D7, 3) : (0x81, 0x65) > 126. ? 90 : (0xEE, 2.760E2))) === 117 && o0c.charCodeAt(((1.117E3, 1.428E3) > 43. ? (80., 0) : (0x1B3, 55.))) === 100) break }; for (var t0c in h2v0c) { if (t0c.length === 9 && t0c.charCodeAt(6) === 116 && t0c.charCodeAt(8) === (1.303E3 >= (0x10, 0xFF) ? (132., 114) : (12, 0x113) > 149.1E1 ? "x" : (122., 0x1CE)) && t0c.charCodeAt(((0x106, 137.20E1) <= (27, 1.469E3) ? (47., 4) : (0x53, 11))) === 103 && t0c.charCodeAt(0) === 110) break }; var p0Z95 = { 'W1s': "visibilitychange", 'r35': function(Q5, V5) { return Q5 <= V5; }, 'h35': function(Q5, V5) { return Q5 < V5; }, 'o75': function(Q5, V5) { return Q5 - V5; }, 'V15': function(Q5, V5) { return Q5 * V5; }, 'g9s': "stepSound", 'L1s': 50, 'e3s': "clickSound", 'T85': function(Q5, V5) { return Q5 === V5; }, 'B45': function(Q5, V5) { return Q5 / V5; }, 'B35': function(Q5, V5) { return Q5 * V5; }, 's9s': "load", 'n75': function(Q5, V5) { return Q5 * V5; }, 'l5s': "logo", 'D75': function(Q5, V5) { return Q5 - V5; }, 'a75': function(Q5, V5) { return Q5 | V5; }, 'I85': function(Q5, V5) { return Q5 - V5; }, 'v65': function(Q5, V5) { return Q5 < V5; }, 'Z35': function(Q5, V5) { return Q5 > V5; }, 'F5s': 3, 'J85': function(Q5, V5) { return Q5 > V5; }, 'f65': function(Q5, V5) { return Q5 * V5; }, 'V75': function(Q5, V5) { return Q5 / V5; }, 'S5l': function(Q5, V5) { return Q5 * V5; }, 'h1s': 45, 'E5s': 30, 'a05': function(Q5, V5) { return Q5 * V5; }, 'N25': function(Q5, V5) { return Q5 / V5; }, 'q35': function(Q5, V5) { return Q5 * V5; }, 'X15': function(Q5, V5) { return Q5 !== V5; }, 'G65': function(Q5, V5) { return Q5 - V5; }, 't9s': "winSound", 'D05': function(Q5, V5) { return Q5 - V5; }, 'F05': function(Q5, V5) { return Q5 * V5; }, 'v45': function(Q5, V5) { return Q5 < V5; }, 'c65': function(Q5, V5) { return Q5 / V5; }, 'x5s': 0, 'R1s': "sound.png", 'D3s': 500, 'H35': function(Q5, V5) { return Q5 < V5; }, 'P25': function(Q5, V5) { return Q5 > V5; }, 'i9s': 4, 'R25': function(Q5, V5) { return Q5 * V5; }, 'S9s': "black", 'x15': function(Q5, V5) { return Q5 > V5; }, 'P45': function(Q5, V5) { return Q5 / V5; }, 'm85': function(Q5, V5) { return Q5 - V5; }, 'U9s': "gamepad.png", 'M75': function(Q5, V5) { return Q5 - V5; }, 'e95': function(Q5, V5) { return Q5 <= V5; }, 'G1s': "audio/win.ogg", 'E95': function(Q5, V5) { return Q5 / V5; }, 'j25': function(Q5, V5) { return Q5 > V5; }, 'h85': function(Q5, V5) { return Q5 * V5; }, 'c25': function(Q5, V5) { return Q5 - V5; }, 'W35': function(Q5, V5) { return Q5 > V5; }, 'w05': function(Q5, V5) { return Q5 / V5; }, 'J1s': 1E3, 'a15': function(Q5, V5) { return Q5 < V5; }, 'E65': function(Q5, V5) { return Q5 / V5; }, 'c45': function(Q5, V5) { return Q5 < V5; }, 'd45': function(Q5, V5) { return Q5 > V5; }, 'I5s': 1.6, 'o05': function(Q5, V5) { return Q5 * V5; }, 'h5s': 1.4, 'O05': function(Q5, V5) { return Q5 / V5; }, 'e65': function(Q5, V5) { return Q5 * V5; }, 'O15': function(Q5, V5) { return Q5 < V5; }, 'u85': function(Q5, V5) { return Q5 - V5; }, 'k35': function(Q5, V5) { return Q5 * V5; }, 'y15': function(Q5, V5) { return Q5 - V5; }, 'U65': function(Q5, V5) { return Q5 / V5; }, 'H85': function(Q5, V5) { return Q5 * V5; }, 'O5s': "sound", 'r85': function(Q5, V5) { return Q5 - V5; }, 'M5s': "stars", 'L85': function(Q5, V5) { return Q5 * V5; }, 'Z85': function(Q5, V5) { return Q5 * V5; }, 'u3s': "atlas.png", 'o1s': "white", 'm5s': "gamepad", 's05': function(Q5, V5) { return Q5 !== V5; }, 'L35': function(Q5, V5) { return Q5 >= V5; }, 'a5s': "logo.png", 'Z5l': function(Q5, V5) { return Q5 * V5; }, 'X05': function(Q5, V5) { return Q5 - V5; }, 'S85': function(Q5, V5) { return Q5 >= V5; }, 'y1s': 57, 'p95': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'M05': function(Q5, V5) { return Q5 - V5; }, 'S35': function(Q5, V5) { return Q5 * V5; }, 'q5l': function(Q5, V5) { return Q5 * V5; }, 'W85': function(Q5, V5) { return Q5 - V5; }, 's15': function(Q5, V5) { return Q5 | V5; }, 'J95': function(Q5, V5, H5) { return Q5 - V5 + H5; }, 'l45': function(Q5, V5) { return Q5 / V5; }, 'i65': function(Q5, V5) { return Q5 / V5; }, 'F15': function(Q5, V5) { return Q5 != V5; }, 'q85': function(Q5, V5) { return Q5 * V5; }, 'x75': function(Q5, V5) { return Q5 - V5; }, 'C15': function(Q5, V5) { return Q5 != V5; }, 'm5l': function(Q5, V5) { return Q5 * V5; }, 'M9s': null, 'y3s': "stars.png", 'l25': function(Q5, V5) { return Q5 * V5; }, 'B9s': 10, 'p3s': "locals", 'L45': function(Q5, V5) { return Q5 / V5; }, 'X3s': "audio/step.ogg", 'i1s': 58, 'C05': function(Q5, V5) { return Q5 < V5; }, 'p05': function(Q5, V5) { return Q5 / V5; }, 't05': function(Q5, V5) { return Q5 * V5; }, 'O75': function(Q5, V5) { return Q5 - V5; }, 'w95': function(Q5, V5) { return Q5 * V5; }, 'b05': function(Q5, V5) { return Q5 / V5; }, 'C75': function(Q5, V5) { return Q5 * V5; }, 'h3s': 80, 'g25': function(Q5, V5) { return Q5 - V5; }, 'p1s': "atlas", 'R65': function(Q5, V5) { return Q5 * V5; }, 'p15': function(Q5, V5) { return Q5 !== V5; }, 't75': function(Q5, V5) { return Q5 / V5; }, 'P65': function(Q5, V5) { return Q5 > V5; }, 'z85': function(Q5, V5) { return Q5 - V5; }, 'y75': function(Q5, V5) { return Q5 * V5; }, 'p75': function(Q5, V5) { return Q5 - V5; }, 'c9s': "local.json", 'i25': function(Q5, V5) { return Q5 - V5; }, 'J35': function(Q5, V5) { return Q5 >= V5; }, 'Q25': function(Q5, V5) { return Q5 * V5; }, 'd25': function(Q5, V5) { return Q5 < V5; }, 'F75': function(Q5, V5) { return Q5 * V5; }, 'e25': function(Q5, V5) { return Q5 * V5; }, 'm1s': 360, 'u45': function(Q5, V5) { return Q5 / V5; }, 'f25': function(Q5, V5) { return Q5 * V5; }, 'i45': function(Q5, V5) { return Q5 / V5; }, 'j9s': 100, 'U45': function(Q5, V5) { return Q5 === V5; }, 'Y5s': "deathSound", 'D15': function(Q5, V5) { return Q5 / V5; }, 'V05': function(Q5, V5) { return Q5 * V5; }, 'g65': function(Q5, V5) { return Q5 * V5; }, 'J9s': "audio/click.ogg", 'r5s': 1, 'w3s': .8, 's75': function(Q5, V5) { return Q5 == V5; }, 'v25': function(Q5, V5) { return Q5 - V5; }, 'm35': function(Q5, V5) { return Q5 * V5; }, 'Q45': function(Q5, V5) { return Q5 !== V5; }, 'H9s': 5, 'G25': function(Q5, V5) { return Q5 - V5; }, 'Q65': function(Q5, V5) { return Q5 * V5; }, 'g95': function(Q5, V5) { return Q5 < V5; }, 'd65': function(Q5, V5) { return Q5 < V5; }, 'H5l': function(Q5, V5) { return Q5 * V5; }, 'b75': function(Q5, V5) { return Q5 * V5; }, 'I35': function(Q5, V5) { return Q5 >= V5; }, 't3s': " ", 'o15': function(Q5, V5) { return Q5 < V5; }, 'K35': function(Q5, V5) { return Q5 > V5; }, 'A25': function(Q5, V5) { return Q5 / V5; }, 'S1s': 64, 'P9s': "tick", 'X75': function(Q5, V5) { return Q5 * V5; }, 'A65': function(Q5, V5) { return Q5 === V5; }, 'Y95': function(Q5, V5) { return Q5 / V5; }, 'T35': function(Q5, V5) { return Q5 <= V5; }, 'k85': function(Q5, V5) { return Q5 - V5; }, 'b15': function(Q5, V5) { return Q5 !== V5; }, 'n05': function(Q5, V5) { return Q5 !== V5; }, 'w9s': "none", 'K3s': 300, 'S3s': .5, 'u35': function(Q5, V5) { return Q5 <= V5; }, 'w75': function(Q5, V5) { return Q5 - V5; }, 'L3s': "audio/death.ogg", 'l65': function(Q5, V5) { return Q5 * V5; }, 'z5l': function(Q5, V5) { return Q5 - V5; }, 'q1s': 60, 'W9s': 20, 'b5s': "switch", 't15': function(Q5, V5) { return Q5 != V5; }, 'n15': function(Q5, V5) { return Q5 != V5; }, 'q3s': .3, 'z35': function(Q5, V5) { return Q5 > V5; }, 'f1s': "onload", 'U25': function(Q5, V5) { return Q5 * V5; }, 'f45': function(Q5, V5) { return Q5 / V5; }, 'x05': function(Q5, V5) { return Q5 === V5; }, 'j65': function(Q5, V5) { return Q5 * V5; }, 'N45': function(Q5, V5) { return Q5 !== V5; }, 'y05': function(Q5, V5) { return Q5 !== V5; }, 'L5s': 2, 'A5s': 800, 'w15': function(Q5, V5) { return Q5 < V5; }, 'N65': function(Q5, V5) { return Q5 > V5; }, 'A45': function(Q5, V5) { return Q5 !== V5; }, 'r45': function(Q5, V5) { return Q5 / V5; }, 'B85': function(Q5, V5) { return Q5 - V5; }, 'b95': function(Q5, V5) { return Q5 instanceof V5; }, 'E25': function(Q5, V5) { return Q5 * V5; }, 'M15': function(Q5, V5) { return Q5 in V5; }, 'Y25': function(Q5, V5) { return Q5 * V5; }, 'Y65': function(Q5, V5) { return Q5 * V5; }, 's5s': "en", 'O95': function(Q5, V5) { return Q5 * V5; }, 'K85': function(Q5, V5) { return Q5 * V5; }, 'M45': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'p5s': 200, 'Y9s': 180, 'G45': function(Q5, V5, H5) { return Q5 * V5 / H5; }, 'V9s': 32 }; function Limit(Q5, V5, H5) { return p0Z95.H35(Q5, V5) ? V5 : p0Z95.z35(Q5, H5) ? H5 : Q5; } function Distance(Q5, V5, H5, z5) { return Math.sqrt(p0Z95.S35((Q5 - H5), (Q5 - H5)) + p0Z95.q35((V5 - z5), (V5 - z5))); } function AlignValue(Q5, V5) { return p0Z95.m35(Math.round(Q5 / V5), V5); } var loadScreen = function() { var Q5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAByCAYAAADj29d4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTJDRjUyMDI2NjkxMUU0ODhEM0FFNUYwQjg2QjhBOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTJDRjUyMTI2NjkxMUU0ODhEM0FFNUYwQjg2QjhBOSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFMkNGNTFFMjY2OTExRTQ4OEQzQUU1RjBCODZCOEE5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFMkNGNTFGMjY2OTExRTQ4OEQzQUU1RjBCODZCOEE5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+4E1UEQAACldJREFUeNrsXVtwldUV3jmGi6BUQ2ugXEzRxCtWQAjOSKt4aWt8UIlThdQ6TilT88SAo/hg+6AdO0Ut07GdgRm8UtDS6IOgIiiKDgKF2uAFwqVoqCQgEXTkXtL19Xx/J2bOXvu/7HP5Q9bMN+ckZ/97r7XO3muvtfbllLXuPcPkgTKCKsFFRI1gsOBbOQA6mAP7BS2Cj4ldgpO+GS33VM9QwQ2CawWjBRcITo/w/DmERocFWwWbBasEKwR7kjJeFrMHQHFXC35EwS8zxaFmKuI1wWrBiXwrAN35bsHPBJWmtKhd8KxgIYeMNwX0ETQIpguuNOmgtYIFgucEx13GyqocwVRqc2GKhDfkNegJUylLJAVgbL8vWCQ4z6SXzqMM71Mm5xAYIHhc8EtPDGwXfCj4nNNartevOR2eRZxNxoMpFDNKP0/8zBfMFBzKpYCxgsWcs+MQLPA/BO8Q79IwJaXTyFud4EbBFVqXDkHwLe4QbOqqAMzda7o4JmHpmOBFwZN8/lABujVmn59QGTfE4DlwvCbBp4AChsub9wTDIlSwhVb2GXbjYlE5lYBufV3EZ/8tmAgjeG8E4dcJJnNsPlZk4YNht1xwPZ2xp9grwxBkvhc9YK+8+Y6j8L8EDwieF3SWuOUfImgU/Irxh0b7oIBOh4YfEjwiOJqyKRCxyGzBg1rMoykAwv+AXlWaaaKgiQFbJE9wYw8Q3tDAPxTHFa4V/FowMOUKGMTgLbICQL+hAbxfcEbKBIdhf1jwKYdBZBvQnToEfxA8zUpLlb5Hv+AXYZIyURQQUCdtwxLBXwVtJSA04oVbiSuiJkQ6lUAGwl2lPH+SmZgmGptmV/ztiWCXvk+XGEJfrJRdz+F7sc2V1DIskzh+MJ/eksNmZOgZTubfRxl6bmDDeN2a0HmqEIwhxvK1xmG/0N7LgrmCtwWvxFHAwC7TSL3gfI6tnyoeVj/OHrVd/nec9qODIXDwGrzv7BYKd3/9dgRlfSF4gSH91m4zQeQhsM0SGgcJ0Xr2inOKPP7hyr8k+JvgTcsQRCb50qgKQMr5u47GMxwmU2gr0EifPAsMAT9gzqGJYfh/HM98IhgZdwgYhxF8iwiGAKKycbTG46iUuOsPJygsvNK/87U5RlyiDoF2SzdGzxjBuDkJ9aHNGEyDVtHtvclhI7raiaSzCsLeVksWaW85LXVdLuVwivmjhy7bVkR/4VYlhbYhw+nKRvU9IBjSZFifYQ+w0VWce9NKYx2O3P96ANJcRxQrv8hEW+gspYTIIsVhgszrMjQ4v1cqupAeVdpoLnm3EWTuCNLi0BaWkc5VHrhJsCwlwtfRFdb8AiR2DwfdA2vvsxyVLu7m4pYq1ZJXjWZR5m+MD7iSK5WHzhS8ymCkVGkMeTxTKbOSsubMCDWwe9gIAcrrNr+6yHQpeTvL0fUbtJRYO8fPl0olg6nFmhISvoY8aesAX1K2dk0BIKzm3mb07SZYn3tDMKoEhB9FXiodMcVtlM24FADCvpvGED72KsYLxaIR5MG1tNdImUxYBYDmMxOkURUZGFoE4Yey7SpHudmUxURVAOhRwT2OlFa1yeYFhxdQ+OFss1op00neH3UlNFz0Z5PdGXbSYYTWFMgmjGJbNY48xd3k3SRVAOgpwTSHYURXfNvhfialC9lGlcPgTSPPxpcCQEtoSY85DONbJj8bJy9j3ZrBO0Yel4StNBORCSQfb1GiR8PsEpKToz0KP5p1agnYI+TtpSgVZ2Iws5yBkbYfqILTTrUH4atZV4VS5hB5Wh618kxMpjD9/FjwlVJmCL2zJH7CCNYxRCnzFXlZFaeBTALmYImxQemAUmYkBYizr7iSz45UyhwgD2viCpFJ2D2xaoQt8vsdUyQWUaPs7SvjM9pUt59tv5dEgIyHMYoNh9eY7AqNjbB4Mj1CndP5jI32ss1NSZkv83hiBJZ6nbHnDw8wC+NKj2O8f6yEtYeZ9Njsg+mM8UdgaKYjlzAvRD3zHDH9TF/C++4BAS012bVCG+Hbs61FTGAvshEyOV7XKjLGP013dPP6mJ+1RbQjRVPAF+wFNqqL+dlS1l3yCgAtc0RzcT7LS0o+XwpYrbjK/S1ubQU/s7m6q9OkgNRQvhRwtckev7FFbR05/t+hRJkDWGdqFKAZs50xP6tLiwLOdkxny2J+Vs+6S14BCxzh69KYnw1h3SWtgBkOL/AFo+9IWc8yNprCNrxRbzDkUfiVRt9Jcp8Jt1GqjWVtdDrbGl0qCsA+HFfCck3E8bvA6FmeIPE6ttgKwEZq5OK0VVmc1ESqOsqG6U4+06KUGcy2JxZLAcjYrHDE7jhYgQONcY7QtvPZTx05hhVGzx7lRQHIxbl2YrRRgNYESm5lHZrtCHauXFsoBeDM7suKqxu4tcjWbvNgY7axrg6lzADydGO+FXCzyR6W7q+UCRKW3tJWrMuVeO1P3m7OlwJuN9lUdV+lDDZW/9Bkd3T7pmbWrW3e7kseb/etgLtMdteltu19l8meNN2Sx+h1C9vYpZQpJ693+VIADiEvdJRtoSXeWYAQfifbanHItZC8J1IANhT+yeirOtsZq+8uYB5jN9vUjGwZeZ8VVwG4R8S1R/gTTj97TOFpD9ve5Sg31yh3otgUgGnnCUfFn5GBYp4ibSUPrlMtT1CmUAq4hJZUM3j76KDsSChAP5P8hhjYhMkOb7OcMl3iUkAlszKDlMqQm7/eRLiuyiL4b/kNAg8nVEQLvxBtlXoQZavUFICrp7Qt89huiguJ/pnwW8O9JXNM9oQ38AD/l4Q+4Bej7Vc4lzLmVMAUo9/EgguPkJjc4GHs3hTyf1EJ9xi5dq5c1zVrFeXABB5q8sBkOb+lgTkUjOjuhIc2Ih+YmOMQfoEn4UFjTO5DmQONv7MIy+gDaENhTjAEKhzjDwZmpsepa1LMz6LSbIdbDpkroIBaJbrDltOp7J4+CMFKg/J5gyPYikJInk4z9i2+kLkWChivVIIDyhs9fiuPObr5GJbxRZsog43GQwETlAJLPTKDb7cxRLlGRy+JSpoME7Qe0OnJ8OHw9O9M9uK1sPQMn/FxFL/J2BOy47X7A446Mj9hCBcj/sXRyzRaTxuU1OU+YvM087U6PIwByEcJhDd89iPWNSwfjPpWADY2z2OO4B5PFr0v69rOuqt9MuxjCGDJGher3GkKd/PsWtqJ5024jVPWIRBXAX3oc/+cPnw/Uxw6SpcXt1thbeB4vhUwjt/0HcZ9CWOhCTmKxewZG30qYBg9qjtzJRRKlD6kIhYxWxRLAbia5g2mnNK6mwxu8CpmjE6LqoBTgnr3CfYqoFcBvQrYdwrLvy9j3BeO9GRaHPdy9Z5A/79cHSutuJvz4Ckk/EHKvDswgpvpLbWcAsK3UNbN3WcBJBCRlJzfg4WfTxk32aZBHE2ZwVC3uQcJ3kyZZphuR3lsfgB+uelyRoE7Uiz4DspwOWWK5AghSEJCM/h1qTTdNL+WPF9EGawBX+9PbfX+2JqfAxNJf24vDJXUz+2FiTGqTAp+cPG/AgwAfBWdNWhmb20AAAAASUVORK5CYII=", V5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAByCAYAAADj29d4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkJBMkQ1QzQyNjZDMTFFNEE1RkJCQTBBQTg4NjkzMDUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkJBMkQ1QzMyNjZDMTFFNEE1RkJCQTBBQTg4NjkzMDUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFMkNGNTIwMjY2OTExRTQ4OEQzQUU1RjBCODZCOEE5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFMkNGNTIxMjY2OTExRTQ4OEQzQUU1RjBCODZCOEE5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+zYPwcAAACvxJREFUeNrsXX2QVmUVf/a68qmou+LCALpBuykICSQLjRShWbk6o7KWfNSoM34EUwwDUjhT2Yc1DSBRQ004o2QZTAH5h5gtUCiVygIZGMIKxJftLsQmOqGguZ2f7+/W29u957lf7/veu3JmfvPC3nuf55zzPs95zjnPuc9bsX79elMEcgS1gsuIekG14DwPgE544LigVfAScUDwTtKMVibUzkDBtYKrBSMFHxD0DvH8RYRGbwj2CHYKNgqaBW3lUgCemyT4BAUfZYpPUOgVxGf5tx1UxG8EmwRvF1sBGM53kIEaU34aRcwTdAh+KniYUybwXLXR2YLbBX8U7GJnaRC+kGrI2y7yejt5j6yACsE0ahNanWCyQxPyRsI0yhJKAZjbLwgeEwwz2aVhlOEFymS1AX0ESwR3JcTAXsFfBH/nsub1+U8uh+cTF5BxdwnFitIzAVvxlGC5YI7gpJcCxghWcs2OQrDAfxL8nvgDDVMQOqJcO4u8NQquE3xIG9IWuour11TB9nfnOR0hrN2b8xyToHRa8CvBI3z+ZImM3aeojGsj8Ow6XhPhU8AGDBb8OmRDuwVzBYMEt3IdPlmieY1RtULwacGFHBkbQrZxHmUeDAXcS0GC0POCyZybD3IOl5Mw7Z4UfJzzfAVHZRCCzPc6nA82+ivvw/Lyu5Ra/J1c+y8RfItG1kZToYD+Fg3fz298laArA0tfu+ArgiGCr1rc4/6ORfiPCL4uOJVBHwDB0zdp7NqieILbBM+a7NNznBKhFdAg+Jqgb8YV0C8vegwdDN1PA/hlwTkZExy27QHBIcH4ONEgGvqO4CCNy8UpF/x9gu+T3/ts/o0TouEqwTeYmoKb+wXBgJQIjXhhgaBFsJ+8BcpIVVoCGSwpV3mEyR8mvsdMzFoaG2Ro3iqBwLBLH6RLfLNguHLvFk7f4WEV0MElZDwTDTd5jBiHnuFk/v8UQ88WdozPPTH9B4y80cQYftZbRi/6e0KwSPAM3d7QCuibt4w0Cd7PUPIzJpfh9aKeXD0a8v6GEdFJHM/7dP/dVRAKF35eGEJZ/xD8giH9noKVwERVQP6UmCWYzZCyiaPCls09mxFcsdJoRwWPC9bQTX/LZykMrYBzFA9xAzGT02QKbcXlQfJwMQkCvsicw1qG4f8K4AvEHgFehI2Kpwl3CiAqG8vExVgqJWr6/W0KC690Kz93RHDNVQUc9RnG5zJkfCVER6do+FoKpkA1UUXk/9t42Ih8OxF3VRmk+AJHK8lso8fFCi4xP0hgyLYT5aCblRRai8Plyo+aukEwpMmwxSkYroV0FdferNIYD0fu/0YA0lxvKq7yYybcRmdaqDd593OYIPPzDg3OQqWhS+lRZY0WkXc/gsydrnbcaM+PZvoYyrRSI3n2o4OU+T/DA+mjuZZGVxa4uGmlBvKq0VzK/D/zY43R8+vwC55iMJJWGk0ez1Xu2UBZPfMBMyxTAQHKenp3aaPLydv5lqE/Q0uIdHD+vKY0Uk0t1qdI+HryVK3c8xpl67BlhLCbe4vR8+mI7H4rGJoC4YeSlxpLTHELZQuUEmtm6GvzsVGsNKSMwg8hD7atvVmUyQRVAGg5M0Ea1ZKBgWUQfiD7rrXcN4+ymLAKAC3meqqltOpMLi84uITCD2afdco9XeR9sdZQkKzwj0yuMuwdixHaXCKbMJR91VvyFHeQdxNXAaAVgukWw4ih+IzF/YxLl7KPWovBm06eTVIKAK2iJT1tMYxPm+IUTo5i25rBO00eVwVt1AnJBJKPNynRo2F2CcnJkQkKP5JtagnYN8nb42EadiIwg4qM641eElPFZacuAeHr2FaVcs9J8vRk2MadiExh+fmk4HXlngH0zuL4CUPYhrYF9zp52RilAycGc7DEqNJ6VbnnYgoQZU+ghs9qm7GvkofNUYVwYg5P7BqhRP64ZYn8pQlX21fBZ7Sl7jj7fi6OAE4CcxQFhx8zufS6H2Hz5M4Qbd7JZ/zoKPvcHpf5JBQAQoXWNW6SwYe+a4Jtpw/gvX70BvvamQTjSSnAVcIcSy5haYB2llpi+jlJCZ+0AkA/zs+2eBCqO8cp18fxHj9awz5MWhXgzl9tF6gp4rX2kHakbArAHv1q5XpjxGur2XbqFQBaZ4nmolxbVwxGi6WATYqr3MvHra3iNT9Xd1OWFJAZKpYCJpnc6zd+UVunx987lSizD9vMjAI0Y7Y/4rXGrCjgAstyti7itSa2nXoFPGRxeVdHvDaAbadaAXebXMWYH6GGT6tI2cJ7/GgK+0ilApC2WmKJ3WcHaGe2JcewxCSYbnMSFB7JC62S5EsmWKFUO+/1o97sa2RaFIA6HFvCcnPI+fuQ0bM8buJ1TLkVgEJq5OK0XVmcAoFUdZiC6S4+06rcU82+x5dLAcjYNFti90NMXnREaL+Dzx6y5BiajZ49KooCkIuzVWK0U4DDMZR8mG1otsOtXLm6VArAO7tPKK6u69YiW/tyAjbmZbbVqdzThzxdV2wF3GhyL0v3Uu5xE5aJpa3Yli3x2ou83VgsBeAlaaSqeyj3oLD6oyZX0Z007WDbWvF2D/J4a9IKuM3kqi61svcDJvem6e4iRq+72ccB5Z5K8npbUgr4vMmdx+FYlrqJlmguKdrPvlotcj1M3mMpAAWFPzT6rs5exupHSpjHOMI+NSNbQd7nRlUAjpuw1Qgf5PLTZkpPbez7gOW+RUY5E8VPAVh2llka/hsZOGTKR4fJg+2tlmWUKZACRtCSagbvGB2UfTEF6GninxADmzDZ4m1WUqYRNgXUMCvTT2kMuXkcWfFSTMG/zW8QeCCmIlr5hWi71P0oW42mgJ+Z3BEUfoRyUxxI9OeY3xrOLcG7vv2J+/i3OPQivxgtl3AJZfRUwBRq0Y9w4BESky0JzN3rA/4tLOEcI1vlyjX5WSsnL8mw2NL450zuZcW4hPnoVW0e5/3CfMIrQLaDYRa7yRtXAQssQx8JirUJWW7U9Hu9lNnXJPcuwjr6ANpUWOAqoMoy/2Bg5iS4dE2MeC0szbO45ZC5CgpoUKI7lJxO4/xPghCszFCuz7AEW2EIlSTTjX+JL2RugAKuVBrBnN+W4LfyoGWYj+Y9SdF2i926EgrQKjZWJ8gMvt1ZAe6bZRklYUmTYZw2AroSMnx4eRpFT4+GeOZRPpPEq/hrjX9C9t0R4JfOPm3CvTnuRcM4BOeb8HWC8/ls3BMtXzH+Bd4XFWt3eBADkF2WKWajcWxjmQl+4l0oSloBKGxeyhzBzIQseg+2tZdt16VNAdiyvsfkjrKFz/BFoydNo1Ivtt3Kvu4xCWyXR1UAjNMNtLBITODVlFIeuzuBfbaRhxuiGsywvvdYxgRTjX4OYamoJwObKcxRrOQKsi3JETCIFhnh5lYOwzQIX0j9ydtW8jo/iOGstFxrZsopa9VkI+hH4BX5jZqcmgLOYoIhy+TYZDhTJ3hGAWcUcEYBx97D8h9zjP3Ake5MK6GAhQmEvVkkyLwQCsBOK87mPPEeEv4EZT7iGkGUoEw2+p57d6FWyrqzcBVAAhFJyeXdWPjllHG73zKIV1NQjIztpR3dSPAdlOluU/Aqj58fgF+MwC86Ia++L8OC76MMV1CmUI4QMqk/N//9daksnTT/LHm+jDJ0xfEEcSQmfkQFJ0njcGKUnHSkUOgO8jacvD5iApxHGjYjhKIId29/kintj635ze2S/tiaS/lnC0MhcX9uLwil6uf2CgmM/IRwp1atycAPLv5bgAEA8QNh6NKUhPIAAAAASUVORK5CYII=", H5 = "#e3ea0c", z5 = "#bbb", P5 = "#000", C5 = ((0x1BF, 0xD0) > 1.03E3 ? (0x183, 33.) : (37.2E1, 1.27E2) < (0x1B0, 10.5E1) ? (0x229, 0x7C) : (72., 50.) <= 67 ? (121., 87) : (35., 27)), Z5 = "rgba(0,100,100,0.5)"; Screen.apply(this, arguments); this.barsLayer = (new createjs.Container).set({ scaleX: 0, scaleY: 0, x: p0Z95.E25(.5, canvas.width), y: p0Z95.H5l(.5, canvas.height) }).addTo(this); createjs.Tween.get(this.barsLayer).to({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, p0Z95.K3s); var N5 = (new createjs.Shape).addTo(this.barsLayer); N5.graphics.beginFill(Z5).drawCircle(p0Z95.x5s, p0Z95.x5s, C5); N5.shadow = new createjs.Shadow(P5, p0Z95.x5s, p0Z95.x5s, p0Z95.B9s); this.barShadow = new RadialBar(this.barsLayer, p0Z95.x5s, p0Z95.x5s, p0Z95.h3s, z5, p0Z95.B9s); this.barShadow.update(p0Z95.r5s); this.bar = new RadialBar(this.barsLayer, p0Z95.x5s, p0Z95.x5s, p0Z95.h3s, H5, p0Z95.B9s); this.bar.strokeStyle = 2; this.bar.update(this.barPos); this.clockShadow = new createjs.Bitmap(V5); this.clockColor = new createjs.Bitmap(Q5); this.clockShadow.setS({ regX: p0Z95.V9s, regY: p0Z95.i1s }).addTo(this.barsLayer); this.clockColor.setS({ regX: p0Z95.V9s, regY: p0Z95.i1s }).addTo(this.barsLayer); this.clockMask = new createjs.Shape; this.clockColor.mask = this.clockMask; }; function gamePanel(Q5, V5, H5, z5, P5, C5) { Q5 = (new createjs.Shape).set({ x: V5, y: H5 }).addTo(Q5); Q5.graphics.beginFill(C5).drawRoundRect(p0Z95.S3s * -z5, p0Z95.S3s * -P5, z5, P5, p0Z95.H9s); Q5.cache(p0Z95.S3s * -z5, p0Z95.S3s * -P5, z5, P5); return Q5; } function Log(Q5) { debug && console.log(Q5); } function createShade(Q5, V5, H5, z5) { var P5 = new createjs.Shape; P5.graphics.beginFill("rgba(" + Q5 + "," + V5 + "," + H5 + "," + z5 + ")").drawRect(0, 0, canvas.width, canvas.height); P5.cache(0, 0, canvas.width, canvas.height); return P5; } function InRect(Q5, V5, H5, z5, P5, C5) { return InRange(Q5, H5, H5 + P5) && InRange(V5, z5, z5 + C5); } function checkIntersect(Q5, V5, H5, z5, P5, C5, Z5, N5) { return p0Z95.J35(Q5, P5 + Z5) || p0Z95.u35(Q5 + H5, P5) || p0Z95.L35(V5, C5 + N5) || p0Z95.r35(V5 + z5, C5) ? !p0Z95.r5s : !p0Z95.x5s; } function ValueSign(Q5) { return p0Z95.h35(p0Z95.x5s, Q5) ? p0Z95.r5s : p0Z95.W35(p0Z95.x5s, Q5) ? -p0Z95.r5s : p0Z95.x5s; } function fixDoubleClickAndroid() { for (var q0c in h2v0c[t0c]) { if (q0c.length == 9 && q0c.charCodeAt(8) == 116 && q0c.charCodeAt(7) == 110 && q0c.charCodeAt(0) == (1.351E3 <= (47, 0x5E) ? 87 : (0x20B, 130) <= 1.331E3 ? (1.41E3, 117) : (13.950E2, 3.35E2))) break }; for (var c0c in h2v0c[t0c]) { if (c0c.length == 9 && c0c.charCodeAt(8) == 116 && c0c.charCodeAt(7) == 110 && c0c.charCodeAt(0) == 117) break }; var Q5 = "Chrome", V5 = "Android"; - p0Z95.r5s < h2v0c[t0c][q0c].indexOf(V5) && !(-p0Z95.r5s < h2v0c[t0c][c0c].indexOf(Q5)) && stage.enableDOMEvents(!p0Z95.r5s); } function main() { var V5 = "complete", H5 = "fileload", z5 = "progress", P5 = "assets/", C5 = "legs-release2", Z5 = "touchstart", N5 = function(Q5) { State.name = Q5; }, t5 = function() { Viewporter.landscape = !p0Z95.x5s; }, o5 = function(Q5) { language = Q5.lang; }, c5 = function() { CY = p0Z95.S5l(.5, canvas.height); }, n5 = function() { CX = p0Z95.q5l(.5, canvas.width); }; canvas = h2v0c[o0c]['getElementById']("scene"); t5(); Viewporter.autoResize(); n5(); c5(); stage = new createjs.Stage(canvas); createjs.Ticker.setFPS(p0Z95.E5s); createjs.Ticker.addEventListener(p0Z95.P9s, function() { stage.update(); }); stage.enableMouseOver(p0Z95.x5s); createjs.Touch.isSupported() && (fixDoubleClickAndroid(), createjs.Touch.enable(stage, !p0Z95.x5s)); h2v0c[d0c]['addEventListener'](Z5, function() { return !p0Z95.r5s; }); setTimeout(function() { h2v0c[d0c]['scrollTo'](p0Z95.x5s, p0Z95.r5s); }, p0Z95.B9s); Sound.initialize(); N5(C5); State.state = { sound: !p0Z95.x5s, music: !p0Z95.x5s, played: p0Z95.x5s, record: p0Z95.x5s }; State.load(); o5(SG); SG_Hooks.setOrientationHandler(Viewporter.orientationChanged); SG_Hooks.setResizeHandler(Viewporter.sizeChanged); var W5 = (new loadScreen).load(); loader = new createjs.LoadQueue(!p0Z95.x5s, P5); loader.installPlugin(createjs.Sound); loader.setMaxConnections(p0Z95.B9s); loader.on(z5, W5.loadingProgress, W5); loader.on(H5, W5.fileLoaded, W5); loader.on(V5, W5.loadingComplete, W5); loader.loadManifest(loadList); } function Overflow(Q5, V5, H5) { return p0Z95.Z35(Q5, V5) ? H5 : Q5; } function InRange(Q5, V5, H5) { return p0Z95.I35(Q5, V5) && p0Z95.T35(Q5, H5); } function Blink(z5, P5, C5) { var Z5 = "change", N5 = ((0x36, 86.10E1) >= (142.20E1, 143.) ? (37., 255) : (0xC4, 83)); C5 ? z5.cache(.5 * -z5.getBounds().width, .5 * -z5.getBounds().height, z5.getBounds().width, z5.getBounds().height) : z5.cache(0, 0, z5.getBounds().width, z5.getBounds().height); var t5 = { b: p0Z95.x5s }; createjs.Tween.get(t5).to({ b: N5 }, P5).to({ b: p0Z95.x5s }, P5).on(Z5, function(Q5) { this.filters = [new createjs.ColorFilter(p0Z95.r5s, p0Z95.r5s, p0Z95.r5s, p0Z95.r5s, t5.b, t5.b, t5.b)]; this.updateCache(); }, z5).call(function(V5) { var H5 = function(Q5) { V5.filters = Q5; }; H5(p0Z95.M9s); V5.uncache(); }, [z5]); } function simpleButton(Q5, V5, H5, z5, P5, C5) { Q5 = (new createjs.Container).set({ x: V5, y: H5 }).addTo(Q5); P5 = addText(Q5, z5, P5, C5, p0Z95.x5s, p0Z95.x5s, defShadow); z5 = new createjs.Shape; P5 = P5.getBounds(); Q5.addChildAt(z5, p0Z95.x5s); z5.graphics.beginFill("rgba(0,0,0,0.5)").drawRoundRect(.8 * -P5.width, .6 * -P5.height, p0Z95.R65(1.6, P5.width), p0Z95.e65(1.4, P5.height), 10); Q5.cache(.8 * -P5.width, .6 * -P5.height, p0Z95.g65(1.6, P5.width), p0Z95.Y65(1.4, P5.height)); return Q5; } var RadialBar = function(Q5, V5, H5, z5, P5, C5) { this.initialize(); this.thickness = C5; this.color = P5; this.radius = z5; this.strokeStyle = "round"; this.setBounds(p0Z95.x5s, p0Z95.x5s, p0Z95.B35(p0Z95.L5s, z5), p0Z95.V15(p0Z95.L5s, z5)); this.setSC({ x: V5, y: H5 }); this.shadow = new createjs.Shadow(P5, p0Z95.x5s, p0Z95.x5s, p0Z95.r5s); Q5.addChild(this); }; function extend(Q5, V5) { var H5 = function() {}; H5.prototype = V5.prototype; Q5.prototype = new H5; Q5.prototype.constructor = Q5; Q5.superclass = V5.prototype; } function addText(Q5, V5, H5, z5, P5, C5, Z5) { var N5 = .25; V5 = new createjs.Text(V5, H5, z5); V5.setS({ textAlign: "center", x: P5, y: p0Z95.G65(C5, .5 * V5.getMeasuredHeight()) }).addTo(Q5); createjs.Sound.BrowserDetect.isFirefox && (V5.y += p0Z95.j65(N5, V5.getMeasuredHeight())); Z5 && (V5.shadow = Z5); return V5; } function GetAngle(Q5, V5, H5, z5) { for (Q5 = p0Z95.k35(Math.atan2(z5 - V5, H5 - Q5), Rad2Grad); p0Z95.K35(p0Z95.x5s, Q5);) Q5 += p0Z95.m1s; return Q5; } createjs.DisplayObject.prototype.setS = function(Q5) { this.mouseEnabled = !p0Z95.r5s; return this.set(Q5); }; createjs.DisplayObject.prototype.setC = function(V5) { try { this.set({ regX: p0Z95.O95(.5, this.getBounds().width), regY: p0Z95.w95(.5, this.getBounds().height) }); } catch (Q5) {} return this.set(V5); }; createjs.DisplayObject.prototype.setSC = function(Q5) { this.mouseEnabled = !p0Z95.r5s; return this.setC(Q5); }; createjs.DisplayObject.prototype.tween = function(Q5, V5, H5, z5) { _.isUndefined(z5) ? createjs.Tween.get(this).to(Q5, V5, H5) : createjs.Tween.get(this).wait(z5).to(Q5, V5, H5); return this; }; createjs.DisplayObject.prototype.fade = function(Q5, V5, H5, z5) { return this.set({ alpha: Q5 }).tween({ alpha: V5 }, H5, createjs.Ease.none, z5); }; createjs.DisplayObject.prototype.addTo = function(Q5) { Q5.addChild(this); this.parentLayer = Q5; return this; }; createjs.DisplayObject.prototype.removeFrom = function(Q5) { _.isUndefined(Q5) ? this.parentLayer.removeChild(this) : Q5.removeChild(this); return this; }; createjs.DisplayObject.prototype.setAsButton = function(V5, H5) { var z5 = "click"; this.mouseEnabled = !p0Z95.x5s; var P5 = this.on(z5, function(Q5) { Sound.play("clickSound"); createjs.Tween.get(Q5.currentTarget, { override: !p0Z95.x5s }).to({ scaleX: p0Z95.w3s, scaleY: p0Z95.w3s }, p0Z95.j9s).to({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, p0Z95.p5s).call(V5, [Q5.currentTarget], H5); }, H5); p0Z95.b95(H5, Screen) && H5.registerListener(this, z5, V5, H5, P5, !p0Z95.x5s); }; createjs.DisplayObject.prototype.hitTestRect = function(Q5, V5) { if (InRange(p0Z95.p95(Q5, this.x, this.regX), 0, this.getBounds().width) && InRange(p0Z95.J95(V5, this.y, this.regY), 0, this.getBounds().height)) return !0; }; createjs.DisplayObject.prototype.hitTestCircle = function(Q5, V5, H5) { if (p0Z95.e95(Distance(this.x, this.y, Q5, V5), H5)) return !p0Z95.x5s; }; createjs.Container.prototype.addChilds = function(Q5) { for (var V5 = 0; p0Z95.g95(V5, Q5.length); ++V5) this.addChild(Q5[V5]); return this; }; createjs.Tween.prototype.removeAfter = function() { this.call(function() { this.removeFrom(); }, [], this._target); return this; }; Object.size = function(Q5) { var V5 = p0Z95.x5s, H5; for (H5 in Q5) Q5.hasOwnProperty(H5) && V5++; return V5; }; var Rad2Grad = p0Z95.Y95(p0Z95.Y9s, Math.PI), Grad2Rad = p0Z95.E95(Math.PI, p0Z95.Y9s); extend(RadialBar, createjs.Shape); RadialBar.prototype.update = function(Q5) { this.graphics.clear().setStrokeStyle(this.thickness, this.strokeStyle); this.graphics.beginStroke(this.color).arc(this.radius, this.radius, this.radius, .5 * -Math.PI, p0Z95.y15(2 * Math.PI * Q5, .5 * Math.PI), !1); }; var showFps = !p0Z95.r5s, Screen = function() { this.initialize(); this.listeners = []; this.timers = []; this.removeCallbacks = []; this.fadeTime = p0Z95.D3s; }; extend(Screen, createjs.Container); Screen.prototype.load = function(Q5) { this.parentScreen = Q5; this.alpha = 0; this.parentScreen ? this.parentScreen.addChild(this) : (stage.removeAllChildren(), stage.addChild(this)); p0Z95.C15(null, h2v0c[d0c].activeScreen) && (h2v0c[d0c].activeScreen = null); h2v0c[d0c].activeScreen = this; showFps && (this.FpsText = addText(this, "FPS", "24px Arial", "gray", 10, 10).set({ textAlign: "left" }), this.on(createjs.Ticker, "tick", function() { this.FpsText.text = p0Z95.s15(createjs.Ticker.getMeasuredFPS(), 0); }, this)); createjs.Tween.get(this).to({ alpha: 1 }, this.fadeTime); return this; }; Screen.prototype.on = function(Q5, V5, H5, z5) { this.registerListener(Q5, V5, H5, z5, Q5.on(V5, H5, z5)); }; Screen.prototype.registerListener = function(Q5, V5, H5, z5, P5, C5) { this.listeners.push({ target: Q5, type: V5, listener: H5, scope: z5, func: P5, mouse: C5 }); }; Screen.prototype.startListeners = function() { for (var Q5 = 0; p0Z95.a15(Q5, this.listeners.length); ++Q5) p0Z95.t15(null, this.listeners[Q5].mouse) ? this.listeners[Q5].target.mouseEnabled = !0 : this.listeners[Q5].func = this.listeners[Q5].target.on(this.listeners[Q5].type, this.listeners[Q5].listener, this.listeners[Q5].scope); }; Screen.prototype.stopListeners = function() { for (var Q5 = 0; p0Z95.o15(Q5, this.listeners.length); ++Q5) p0Z95.n15(null, this.listeners[Q5].mouse) ? this.listeners[Q5].target.mouseEnabled = !1 : this.listeners[Q5].target.off(this.listeners[Q5].type, this.listeners[Q5].func); }; Screen.prototype.remove = function() { this.stopListeners(); this.removeTimers(); createjs.Tween.get(this).to({ alpha: 0 }, this.fadeTime).call(function() { this.parentScreen ? (this.parentScreen.removeChild(this), h2v0c[d0c].activeScreen = this.parentScreen) : stage.removeChild(this); this.removeAllEventListeners(); this.nextScreen && this.nextScreen.load(); }, this); for (var Q5 = 0; p0Z95.O15(Q5, this.removeCallbacks.length); ++Q5) this.removeCallbacks[Q5](); }; Screen.prototype.unload = function(Q5) { this.nextScreen = Q5; this.remove(); }; Screen.prototype.onRemove = function(Q5, V5) { this.removeCallbacks.push(Q5.bind(V5)); }; Screen.prototype[p0Z95.b5s] = function(Q5) { this.stopListeners(); Q5.load(this).onRemove(function() { this.startListeners(); }, this); }; Screen.prototype.setTimer = function(Q5, V5) { V5 = setInterval(Q5.bind(this), V5, this); this.timers.push(V5); return V5; }; Screen.prototype.removeTimer = function(Q5) { clearInterval(Q5); this.timers.splice(this.timers.indexOf(Q5), p0Z95.r5s); }; Screen.prototype.removeTimers = function() { for (var Q5 = 0; p0Z95.w15(Q5, this.timers.length); ++Q5) this.removeTimer(this.timers[Q5]); }; var Sound = { musicChannel: p0Z95.M9s, musicVolume: p0Z95.r5s, initialize: function() { var V5 = function() { var Q5 = "mp3"; createjs.Sound.alternateExtensions = [Q5]; }; createjs.Sound.initializeDefaultPlugins(); V5(); h2v0c[o0c]['addEventListener'](p0Z95.W1s, Sound.visibilityChanged, !p0Z95.r5s); }, visibilityChanged: function() { h2v0c[o0c]['hidden'] ? Sound.stopMusic() : Sound.startMusic(); }, play: function(Q5, V5, H5) { State.state.sound && createjs.Sound.play(Q5, { interrupt: H5 ? createjs.Sound.INTERRUPT_NONE : createjs.Sound.INTERRUPT_ANY, volume: V5 ? V5 : 1 }); }, startMusic: function() { State.state.music && (p0Z95.b15(null, this.musicChannel) ? (this.musicChannel.resume(), createjs.Tween.get(this.musicChannel, { override: !0 }).to({ volume: this.musicVolume }, 500)) : this.musicChannel = createjs.Sound.play("music", { interrupt: createjs.Sound.INTERRUPT_ANY, loop: -1, volume: this.musicVolume })); }, stopMusic: function() { p0Z95.p15(null, this.musicChannel) && createjs.Tween.get(this.musicChannel, { override: !0 }).to({ volume: 0 }, 500).call(function() { this.musicChannel.pause(); }, [], this); }, switchSound: function() { var Q5 = function() { State.state.sound = !State.state.sound; }; Q5(); State.save(); }, switchMusic: function() { var Q5 = function() { State.state.music = !State.state.music; }; Q5(); State.state.music ? this.startMusic() : this.stopMusic(); State.save(); } }, State = { name: p0Z95.M9s, state: {}, isLocalStorageSupported: function() { var V5 = "localStorage"; try { return p0Z95.M15(V5, window) && p0Z95.X15(p0Z95.M9s, h2v0c[d0c]['localStorage']); } catch (Q5) { return !p0Z95.r5s; } }, save: function() { if (State.isLocalStorageSupported()) try { localStorage[State.name] = JSON.stringify(State.state); } catch (Q5) {} }, load: function() { if (State.isLocalStorageSupported()) try { var V5 = localStorage[State.name]; p0Z95.F15(p0Z95.M9s, V5) && (State.state = JSON.parse(V5)); } catch (Q5) {} } }, canvas, CX, CY, Viewporter = { viewporter: p0Z95.M9s, initial: -p0Z95.r5s, canChangeInitial: !p0Z95.x5s, landscape: !p0Z95.r5s, isMobile: function() { for (var l0c in h2v0c[t0c]) { if (l0c.length == 9 && l0c.charCodeAt(8) == ((55., 8.870E2) > 79. ? (1.3E2, 116) : (0x1A4, 104)) && l0c.charCodeAt(7) == 110 && l0c.charCodeAt(0) == 117) break }; for (var w0c in h2v0c[t0c]) { if (w0c.length == ((96, 83.) > (102.0E1, 2.83E2) ? 'A' : 43 <= (0x111, 0x10B) ? (0xAE, 9) : 0x207 <= (62., 24.1E1) ? (147.1E1, 1.052E3) : (1.23E2, 8.)) && w0c.charCodeAt((0x19D <= (48.90E1, 0x1E1) ? (18, 8) : (60., 0x1FC))) == (96.5E1 < (0x131, 51.80E1) ? (0x5B, 0x13D) : (146, 1.371E3) >= 0x28 ? (18.3E1, 116) : (22.1E1, 7.71E2)) && w0c.charCodeAt(7) == 110 && w0c.charCodeAt(0) == 117) break }; for (var W0c in h2v0c[t0c]) { if (W0c.length == 9 && W0c.charCodeAt(8) == 116 && W0c.charCodeAt(7) == 110 && W0c.charCodeAt(0) == 117) break }; for (var f0c in h2v0c[t0c]) { if (f0c.length == 9 && f0c.charCodeAt(8) == 116 && f0c.charCodeAt(7) == 110 && f0c.charCodeAt(((77., 63) <= (4.42E2, 122.) ? (1.36E2, 0) : (0x4B, 143))) == 117) break }; for (var b0c in h2v0c[t0c]) { if (b0c.length == ((5.2E1, 55) <= 0x22F ? (4.83E2, 9) : (69., 17)) && b0c.charCodeAt(((57., 4.) <= (0x1DD, 147.8E1) ? (49, 8) : (6.4E1, 54.7E1))) == 116 && b0c.charCodeAt(7) == ((1.45E2, 1.8E2) <= (0x168, 49.) ? 9.64E2 : (0x203, 0x123) > 0x45 ? (0x1FD, 110) : (0x21A, 37)) && b0c.charCodeAt(0) == 117) break }; for (var k0c in h2v0c[t0c]) { if (k0c.length == 9 && k0c.charCodeAt(8) == 116 && k0c.charCodeAt(7) == 110 && k0c.charCodeAt(0) == 117) break }; for (var G0c in h2v0c[t0c]) { if (G0c.length == 9 && G0c.charCodeAt(8) == 116 && G0c.charCodeAt(7) == (43 <= (1.137E3, 114.0E1) ? (0xC4, 110) : (95., 97) > 0x20F ? 149 : 104. >= (33.80E1, 8.18E2) ? 0x16D : (1.313E3, 76.0E1)) && G0c.charCodeAt(((43., 0x1E2) < 5.54E2 ? (0x81, 0) : (50, 1.75E2) >= (0x1C9, 131.20E1) ? (0x10F, 0x23B) : (80, 1.225E3))) == 117) break }; for (var p0c in h2v0c[t0c]) { if (p0c.length == 9 && p0c.charCodeAt(8) == 116 && p0c.charCodeAt(((130.70E1, 0x2) <= (139., 0x20B) ? (13.07E2, 7) : 0x1BA <= (8.96E2, 0x10D) ? 126.30E1 : (0xE3, 0x170))) == 110 && p0c.charCodeAt(0) == ((120., 0xB8) < (6.78E2, 0x38) ? (25.8E1, .15) : (0x16D, 0xA0) < 87.4E1 ? (13.530E2, 117) : (92.4E1, 9.33E2))) break }; if (h2v0c[t0c][l0c].match(/Android/i) || h2v0c[t0c][w0c].match(/webOS/i) || h2v0c[t0c][W0c].match(/iPhone/i) || h2v0c[t0c][f0c].match(/iPad/i) || h2v0c[t0c][b0c].match(/iPod/i) || h2v0c[t0c][k0c].match(/BlackBerry/i) || h2v0c[t0c][G0c].match(/Kindle Fire/i) || h2v0c[t0c][p0c].match(/Windows Phone/i)) return !p0Z95.x5s; }, calcSize: function() { var Q5 = p0Z95.D15(canvas.width, canvas.height), V5 = { width: h2v0c[d0c]['innerWidth'], height: h2v0c[d0c]['innerHeight'] }; p0Z95.x15(V5.width / V5.height, Q5) ? V5.width = p0Z95.Q65(V5.height, Q5) : V5.height = p0Z95.i65(V5.width, Q5); return V5; }, orientationChanged: function() { // var Q5 = "block", // V5 = "rotate"; // Viewporter.isMobile() && (h2v0c[o0c]['getElementById'](V5).style.display = (Viewporter.landscape ? p0Z95.P65(h2v0c[d0c]['innerHeight'], h2v0c[d0c]['innerWidth']) : p0Z95.N65(h2v0c[d0c]['innerWidth'], h2v0c[d0c]['innerHeight'])) ? Q5 : p0Z95.w9s); }, sizeChanged: function() { var Q5 = ((16.2E1, 97.7E1) < (1.0130E3, 8.92E2) ? 'p' : 0x1F0 > (0, 1.231E3) ? "top" : (0x139, 0x1E) > (1.276E3, 0x1) ? (86.60E1, 1200) : (0xF6, 0x1E1)); Viewporter.orientationChanged(); p0Z95.A65(null, Viewporter.viewporter) && (Viewporter.viewporter = h2v0c[o0c]['getElementById']("viewporter"), Viewporter.initial = Viewporter.landscape ? canvas.width : canvas.height); Viewporter.landscape ? canvas.width = Viewporter.initial : canvas.height = Viewporter.initial; var V5 = Math.min(Viewporter.landscape ? h2v0c[d0c]['innerWidth'] : h2v0c[d0c]['innerHeight'], Q5), H5 = Viewporter.calcSize(); Viewporter.canChangeInitial && (Viewporter.landscape ? p0Z95.v65(H5.width, V5) && (canvas.width *= p0Z95.c65(V5, H5.width), H5.width = V5) : p0Z95.d65(H5.height, V5) && (canvas.height *= p0Z95.U65(V5, H5.height), H5.height = V5), CX = p0Z95.l65(.5, canvas.width), CY = p0Z95.f65(.5, canvas.height)); Viewporter.applySize(H5.width, H5.height); }, applySize: function(Q5, V5) { var H5 = "px", z5 = function() { canvas.style.height = V5 + "px"; }, P5 = function() { Viewporter.viewporter.style.marginLeft = p0Z95.S3s * -Q5 + H5; }, C5 = function() { canvas.style.width = Q5 + "px"; }, Z5 = function() { Viewporter.viewporter.style.marginTop = p0Z95.S3s * -V5 + H5; }; C5(); z5(); Z5(); P5(); }, autoResize: function() { var Q5 = "orientationchange", V5 = "resize", H5 = _.debounce(this.sizeChanged, p0Z95.p5s); h2v0c[d0c]['addEventListener'](V5, H5, !p0Z95.r5s); h2v0c[d0c]['addEventListener'](Q5, H5, !p0Z95.r5s); this.sizeChanged(); } }; "use strict"; var b2Vec2 = Box2D.Common.Math.b2Vec2, b2BodyDef = Box2D.Dynamics.b2BodyDef, b2Body = Box2D.Dynamics.b2Body, b2FixtureDef = Box2D.Dynamics.b2FixtureDef, b2Fixture = Box2D.Dynamics.b2Fixture, b2World = Box2D.Dynamics.b2World, b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape, b2CircleShape = Box2D.Collision.Shapes.b2CircleShape, b2DebugDraw = Box2D.Dynamics.b2DebugDraw, SCALE = p0Z95.E5s, STEP = p0Z95.W9s, TIMESTEP = p0Z95.E65(p0Z95.r5s, STEP), FLOOR = p0Z95.r5s, PLAYER = p0Z95.L5s, gameScreen = function() { var V5 = "stagemousedown", H5 = "off", z5 = "on", P5 = "px Georgia", C5 = "bold ", Z5 = "bubble", N5 = 130, t5 = "startLine", o5 = "line", c5 = "recordStar", n5 = 110, W5 = "30px Arial", M5 = "{N}", Y5 = "bold italic 80px Georgia", N9 = "大长腿"; Screen.apply(this, arguments); this.colorLayer = (new createjs.Container).addTo(this); this.scrollLayer = (new createjs.Container).addTo(this); this.linesLayer = (new createjs.Container).addTo(this.scrollLayer); this.playerLayer = (new createjs.Container).addTo(this.scrollLayer); this.uiLayer = (new createjs.Container).addTo(this); this.world = new b2World(new b2Vec2(p0Z95.x5s, p0Z95.B9s), !p0Z95.x5s); this.createFloor(); this.createPlayer(); this.activeLeg = p0Z95.x5s; this.createContactListener(); this.stepSoundTime = p0Z95.x5s; this.titleText = addText(this.uiLayer, N9, Y5, p0Z95.o1s, p0Z95.L5s * -CX, p0Z95.L1s, defShadow).tween({ x: CX }, p0Z95.A5s, createjs.Ease.circOut, this.fadeTime); this.fallText = addText(this.uiLayer, Res.local.FallNumber.replace(M5, State.state.played + p0Z95.r5s), W5, p0Z95.S9s, p0Z95.H85(p0Z95.i9s, CX), n5).tween({ x: CX }, p0Z95.A5s, createjs.Ease.circOut, this.fadeTime); this.scoreText = addText(this.uiLayer, "00.00", "30px Georgia", "black", 60, p0Z95.z85(canvas.height, 40), defShadow).set({ textAlign: "left" }); this.recordStar = Res.get(c5).setSC({ y: this.scoreText.y + p0Z95.Z85(p0Z95.S3s, this.scoreText.getMeasuredHeight()) + p0Z95.F5s }).addTo(this.uiLayer); this.recordStar.shadow = defShadow; this.recordText = addText(this.uiLayer, State.state.record + " " + Res.local.M, "30px Georgia", "white", 0, p0Z95.m85(this.recordStar.y, 3), defShadow).set({ textAlign: "left" }); this.startPos = parseFloat(this.getDist()); for (var h5 = Res.get(o5), u5 = p0Z95.B9s; p0Z95.S85(p0Z95.J1s, u5); u5 += p0Z95.B9s) { var p5 = p0Z95.q85((this.startPos + u5), SCALE); h5.clone().setSC({ x: p5, y: this.floorY }).addTo(this.linesLayer); addText(this.linesLayer, u5 + " " + Res.local.M, "14px Verdana", "#757575", p5 + 80, p0Z95.I85(this.floorY, 70)).setS({ rotation: -45, textAlign: "left" }); } p0Z95.T85(0, State.state.record) ? (this.recordStar.visible = !1, this.recordText.visible = !1) : (p5 = p0Z95.h85((this.startPos + parseFloat(State.state.record)), SCALE), Res.get("recordLine").setSC({ x: p5, y: this.floorY }).addTo(this.linesLayer), Res.get("recordStar").setSC({ x: p5 + 90, y: p0Z95.W85(this.floorY, 80), rotation: -45 }).addTo(this.linesLayer), addText(this.linesLayer, State.state.record + " " + Res.local.M, "14px Verdana", "black", p5 + 100, p0Z95.k85(this.floorY, 90)).setS({ textAlign: "left", rotation: -45 })); Res.get(t5).setSC({ x: p0Z95.K85(this.startPos, SCALE), y: this.floorY }).addTo(this.linesLayer); p0Z95.J85(p0Z95.B9s, State.state.played) && (this.bubble = (new createjs.Container).setSC({ x: this.headX + N5, y: p0Z95.u85(this.headY, p0Z95.L1s) }), Res.get(Z5).setSC().addTo(this.bubble), addText(this.bubble, Res.local.TutorialText, C5 + Res.local.TutorialFontSize + P5, p0Z95.o1s, p0Z95.x5s, p0Z95.x5s).setS({ rotation: -p0Z95.H9s }), this.playerLayer.addChildAt(this.bubble, p0Z95.x5s), this.bubble.fade(p0Z95.x5s, p0Z95.r5s, p0Z95.D3s, p0Z95.L85(p0Z95.L5s, this.fadeTime))); this.replayBtn = Res.get("replay").setSC({ x: p0Z95.r85(2 * CX, 70), y: canvas.height + 60 }).addTo(this.uiLayer); this.replayBtn.setAsButton(function() { createjs.Tween.get(this.replayBtn).to({ rotation: p0Z95.m1s }, p0Z95.D3s).call(function() { this.unload(new gameScreen); }, [], this); }, this); this.soundBtn = (new createjs.Sprite(Res.soundSheet, State.state.sound ? "on" : "off")).set({ x: p0Z95.B85(canvas.width, 60), y: 50, alpha: .3 }).addTo(this.uiLayer); this.soundBtn.setAsButton(function() { Sound.switchSound(); this.gotoAndPlay(State.state.sound ? z5 : H5); }, this.soundBtn); this.moreGames = (new createjs.Bitmap(loader.getResult(p0Z95.m5s))).setSC({ x: CX, y: p0Z95.V05(p0Z95.I5s, CY), alpha: p0Z95.x5s, scaleX: p0Z95.x5s, scaleY: p0Z95.x5s }).addTo(this.uiLayer); _.delay(function() { this.fadeTime = p0Z95.x5s; }.bind(this), p0Z95.J1s); h2v0c[o0c]['addEventListener'](p0Z95.W1s, function() { h2v0c[o0c]['hidden'] ? this.pause() : this.unpause(); }.bind(this), !p0Z95.r5s); this.on(createjs.Ticker, p0Z95.P9s, function() { this.update(); }, this); this.on(stage, V5, function(Q5) { p0Z95.y05(h2v0c[d0c].activeScreen, this) || this.replayBtn.hitTestCircle(Q5.stageX, Q5.stageY, p0Z95.E5s) || this.soundBtn.hitTestCircle(Q5.stageX, Q5.stageY, p0Z95.E5s) || p0Z95.C05(p0Z95.x5s, this.moreGames.alpha) && this.moreGames.hitTestCircle(Q5.stageX, Q5.stageY, p0Z95.h3s) || (_.isUndefined(this.messagesRemoved) && this.removeMessages(), _.isUndefined(this.died) ? this.makeStep() : createjs.Tween.get(this.replayBig, { override: !p0Z95.x5s }).to({ rotation: p0Z95.m1s }, p0Z95.D3s).call(function() { this.unload(new gameScreen); }, [], this)); }, this); SG_Hooks.start(); }; extend(gameScreen, Screen); gameScreen.prototype.update = function() { var Q5 = ((148.5E1, 0x1EA) <= (90.60E1, 13.02E2) ? (54., .4) : (109., 105.)), V5 = .2, H5 = 245; this.world.Step(TIMESTEP, p0Z95.B9s, p0Z95.B9s); for (var z5 = this.world.GetBodyList(); z5; z5 = z5.GetNext()) { var P5 = z5.GetUserData(); if (p0Z95.s05(p0Z95.M9s, P5)) { var C5 = z5.GetPosition(); P5.set({ x: p0Z95.a05(C5.x, SCALE), y: p0Z95.t05(C5.y, SCALE), rotation: p0Z95.o05(z5.GetAngle(), Rad2Grad) }); } } this.debugDraw(); this.world.ClearForces(); z5 = this.getLegs(); p0Z95.n05(p0Z95.M9s, z5) && (z5.active.ApplyForce(new b2Vec2(p0Z95.O05(p0Z95.W9s, SCALE), -p0Z95.W9s / SCALE), new b2Vec2(p0Z95.x5s, p0Z95.y1s)), this.head.ApplyForce(new b2Vec2(p0Z95.w05(p0Z95.K3s, SCALE), p0Z95.b05(p0Z95.x5s, SCALE)), this.head.GetWorldCenter())); z5 = this.head.GetPosition(); C5 = p0Z95.p05((this.floorY - z5.y * SCALE), H5); P5 = Limit(p0Z95.M05(p0Z95.S3s, p0Z95.q3s * C5), V5, p0Z95.S3s); C5 = Limit(p0Z95.X05(p0Z95.h5s, C5), Q5, p0Z95.r5s); this.headShadow.set({ x: p0Z95.F05(z5.x, SCALE), alpha: P5, scaleX: C5, scaleY: C5 }); this.scrollLayer.x = -(p0Z95.D05(this.head.GetUserData().x, this.headX)); this.scoreText.text = this.getDist() + p0Z95.t3s + Res.local.M; this.recordStar.set({ x: AlignValue(this.scoreText.x + this.scoreText.getMeasuredWidth() + p0Z95.E5s, p0Z95.j9s) }); this.recordText.set({ x: this.recordStar.x + p0Z95.W9s }); }; gameScreen.prototype.makeStep = function() { p0Z95.x05(p0Z95.x5s, this.activeLeg) && (this.kneeL.m_upperAngle = p0Z95.Y9s); var Q5 = this.getLegs(); p0Z95.Q45(p0Z95.M9s, Q5) && (Q5.activeKnee.m_enableMotor || Q5.activeFoot.ApplyImpulse(new b2Vec2(p0Z95.i45(p0Z95.x5s, SCALE), p0Z95.P45(p0Z95.H9s, SCALE)), new b2Vec2(p0Z95.x5s, p0Z95.y1s))); this.activeLeg = Overflow(++this.activeLeg, p0Z95.L5s, p0Z95.r5s); Q5 = this.getLegs(); p0Z95.N45(p0Z95.M9s, Q5) && this.forceKnee(Q5.activeKnee, !p0Z95.r5s); }; gameScreen.prototype.createContactListener = function() { this.contactListener = new Box2D.Dynamics.b2ContactListener; this.contactListener.BeginContact = function(V5) { var H5 = V5.GetFixtureA().GetBody(); V5 = V5.GetFixtureB().GetBody(); if (_.isUndefined(activeScreen.died) && p0Z95.A45(p0Z95.x5s, activeScreen.activeLeg)) { var z5 = _.now(); [H5, V5].forEach(function(Q5) { switch (Q5) { case this.legBL: !this.kneeR.m_enableMotor && p0Z95.v45(500, z5 - this.stepSoundTime) && (Sound.play("stepSound", _.random(.5, 1)), this.stepSoundTime = z5); this.forceKnee(this.kneeR, !p0Z95.r5s); this.forceKnee(this.kneeL, !p0Z95.x5s); break; case this.legBR: !this.kneeR.m_enableMotor && p0Z95.c45(500, z5 - this.stepSoundTime) && (Sound.play("stepSound", _.random(.5, 1)), this.stepSoundTime = z5); this.forceKnee(this.kneeL, !p0Z95.r5s); this.forceKnee(this.kneeR, !p0Z95.x5s); break; case this.head: this.died = !p0Z95.x5s, this.die(); } }, activeScreen); } }; this.contactListener.EndContact = function(Q5) {}; this.world.SetContactListener(this.contactListener); }; gameScreen.prototype.getDist = function() { var H5 = p0Z95.x5s; [this.head, this.legAL, this.legAR, this.legBL, this.legBR].forEach(function(V5) { V5.GetFixtureList().m_shape.m_vertices.forEach(function(Q5) { H5 = Math.max(V5.GetWorldPoint(Q5).x, H5); }, this); }, this); _.isUndefined(this.startPos) || (H5 -= this.startPos); return H5.toFixed(p0Z95.L5s); }; gameScreen.prototype.getLegs = function() { return p0Z95.d45(p0Z95.r5s, this.activeLeg) ? p0Z95.M9s : p0Z95.U45(p0Z95.r5s, this.activeLeg) ? { active: this.legAR, passive: this.legAL, activeFoot: this.legBR, passiveFoot: this.legBL, activeKnee: this.kneeR, activeThigh: this.thighR } : { active: this.legAL, passive: this.legAR, activeFoot: this.legBL, passiveFoot: this.legBR, activeKnee: this.kneeL, activeThigh: this.thighL }; }; gameScreen.prototype.forceKnee = function(Q5, V5) { Q5.EnableMotor(V5); Q5.SetMaxMotorTorque(p0Z95.p5s); Q5.SetMotorSpeed(-p0Z95.L5s); }; gameScreen.prototype.addBody = function(Q5, V5, H5, z5) { var P5 = new b2FixtureDef; P5.density = p0Z95.r5s; P5.restitution = p0Z95.x5s; P5.friction = p0Z95.r5s; P5.shape = Q5; Q5 = new b2BodyDef; Q5.type = z5 ? b2Body.b2_staticBody : b2Body.b2_dynamicBody; Q5.position.x = p0Z95.l45(V5, SCALE); Q5.position.y = p0Z95.f45(H5, SCALE); V5 = this.world.CreateBody(Q5); V5.CreateFixture(P5); return V5; }; gameScreen.prototype.addRect = function(Q5, V5, H5, z5, P5) { var C5 = new b2PolygonShape; C5.SetAsBox(p0Z95.G45(p0Z95.S3s, H5, SCALE), p0Z95.M45(p0Z95.S3s, z5, SCALE)); return this.addBody(C5, Q5, V5, P5); }; gameScreen.prototype.addCircle = function(Q5, V5, H5, z5) { return this.addBody(new b2CircleShape(p0Z95.u45(H5, SCALE)), Q5, V5, z5); }; gameScreen.prototype.addJoint = function(Q5, V5, H5, z5, P5, C5, Z5, N5) { var t5 = new Box2D.Dynamics.Joints.b2RevoluteJointDef; t5.bodyA = Q5; t5.bodyB = V5; t5.localAnchorA = new b2Vec2(p0Z95.L45(H5, SCALE), p0Z95.r45(z5, SCALE)); t5.localAnchorB = new b2Vec2(p0Z95.B45(P5, SCALE), p0Z95.V75(C5, SCALE)); t5.collideConnected = !p0Z95.r5s; _.isUndefined(Z5) || (t5.enableLimit = !p0Z95.x5s, t5.lowerAngle = p0Z95.y75(Z5, Grad2Rad), t5.upperAngle = p0Z95.C75(N5, Grad2Rad)); return this.world.CreateJoint(t5); }; gameScreen.prototype.setCollisionFilter = function(Q5, V5, H5) { Q5.GetFixtureList().m_filter.categoryBits = V5; Q5.GetFixtureList().m_filter.maskBits = H5; }; gameScreen.prototype.addDebug = function() { var Q5 = "2d", V5 = "debugCanvas"; this.debugCanvas = h2v0c[o0c]['getElementById'](V5); p0Z95.s75(null, this.debugCanvas) && (this.debugCanvas = h2v0c[o0c]['createElement']("canvas"), this.debugCanvas.id = "debugCanvas", this.debugCanvas.width = canvas.width, this.debugCanvas.height = canvas.height, this.debugCanvas.style.zIndex = 2, this.debugCanvas.style.position = "absolute", this.debugCanvas.style.width = canvas.style.width, this.debugCanvas.style.height = canvas.style.height, this.debugCanvas.style.left = 0, this.debugCanvas.style.top = 0, this.debugCanvas.style.pointerEvents = "none", Viewporter.viewporter.appendChild(this.debugCanvas)); var H5 = new b2DebugDraw; H5.SetSprite(this.debugCanvas.getContext(Q5)); H5.SetDrawScale(SCALE); H5.SetFillAlpha(p0Z95.S3s); H5.SetLineThickness(p0Z95.r5s); H5.SetFlags(p0Z95.a75(b2DebugDraw.e_shapeBit, b2DebugDraw.e_jointBit)); this.world.SetDebugDraw(H5); }; gameScreen.prototype.debugDraw = function() { _.isUndefined(this.debugCanvas) || (this.world.m_debugDraw.m_sprite.graphics.clear(), this.world.DrawDebugData()); }; gameScreen.prototype.pause = function() { TIMESTEP = 0; }; gameScreen.prototype.unpause = function() { TIMESTEP = p0Z95.t75(p0Z95.r5s, STEP); }; gameScreen.prototype.createFloor = function() { this.floorY = p0Z95.o75(canvas.height, 150); this.floorBody = this.addRect(-100 / SCALE, this.floorY, p0Z95.n75(1E3, canvas.width), 10, !0); this.setCollisionFilter(this.floorBody, FLOOR, PLAYER); }; gameScreen.prototype.createPlayer = function() { var V5 = 3E3, H5 = "leg", z5 = 15, P5 = "eye", C5 = "head", Z5 = 250, N5 = "shadow"; this.headShadow = Res.get(N5).setSC({ y: p0Z95.O75(this.floorY, p0Z95.B9s) }).addTo(this.playerLayer); this.headX = Z5; this.headY = p0Z95.w75(canvas.height, 380); this.headLayer = (new createjs.Container).setSC({ x: this.headX, y: this.headY }); this.headImg = Res.get(C5).setSC().addTo(this.headLayer); this.eye1 = Res.get(P5).setSC({ x: p0Z95.F5s, y: p0Z95.B9s }).addTo(this.headLayer); this.eye2 = Res.get(P5).setSC({ x: z5, y: p0Z95.B9s }).addTo(this.headLayer); this.eyes = [this.eye1, this.eye2]; this.head = this.addRect(this.headX, this.headY, p0Z95.q1s, p0Z95.L1s); this.setCollisionFilter(this.head, PLAYER, FLOOR); this.head.SetFixedRotation(!p0Z95.x5s); this.legDist = z5; this.legImg = Res.get(H5); this.legH = this.legImg.getBounds().height; this.legH2 = p0Z95.b75(p0Z95.S3s, this.legH); this.legAL = this.addRect(p0Z95.p75(this.headX, this.legDist), this.headY + this.legH2, this.legImg.getBounds().width, this.legH); this.legAR = this.addRect(this.headX + this.legDist, this.headY + this.legH2, this.legImg.getBounds().width, this.legH); this.legBL = this.addRect(p0Z95.M75(this.headX, this.legDist), this.headY + this.legH2 + this.legH, this.legImg.getBounds().width, this.legH); this.legBR = this.addRect(this.headX + this.legDist, this.headY + this.legH2 + this.legH, this.legImg.getBounds().width, this.legH); [this.legAL, this.legAR, this.legBL, this.legBR].forEach(function(Q5) { this.setCollisionFilter(Q5, PLAYER, FLOOR); Q5.SetUserData(this.legImg.clone().setSC().addTo(this.playerLayer)); }, this); this.thighL = this.addJoint(this.head, this.legAL, -this.legDist, p0Z95.X75(.33, this.headImg.getBounds().height), 0, -this.legH2, -90, 90); this.thighR = this.addJoint(this.head, this.legAR, this.legDist, p0Z95.F75(.33, this.headImg.getBounds().height), 0, -this.legH2, -90, 90); this.kneeL = this.addJoint(this.legAL, this.legBL, p0Z95.x5s, p0Z95.D75(this.legH2, p0Z95.H9s), p0Z95.x5s, -this.legH2 + p0Z95.H9s, p0Z95.x5s, p0Z95.x5s); this.kneeR = this.addJoint(this.legAR, this.legBR, p0Z95.x5s, p0Z95.x75(this.legH2, p0Z95.H9s), p0Z95.x5s, -this.legH2 + p0Z95.H9s, p0Z95.x5s, p0Z95.Y9s); this.head.SetUserData(this.headLayer.addTo(this.playerLayer)); this.setTimer(function() { this.eyes.forEach(function(Q5) { createjs.Tween.get(Q5).to({ scaleX: p0Z95.x5s, scaleY: p0Z95.x5s }, p0Z95.j9s).to({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, p0Z95.p5s); }, this); }, V5); }; gameScreen.prototype.removeMessages = function() { this.messagesRemoved = !p0Z95.x5s; _.isUndefined(this.bubble) || createjs.Tween.get(this.bubble, { override: !p0Z95.x5s }).to({ alpha: p0Z95.x5s }, p0Z95.D3s); this.titleText.tween({ x: p0Z95.Q25(p0Z95.i9s, CX) }, p0Z95.A5s, createjs.Ease.circIn); this.fallText.tween({ x: p0Z95.L5s * -CX }, p0Z95.A5s, createjs.Ease.circIn); this.replayBtn.tween({ y: p0Z95.i25(canvas.height, 60) }, 800, createjs.Ease.circOut); }; gameScreen.prototype.die = function() { var V5 = 2500, H5 = "bold 120px Georgia", z5 = 4E3, P5 = (0x16D < (0xFC, 1.49E2) ? (66, "t") : (41., 125.) > (52., 41) ? (0x21E, "a") : (71, 74.)), C5 = 1500, Z5 = "replayBig", N5 = "#ff6162", t5 = "#ffd161", o5 = 600, c5 = 400, n5 = .1, W5 = "blood"; Sound.play("deathSound"); var M5 = parseInt(this.getDist()), Y5 = p0Z95.P25(M5, parseFloat(State.state.record)); [this.kneeL, this.kneeR, this.thighL, this.thighR].forEach(function(Q5) { Q5.EnableMotor(!p0Z95.r5s); }); var N9 = p0Z95.N25(this.head.GetLinearVelocity().x, SCALE), h5 = p0Z95.A25(this.head.GetLinearVelocity().y, SCALE); createjs.Tween.get(this.headImg).to({ scaleX: Limit(p0Z95.v25(p0Z95.r5s, N9), p0Z95.w3s, p0Z95.r5s), scaleY: Limit(p0Z95.c25(p0Z95.r5s, h5), p0Z95.w3s, p0Z95.r5s) }, p0Z95.L1s).to({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, p0Z95.L1s); for (h5 = p0Z95.x5s; p0Z95.d25(h5, _.random(p0Z95.W9s, p0Z95.E5s)); ++h5) Res.get(W5).setC({ x: p0Z95.U25(this.head.GetPosition().x, SCALE), y: p0Z95.l25(this.head.GetPosition().y, SCALE) }).addTo(this.playerLayer).tween({ x: p0Z95.f25(this.head.GetPosition().x, SCALE) + Limit(N9, -p0Z95.r5s, p0Z95.r5s) * _.random(n5, p0Z95.r5s) * p0Z95.K3s, y: this.floorY + _.random(-p0Z95.B9s, p0Z95.B9s) }, _.random(c5, o5), createjs.Ease.circOut); this.replayBtn.tween({ y: canvas.height + 60 }, 500, createjs.Ease.backIn); N9 = (new createjs.Shape).addTo(this.colorLayer); h5 = Distance(0, 0, canvas.width, canvas.height); N9.graphics.beginFill(Y5 ? t5 : N5).drawRect(p0Z95.x5s, p0Z95.x5s, h5, h5); N9.cache(p0Z95.x5s, p0Z95.x5s, h5, h5); N9.rotation = p0Z95.h1s; N9.setC({ x: p0Z95.G25(CX, h5), y: CY + h5 }).tween({ x: CX, y: CY }, p0Z95.J1s); this.replayBig = Res.get(Z5).setSC({ x: CX, y: CY, scaleX: p0Z95.x5s, scaleY: p0Z95.x5s }).addTo(this.uiLayer).tween({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, C5, createjs.Ease.elasticOut, p0Z95.J1s); this.moreGames.tween({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s, alpha: p0Z95.r5s }, C5, createjs.Ease.elasticOut, C5).setAsButton(function() { SG.redirectToPortal(); }, this); if (Y5) { for (h5 = p0Z95.x5s; p0Z95.j25(p0Z95.L1s, h5); ++h5) Y5 = p0Z95.R25(this.head.GetPosition().x, SCALE) + CX + _.random(p0Z95.S3s * -CX, p0Z95.e25(p0Z95.S3s, CX)), (new createjs.Sprite(Res.starsSheet, P5 + _.random(p0Z95.r5s, p0Z95.H9s))).setC({ x: Y5, y: -p0Z95.j9s, rotation: _.random(p0Z95.x5s, p0Z95.m1s) }).addTo(this.playerLayer).tween({ x: p0Z95.g25(Y5, CX), y: this.floorY + _.random(-p0Z95.W9s, p0Z95.W9s) }, p0Z95.D3s, createjs.Ease.none, _.random(p0Z95.J1s, z5)); this.scoreText.tween({ alpha: p0Z95.x5s, x: -p0Z95.E5s }, p0Z95.D3s); State.state.record = M5; addText(this.uiLayer, M5 + p0Z95.t3s + Res.local.M, H5, p0Z95.o1s, CX, p0Z95.Y25(p0Z95.S3s, CY), defShadow).set({ scaleX: p0Z95.x5s, scaleY: p0Z95.x5s }).tween({ scaleX: p0Z95.r5s, scaleY: p0Z95.r5s }, V5, createjs.Ease.elasticOut, p0Z95.J1s); _.delay(function() { Sound.play("winSound"); }, p0Z95.J1s); SG_Hooks.levelUp(p0Z95.r5s, M5); } else SG_Hooks.gameOver(p0Z95.r5s, M5); ++State.state.played; State.save(); }; extend(loadScreen, Screen); loadScreen.prototype.loadingProgress = function() { this.bar.update(loader.progress); this.clockMask.graphics.clear(); this.clockMask.graphics.beginFill("white").drawRect(-32, p0Z95.z5l(60, 120 * loader.progress), 64, 120); }; loadScreen.prototype.fileLoaded = function(Q5) { switch (Q5.item.id) { case p0Z95.l5s: this.logo = (new createjs.Bitmap(loader.getResult("logo"))).setC({ x: p0Z95.Z5l(.5, canvas.width), y: p0Z95.m5l(.88, canvas.height), alpha: 0 }).addTo(this).fade(0, 1, 500), this.logo.setAsButton(function() { h2v0c[d0c]['location'] = "http://www.play68.com"; }, this); } }; loadScreen.prototype.loadingComplete = function() { Res.prepare(); createjs.Tween.get(this.barsLayer, { override: !p0Z95.x5s }).to({ scaleX: p0Z95.x5s, scaleY: p0Z95.x5s }, p0Z95.K3s).call(function() { this.logo.fade(p0Z95.r5s, p0Z95.x5s, p0Z95.j9s); this.unload(new gameScreen); }, [], this); }; var loadList = [{ src: p0Z95.a5s, id: p0Z95.l5s }, { src: p0Z95.U9s, id: p0Z95.m5s }, { src: p0Z95.u3s, id: p0Z95.p1s }, { src: p0Z95.R1s, id: p0Z95.O5s }, { src: p0Z95.y3s, id: p0Z95.M5s }, { src: p0Z95.J9s, id: p0Z95.e3s, type: createjs.LoadQueue.SOUND }, { src: p0Z95.X3s, id: p0Z95.g9s, type: createjs.LoadQueue.SOUND }, { src: p0Z95.L3s, id: p0Z95.Y5s, type: createjs.LoadQueue.SOUND }, { src: p0Z95.G1s, id: p0Z95.t9s, type: createjs.LoadQueue.SOUND }, { src: p0Z95.c9s, id: p0Z95.p3s, type: createjs.LoadQueue.JSON }], stage, loader, defShadow = new createjs.Shadow(p0Z95.S9s, p0Z95.x5s, p0Z95.x5s, p0Z95.F5s), language = p0Z95.s5s, debug = !p0Z95.x5s; h2v0c[d0c]['attachEvent'] ? h2v0c[d0c]['attachEvent'](p0Z95.f1s, main) : h2v0c[d0c]['addEventListener'](p0Z95.s9s, main, !p0Z95.x5s); var Res = { get: function(Q5) { return new createjs.Sprite(this.atlas, Q5); }, prepare: function() { var Q5 = 11, V5 = ((132, 7.80E1) <= 34.6E1 ? (0x1D1, 9) : (1.8E1, 13.36E2) <= 113. ? "," : (0x51, 6.33E2)), H5 = 7, z5 = 6, P5 = 145, C5 = 202, Z5 = 28, N5 = 103, t5 = 707, o5 = 24, c5 = 25, n5 = 104, W5 = 773, M5 = 128, Y5 = 158, N9 = 547, h5 = ((60.6E1, 0x190) >= 35.80E1 ? (64., 161) : 0x109 < (0x16C, 10) ? (0xBD, 99.80E1) : (35, 0x256) > (139.4E1, 1.23E3) ? 0x1EC : (125, 0x196)), u5 = 384, p5 = 115, U5 = 812, k5 = 61, B5 = (31 < (47.6E1, 90.2E1) ? (144, 65) : (0x91, 24) <= 14. ? 1.449E3 : (100.30E1, 5.38E2)), m9 = 822, x5 = ((91.2E1, 106.) >= (5.83E2, 14) ? (35.1E1, 14) : (1.0070E3, 83.) >= (6., 116.7E1) ? (144., 71) : (88., 43.)), i5 = 132, y5 = ((1.465E3, 85.) >= (135., 67) ? (0xA7, 198) : (90.4E1, 0x24B)), A5 = 8, S5 = 136; this.locals = loader.getResult(p0Z95.p3s); this.local = this.locals[language]; this.atlas = new createjs.SpriteSheet({ images: [loader.getResult(p0Z95.p1s)], frames: [ [p0Z95.L5s, S5, p0Z95.B9s, A5], [p0Z95.L5s, p0Z95.L5s, y5, i5], [x5, S5, p0Z95.B9s, A5], [m9, p0Z95.L5s, B5, k5], [U5, p0Z95.L5s, A5, p5], [u5, p0Z95.L5s, h5, i5], [N9, p0Z95.L5s, Y5, M5], [W5, n5, c5, o5], [m9, B5, p0Z95.q1s, p0Z95.i1s], [t5, p0Z95.L5s, N5, p0Z95.j9s], [t5, n5, p0Z95.S1s, Z5], [C5, p0Z95.L5s, p0Z95.Y9s, P5] ], animations: { blood: [p0Z95.x5s], bubble: [p0Z95.r5s], eye: [p0Z95.L5s], head: [p0Z95.F5s], leg: [p0Z95.i9s], line: [p0Z95.H9s], recordLine: [z5], recordStar: [H5], replay: [A5], replayBig: [V5], shadow: [p0Z95.B9s], startLine: [Q5] } }); this.starsSheet = new createjs.SpriteSheet({ images: [loader.getResult("stars")], frames: { width: 25, height: 24, regX: 12.5, regY: 12, count: 5 }, animations: { a1: [0], a2: [1], a3: [2], a4: [3], a5: [4] } }); this.soundSheet = new createjs.SpriteSheet({ images: [loader.getResult("sound")], frames: { width: 60, height: 47, regX: 30, regY: 23.5, count: 2 }, animations: { on: [0], off: [1] } }); } };