﻿// Generated by Construct 2, the HTML5 game and app creator :: http://www.scirra.com
'use strict';
function s() {
	return function () {}

}
function aa(a) {
	return function (c) {
		this[a] = c
	}
}
function w(a) {
	return function () {
		return this[a]
	}
}
function x(a) {
	return function () {
		return a
	}
}
var z, ca, da, ea, fa, ia, ja, ka, la, ma, na, oa, pa, qa, ra, sa, ta, ua, va, wa, xa, ya, za, Aa, Ba, Ca, Da, Ea, Fa, Ga, Ha, Ia, Ja, Ka, La, Ma, Na, Oa, Pa, Qa, Ra, Sa, Va, Wa, Xa, Ya, ab, bb, cb, db, eb, fb, gb, hb, ib, kb, lb, mb, nb, ob, pb, tb, ub, vb, wb, xb, yb, zb, Ab, Bb, Cb, Db, Eb, Fb, Gb, Hb, Ib, Jb, Nb, Ob, Pb, Qb, Rb, Sb, Tb, Ub, Vb, Wb, Xb, Yb, Zb = {};
"function" !== typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === typeof "test".__proto__ ? function (a) {
	return a.__proto__
}
	 : function (a) {
	return a.constructor.prototype
});
(function () {
	function a(a, b, c, d) {
		this.set(a, b, c, d)
	}
	function c() {
		this.ud = this.td = this.wd = this.vd = this.Ed = this.Dd = this.jc = this.ic = 0
	}
	function b(a, b, c, d) {
		a < b ? c < d ? (n = a < c ? a : c, k = b > d ? b : d) : (n = a < d ? a : d, k = b > c ? b : c) : c < d ? (n = b < c ? b : c, k = a > d ? a : d) : (n = b < d ? b : d, k = a > c ? a : c)
	}
	function d() {
		this.Lh = this.fh = null;
		this.ml = 0;
		v && (this.fh = new Set);
		this.Wl = [];
		this.Ei = !0
	}
	function e(a) {
		u[y++] = a
	}
	function f() {
		this.Cb = this.mr = this.y = this.F = 0
	}
	function g(a) {
		this.Ec = [];
		this.$o = this.cp = this.dp = this.bp = 0;
		this.vp = null;
		this.ao(a)
	}
	function h(a, b) {
		this.ZB =
			a;
		this.YB = b;
		this.cells = {}

	}
	function m(a, b, c) {
		var d;
		return F.length ? (d = F.pop(), d.LD = a, d.x = b, d.y = c, d) : new da(a, b, c)
	}
	function l(a, b, c) {
		this.LD = a;
		this.x = b;
		this.y = c;
		this.Ln = new ea
	}
	fa = function (a) {
		window.console && window.console.log && window.console.log(a)
	};
	ca = function (a) {
		return a
	};
	ia = function (a) {
		return "undefined" === typeof a
	};
	ja = function (a) {
		return "number" === typeof a
	};
	ka = function (a) {
		return "string" === typeof a
	};
	la = function (a) {
		return 0 < a && 0 === (a - 1 & a)
	};
	ma = function (a) {
		--a;
		for (var b = 1; 32 > b; b <<= 1)
			a |= a >> b;
		return a +
		1
	};
	na = function (a) {
		return 0 > a ? -a : a
	};
	oa = function (a, b) {
		return a > b ? a : b
	};
	pa = function (a, b) {
		return a < b ? a : b
	};
	qa = Math.PI;
	ra = function (a) {
		return a + 0.5 | 0
	};
	sa = function (a) {
		return 0 <= a ? a | 0 : (a | 0) - 1
	};
	ta = function (a) {
		var b = a | 0;
		return b === a ? b : b + 1
	};
	ua = function (a, b, c, d, f, k, e, r) {
		var g,
		h,
		u,
		l;
		a < c ? (h = a, g = c) : (h = c, g = a);
		f < e ? (l = f, u = e) : (l = e, u = f);
		if (g < l || h > u)
			return !1;
		b < d ? (h = b, g = d) : (h = d, g = b);
		k < r ? (l = k, u = r) : (l = r, u = k);
		if (g < l || h > u)
			return !1;
		g = f - a + e - c;
		h = k - b + r - d;
		a = c - a;
		b = d - b;
		f = e - f;
		k = r - k;
		r = na(b * f - k * a);
		return na(f * h - k * g) > r ? !1 : na(a * h - b * g) <=
		r
	};
	a.prototype.set = function (a, b, c, d) {
		this.left = a;
		this.top = b;
		this.right = c;
		this.bottom = d
	};
	a.prototype.copy = function (a) {
		this.left = a.left;
		this.top = a.top;
		this.right = a.right;
		this.bottom = a.bottom
	};
	a.prototype.width = function () {
		return this.right - this.left
	};
	a.prototype.height = function () {
		return this.bottom - this.top
	};
	a.prototype.offset = function (a, b) {
		this.left += a;
		this.top += b;
		this.right += a;
		this.bottom += b;
		return this
	};
	a.prototype.normalize = function () {
		var a = 0;
		this.left > this.right && (a = this.left, this.left = this.right,
			this.right = a);
		this.top > this.bottom && (a = this.top, this.top = this.bottom, this.bottom = a)
	};
	a.prototype.SD = function (a) {
		return !(a.right < this.left || a.bottom < this.top || a.left > this.right || a.top > this.bottom)
	};
	a.prototype.TD = function (a, b, c) {
		return !(a.right + b < this.left || a.bottom + c < this.top || a.left + b > this.right || a.top + c > this.bottom)
	};
	a.prototype.Fe = function (a, b) {
		return a >= this.left && a <= this.right && b >= this.top && b <= this.bottom
	};
	a.prototype.JC = function (a) {
		return this.left === a.left && this.top === a.top && this.right === a.right &&
		this.bottom === a.bottom
	};
	va = a;
	c.prototype.$n = function (a) {
		this.ic = a.left;
		this.jc = a.top;
		this.Dd = a.right;
		this.Ed = a.top;
		this.vd = a.right;
		this.wd = a.bottom;
		this.td = a.left;
		this.ud = a.bottom
	};
	c.prototype.Dz = function (a, b) {
		if (0 === b)
			this.$n(a);
		else {
			var c = Math.sin(b),
			d = Math.cos(b),
			f = a.left * c,
			k = a.top * c,
			e = a.right * c,
			c = a.bottom * c,
			r = a.left * d,
			g = a.top * d,
			h = a.right * d,
			d = a.bottom * d;
			this.ic = r - k;
			this.jc = g + f;
			this.Dd = h - k;
			this.Ed = g + e;
			this.vd = h - c;
			this.wd = d + e;
			this.td = r - c;
			this.ud = d + f
		}
	};
	c.prototype.offset = function (a, b) {
		this.ic += a;
		this.jc += b;
		this.Dd += a;
		this.Ed += b;
		this.vd += a;
		this.wd += b;
		this.td += a;
		this.ud += b;
		return this
	};
	var n = 0,
	k = 0;
	c.prototype.$w = function (a) {
		b(this.ic, this.Dd, this.vd, this.td);
		a.left = n;
		a.right = k;
		b(this.jc, this.Ed, this.wd, this.ud);
		a.top = n;
		a.bottom = k
	};
	c.prototype.Fe = function (a, b) {
		var c = this.Dd - this.ic,
		d = this.Ed - this.jc,
		f = this.vd - this.ic,
		k = this.wd - this.jc,
		e = a - this.ic,
		r = b - this.jc,
		g = c * c + d * d,
		h = c * f + d * k,
		d = c * e + d * r,
		u = f * f + k * k,
		l = f * e + k * r,
		y = 1 / (g * u - h * h),
		c = (u * d - h * l) * y,
		g = (g * l - h * d) * y;
		if (0 <= c && 0 < g && 1 > c + g)
			return !0;
		c = this.td - this.ic;
		d = this.ud - this.jc;
		g = c * c + d * d;
		h = c * f + d * k;
		d = c * e + d * r;
		y = 1 / (g * u - h * h);
		c = (u * d - h * l) * y;
		g = (g * l - h * d) * y;
		return 0 <= c && 0 < g && 1 > c + g
	};
	c.prototype.Bi = function (a, b) {
		if (b)
			switch (a) {
			case 0:
				return this.ic;
			case 1:
				return this.Dd;
			case 2:
				return this.vd;
			case 3:
				return this.td;
			case 4:
				return this.ic;
			default:
				return this.ic
			}
		else
			switch (a) {
			case 0:
				return this.jc;
			case 1:
				return this.Ed;
			case 2:
				return this.wd;
			case 3:
				return this.ud;
			case 4:
				return this.jc;
			default:
				return this.jc
			}
	};
	c.prototype.ej = function () {
		return (this.ic + this.Dd + this.vd + this.td) /
		4
	};
	c.prototype.fj = function () {
		return (this.jc + this.Ed + this.wd + this.ud) / 4
	};
	c.prototype.by = function (a) {
		var b = a.ej(),
		c = a.fj();
		if (this.Fe(b, c))
			return !0;
		b = this.ej();
		c = this.fj();
		if (a.Fe(b, c))
			return !0;
		var d,
		f,
		k,
		e,
		r,
		g,
		h,
		u;
		for (h = 0; 4 > h; h++)
			for (u = 0; 4 > u; u++)
				if (b = this.Bi(h, !0), c = this.Bi(h, !1), d = this.Bi(h + 1, !0), f = this.Bi(h + 1, !1), k = a.Bi(u, !0), e = a.Bi(u, !1), r = a.Bi(u + 1, !0), g = a.Bi(u + 1, !1), ua(b, c, d, f, k, e, r, g))
					return !0;
		return !1
	};
	wa = c;
	xa = function (a, b) {
		for (var c in b)
			b.hasOwnProperty(c) && (a[c] = b[c]);
		return a
	};
	ya = function (a,
		b) {
		var c,
		d;
		b = sa(b);
		if (!(0 > b || b >= a.length))
			if (0 === b)
				a.shift();
			else if (b === a.length - 1)
				a.pop();
			else {
				c = b;
				for (d = a.length - 1; c < d; c++)
					a[c] = a[c + 1];
				a.length = d
			}
	};
	za = function (a, b) {
		a.length = b.length;
		var c,
		d;
		c = 0;
		for (d = b.length; c < d; c++)
			a[c] = b[c]
	};
	Aa = function (a, b) {
		a.push.apply(a, b)
	};
	Ba = function (a, b) {
		var c = a.indexOf(b);
		-1 !== c && ya(a, c)
	};
	Ca = function (a) {
		return a / (180 / qa)
	};
	Da = function (a) {
		return a * (180 / qa)
	};
	Ea = function (a) {
		a %= 360;
		0 > a && (a += 360);
		return a
	};
	Fa = function (a) {
		a %= 2 * qa;
		0 > a && (a += 2 * qa);
		return a
	};
	Ga = function (a) {
		return Ea(Da(a))
	};
	Ha = function (a) {
		return Fa(Ca(a))
	};
	Ia = function (a, b, c, d) {
		return Math.atan2(d - b, c - a)
	};
	Ja = function (a, b) {
		if (a === b)
			return 0;
		var c = Math.sin(a),
		d = Math.cos(a),
		f = Math.sin(b),
		k = Math.cos(b),
		c = c * f + d * k;
		return 1 <= c ? 0 : -1 >= c ? qa : Math.acos(c)
	};
	Ka = function (a, b, c) {
		var d = Math.sin(a),
		f = Math.cos(a),
		k = Math.sin(b),
		e = Math.cos(b);
		return Math.acos(d * k + f * e) > c ? 0 < f * k - d * e ? Fa(a + c) : Fa(a - c) : Fa(b)
	};
	La = function (a, b) {
		var c = Math.sin(a),
		d = Math.cos(a),
		f = Math.sin(b),
		k = Math.cos(b);
		return 0 >= d * f - c * k
	};
	Ma = function (a, b, c, d, f, k) {
		if (0 === c)
			return k ?
			a : b;
		var e = Math.sin(c);
		c = Math.cos(c);
		a -= d;
		b -= f;
		var r = a * e;
		a = a * c - b * e;
		b = b * c + r;
		return k ? a + d : b + f
	};
	Na = function (a, b, c, d) {
		a = c - a;
		b = d - b;
		return Math.sqrt(a * a + b * b)
	};
	Oa = function (a, b) {
		return !a !== !b
	};
	Pa = function (a) {
		for (var b in a)
			if (a.hasOwnProperty(b))
				return !0;
		return !1
	};
	Qa = function (a) {
		for (var b in a)
			a.hasOwnProperty(b) && delete a[b]
	};
	var p = +new Date;
	Ra = function () {
		if ("undefined" !== typeof window.performance) {
			var a = window.performance;
			if ("undefined" !== typeof a.now)
				return a.now();
			if ("undefined" !== typeof a.webkitNow)
				return a.webkitNow();
			if ("undefined" !== typeof a.mozNow)
				return a.mozNow();
			if ("undefined" !== typeof a.msNow)
				return a.msNow()
		}
		return Date.now() - p
	};
	var q = !1,
	r = q = !1;
	"undefined" !== typeof window && (q = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), q = !q && /safari/i.test(navigator.userAgent), r = window.c2ejecta);
	var v = !q && !r && "undefined" !== typeof Set && "undefined" !== typeof Set.prototype.forEach;
	d.prototype.contains = function (a) {
		return this.fg() ? !1 : v ? this.fh.has(a) : this.Lh && this.Lh.hasOwnProperty(a)
	};
	d.prototype.add =
	function (a) {
		if (v)
			this.fh.has(a) || (this.fh.add(a), this.Ei = !1);
		else {
			var b = a.toString(),
			c = this.Lh;
			c ? c.hasOwnProperty(b) || (c[b] = a, this.ml++, this.Ei = !1) : (this.Lh = {}, this.Lh[b] = a, this.ml = 1, this.Ei = !1)
		}
	};
	d.prototype.remove = function (a) {
		if (!this.fg())
			if (v)
				this.fh.has(a) && (this.fh["delete"](a), this.Ei = !1);
			else if (this.Lh) {
				a = a.toString();
				var b = this.Lh;
				b.hasOwnProperty(a) && (delete b[a], this.ml--, this.Ei = !1)
			}
	};
	d.prototype.clear = function () {
		this.fg() || (v ? this.fh.clear() : (this.Lh = null, this.ml = 0), this.Wl.length = 0,
			this.Ei = !0)
	};
	d.prototype.fg = function () {
		return 0 === this.count()
	};
	d.prototype.count = function () {
		return v ? this.fh.size : this.ml
	};
	var u = null,
	y = 0;
	d.prototype.HF = function () {
		if (!this.Ei) {
			if (v)
				this.Wl.length = this.fh.size, u = this.Wl, y = 0, this.fh.forEach(e), u = null, y = 0;
			else {
				var a = this.Wl;
				a.length = this.ml;
				var b,
				c = 0,
				d = this.Lh;
				if (d)
					for (b in d)
						d.hasOwnProperty(b) && (a[c++] = d[b])
			}
			this.Ei = !0
		}
	};
	d.prototype.kh = function () {
		this.HF();
		return this.Wl
	};
	ea = d;
	new ea;
	f.prototype.add = function (a) {
		this.y = a - this.F;
		this.mr = this.Cb + this.y;
		this.F = this.mr - this.Cb - this.y;
		this.Cb = this.mr
	};
	f.prototype.reset = function () {
		this.Cb = this.mr = this.y = this.F = 0
	};
	Sa = f;
	Va = function (a) {
		return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
	};
	g.prototype.ao = function (a) {
		this.lz = a;
		this.nf = a.length / 2;
		this.Ec.length = a.length;
		this.kp = this.lp = -1;
		this.cx = 0
	};
	g.prototype.gk = function () {
		return !this.lz.length
	};
	g.prototype.Ta = function () {
		for (var a = this.Ec, b = a[0], c = b, d = a[1], f = d, k, e, r = 1, g = this.nf; r < g; ++r)
			e = 2 * r, k = a[e], e = a[e + 1], k < b && (b = k), k > c && (c = k), e < d && (d = e), e > f && (f = e);
		this.bp =
			b;
		this.cp = c;
		this.dp = d;
		this.$o = f
	};
	g.prototype.$n = function (a, b, c) {
		this.Ec.length = 8;
		this.nf = 4;
		var d = this.Ec;
		d[0] = a.left - b;
		d[1] = a.top - c;
		d[2] = a.right - b;
		d[3] = a.top - c;
		d[4] = a.right - b;
		d[5] = a.bottom - c;
		d[6] = a.left - b;
		d[7] = a.bottom - c;
		this.lp = a.right - a.left;
		this.kp = a.bottom - a.top;
		this.Ta()
	};
	g.prototype.Ql = function (a, b, c, d, f) {
		this.Ec.length = 8;
		this.nf = 4;
		var k = this.Ec;
		k[0] = a.ic - b;
		k[1] = a.jc - c;
		k[2] = a.Dd - b;
		k[3] = a.Ed - c;
		k[4] = a.vd - b;
		k[5] = a.wd - c;
		k[6] = a.td - b;
		k[7] = a.ud - c;
		this.lp = d;
		this.kp = f;
		this.Ta()
	};
	g.prototype.Cz = function (a) {
		this.nf =
			a.nf;
		za(this.Ec, a.Ec);
		this.bp = a.bp;
		this.dp - a.dp;
		this.cp = a.cp;
		this.$o = a.$o
	};
	g.prototype.Oj = function (a, b, c) {
		if (this.lp !== a || this.kp !== b || this.cx !== c) {
			this.lp = a;
			this.kp = b;
			this.cx = c;
			var d,
			f,
			k,
			e,
			r,
			g = 0,
			h = 1,
			u = this.lz,
			l = this.Ec;
			0 !== c && (g = Math.sin(c), h = Math.cos(c));
			c = 0;
			for (k = this.nf; c < k; c++)
				d = 2 * c, f = d + 1, e = u[d] * a, r = u[f] * b, l[d] = e * h - r * g, l[f] = r * h + e * g;
			this.Ta()
		}
	};
	g.prototype.Fe = function (a, b) {
		var c = this.Ec;
		if (a === c[0] && b === c[1])
			return !0;
		var d,
		f,
		k,
		e = this.nf,
		r = this.bp - 110,
		g = this.dp - 101,
		h = this.cp + 131,
		u = this.$o + 120,
		l,
		y,
		v = 0,
		m = 0;
		for (d = 0; d < e; d++)
			f = 2 * d, k = 2 * ((d + 1) % e), l = c[f], f = c[f + 1], y = c[k], k = c[k + 1], ua(r, g, a, b, l, f, y, k) && v++, ua(h, u, a, b, l, f, y, k) && m++;
		return 1 === v % 2 || 1 === m % 2
	};
	g.prototype.Zm = function (a, b, c) {
		var d = a.Ec,
		f = this.Ec;
		if (this.Fe(d[0] + b, d[1] + c) || a.Fe(f[0] - b, f[1] - c))
			return !0;
		var k,
		e,
		r,
		g,
		h,
		u,
		l,
		y,
		v,
		m,
		n,
		F;
		k = 0;
		for (g = this.nf; k < g; k++)
			for (e = 2 * k, r = 2 * ((k + 1) % g), y = f[e], e = f[e + 1], v = f[r], m = f[r + 1], r = 0, l = a.nf; r < l; r++)
				if (h = 2 * r, u = 2 * ((r + 1) % l), n = d[h] + b, h = d[h + 1] + c, F = d[u] + b, u = d[u + 1] + c, ua(y, e, v, m, n, h, F, u))
					return !0;
		return !1
	};
	Wa = g;
	h.prototype.et =
	function (a, b, c) {
		var d;
		d = this.cells[a];
		return d ? (d = d[b]) ? d : c ? (d = m(this, a, b), this.cells[a][b] = d) : null : c ? (d = m(this, a, b), this.cells[a] = {}, this.cells[a][b] = d) : null
	};
	h.prototype.Uo = function (a) {
		return sa(a / this.ZB)
	};
	h.prototype.Vo = function (a) {
		return sa(a / this.YB)
	};
	h.prototype.update = function (a, b, c) {
		var d,
		f,
		k,
		e,
		r;
		if (b)
			for (d = b.left, f = b.right; d <= f; ++d)
				for (k = b.top, e = b.bottom; k <= e; ++k)
					if (!c || !c.Fe(d, k))
						if (r = this.et(d, k, !1))
							r.remove(a), r.fg() && (r.Ln.clear(), 1E3 > F.length && F.push(r), this.cells[d][k] = null);
		if (c)
			for (d =
					c.left, f = c.right; d <= f; ++d)
				for (k = c.top, e = c.bottom; k <= e; ++k)
					b && b.Fe(d, k) || this.et(d, k, !0).RD(a)
	};
	h.prototype.nz = function (a, b) {
		var c,
		d,
		f,
		k,
		e,
		r;
		c = this.Uo(a.left);
		f = this.Vo(a.top);
		d = this.Uo(a.right);
		for (e = this.Vo(a.bottom); c <= d; ++c)
			for (k = f; k <= e; ++k)
				(r = this.et(c, k, !1)) && r.xC(b)
	};
	Xa = h;
	var F = [];
	l.prototype.fg = function () {
		return this.Ln.fg()
	};
	l.prototype.RD = function (a) {
		this.Ln.add(a)
	};
	l.prototype.remove = function (a) {
		this.Ln.remove(a)
	};
	l.prototype.xC = function (a) {
		Aa(a, this.Ln.kh())
	};
	da = l;
	var H = "lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" ");
	Ya = function (a) {
		return 0 >= a || 11 <= a ? "source-over" : H[a - 1]
	};
	ab = function (a, b, c) {
		if (c)
			switch (a.Pd = c.ONE, a.Jd = c.ONE_MINUS_SRC_ALPHA, b) {
			case 1:
				a.Pd = c.ONE;
				a.Jd = c.ONE;
				break;
			case 3:
				a.Pd = c.ONE;
				a.Jd = c.ZERO;
				break;
			case 4:
				a.Pd = c.ONE_MINUS_DST_ALPHA;
				a.Jd = c.ONE;
				break;
			case 5:
				a.Pd = c.DST_ALPHA;
				a.Jd = c.ZERO;
				break;
			case 6:
				a.Pd = c.ZERO;
				a.Jd = c.SRC_ALPHA;
				break;
			case 7:
				a.Pd = c.ONE_MINUS_DST_ALPHA;
				a.Jd = c.ZERO;
				break;
			case 8:
				a.Pd = c.ZERO;
				a.Jd = c.ONE_MINUS_SRC_ALPHA;
				break;
			case 9:
				a.Pd = c.DST_ALPHA;
				a.Jd = c.ONE_MINUS_SRC_ALPHA;
				break;
			case 10:
				a.Pd =
					c.ONE_MINUS_DST_ALPHA,
				a.Jd = c.SRC_ALPHA
			}
	};
	bb = function (a) {
		return ra(1E6 * a) / 1E6
	};
	cb = function (a, b) {
		return "string" !== typeof a || "string" !== typeof b || a.length !== b.length ? !1 : a === b ? !0 : a.toLowerCase() === b.toLowerCase()
	}
})();
var $b = "undefined" !== typeof Float32Array ? Float32Array : Array;
function ac(a) {
	var c = new $b(3);
	a && (c[0] = a[0], c[1] = a[1], c[2] = a[2]);
	return c
}
function bc(a) {
	var c = new $b(16);
	a && (c[0] = a[0], c[1] = a[1], c[2] = a[2], c[3] = a[3], c[4] = a[4], c[5] = a[5], c[6] = a[6], c[7] = a[7], c[8] = a[8], c[9] = a[9], c[10] = a[10], c[11] = a[11], c[12] = a[12], c[13] = a[13], c[14] = a[14], c[15] = a[15]);
	return c
}
function cc(a, c) {
	c[0] = a[0];
	c[1] = a[1];
	c[2] = a[2];
	c[3] = a[3];
	c[4] = a[4];
	c[5] = a[5];
	c[6] = a[6];
	c[7] = a[7];
	c[8] = a[8];
	c[9] = a[9];
	c[10] = a[10];
	c[11] = a[11];
	c[12] = a[12];
	c[13] = a[13];
	c[14] = a[14];
	c[15] = a[15]
}
function dc(a, c) {
	var b = c[0],
	d = c[1];
	c = c[2];
	a[0] *= b;
	a[1] *= b;
	a[2] *= b;
	a[3] *= b;
	a[4] *= d;
	a[5] *= d;
	a[6] *= d;
	a[7] *= d;
	a[8] *= c;
	a[9] *= c;
	a[10] *= c;
	a[11] *= c
}
function ec(a, c, b, d) {
	d || (d = bc());
	var e,
	f,
	g,
	h,
	m,
	l,
	n,
	k,
	p = a[0],
	q = a[1];
	a = a[2];
	f = b[0];
	g = b[1];
	e = b[2];
	b = c[1];
	l = c[2];
	p === c[0] && q === b && a === l ? (a = d, a[0] = 1, a[1] = 0, a[2] = 0, a[3] = 0, a[4] = 0, a[5] = 1, a[6] = 0, a[7] = 0, a[8] = 0, a[9] = 0, a[10] = 1, a[11] = 0, a[12] = 0, a[13] = 0, a[14] = 0, a[15] = 1) : (b = p - c[0], l = q - c[1], n = a - c[2], k = 1 / Math.sqrt(b * b + l * l + n * n), b *= k, l *= k, n *= k, c = g * n - e * l, e = e * b - f * n, f = f * l - g * b, (k = Math.sqrt(c * c + e * e + f * f)) ? (k = 1 / k, c *= k, e *= k, f *= k) : f = e = c = 0, g = l * f - n * e, h = n * c - b * f, m = b * e - l * c, (k = Math.sqrt(g * g + h * h + m * m)) ? (k = 1 / k, g *= k, h *= k, m *= k) : m = h = g = 0,
		d[0] = c, d[1] = g, d[2] = b, d[3] = 0, d[4] = e, d[5] = h, d[6] = l, d[7] = 0, d[8] = f, d[9] = m, d[10] = n, d[11] = 0, d[12] =  - (c * p + e * q + f * a), d[13] =  - (g * p + h * q + m * a), d[14] =  - (b * p + l * q + n * a), d[15] = 1)
}
(function () {
	function a(a) {
		this.zt = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent);
		this.height = this.width = 0;
		this.gx = ac([0, 0, 100]);
		this.yy = ac([0, 0, 0]);
		this.Xz = ac([0, 1, 0]);
		this.Jv = ac([1, 1, 1]);
		this.zx = !0;
		this.qu = bc();
		this.If = bc();
		this.ny = bc();
		this.Ls = bc();
		this.ca = a;
		this.Yx()
	}
	function c(a, b, c) {
		this.ca = a;
		this.bo = b;
		this.name = c;
		this.Ef = a.getAttribLocation(b, "aPos");
		this.Yi = a.getAttribLocation(b, "aTex");
		this.wy = a.getUniformLocation(b, "matP");
		this.rl = a.getUniformLocation(b, "matMV");
		this.sl = a.getUniformLocation(b, "opacity");
		this.xy = a.getUniformLocation(b, "samplerFront");
		this.qn = a.getUniformLocation(b, "samplerBack");
		this.nk = a.getUniformLocation(b, "destStart");
		this.mk = a.getUniformLocation(b, "destEnd");
		this.Wt = a.getUniformLocation(b, "seconds");
		this.Vt = a.getUniformLocation(b, "pixelWidth");
		this.Ut = a.getUniformLocation(b, "pixelHeight");
		this.pn = a.getUniformLocation(b, "layerScale");
		this.on = a.getUniformLocation(b, "layerAngle");
		this.rn = a.getUniformLocation(b, "viewOrigin");
		this.OD = !!(this.Vt ||
			this.Ut || this.Wt || this.qn || this.nk || this.mk || this.pn || this.on || this.rn);
		this.sl && a.uniform1f(this.sl, 1);
		this.xy && a.uniform1i(this.xy, 0);
		this.qn && a.uniform1i(this.qn, 1);
		this.nk && a.uniform2f(this.nk, 0, 0);
		this.mk && a.uniform2f(this.mk, 1, 1);
		this.pn && a.uniform1f(this.pn, 1);
		this.on && a.uniform1f(this.on, 0);
		this.rn && a.uniform2f(this.rn, 0, 0);
		this.ak = !1
	}
	function b(a, b) {
		this.type = a;
		this.qa = b;
		this.ca = b.ca;
		this.Pg = this.Pf = this.Wy = 0;
		this.zb = this.wg = null;
		this.Ez = []
	}
	a.prototype.Yx = function () {
		var a = this.ca,
		b;
		this.oy =
			1;
		this.ik = this.hk = null;
		this.rx = 1;
		a.clearColor(0, 0, 0, 0);
		a.clear(a.COLOR_BUFFER_BIT);
		a.enable(a.BLEND);
		a.blendFunc(a.ONE, a.ONE_MINUS_SRC_ALPHA);
		a.disable(a.CULL_FACE);
		a.disable(a.DEPTH_TEST);
		this.qy = a.ONE;
		this.my = a.ONE_MINUS_SRC_ALPHA;
		this.Ku = a.createBuffer();
		a.bindBuffer(a.ARRAY_BUFFER, this.Ku);
		this.qo = Array(4);
		this.ho = Array(4);
		for (b = 0; 4 > b; b++)
			this.qo[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.qo[b]), this.ho[b] = a.createBuffer(), a.bindBuffer(a.ARRAY_BUFFER, this.ho[b]);
		this.Bh = 0;
		this.QD = a.createBuffer();
		a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.QD);
		this.Gv = new Float32Array(16E3);
		this.sv = new Float32Array(16E3);
		this.UE = new Float32Array(32E3);
		for (var c = new Uint16Array(12E3), d = b = 0; 12E3 > b; )
			c[b++] = d, c[b++] = d + 1, c[b++] = d + 2, c[b++] = d, c[b++] = d + 2, c[b++] = d + 3, d += 4;
		a.bufferData(a.ELEMENT_ARRAY_BUFFER, c, a.STATIC_DRAW);
		this.Lu = this.mh = 0;
		this.$c = [];
		b = this.Is({
				src : "varying mediump vec2 vTex;\nuniform lowp float opacity;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, vTex);\n\tgl_FragColor *= opacity;\n}"
			},
				"attribute highp vec2 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tvTex = aTex;\n}", "<default>");
		this.$c.push(b);
		b = this.Is({
				src : "uniform mediump sampler2D samplerFront;\nvarying lowp float opacity;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, gl_PointCoord);\n\tgl_FragColor *= opacity;\n}"
			}, "attribute vec4 aPos;\nvarying float opacity;\nuniform mat4 matP;\nuniform mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tgl_PointSize = aPos.z;\n\topacity = aPos.w;\n}",
				"<point>");
		this.$c.push(b);
		for (var e in fc)
			fc.hasOwnProperty(e) && this.$c.push(this.Is(fc[e], "attribute highp vec2 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tvTex = aTex;\n}", e));
		a.activeTexture(a.TEXTURE0);
		a.bindTexture(a.TEXTURE_2D, null);
		this.Di = [];
		this.zh = 0;
		this.Ie = !1;
		this.tx = this.hn = -1;
		this.Im = null;
		this.gD = a.createFramebuffer();
		this.tz =
			null;
		this.tj = ac([0, 0, 0]);
		this.Iy = a.getParameter(a.ALIASED_POINT_SIZE_RANGE)[1];
		2048 < this.Iy && (this.Iy = 2048);
		this.hh(0)
	};
	a.prototype.Is = function (a, b, d) {
		var e = this.ca,
		l = e.createShader(e.FRAGMENT_SHADER);
		e.shaderSource(l, a.src);
		e.compileShader(l);
		if (!e.getShaderParameter(l, e.COMPILE_STATUS))
			return e.deleteShader(l), null;
		var n = e.createShader(e.VERTEX_SHADER);
		e.shaderSource(n, b);
		e.compileShader(n);
		if (!e.getShaderParameter(n, e.COMPILE_STATUS))
			return e.deleteShader(l), e.deleteShader(n), null;
		b = e.createProgram();
		e.attachShader(b, l);
		e.attachShader(b, n);
		e.linkProgram(b);
		if (!e.getProgramParameter(b, e.LINK_STATUS))
			return e.deleteShader(l), e.deleteShader(n), e.deleteProgram(b), null;
		e.useProgram(b);
		e.deleteShader(l);
		e.deleteShader(n);
		d = new c(e, b, d);
		d.Ts = a.Ts || 0;
		d.Us = a.Us || 0;
		d.ox = !!a.ox;
		d.Tw = !!a.Tw;
		d.Ga = a.Ga || [];
		a = 0;
		for (l = d.Ga.length; a < l; a++)
			d.Ga[a][1] = e.getUniformLocation(b, d.Ga[a][0]), e.uniform1f(d.Ga[a][1], 0);
		return d
	};
	a.prototype.jt = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.$c.length; b < c; b++)
			if (this.$c[b].name === a)
				return b;
		return -1
	};
	a.prototype.kz = function (a, b, c) {
		var d = this.If,
		e = this.qu,
		n = [0, 0, 0, 0, 0, 0, 0, 0];
		n[0] = d[0] * a + d[4] * b + d[12];
		n[1] = d[1] * a + d[5] * b + d[13];
		n[2] = d[2] * a + d[6] * b + d[14];
		n[3] = d[3] * a + d[7] * b + d[15];
		n[4] = e[0] * n[0] + e[4] * n[1] + e[8] * n[2] + e[12] * n[3];
		n[5] = e[1] * n[0] + e[5] * n[1] + e[9] * n[2] + e[13] * n[3];
		n[6] = e[2] * n[0] + e[6] * n[1] + e[10] * n[2] + e[14] * n[3];
		n[7] = -n[2];
		0 !== n[7] && (n[7] = 1 / n[7], n[4] *= n[7], n[5] *= n[7], n[6] *= n[7], c[0] = (0.5 * n[4] + 0.5) * this.width, c[1] = (0.5 * n[5] + 0.5) * this.height)
	};
	a.prototype.Ol = function (a, b, c) {
		if (this.width !==
			a || this.height !== b || c) {
			this.Wj();
			this.width = a;
			this.height = b;
			this.ca.viewport(0, 0, a, b);
			b = a / b;
			var d = this.qu,
			e;
			e = 1 * Math.tan(45 * Math.PI / 360);
			b *= e;
			a = -b;
			c = -e;
			d || (d = bc());
			var n = b - a,
			k = e - c;
			d[0] = 2 / n;
			d[1] = 0;
			d[2] = 0;
			d[3] = 0;
			d[4] = 0;
			d[5] = 2 / k;
			d[6] = 0;
			d[7] = 0;
			d[8] = (b + a) / n;
			d[9] = (e + c) / k;
			d[10] = -1001 / 999;
			d[11] = -1;
			d[12] = 0;
			d[13] = 0;
			d[14] = -2E3 / 999;
			d[15] = 0;
			ec(this.gx, this.yy, this.Xz, this.If);
			a = [0, 0];
			b = [0, 0];
			this.kz(0, 0, a);
			this.kz(1, 1, b);
			this.Jv[0] = 1 / (b[0] - a[0]);
			this.Jv[1] = -1 / (b[1] - a[1]);
			a = 0;
			for (b = this.$c.length; a < b; a++)
				c = this.$c[a],
				c.ak = !1, c.wy && (this.ca.useProgram(c.bo), this.ca.uniformMatrix4fv(c.wy, !1, this.qu));
			this.ca.useProgram(this.$c[this.hn].bo);
			this.ca.bindTexture(this.ca.TEXTURE_2D, null);
			this.ca.activeTexture(this.ca.TEXTURE1);
			this.ca.bindTexture(this.ca.TEXTURE_2D, null);
			this.ca.activeTexture(this.ca.TEXTURE0);
			this.ik = this.hk = null
		}
	};
	a.prototype.mj = function () {
		ec(this.gx, this.yy, this.Xz, this.If);
		dc(this.If, this.Jv)
	};
	a.prototype.translate = function (a, b) {
		if (0 !== a || 0 !== b) {
			this.tj[0] = a;
			this.tj[1] = b;
			this.tj[2] = 0;
			var c = this.If,
			d = this.tj,
			e = d[0],
			n = d[1],
			d = d[2];
			c[12] = c[0] * e + c[4] * n + c[8] * d + c[12];
			c[13] = c[1] * e + c[5] * n + c[9] * d + c[13];
			c[14] = c[2] * e + c[6] * n + c[10] * d + c[14];
			c[15] = c[3] * e + c[7] * n + c[11] * d + c[15]
		}
	};
	a.prototype.scale = function (a, b) {
		if (1 !== a || 1 !== b)
			this.tj[0] = a, this.tj[1] = b, this.tj[2] = 1, dc(this.If, this.tj)
	};
	a.prototype.uz = function (a) {
		if (0 !== a) {
			var b = this.If,
			c,
			d = Math.sin(a);
			a = Math.cos(a);
			var e = b[0],
			n = b[1],
			k = b[2],
			p = b[3],
			q = b[4],
			r = b[5],
			v = b[6],
			u = b[7];
			c ? b !== c && (c[8] = b[8], c[9] = b[9], c[10] = b[10], c[11] = b[11], c[12] = b[12], c[13] = b[13], c[14] = b[14],
				c[15] = b[15]) : c = b;
			c[0] = e * a + q * d;
			c[1] = n * a + r * d;
			c[2] = k * a + v * d;
			c[3] = p * a + u * d;
			c[4] = e * -d + q * a;
			c[5] = n * -d + r * a;
			c[6] = k * -d + v * a;
			c[7] = p * -d + u * a
		}
	};
	a.prototype.vj = function () {
		for (var a = !1, b = 0; 16 > b; b++)
			if (this.ny[b] !== this.If[b]) {
				a = !0;
				break
			}
		a && (a = this.tg(), a.type = 5, a.zb ? cc(this.If, a.zb) : a.zb = bc(this.If), cc(this.If, this.ny), this.Ie = !1)
	};
	b.prototype.tC = function () {
		this.ca.bindTexture(this.ca.TEXTURE_2D, this.wg)
	};
	b.prototype.uC = function () {
		var a = this.ca;
		a.activeTexture(a.TEXTURE1);
		a.bindTexture(a.TEXTURE_2D, this.wg);
		a.activeTexture(a.TEXTURE0)
	};
	b.prototype.qC = function () {
		var a = this.Wy,
		b = this.qa;
		b.rx = a;
		b = b.Im;
		b.sl && this.ca.uniform1f(b.sl, a)
	};
	b.prototype.nC = function () {
		this.ca.drawElements(this.ca.TRIANGLES, this.Pg, this.ca.UNSIGNED_SHORT, 2 * this.Pf)
	};
	b.prototype.pC = function () {
		this.ca.blendFunc(this.Pf, this.Pg)
	};
	b.prototype.vC = function () {
		var a,
		b,
		c,
		d = this.qa.$c,
		e = this.qa.tx;
		a = 0;
		for (b = d.length; a < b; a++)
			c = d[a], a === e && c.rl ? (this.ca.uniformMatrix4fv(c.rl, !1, this.zb), c.ak = !0) : c.ak = !1;
		cc(this.zb, this.qa.Ls)
	};
	b.prototype.oC = function () {
		var a = this.ca,
		b =
			this.qa;
		this.wg ? (b.ik === this.wg && (a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, null), b.ik = null, a.activeTexture(a.TEXTURE0)), a.bindFramebuffer(a.FRAMEBUFFER, b.gD), a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, this.wg, 0)) : (a.framebufferTexture2D(a.FRAMEBUFFER, a.COLOR_ATTACHMENT0, a.TEXTURE_2D, null, 0), a.bindFramebuffer(a.FRAMEBUFFER, null))
	};
	b.prototype.iC = function () {
		var a = this.ca;
		0 === this.Pf ? (a.clearColor(this.zb[0], this.zb[1], this.zb[2], this.zb[3]), a.clear(a.COLOR_BUFFER_BIT)) :
		(a.enable(a.SCISSOR_TEST), a.scissor(this.zb[0], this.zb[1], this.zb[2], this.zb[3]), a.clearColor(0, 0, 0, 0), a.clear(this.ca.COLOR_BUFFER_BIT), a.disable(a.SCISSOR_TEST))
	};
	b.prototype.mC = function () {
		var a = this.ca,
		b = this.qa,
		c = b.$c[1];
		a.useProgram(c.bo);
		!c.ak && c.rl && (a.uniformMatrix4fv(c.rl, !1, b.Ls), c.ak = !0);
		a.enableVertexAttribArray(c.Ef);
		a.bindBuffer(a.ARRAY_BUFFER, b.Ku);
		a.vertexAttribPointer(c.Ef, 4, a.FLOAT, !1, 0, 0);
		a.drawArrays(a.POINTS, this.Pf / 4, this.Pg);
		c = b.Im;
		a.useProgram(c.bo);
		0 <= c.Ef && (a.enableVertexAttribArray(c.Ef),
			a.bindBuffer(a.ARRAY_BUFFER, b.qo[b.Bh]), a.vertexAttribPointer(c.Ef, 2, a.FLOAT, !1, 0, 0));
		0 <= c.Yi && (a.enableVertexAttribArray(c.Yi), a.bindBuffer(a.ARRAY_BUFFER, b.ho[b.Bh]), a.vertexAttribPointer(c.Yi, 2, a.FLOAT, !1, 0, 0))
	};
	b.prototype.rC = function () {
		var a = this.ca,
		b = this.qa,
		c = b.$c[this.Pf];
		b.tx = this.Pf;
		b.Im = c;
		a.useProgram(c.bo);
		!c.ak && c.rl && (a.uniformMatrix4fv(c.rl, !1, b.Ls), c.ak = !0);
		c.sl && a.uniform1f(c.sl, b.rx);
		0 <= c.Ef && (a.enableVertexAttribArray(c.Ef), a.bindBuffer(a.ARRAY_BUFFER, b.qo[b.Bh]), a.vertexAttribPointer(c.Ef,
				2, a.FLOAT, !1, 0, 0));
		0 <= c.Yi && (a.enableVertexAttribArray(c.Yi), a.bindBuffer(a.ARRAY_BUFFER, b.ho[b.Bh]), a.vertexAttribPointer(c.Yi, 2, a.FLOAT, !1, 0, 0))
	};
	b.prototype.sC = function () {
		var a,
		b,
		c = this.qa.Im,
		d = this.ca;
		a = this.zb;
		c.qn && this.qa.ik !== this.wg && (d.activeTexture(d.TEXTURE1), d.bindTexture(d.TEXTURE_2D, this.wg), this.qa.ik = this.wg, d.activeTexture(d.TEXTURE0));
		c.Vt && d.uniform1f(c.Vt, a[0]);
		c.Ut && d.uniform1f(c.Ut, a[1]);
		c.nk && d.uniform2f(c.nk, a[2], a[3]);
		c.mk && d.uniform2f(c.mk, a[4], a[5]);
		c.pn && d.uniform1f(c.pn,
			a[6]);
		c.on && d.uniform1f(c.on, a[7]);
		c.rn && d.uniform2f(c.rn, a[8], a[9]);
		c.Wt && d.uniform1f(c.Wt, Ra() / 1E3);
		if (c.Ga.length)
			for (a = 0, b = c.Ga.length; a < b; a++)
				d.uniform1f(c.Ga[a][1], this.Ez[a])
	};
	a.prototype.tg = function () {
		this.zh === this.Di.length && this.Di.push(new b(0, this));
		return this.Di[this.zh++]
	};
	a.prototype.Wj = function () {
		if (0 !== this.zh && !this.ca.isContextLost()) {
			var a = this.ca;
			0 < this.Lu && (a.bindBuffer(a.ARRAY_BUFFER, this.Ku), a.bufferData(a.ARRAY_BUFFER, this.UE.subarray(0, this.Lu), a.STREAM_DRAW), b && 0 <= b.Ef &&
				"<point>" === b.name && a.vertexAttribPointer(b.Ef, 4, a.FLOAT, !1, 0, 0));
			if (0 < this.mh) {
				var b = this.Im;
				a.bindBuffer(a.ARRAY_BUFFER, this.qo[this.Bh]);
				a.bufferData(a.ARRAY_BUFFER, this.Gv.subarray(0, this.mh), a.STREAM_DRAW);
				b && 0 <= b.Ef && "<point>" !== b.name && a.vertexAttribPointer(b.Ef, 2, a.FLOAT, !1, 0, 0);
				a.bindBuffer(a.ARRAY_BUFFER, this.ho[this.Bh]);
				a.bufferData(a.ARRAY_BUFFER, this.sv.subarray(0, this.mh), a.STREAM_DRAW);
				b && 0 <= b.Yi && "<point>" !== b.name && a.vertexAttribPointer(b.Yi, 2, a.FLOAT, !1, 0, 0)
			}
			for (var c, a = 0, b = this.zh; a <
				b; a++)
				switch (c = this.Di[a], c.type) {
				case 1:
					c.nC();
					break;
				case 2:
					c.tC();
					break;
				case 3:
					c.qC();
					break;
				case 4:
					c.pC();
					break;
				case 5:
					c.vC();
					break;
				case 6:
					c.oC();
					break;
				case 7:
					c.iC();
					break;
				case 8:
					c.mC();
					break;
				case 9:
					c.rC();
					break;
				case 10:
					c.sC();
					break;
				case 11:
					c.uC()
				}
			this.Lu = this.mh = this.zh = 0;
			this.Ie = !1;
			this.Bh++;
			4 <= this.Bh && (this.Bh = 0)
		}
	};
	a.prototype.Ml = function (a) {
		if (a !== this.oy) {
			var b = this.tg();
			b.type = 3;
			this.oy = b.Wy = a;
			this.Ie = !1
		}
	};
	a.prototype.of = function (a) {
		if (a !== this.hk) {
			var b = this.tg();
			b.type = 2;
			this.hk = b.wg = a;
			this.Ie = !1
		}
	};
	a.prototype.nj = function (a, b) {
		if (a !== this.qy || b !== this.my) {
			var c = this.tg();
			c.type = 4;
			c.Pf = a;
			c.Pg = b;
			this.qy = a;
			this.my = b;
			this.Ie = !1
		}
	};
	a.prototype.yz = function () {
		this.nj(this.ca.ONE, this.ca.ONE_MINUS_SRC_ALPHA)
	};
	a.prototype.Vq = function (a, b, c, d, e, n, k, p) {
		15992 <= this.mh && this.Wj();
		var q = this.mh,
		r = this.Gv,
		v = this.sv;
		if (this.Ie)
			this.Di[this.zh - 1].Pg += 6;
		else {
			var u = this.tg();
			u.type = 1;
			u.Pf = 3 * (q / 4);
			u.Pg = 6;
			this.Ie = !0
		}
		r[q] = a;
		v[q++] = 0;
		r[q] = b;
		v[q++] = 0;
		r[q] = c;
		v[q++] = 1;
		r[q] = d;
		v[q++] = 0;
		r[q] = e;
		v[q++] = 1;
		r[q] =
			n;
		v[q++] = 1;
		r[q] = k;
		v[q++] = 0;
		r[q] = p;
		v[q++] = 1;
		this.mh = q
	};
	a.prototype.kj = function (a, b, c, d, e, n, k, p, q) {
		15992 <= this.mh && this.Wj();
		var r = this.mh,
		v = this.Gv,
		u = this.sv;
		if (this.Ie)
			this.Di[this.zh - 1].Pg += 6;
		else {
			var y = this.tg();
			y.type = 1;
			y.Pf = 3 * (r / 4);
			y.Pg = 6;
			this.Ie = !0
		}
		var y = q.left,
		F = q.top,
		H = q.right;
		q = q.bottom;
		v[r] = a;
		u[r++] = y;
		v[r] = b;
		u[r++] = F;
		v[r] = c;
		u[r++] = H;
		v[r] = d;
		u[r++] = F;
		v[r] = e;
		u[r++] = H;
		v[r] = n;
		u[r++] = q;
		v[r] = k;
		u[r++] = y;
		v[r] = p;
		u[r++] = q;
		this.mh = r
	};
	a.prototype.hh = function (a) {
		if (this.hn !== a) {
			if (!this.$c[a]) {
				if (0 ===
					this.hn)
					return;
				a = 0
			}
			var b = this.tg();
			b.type = 9;
			this.hn = b.Pf = a;
			this.Ie = !1
		}
	};
	a.prototype.Un = function (a) {
		a = this.$c[a];
		return !(!a.nk && !a.mk)
	};
	a.prototype.Ou = function (a) {
		a = this.$c[a];
		return !!(a.nk || a.mk || a.ox)
	};
	a.prototype.ZE = function (a) {
		a = this.$c[a];
		return 0 !== a.Ts || 0 !== a.Us
	};
	a.prototype.tD = function (a) {
		return this.$c[a].Ts
	};
	a.prototype.uD = function (a) {
		return this.$c[a].Us
	};
	a.prototype.vD = function (a, b) {
		return this.$c[a].Ga[b][2]
	};
	a.prototype.Tq = function (a) {
		return this.$c[a].Tw
	};
	a.prototype.Nl = function (a, b,
		c, d, e, n, k, p, q, r, v, u) {
		var y = this.$c[this.hn],
		F,
		H;
		if (y.OD || u.length) {
			F = this.tg();
			F.type = 10;
			F.zb ? cc(this.If, F.zb) : F.zb = bc();
			H = F.zb;
			H[0] = b;
			H[1] = c;
			H[2] = d;
			H[3] = e;
			H[4] = n;
			H[5] = k;
			H[6] = p;
			H[7] = q;
			H[8] = r;
			H[9] = v;
			F.wg = y.qn ? a : null;
			if (u.length)
				for (c = F.Ez, c.length = u.length, a = 0, b = u.length; a < b; a++)
					c[a] = u[a];
			this.Ie = !1
		}
	};
	a.prototype.clear = function (a, b, c, d) {
		var e = this.tg();
		e.type = 7;
		e.Pf = 0;
		e.zb || (e.zb = bc());
		e.zb[0] = a;
		e.zb[1] = b;
		e.zb[2] = c;
		e.zb[3] = d;
		this.Ie = !1
	};
	a.prototype.clearRect = function (a, b, c, d) {
		if (!(0 > c || 0 > d)) {
			var e =
				this.tg();
			e.type = 7;
			e.Pf = 1;
			e.zb || (e.zb = bc());
			e.zb[0] = a;
			e.zb[1] = b;
			e.zb[2] = c;
			e.zb[3] = d;
			this.Ie = !1
		}
	};
	a.prototype.YE = function () {
		this.Wj();
		this.ca.flush()
	};
	var d = [],
	e = {};
	a.prototype.xq = function (a, b, c) {
		var m;
		m = !1;
		b = !!b;
		var l = a.src + "," + m + "," + b + (m ? ",undefined" : ""),
		n = null;
		if ("undefined" !== typeof a.src && e.hasOwnProperty(l))
			return n = e[l], n.jp++, n;
		this.Wj();
		var k = this.ca,
		p = la(a.width) && la(a.height),
		n = k.createTexture();
		k.bindTexture(k.TEXTURE_2D, n);
		k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);
		var q = k.RGBA,
		r = k.RGBA,
		v = k.UNSIGNED_BYTE;
		if (c && !this.zt)
			switch (c) {
			case 1:
				r = q = k.RGB;
				break;
			case 2:
				v = k.UNSIGNED_SHORT_4_4_4_4;
				break;
			case 3:
				v = k.UNSIGNED_SHORT_5_5_5_1;
				break;
			case 4:
				r = q = k.RGB,
				v = k.UNSIGNED_SHORT_5_6_5
			}
		if (!p && m) {
			c = document.createElement("canvas");
			c.width = ma(a.width);
			c.height = ma(a.height);
			var u = c.getContext("2d");
			u.webkitImageSmoothingEnabled = b;
			u.mozImageSmoothingEnabled = b;
			u.msImageSmoothingEnabled = b;
			u.imageSmoothingEnabled = b;
			u.drawImage(a, 0, 0, a.width, a.height, 0, 0, c.width, c.height);
			k.texImage2D(k.TEXTURE_2D,
				0, q, r, v, c)
		} else
			k.texImage2D(k.TEXTURE_2D, 0, q, r, v, a);
		m ? (k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_S, k.REPEAT), k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_T, k.REPEAT)) : (k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_S, k.CLAMP_TO_EDGE), k.texParameteri(k.TEXTURE_2D, k.TEXTURE_WRAP_T, k.CLAMP_TO_EDGE));
		b ? (k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MAG_FILTER, k.LINEAR), p && this.zx ? (k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MIN_FILTER, k.LINEAR_MIPMAP_LINEAR), k.generateMipmap(k.TEXTURE_2D)) : k.texParameteri(k.TEXTURE_2D,
				k.TEXTURE_MIN_FILTER, k.LINEAR)) : (k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MAG_FILTER, k.NEAREST), k.texParameteri(k.TEXTURE_2D, k.TEXTURE_MIN_FILTER, k.NEAREST));
		k.bindTexture(k.TEXTURE_2D, null);
		this.hk = null;
		n.Em = a.width;
		n.Dm = a.height;
		n.jp = 1;
		n.bx = l;
		d.push(n);
		return e[l] = n
	};
	a.prototype.Ji = function (a, b, c) {
		var e;
		this.Wj();
		var l = this.ca;
		this.zt && (e = !1);
		var n = l.createTexture();
		l.bindTexture(l.TEXTURE_2D, n);
		l.texImage2D(l.TEXTURE_2D, 0, l.RGBA, a, b, 0, l.RGBA, e ? l.UNSIGNED_SHORT_4_4_4_4 : l.UNSIGNED_BYTE, null);
		l.texParameteri(l.TEXTURE_2D,
			l.TEXTURE_WRAP_S, l.CLAMP_TO_EDGE);
		l.texParameteri(l.TEXTURE_2D, l.TEXTURE_WRAP_T, l.CLAMP_TO_EDGE);
		l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MAG_FILTER, c ? l.LINEAR : l.NEAREST);
		l.texParameteri(l.TEXTURE_2D, l.TEXTURE_MIN_FILTER, c ? l.LINEAR : l.NEAREST);
		l.bindTexture(l.TEXTURE_2D, null);
		this.hk = null;
		n.Em = a;
		n.Dm = b;
		d.push(n);
		return n
	};
	a.prototype.deleteTexture = function (a) {
		a && ("undefined" !== typeof a.jp && 1 < a.jp ? a.jp-- : (this.Wj(), a === this.hk && (this.ca.bindTexture(this.ca.TEXTURE_2D, null), this.hk = null), a === this.ik &&
				(this.ca.activeTexture(this.ca.TEXTURE1), this.ca.bindTexture(this.ca.TEXTURE_2D, null), this.ca.activeTexture(this.ca.TEXTURE0), this.ik = null), Ba(d, a), "undefined" !== typeof a.bx && delete e[a.bx], this.ca.deleteTexture(a)))
	};
	a.prototype.gh = function (a) {
		if (a !== this.tz) {
			var b = this.tg();
			b.type = 6;
			this.tz = b.wg = a;
			this.Ie = !1
		}
	};
	db = a
})();
(function () {
	function a(a) {
		if (a && (a.getContext || a.dc) && !a.c2runtime) {
			a.c2runtime = this;
			var b = this;
			this.iq = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" === typeof window.c2isCrosswalk || !window.c2isCrosswalk);
			this.hg = !this.iq && "undefined" !== typeof window.device && ("undefined" !== typeof window.device.cordova || "undefined" !== typeof window.device.phonegap) || "undefined" !== typeof window.c2isphonegap && window.c2isphonegap;
			this.$d = !!a.dc;
			this.il = "undefined" !== typeof window.AppMobi ||
				this.$d;
			this.Df = !!window.c2cocoonjs;
			this.Jh = !!window.c2ejecta;
			this.Df && (CocoonJS.App.onSuspended.addEventListener(function () {
					b.setSuspended(!0)
				}), CocoonJS.App.onActivated.addEventListener(function () {
					b.setSuspended(!1)
				}));
			this.Jh && (document.addEventListener("pagehide", function () {
					b.setSuspended(!0)
				}), document.addEventListener("pageshow", function () {
					b.setSuspended(!1)
				}), document.addEventListener("resize", function () {
					b.setSize(window.innerWidth, window.innerHeight)
				}));
			this.jd = this.$d || this.Df || this.Jh;
			this.gy =
				/tizen/i.test(navigator.userAgent);
			this.hq = /android/i.test(navigator.userAgent) && !this.gy;
			this.zt = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent);
			this.Ht = /iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent);
			this.jy = /ipad/i.test(navigator.userAgent);
			this.mq = this.Ht || this.jy || this.Jh;
			this.dE = this.Ht && /os\s6/i.test(navigator.userAgent);
			this.$m = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent);
			this.VD = /amazonwebappplatform/i.test(navigator.userAgent);
			this.ey = /firefox/i.test(navigator.userAgent);
			this.fy = !this.$m && /safari/i.test(navigator.userAgent);
			this.$D = /windows/i.test(navigator.userAgent);
			this.Ui = "undefined" !== typeof window.c2nodewebkit || /nodewebkit/i.test(navigator.userAgent);
			this.bE = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
			this.cE = !("undefined" === typeof window.c2isWindows8Capable || !window.c2isWindows8Capable);
			this.Et = !("undefined" === typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8);
			this.Ft = !("undefined" ===
				typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81);
			this.hy = this.bE || this.cE || this.Ft;
			this.WD = !("undefined" === typeof window.c2isBlackberry10 || !window.c2isBlackberry10);
			this.cy = this.hq && !this.$m && !this.ey && !this.VD && !this.jd;
			this.devicePixelRatio = 1;
			this.Ti = this.hg || this.iq || this.il || this.Df || this.hq || this.mq || this.Et || this.Ft || this.WD || this.gy || this.Jh;
			this.Ti || (this.Ti = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent));
			"undefined" === typeof cr_is_preview || this.Ui || "?nw" !== window.location.search && !/nodewebkit/i.test(navigator.userAgent) || (this.Ui = !0);
			this.XD = "undefined" !== typeof cr_is_preview && -1 < window.location.search.indexOf("debug");
			this.canvas = a;
			this.hx = document.getElementById("c2canvasdiv");
			this.Eb = this.qa = this.ca = null;
			this.$s = "";
			this.Op = !1;
			this.Py = this.Qy = 0;
			this.canvas.oncontextmenu = function (a) {
				a.preventDefault && a.preventDefault();
				return !1
			};
			this.canvas.onselectstart = function (a) {
				a.preventDefault && a.preventDefault();
				return !1
			};
			this.$d && (window.c2runtime = this);
			this.Ui && (window.ondragover = function (a) {
				a.preventDefault();
				return !1
			}, window.ondrop = function (a) {
				a.preventDefault();
				return !1
			}, require("nw.gui").App.clearCache());
			this.width = a.width;
			this.height = a.height;
			this.Va = this.width;
			this.Ua = this.height;
			this.zp = this.width;
			this.yp = this.height;
			this.kn = window.innerWidth;
			this.jn = window.innerHeight;
			this.qb = !0;
			this.bn = !1;
			Date.now || (Date.now = function () {
				return +new Date
			});
			this.plugins = [];
			this.types = {};
			this.da = [];
			this.Ic = [];
			this.Qt = {};
			this.jg = [];
			this.Ss = {};
			this.Eh = [];
			this.Yl = [];
			this.yr = [];
			this.us = [];
			this.JB = [];
			this.Iz = null;
			this.Jg = new ea;
			this.At = !1;
			this.gg = 0;
			this.Ct = !1;
			this.ne = [];
			this.Oh = this.de = this.vq = this.bv = "";
			this.eo = this.Hz = !1;
			this.Hs = this.sn = this.Mi = this.Ja = 0;
			this.ji = 1;
			this.Ke = new Sa;
			this.rq = 0;
			this.Jy = !0;
			this.Kq = this.Qp = this.Jp = this.hi = this.ln = this.Zs = 0;
			this.Qj = null;
			this.Gp = [];
			this.Rs = [];
			this.Ip = -1;
			this.Xt = [[]];
			this.xv = this.zq = 0;
			this.Uq(null);
			this.Zt = [];
			this.Aq = -1;
			this.Lm = this.Ly = this.Kn = 0;
			this.fo = [];
			this.sr = this.Xq =
				-1;
			this.ll = !0;
			this.ql = 0;
			this.an = !1;
			this.uF = 0;
			this.MD = !1;
			this.Lt = 0;
			this.Qg = this.nt = this.Qu = !1;
			this.zu = new ea;
			this.Au = new ea;
			this.Zq = [];
			this.vg = new Wa([]);
			this.rv = new Wa([]);
			this.Ai = [];
			this.aq = {};
			this.al = {};
			this.Xk = {};
			this.Xl = {};
			this.Zw = {};
			this.uy = this.uq = this.Me = this.ef = this.ty = this.tq = this.mb = null;
			this.Vl = this.Gt = !1;
			this.bt = [null, null];
			this.Zj = 0;
			this.Fx = "";
			this.gj = {};
			this.kr = this.pl = null;
			this.load();
			this.devicePixelRatio = (this.fk = (!this.jd || this.Jh) && this.IF && !this.cy) ? window.devicePixelRatio || window.webkitDevicePixelRatio ||
			window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1;
			this.Gd();
			var c,
			d = this.vs && !(this.Ui || this.hy || this.Et || this.iq);
			0 < this.He && this.setSize(window.innerWidth, window.innerHeight, !0);
			try {
				this.GC && (this.Df || this.Jh || !this.jd) && (c = {
						alpha : d,
						depth : !1,
						antialias : !1,
						failIfMajorPerformanceCaveat : !0
					}, this.ca = a.getContext("webgl", c) || a.getContext("experimental-webgl", c))
			} catch (k) {}

			if (this.ca) {
				this.jd || (this.Bd = document.createElement("canvas"), jQuery(this.Bd).appendTo(this.canvas.parentNode), this.Bd.oncontextmenu =
						x(!1), this.Bd.onselectstart = x(!1), this.Bd.width = this.zp, this.Bd.height = this.yp, jQuery(this.Bd).css({
						width : this.zp + "px",
						height : this.yp + "px"
					}), this.hz(), this.Iu = this.Bd.getContext("2d"));
				this.qa = new db(this.ca, this.Ti);
				this.qa.Ol(a.width, a.height);
				this.qa.zx = 0 !== this.wC;
				this.Eb = null;
				this.canvas.addEventListener("webglcontextlost", function (a) {
					a.preventDefault();
					b.NE();
					console.log("[Construct 2] WebGL context lost");
					window.cr_setSuspended(!0)
				}, !1);
				this.canvas.addEventListener("webglcontextrestored", function () {
					b.qa.Yx();
					b.qa.Ol(b.qa.width, b.qa.height, !0);
					b.ef = null;
					b.Me = null;
					b.bt[0] = null;
					b.bt[1] = null;
					b.OE();
					b.qb = !0;
					console.log("[Construct 2] WebGL context restored");
					window.cr_setSuspended(!1)
				}, !1);
				var e,
				f,
				g,
				h,
				l,
				n;
				a = 0;
				for (c = this.da.length; a < c; a++)
					for (f = this.da[a], d = 0, e = f.Ea.length; d < e; d++)
						h = f.Ea[d], h.Cd = this.qa.jt(h.id), this.Vl = this.Vl || this.qa.Un(h.Cd);
				a = 0;
				for (c = this.jg.length; a < c; a++) {
					l = this.jg[a];
					d = 0;
					for (e = l.Ea.length; d < e; d++)
						h = l.Ea[d], h.Cd = this.qa.jt(h.id);
					d = 0;
					for (e = l.cb.length; d < e; d++)
						for (n = l.cb[d], f = 0, g = n.Ea.length; f <
							g; f++)
							h = n.Ea[f], h.Cd = this.qa.jt(h.id), this.Vl = this.Vl || this.qa.Un(h.Cd)
				}
			} else {
				if (0 < this.He && this.$d) {
					this.canvas = null;
					document.oncontextmenu = x(!1);
					document.onselectstart = x(!1);
					this.Eb = AppMobi.canvas.getContext("2d");
					try {
						this.Eb.samplingMode = this.ub ? "smooth" : "sharp",
						this.Eb.globalScale = 1,
						this.Eb.HTML5CompatibilityMode = !0,
						this.Eb.imageSmoothingEnabled = this.ub
					} catch (m) {}

					0 !== this.width && 0 !== this.height && (this.Eb.width = this.width, this.Eb.height = this.height)
				}
				this.Eb || (c = this.Df ? {
						antialias : !!this.ub,
						alpha : d
					}
					 : {
					alpha : d
				}, this.Eb = a.getContext("2d", c), this.Eb.webkitImageSmoothingEnabled = this.ub, this.Eb.mozImageSmoothingEnabled = this.ub, this.Eb.msImageSmoothingEnabled = this.ub, this.Eb.imageSmoothingEnabled = this.ub);
				this.Iu = this.Bd = null
			}
			this.qr = function () {
				b.tc(!1)
			};
			window == window.top || this.jd || this.hy || this.Et || (document.addEventListener("mousedown", function () {
					window.focus()
				}, !0), document.addEventListener("touchstart", function () {
					window.focus()
				}, !0));
			"undefined" !== typeof cr_is_preview && (this.Df && console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"),
				-1 < window.location.search.indexOf("continuous") && (fa("Reloading for continuous preview"), this.vq = "__c2_continuouspreview", this.eo = !0), this.TE && !this.Ti && (jQuery(window).focus(function () {
						b.setSuspended(!1)
					}), jQuery(window).blur(function () {
						b.setSuspended(!0)
					})));
			0 === this.He && this.fk && 1 < this.devicePixelRatio && this.setSize(this.rc, this.qc, !0);
			this.Tz();
			this.go();
			this.ea = {}

		}
	}
	function c(a) {
		a.target.result.createObjectStore("saves", {
			keyPath : "slot"
		})
	}
	function b(a, b, d, k) {
		var e = indexedDB.open("_C2SaveStates");
		e.onupgradeneeded = c;
		e.onerror = k;
		e.onsuccess = function (c) {
			c = c.target.result;
			c.onerror = k;
			c.transaction(["saves"], "readwrite").objectStore("saves").put({
				slot : a,
				data : b
			}).onsuccess = d
		}
	}
	function d(a, b, d) {
		var k = indexedDB.open("_C2SaveStates");
		k.onupgradeneeded = c;
		k.onerror = d;
		k.onsuccess = function (c) {
			c = c.target.result;
			c.onerror = d;
			var k = c.transaction(["saves"]).objectStore("saves").get(a);
			k.onsuccess = function () {
				k.result ? b(k.result.data) : b(null)
			}
		}
	}
	function e() {
		fa("Reloading for continuous preview");
		window.c2cocoonjs ?
		CocoonJS.App.reload() : -1 < window.location.search.indexOf("continuous") ? window.location.reload(!0) : window.location += "?continuous"
	}
	function f(a) {
		var b,
		c = {};
		for (b in a)
			!a.hasOwnProperty(b) || a[b]instanceof ea || a[b] && "undefined" !== typeof a[b].Hg || (c[b] = a[b]);
		return c
	}
	a.prototype.setSize = function (a, b, c) {
		var d = 0,
		k = 0,
		e = 0,
		f = 0,
		f = 0,
		g = this.dE && this.fy && !navigator.standalone && !this.jd && !this.hg;
		g && (b += 60);
		if (this.kn !== a || this.jn !== b || c) {
			this.kn = a;
			this.jn = b;
			var h = this.He,
			l = (document.mozFullScreen || document.webkitIsFullScreen ||
				!!document.msFullscreenElement || document.fullScreen || this.an) && !this.hg;
			if (l || 0 !== this.He || c)
				l && 0 < this.Zj && (h = this.Zj), 4 <= h ? (c = this.rc / this.qc, a / b > c ? (e = b * c, 5 === h ? (f = e / this.rc, 1 < f ? f = Math.floor(f) : 1 > f && (f = 1 / Math.ceil(1 / f)), e = this.rc * f, f *= this.qc, d = (a - e) / 2, k = (b - f) / 2, a = e, b = f) : (d = (a - e) / 2, a = e)) : (f = a / c, 5 === h ? (f /= this.qc, 1 < f ? f = Math.floor(f) : 1 > f && (f = 1 / Math.ceil(1 / f)), e = this.rc * f, f *= this.qc, d = (a - e) / 2, k = (b - f) / 2, a = e) : k = (b - f) / 2, b = f), l && !this.Ui && (k = d = 0), d = Math.floor(d), k = Math.floor(k), a = Math.floor(a), b = Math.floor(b)) :
				this.Ui && this.an && 0 === this.Hx && (d = Math.floor((a - this.rc) / 2), k = Math.floor((b - this.qc) / 2), a = this.rc, b = this.qc), 2 > h && (this.Cm = this.devicePixelRatio), this.fk && this.jy && 1 < this.devicePixelRatio && (1024 <= a && (a = 1023), 1024 <= b && (b = 1023)), l = this.devicePixelRatio, this.zp = a, this.yp = b, this.width = Math.round(a * l), this.height = Math.round(b * l), this.qb = !0, this.iA ? (this.Va = this.width, this.Ua = this.height, this.Bf = !0) : this.width < this.rc && this.height < this.qc || 1 === h ? (this.Va = this.width, this.Ua = this.height, this.Bf = !0) : (this.Va =
						this.rc, this.Ua = this.qc, this.Bf = !1, 2 === h ? (c = this.rc / this.qc, h = this.kn / this.jn, h < c ? this.Va = this.Ua * h : h > c && (this.Ua = this.Va / h)) : 3 === h && (c = this.rc / this.qc, h = this.kn / this.jn, h > c ? this.Va = this.Ua * h : h < c && (this.Ua = this.Va / h))), this.hx && !this.jd && (jQuery(this.hx).css({
						width : a + "px",
						height : b + "px",
						"margin-left" : d,
						"margin-top" : k
					}), "undefined" !== typeof cr_is_preview && jQuery("#borderwrap").css({
						width : a + "px",
						height : b + "px"
					})), this.canvas && (this.canvas.width = Math.round(a * l), this.canvas.height = Math.round(b * l), this.Jh ?
					(this.canvas.style.left = d + "px", this.canvas.style.top = k + "px", this.canvas.style.width = a + "px", this.canvas.style.height = b + "px") : this.fk && !this.jd && jQuery(this.canvas).css({
						width : a + "px",
						height : b + "px"
					})), this.Bd && (this.Bd.width = a, this.Bd.height = b, jQuery(this.Bd).css({
						width : a + "px",
						height : b + "px"
					})), this.qa && this.qa.Ol(Math.round(a * l), Math.round(b * l)), this.$d && this.Eb && (this.Eb.width = a, this.Eb.height = b), this.Eb && (this.Eb.webkitImageSmoothingEnabled = this.ub, this.Eb.mozImageSmoothingEnabled = this.ub, this.Eb.msImageSmoothingEnabled =
						this.ub, this.Eb.imageSmoothingEnabled = this.ub), this.Tz(), this.jd || !g && !this.Ht || window.setTimeout(function () {
					window.scrollTo(0, 1)
				}, 100)
		}
	};
	a.prototype.Tz = function () {
		if (this.NB && 0 !== this.Gu) {
			var a = "portrait";
			2 === this.Gu && (a = "landscape");
			screen.lockOrientation ? screen.lockOrientation(a) : screen.webkitLockOrientation ? screen.webkitLockOrientation(a) : screen.mozLockOrientation ? screen.mozLockOrientation(a) : screen.msLockOrientation && screen.msLockOrientation(a)
		}
	};
	a.prototype.NE = function () {
		this.Gt = !0;
		var a,
		b,
		c;
		a = 0;
		for (b = this.da.length; a < b; a++)
			c = this.da[a], c.Du && c.Du()
	};
	a.prototype.OE = function () {
		this.Gt = !1;
		var a,
		b,
		c;
		a = 0;
		for (b = this.da.length; a < b; a++)
			c = this.da[a], c.Eu && c.Eu()
	};
	a.prototype.hz = function () {
		if (!this.jd) {
			var a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || document.msFullscreenElement || this.an) && !this.hg ? jQuery(this.canvas).offset() : jQuery(this.canvas).position();
			a.position = "absolute";
			jQuery(this.Bd).css(a)
		}
	};
	var g = window.cancelAnimationFrame || window.mozCancelAnimationFrame ||
		window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame;
	a.prototype.setSuspended = function (a) {
		var b;
		if (a && !this.bn)
			for (fa("[Construct 2] Suspending"), this.bn = !0, -1 !== this.Xq && g && g(this.Xq), -1 !== this.sr && clearTimeout(this.sr), a = 0, b = this.fo.length; a < b; a++)
				this.fo[a](!0);
		else if (!a && this.bn) {
			fa("[Construct 2] Resuming");
			this.bn = !1;
			this.rq = Ra();
			this.ln = Ra();
			a = this.sn = this.Qp = 0;
			for (b = this.fo.length; a < b; a++)
				this.fo[a](!1);
			this.tc(!1)
		}
	};
	a.prototype.Mw = function (a) {
		this.fo.push(a)
	};
	a.prototype.load = function () {
		var a = gc();
		this.name = a[0];
		this.Gx = a[1];
		this.He = a[11];
		this.Hx = a[11];
		this.rc = a[9];
		this.qc = a[10];
		this.cz = this.rc / 2;
		this.dz = this.qc / 2;
		this.jd && !this.Jh && (4 <= a[11] || 0 === a[11]) && (fa("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.Hx = this.He = 3);
		this.Dv = a[17];
		this.nn = a[18];
		0 === this.nn && (this.pl = new Image, this.pl.src = "loading-logo.png");
		this.Kn = a[20];
		this.ih = new B(this);
		var b,
		c,
		d,
		k,
		e,
		f,
		g,
		h,
		l;
		b = 0;
		for (c = a[2].length; b <
			c; b++)
			g = a[2][b], eb(g), l = new g[0](this), l.jr = g[1], l.Vi = g[2], l.Ky = g[9], l.Ca && l.Ca(), this.plugins.push(l);
		a = gc();
		b = 0;
		for (c = a[3].length; b < c; b++) {
			g = a[3][b];
			e = g[1];
			l = null;
			d = 0;
			for (k = this.plugins.length; d < k; d++)
				if (this.plugins[d]instanceof e) {
					l = this.plugins[d];
					break
				}
			var n = new l.rb(l);
			n.name = g[0];
			n.Ka = g[2];
			n.xt = g[3].slice(0);
			n.LF = g[3].length;
			n.RB = g[4];
			n.jD = g[5];
			n.Wa = g[11];
			n.Ka ? (n.El = [], n.Fh = this.Lm++, n.Xb = null) : (n.El = null, n.Fh = -1, n.Xb = []);
			n.Lp = null;
			n.el = null;
			n.Bx = null;
			n.Je = !1;
			n.Ee = null;
			g[6] ? (n.tv = g[6][0],
				n.Oz = g[6][1], n.uv = g[6][2]) : (n.tv = null, n.Oz = 0, n.uv = 0);
			n.Ae = g[7] ? g[7] : null;
			n.index = b;
			n.G = [];
			n.Dp = [];
			n.qj = [new fb(n)];
			n.Ch = 0;
			n.zf = null;
			n.gC = 0;
			n.Sl = !0;
			n.Ar = gb;
			n.Nx = hb;
			n.sD = ib;
			n.Pa = kb;
			n.Vn = lb;
			n.Wn = mb;
			n.jj = nb;
			n.Sp = ob;
			n.dt = pb;
			n.gt = tb;
			n.bg = ub;
			n.Ox = vb;
			n.Fm = new Xa(this.rc, this.qc);
			n.Xo = !0;
			n.Yo = !1;
			n.ea = {};
			n.toString = wb;
			n.Ic = [];
			d = 0;
			for (k = g[8].length; d < k; d++) {
				h = g[8][d];
				var m = h[1],
				p = null;
				e = 0;
				for (f = this.Ic.length; e < f; e++)
					if (this.Ic[e]instanceof m) {
						p = this.Ic[e];
						break
					}
				p || (p = new m(this), p.xu = [], p.In = new ea, p.Ca && p.Ca(),
					this.Ic.push(p), Zb.tF && p instanceof Zb.tF && (this.Iz = p));
				-1 === p.xu.indexOf(n) && p.xu.push(n);
				e = new p.rb(p, n);
				e.name = h[0];
				e.Wa = h[2];
				e.Ca();
				n.Ic.push(e)
			}
			n.global = g[9];
			n.Bt = g[10];
			n.Ea = [];
			d = 0;
			for (k = g[12].length; d < k; d++)
				n.Ea.push({
					id : g[12][d][0],
					name : g[12][d][1],
					Cd : -1,
					lc : !0,
					index : d
				});
			n.qH = g[13];
			this.Dv && !n.Ka && !n.Bt && l.Vi || n.Ca();
			n.name && (this.types[n.name] = n);
			this.da.push(n);
			l.jr && (d = new l.Za(n), d.uid = this.Kn++, d.mz = this.Ly++, d.bk = 0, d.Um = xb, d.toString = yb, d.$ = g[14], d.Ca(), n.G.push(d), this.gj[d.uid.toString()] =
					d)
		}
		b = 0;
		for (c = a[4].length; b < c; b++)
			for (e = a[4][b], f = this.da[e[0]], d = 1, k = e.length; d < k; d++)
				g = this.da[e[d]], g.Xb.push(f), f.El.push(g);
		b = 0;
		for (c = a[24].length; b < c; b++) {
			e = a[24][b];
			f = [];
			d = 0;
			for (k = e.length; d < k; d++)
				f.push(this.da[e[d]]);
			d = 0;
			for (k = f.length; d < k; d++)
				f[d].Je = !0, f[d].Ee = f
		}
		if (0 < this.Lm)
			for (b = 0, c = this.da.length; b < c; b++)
				if (g = this.da[b], !g.Ka && g.Xb.length) {
					g.Lp = Array(this.Lm);
					g.el = Array(this.Lm);
					g.Bx = Array(this.Lm);
					n = [];
					d = p = m = h = 0;
					for (k = g.Xb.length; d < k; d++)
						for (l = g.Xb[d], g.Lp[l.Fh] = h, h += l.LF, g.el[l.Fh] =
								m, m += l.RB, g.Bx[l.Fh] = p, p += l.jD, e = 0, f = l.Ea.length; e < f; e++)
							n.push(xa({}, l.Ea[e]));
					g.Ea = n.concat(g.Ea);
					d = 0;
					for (k = g.Ea.length; d < k; d++)
						g.Ea[d].index = d
				}
		b = 0;
		for (c = a[5].length; b < c; b++)
			g = a[5][b], d = new zb(this, g), this.Qt[d.name] = d, this.jg.push(d);
		b = 0;
		for (c = a[6].length; b < c; b++)
			g = a[6][b], d = new Ab(this, g), this.Ss[d.name] = d, this.Eh.push(d);
		b = 0;
		for (c = this.Eh.length; b < c; b++)
			this.Eh[b].Dc();
		b = 0;
		for (c = this.Eh.length; b < c; b++)
			this.Eh[b].Av();
		b = 0;
		for (c = this.yr.length; b < c; b++)
			this.yr[b].Dc();
		this.yr.length = 0;
		this.Fx = a[7];
		this.ij = a[8];
		this.Cm = 1;
		this.GC = a[12];
		this.ub = a[13];
		this.vs = a[14];
		this.IF = a[16];
		this.Gu = a[19];
		this.NB = 0 < this.Gu;
		this.TE = a[21];
		this.Bf = this.iA = a[22];
		this.wC = a[23];
		this.lr = Date.now()
	};
	var h = !1;
	a.prototype.hA = function (a) {
		a.onerror = function (b) {
			h = a.UB = !0;
			console && console.error && console.error("Error loading image '" + a.src + "': ", b)
		};
		this.Yl.push(a)
	};
	a.prototype.hD = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.Yl.length; b < c; b++)
			if (this.Yl[b].cC === a)
				return this.Yl[b];
		return null
	};
	a.prototype.Uw = function () {
		var a = 0,
		b = 0,
		c = !0,
		d,
		k,
		e;
		d = 0;
		for (k = this.Yl.length; d < k; d++) {
			e = this.Yl[d];
			var f = e.bC;
			if (!f || 0 >= f)
				f = 5E4;
			a += f;
			!e.complete && !e.loaded || e.UB ? c = !1 : b += f
		}
		this.Bk = 0 == a ? 0 : b / a;
		return c
	};
	a.prototype.go = function () {
		if (this.Eb || this.qa) {
			var a = this.Eb || this.Iu;
			this.Bd && this.hz();
			this.Bk = 0;
			this.ry = -1;
			if (this.Uw())
				this.KD();
			else {
				var b = Date.now() - this.lr;
				if (a) {
					var c = this.width,
					d = this.height,
					e = this.devicePixelRatio;
					this.Bd && (c = this.zp, d = this.yp, e = 1);
					if (3 !== this.nn && (this.Df || 500 <= b && this.ry != this.Bk)) {
						a.clearRect(0, 0, c, d);
						var b = c /
							2,
						d = d / 2,
						c = 0 === this.nn && this.pl.complete,
						k = 40 * e,
						f = 0,
						g = 80 * e,
						l;
						c && (g = this.pl.width * e, l = this.pl.height * e, k = g / 2, f = l / 2, a.drawImage(this.pl, sa(b - k), sa(d - f), g, l));
						1 >= this.nn ? (b = sa(b - k) + 0.5, d = sa(d + (f + (c ? 12 * e : 0))) + 0.5, a.fillStyle = h ? "red" : "DodgerBlue", a.fillRect(b, d, Math.floor(g * this.Bk), 6 * e), a.strokeStyle = "black", a.strokeRect(b, d, g, 6 * e), a.strokeStyle = "white", a.strokeRect(b - 1 * e, d - 1 * e, g + 2 * e, 8 * e)) : 2 === this.nn && (a.font = this.Jh ? "12pt ArialMT" : "12pt Arial", a.fillStyle = h ? "#f00" : "#999", a.pH = "middle", e = Math.round(100 *
									this.Bk) + "%", c = a.measureText ? a.measureText(e) : null, a.fillText(e, b - (c ? c.width : 0) / 2, d))
					}
					this.ry = this.Bk
				}
				setTimeout(function (a) {
					return function () {
						a.go()
					}
				}
					(this), this.Df ? 10 : 100)
			}
		}
	};
	a.prototype.KD = function () {
		this.Bd && (this.canvas.parentNode.removeChild(this.Bd), this.Bd = this.Iu = null);
		this.lr = Date.now();
		this.ln = Ra();
		var a,
		b,
		c;
		if (this.Dv)
			for (a = 0, b = this.da.length; a < b; a++)
				c = this.da[a], c.Ka || c.Bt || !c.ec.Vi || c.Ca();
		else
			this.ll = !1;
		a = 0;
		for (b = this.jg.length; a < b; a++)
			this.jg[a].dC();
		2 <= this.He && (a = this.rc / this.qc,
			b = this.width / this.height, this.Cm = 2 !== this.He && b > a || 2 === this.He && b < a ? this.height / this.qc : this.width / this.rc);
		this.Gx ? this.Qt[this.Gx].pv() : this.jg[0].pv();
		this.Dv || (this.ql = 1, this.trigger(B.prototype.B.gw, null));
		navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide();
		a = 0;
		for (b = this.da.length; a < b; a++)
			c = this.da[a], c.ME && c.ME();
		this.tc(!1);
		this.$d && AppMobi.webview.execute("onGameReady();")
	};
	var m = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||
		window.msRequestAnimationFrame || window.oRequestAnimationFrame;
	a.prototype.tc = function (a) {
		if (this.mb) {
			var b = Ra();
			if (this.MD && this.Qu && 29 > b - this.Lt)
				this.Qu = !1, this.Lt = b, m ? this.Xq = m(this.qr, this.canvas) : this.sr = setTimeout(this.qr, this.Ti ? 1 : 16);
			else {
				this.Qu = !0;
				this.Lt = b;
				var c = this.He,
				d = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) && !this.hg;
				(d || this.an) && 0 < this.Zj && (c = this.Zj);
				if (0 < c && (!this.mq || window.self !== window.top)) {
					var c = window.innerWidth,
					e = window.innerHeight;
					this.kn === c && this.jn === e || this.setSize(c, e)
				}
				this.jd || (d ? (this.Op || (this.$s = jQuery(this.canvas).css("margin") || "0", this.Op = !0), this.$m || this.Ui || jQuery(this.canvas).css({
							"margin-left" : "" + Math.floor((screen.width - this.width / this.devicePixelRatio) / 2) + "px",
							"margin-top" : "" + Math.floor((screen.height - this.height / this.devicePixelRatio) / 2) + "px"
						})) : this.Op ? (this.$m || this.Ui || jQuery(this.canvas).css("margin", this.$s), this.$s = "", this.Op = !1, 0 === this.He && this.setSize(Math.round(this.Qy / this.devicePixelRatio),
							Math.round(this.Py / this.devicePixelRatio), !0)) : (this.Qy = this.width, this.Py = this.height));
				this.ll && (d = this.Uw(), this.ql = this.Bk, d && (this.ll = !1, this.Bk = 1, this.trigger(B.prototype.B.gw, null)));
				this.jE();
				!this.qb && !this.Df || this.Gt || this.eo || a || (this.qb = !1, this.qa ? this.dg() : this.Li(), this.kr && (this.canvas && this.canvas.toDataURL && (this.canvas.toDataURL(this.kr[0], this.kr[1]), this.trigger(B.prototype.B.MA, null)), this.kr = null));
				this.iH || (this.hi++, this.Jp++, this.Qp++);
				this.sn += Ra() - b;
				this.bn || a || (m ? this.Xq =
						m(this.qr, this.canvas) : this.sr = setTimeout(this.qr, this.Ti ? 1 : 16))
			}
		}
	};
	a.prototype.jE = function () {
		var a,
		b,
		c,
		d,
		e,
		k,
		f,
		g,
		l;
		a = Ra();
		1E3 <= a - this.ln && (this.ln += 1E3, this.Zs = this.Qp, this.Qp = 0, this.Hs = this.sn, this.sn = 0);
		this.Jy && (0 !== this.rq && (b = a - this.rq, 0 !== b || this.XD ? (this.Mi = b / 1E3, 0.5 < this.Mi ? this.Mi = 0 : 0.1 < this.Mi && (this.Mi = 0.1)) : (10 <= this.rH && (this.Jy = !1), this.Mi = 1 / 60)), this.rq = a);
		this.Ja = this.Mi * this.ji;
		this.Ke.add(this.Ja);
		a = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement ||
			this.an) && !this.hg;
		2 <= this.He || a && 0 < this.Zj ? (b = this.rc / this.qc, c = this.width / this.height, d = this.He, a && 0 < this.Zj && (d = this.Zj), this.Cm = 2 !== d && c > b || 2 === d && c < b ? this.height / this.qc : this.width / this.rc, this.mb && (this.mb.cv(this.mb.scrollX), this.mb.dv(this.mb.scrollY))) : this.Cm = this.fk ? this.devicePixelRatio : 1;
		this.Gd();
		this.gg++;
		this.ih.hF();
		this.gg--;
		this.Gd();
		this.gg++;
		a = 0;
		for (b = this.da.length; a < b; a++)
			if (f = this.da[a], !f.Ka && (f.Ic.length || f.Xb.length))
				for (c = 0, d = f.G.length; c < d; c++)
					for (g = f.G[c], e = 0, k = g.Ia.length; e <
						k; e++)
						g.Ia[e].tc();
		a = 0;
		for (b = this.da.length; a < b; a++)
			if (f = this.da[a], !f.Ka && (f.Ic.length || f.Xb.length))
				for (c = 0, d = f.G.length; c < d; c++)
					for (g = f.G[c], e = 0, k = g.Ia.length; e < k; e++)
						l = g.Ia[e], l.XE && l.XE();
		c = this.zu.kh();
		a = 0;
		for (b = c.length; a < b; a++)
			c[a].tc();
		this.gg--;
		this.ND();
		for (a = 0; this.Qj && 10 > a++; )
			this.yx(this.Qj);
		a = 0;
		for (b = this.Eh.length; a < b; a++)
			this.Eh[a].pt = !1;
		this.mb.Xj && this.mb.Xj.Qc();
		this.Zq.length = 0;
		this.gg++;
		a = 0;
		for (b = this.da.length; a < b; a++)
			if (f = this.da[a], !f.Ka && (f.Ic.length || f.Xb.length))
				for (c =
						0, d = f.G.length; c < d; c++)
					for (g = f.G[c], e = 0, k = g.Ia.length; e < k; e++)
						l = g.Ia[e], l.jo && l.jo();
		c = this.Au.kh();
		a = 0;
		for (b = c.length; a < b; a++)
			c[a].jo();
		this.gg--
	};
	a.prototype.yx = function (a) {
		var b = this.mb;
		this.mb.wF();
		var c,
		d,
		e,
		k,
		f,
		g,
		l;
		if (this.qa)
			for (c = 0, d = this.da.length; c < d; c++)
				f = this.da[c], f.Ka || !f.zv || f.global && 0 !== f.G.length || -1 !== a.Ym.indexOf(f) || f.zv();
		b == a && (this.ih.ve.length = 0);
		a.pv();
		c = 0;
		for (d = this.da.length; c < d; c++)
			if (f = this.da[c], f.global || f.ec.jr)
				for (a = 0, b = f.G.length; a < b; a++)
					if (g = f.G[a], g.Cu && g.Cu(),
						g.Ia)
						for (e = 0, k = g.Ia.length; e < k; e++)
							l = g.Ia[e], l.Cu && l.Cu();
		this.qb = !0;
		this.Gd()
	};
	a.prototype.rr = function (a) {
		this.zu.add(a)
	};
	a.prototype.AF = function (a) {
		this.Au.add(a)
	};
	a.prototype.$j = function (a) {
		return a && -1 !== a.Jn ? this.Mi * a.Jn : this.Ja
	};
	a.prototype.Li = function () {
		this.mb.Li(this.Eb);
		this.$d && this.Eb.present()
	};
	a.prototype.dg = function () {
		this.mb.dg(this.qa);
		this.qa.YE()
	};
	a.prototype.Wo = function (a) {
		a && this.Gp.push(a)
	};
	a.prototype.sz = function (a) {
		Ba(this.Gp, a)
	};
	a.prototype.Ri = function (a) {
		a = a.toString();
		return this.gj.hasOwnProperty(a) ?
		this.gj[a] : null
	};
	a.prototype.pi = function (a) {
		var b,
		c;
		if (!this.Jg.contains(a)) {
			this.Jg.add(a);
			if (a.Je)
				for (b = 0, c = a.siblings.length; b < c; b++)
					this.pi(a.siblings[b]);
			this.At && this.Jg.Wl.push(a);
			this.gg++;
			this.trigger(Object.getPrototypeOf(a.type.ec).B.NA, a);
			this.gg--
		}
	};
	a.prototype.Gd = function () {
		var a,
		b,
		c,
		d,
		e,
		k,
		f,
		g,
		l,
		h;
		this.At = !0;
		d = 0;
		for (k = this.ne.length; d < k; d++)
			for (a = this.ne[d], b = a.type, b.G.push(a), e = 0, f = b.Xb.length; e < f; e++)
				b.Xb[e].G.push(a), b.Xb[e].Sl = !0;
		this.ne.length = 0;
		k = this.Jg.kh();
		for (d = 0; d < k.length; d++) {
			a =
				k[d];
			b = a.type;
			c = b.G;
			e = 0;
			for (f = this.Gp.length; e < f; e++)
				this.Gp[e](a);
			Ba(c, a);
			0 === c.length && (b.Yo = !1);
			a.Ii && b.Fm.update(a, a.Ii, null);
			a.T && (ya(a.T.G, a.df()), a.T.Ve = !0);
			e = 0;
			for (f = b.Xb.length; e < f; e++)
				Ba(b.Xb[e].G, a), b.Xb[e].Sl = !0;
			if (a.Ia)
				for (e = 0, f = a.Ia.length; e < f; e++)
					c = a.Ia[e], c.Kl && c.Kl(), c.ba.In.remove(a);
			this.zu.remove(a);
			this.Au.remove(a);
			e = 0;
			for (f = this.ih.ve.length; e < f; e++)
				if (l = this.ih.ve[e], l.ie.hasOwnProperty(b.index) && Ba(l.ie[b.index].Hh, a), !b.Ka)
					for (c = 0, g = b.Xb.length; c < g; c++)
						h = b.Xb[c], l.ie.hasOwnProperty(h.index) &&
						Ba(l.ie[h.index].Hh, a);
			a.Kl && a.Kl();
			this.gj.hasOwnProperty(a.uid.toString()) && delete this.gj[a.uid.toString()];
			this.Kq--;
			64 > b.Dp.length && b.Dp.push(a);
			b.Sl = !0
		}
		this.Jg.fg() || (this.qb = !0);
		this.Jg.clear();
		this.At = !1
	};
	a.prototype.nx = function (a, b, c, d) {
		if (a.Ka) {
			var e = sa(Math.random() * a.El.length);
			return this.nx(a.El[e], b, c, d)
		}
		return a.zf ? this.Ki(a.zf, b, !1, c, d, !1) : null
	};
	var l = [];
	a.prototype.Ki = function (a, b, c, d, e, k) {
		var f,
		g,
		h,
		n;
		if (!a)
			return null;
		var m = this.da[a[1]],
		p = m.ec.Vi;
		if (this.ll && p && !m.Bt || p && !this.qa &&
			11 === a[0][11])
			return null;
		var q = b;
		p || (b = null);
		var t;
		m.Dp.length ? (t = m.Dp.pop(), t.Re = !0, m.ec.Za.call(t, m)) : (t = new m.ec.Za(m), t.Re = !1);
		t.uid = c && !k ? a[2] : this.Kn++;
		this.gj[t.uid.toString()] = t;
		t.mz = this.Ly++;
		t.bk = m.G.length;
		f = 0;
		for (g = this.ne.length; f < g; ++f)
			this.ne[f].type === m && t.bk++;
		t.Um = xb;
		h = a[3];
		if (t.Re)
			Qa(t.ea);
		else {
			t.ea = {};
			if ("undefined" !== typeof cr_is_preview)
				for (t.ay = [], t.ay.length = h.length, f = 0, g = h.length; f < g; f++)
					t.ay[f] = h[f][1];
			t.Xc = [];
			t.Xc.length = h.length
		}
		f = 0;
		for (g = h.length; f < g; f++)
			t.Xc[f] = h[f][0];
		if (p) {
			var G = a[0];
			t.x = ia(d) ? G[0] : d;
			t.y = ia(e) ? G[1] : e;
			t.z = G[2];
			t.width = G[3];
			t.height = G[4];
			t.depth = G[5];
			t.L = G[6];
			t.opacity = G[7];
			t.oe = G[8];
			t.pe = G[9];
			t.me = G[10];
			f = G[11];
			!this.qa && m.Ea.length && (t.me = f);
			t.Gm = Ya(t.me);
			this.ca && ab(t, t.me, this.ca);
			if (t.Re) {
				f = 0;
				for (g = G[12].length; f < g; f++)
					for (h = 0, n = G[12][f].length; h < n; h++)
						t.mc[f][h] = G[12][f][h];
				t.hb.set(0, 0, 0, 0);
				t.Ii.set(0, 0, -1, -1);
				t.Wb.$n(t.hb);
				t.zs.length = 0
			} else {
				t.mc = G[12].slice(0);
				f = 0;
				for (g = t.mc.length; f < g; f++)
					t.mc[f] = G[12][f].slice(0);
				t.nb = [];
				t.yi = [];
				t.yi.length =
					m.Ea.length;
				t.hb = new va(0, 0, 0, 0);
				t.Ii = new va(0, 0, -1, -1);
				t.Wb = new wa;
				t.zs = [];
				t.ka = Bb;
				t.YG = Cb;
				t.Fe = Db;
				t.Ta = Eb;
				t.bA = Fb;
				t.df = Gb
			}
			t.ii = !1;
			t.DF = 0;
			t.CF = 0;
			t.BF = null;
			14 === G.length && (t.ii = !0, t.DF = G[13][0], t.CF = G[13][1], t.BF = G[13][2]);
			f = 0;
			for (g = m.Ea.length; f < g; f++)
				t.yi[f] = !0;
			t.li = Hb;
			t.li();
			t.dA = !!t.nb.length;
			t.ys = !0;
			t.As = !0;
			m.Xo = !0;
			t.visible = !0;
			t.Jn = -1;
			t.T = b;
			t.Hk = b.G.length;
			"undefined" === typeof t.Oa && (t.Oa = null);
			this.qb = t.wf = !0
		}
		t.toString = yb;
		var Q;
		f = l.length = 0;
		for (g = m.Xb.length; f < g; f++)
			l.push.apply(l, m.Xb[f].Ic);
		l.push.apply(l, m.Ic);
		if (t.Re)
			for (f = 0, g = l.length; f < g; f++) {
				var T = l[f];
				Q = t.Ia[f];
				Q.Re = !0;
				T.ba.Za.call(Q, T, t);
				G = a[4][f];
				h = 0;
				for (n = G.length; h < n; h++)
					Q.$[h] = G[h];
				Q.Ca();
				T.ba.In.add(t)
			}
		else
			for (t.Ia = [], f = 0, g = l.length; f < g; f++)
				T = l[f], Q = new T.ba.Za(T, t), Q.Re = !1, Q.$ = a[4][f].slice(0), Q.Ca(), t.Ia.push(Q), T.ba.In.add(t);
		G = a[5];
		if (t.Re)
			for (f = 0, g = G.length; f < g; f++)
				t.$[f] = G[f];
		else
			t.$ = G.slice(0);
		this.ne.push(t);
		b && (b.G.push(t), 1 !== b.Kf || 1 !== b.Lf) && (m.Yo = !0);
		this.Kq++;
		if (m.Je) {
			if (t.Je = !0, t.Re ? t.siblings.length = 0 : t.siblings =
					[], !c && !k) {
				f = 0;
				for (g = m.Ee.length; f < g; f++)
					if (m.Ee[f] !== m) {
						if (!m.Ee[f].zf)
							return null;
						t.siblings.push(this.Ki(m.Ee[f].zf, q, !1, p ? t.x : d, p ? t.y : e, !0))
					}
				f = 0;
				for (g = t.siblings.length; f < g; f++)
					for (t.siblings[f].siblings.push(t), h = 0; h < g; h++)
						f !== h && t.siblings[f].siblings.push(t.siblings[h])
			}
		} else
			t.Je = !1, t.siblings = null;
		t.Ca();
		f = 0;
		for (g = t.Ia.length; f < g; f++)
			t.Ia[f].iz && t.Ia[f].iz();
		return t
	};
	a.prototype.ht = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.mb.cb.length; b < c; b++) {
			var d = this.mb.cb[b];
			if (cb(d.name, a))
				return d
		}
		return null
	};
	a.prototype.Sm = function (a) {
		a = sa(a);
		0 > a && (a = 0);
		a >= this.mb.cb.length && (a = this.mb.cb.length - 1);
		return this.mb.cb[a]
	};
	a.prototype.Bs = function (a) {
		var b,
		c;
		b = 0;
		for (c = a.length; b < c; b++)
			a[b].Pa().gb = !0
	};
	a.prototype.Vn = function (a) {
		var b,
		c;
		b = 0;
		for (c = a.length; b < c; b++)
			a[b].Vn()
	};
	a.prototype.Wn = function (a) {
		var b,
		c;
		b = 0;
		for (c = a.length; b < c; b++)
			a[b].Wn()
	};
	a.prototype.jj = function (a) {
		var b,
		c;
		b = 0;
		for (c = a.length; b < c; b++)
			a[b].jj()
	};
	a.prototype.Zz = function (a) {
		if (a.Xo) {
			var b,
			c,
			d = a.G;
			b = 0;
			for (c = d.length; b < c; ++b)
				d[b].bA();
			d =
				this.ne;
			b = 0;
			for (c = d.length; b < c; ++b)
				d[b].type === a && d[b].bA();
			a.Xo = !1
		}
	};
	a.prototype.Kx = function (a, b, c, d) {
		var e,
		k,
		f = a ? 1 !== a.Kf || 1 !== a.Lf : !1;
		if (b.Ka)
			for (a = 0, e = b.El.length; a < e; ++a)
				k = b.El[a], f || k.Yo ? Aa(d, k.G) : (this.Zz(k), k.Fm.nz(c, d));
		else
			f || b.Yo ? Aa(d, b.G) : (this.Zz(b), b.Fm.nz(c, d))
	};
	a.prototype.xD = function (a, b, c, d) {
		var e,
		k;
		e = 0;
		for (k = b.length; e < k; ++e)
			this.Kx(a, b[e], c, d)
	};
	a.prototype.wD = function (a, b, c) {
		var d = this.Iz;
		d && this.xD(a, d.xu, b, c)
	};
	a.prototype.zF = function (a, b, c) {
		var d = a.Pa(),
		e,
		k,
		f,
		g,
		h,
		l;
		if (d.gb)
			for (d.gb =
					!1, e = d.G.length = 0, g = a.G.length; e < g; e++)
				f = a.G[e], f.Ta(), h = f.T.Ce(b, c, !0), l = f.T.Ce(b, c, !1), f.Fe(h, l) && d.G.push(f);
		else {
			e = k = 0;
			for (g = d.G.length; e < g; e++)
				f = d.G[e], f.Ta(), h = f.T.Ce(b, c, !0), l = f.T.Ce(b, c, !1), f.Fe(h, l) && (d.G[k] = d.G[e], k++);
			d.G.length = k
		}
		a.bg();
		return d.ot()
	};
	a.prototype.Dk = function (a, b) {
		if (!(a && b && a !== b && a.wf && b.wf))
			return !1;
		a.Ta();
		b.Ta();
		var c = a.T,
		d = b.T,
		e,
		k,
		f,
		g,
		h,
		l,
		n,
		m;
		if (c === d || c.Kf === d.Kf && d.Lf === d.Lf && c.scale === d.scale && c.L === d.L && c.yg === d.yg) {
			if (!a.hb.SD(b.hb) || !a.Wb.by(b.Wb) || a.ii && b.ii)
				return !1;
			if (a.ii)
				return this.Nz(a, b);
			if (b.ii)
				return this.Nz(b, a);
			n = a.Oa && !a.Oa.gk();
			e = b.Oa && !b.Oa.gk();
			if (!n && !e)
				return !0;
			n ? (a.Oa.Oj(a.width, a.height, a.L), n = a.Oa) : (this.vg.Ql(a.Wb, a.x, a.y, a.width, a.height), n = this.vg);
			e ? (b.Oa.Oj(b.width, b.height, b.L), m = b.Oa) : (this.vg.Ql(b.Wb, b.x, b.y, b.width, b.height), m = this.vg);
			return n.Zm(m, b.x - a.x, b.y - a.y)
		}
		n = a.Oa && !a.Oa.gk();
		e = b.Oa && !b.Oa.gk();
		n ? (a.Oa.Oj(a.width, a.height, a.L), this.vg.Cz(a.Oa)) : this.vg.Ql(a.Wb, a.x, a.y, a.width, a.height);
		n = this.vg;
		e ? (b.Oa.Oj(b.width, b.height,
				b.L), this.rv.Cz(b.Oa)) : this.rv.Ql(b.Wb, b.x, b.y, b.width, b.height);
		m = this.rv;
		e = 0;
		for (k = n.nf; e < k; e++)
			f = 2 * e, g = f + 1, h = n.Ec[f], l = n.Ec[g], n.Ec[f] = c.ae(h + a.x, l + a.y, !0), n.Ec[g] = c.ae(h + a.x, l + a.y, !1);
		n.Ta();
		e = 0;
		for (k = m.nf; e < k; e++)
			f = 2 * e, g = f + 1, h = m.Ec[f], l = m.Ec[g], m.Ec[f] = d.ae(h + b.x, l + b.y, !0), m.Ec[g] = d.ae(h + b.x, l + b.y, !1);
		m.Ta();
		return n.Zm(m, 0, 0)
	};
	var n = new wa;
	new va(0, 0, 0, 0);
	var k = [];
	a.prototype.Nz = function (a, b) {
		var c,
		d,
		e,
		f,
		g = b.hb,
		h = a.x,
		l = a.y;
		a.eH(g, k);
		var m = b.Oa && !b.Oa.gk();
		c = 0;
		for (d = k.length; c < d; ++c)
			if (e = k[c],
				f = e.eF, g.TD(f, h, l) && (n.$n(f), n.offset(h, l), n.by(b.Wb)))
				if (m)
					if (b.Oa.Oj(b.width, b.height, b.L), e.ah) {
						if (e.ah.Zm(b.Oa, b.x - (h + f.left), b.y - (l + f.top)))
							return k.length = 0, !0
					} else {
						if (this.vg.Ql(n, 0, 0, f.right - f.left, f.bottom - f.top), this.vg.Zm(b.Oa, b.x, b.y))
							return k.length = 0, !0
					}
				else if (e.ah) {
					if (this.vg.Ql(b.Wb, 0, 0, b.width, b.height), e.ah.Zm(this.vg,  - (h + f.left),  - (l + f.top)))
						return k.length = 0, !0
				} else
					return k.length = 0, !0;
		k.length = 0;
		return !1
	};
	a.prototype.Uz = function (a, b) {
		if (!b)
			return !1;
		var c,
		d,
		e,
		k,
		f;
		c = 0;
		for (d = a.Ic.length; c <
			d; c++)
			if (a.Ic[c].ba instanceof b)
				return !0;
		if (!a.Ka)
			for (c = 0, d = a.Xb.length; c < d; c++)
				for (f = a.Xb[c], e = 0, k = f.Ic.length; e < k; e++)
					if (f.Ic[e].ba instanceof b)
						return !0;
		return !1
	};
	a.prototype.Vz = function (a) {
		return this.Uz(a, Zb.uG)
	};
	a.prototype.yv = function (a) {
		return this.Uz(a, Zb.vG)
	};
	var p = [];
	a.prototype.Ek = function (a) {
		var b,
		c,
		d;
		a.Ta();
		this.wD(a.T, a.hb, p);
		b = 0;
		for (c = p.length; b < c; ++b)
			if (d = p[b], d.ea.oH && this.Dk(a, d))
				return p.length = 0, d;
		p.length = 0;
		return null
	};
	a.prototype.cF = function (a, b, c, d) {
		d = d || 50;
		var e = a.x,
		k = a.y,
		f,
		g = null,
		h = null;
		for (f = 0; f < d; f++)
			if (a.x = e + b * f, a.y = k + c * f, a.ka(), !this.Dk(a, g) && ((g = this.Ek(a)) && (h = g), !g && !g))
				return h && this.$E(a, b, c, h), !0;
		a.x = e;
		a.y = k;
		a.ka();
		return !1
	};
	a.prototype.$E = function (a, b, c, d) {
		var e = 2,
		k,
		f = !1;
		k = !1;
		for (var g = a.x, h = a.y; 16 >= e; )
			k = 1 / e, e *= 2, a.x += b * k * (f ? 1 : -1), a.y += c * k * (f ? 1 : -1), a.ka(), this.Dk(a, d) ? k = f = !0 : (k = f = !1, g = a.x, h = a.y);
		k && (a.x = g, a.y = h, a.ka())
	};
	a.prototype.dF = function (a) {
		var b = 0,
		c = a.x,
		d = a.y,
		e = 0,
		k = 0,
		f = 0,
		g = this.Ek(a);
		if (g) {
			for (; 100 >= b; ) {
				switch (e) {
				case 0:
					k = 0;
					f = -1;
					b++;
					break;
				case 1:
					k =
						1;
					f = -1;
					break;
				case 2:
					k = 1;
					f = 0;
					break;
				case 3:
					f = k = 1;
					break;
				case 4:
					k = 0;
					f = 1;
					break;
				case 5:
					k = -1;
					f = 1;
					break;
				case 6:
					k = -1;
					f = 0;
					break;
				case 7:
					f = k = -1
				}
				e = (e + 1) % 8;
				a.x = sa(c + k * b);
				a.y = sa(d + f * b);
				a.ka();
				if (!this.Dk(a, g) && (g = this.Ek(a), !g))
					return
			}
			a.x = c;
			a.y = d;
			a.ka()
		}
	};
	a.prototype.rz = function (a, b) {
		a.wf && b.wf && this.Zq.push([a, b])
	};
	a.prototype.$B = function (a, b) {
		var c,
		d,
		e;
		c = 0;
		for (d = this.Zq.length; c < d; c++)
			if (e = this.Zq[c], e[0] == a && e[1] == b || e[0] == b && e[1] == a)
				return !0;
		return !1
	};
	a.prototype.WB = function (a, b, c) {
		var d = a.x,
		e = a.y,
		k = oa(10, Na(b,
					c, d, e)),
		f = Ia(b, c, d, e),
		g = this.Ek(a);
		if (!g)
			return Fa(f + qa);
		var h = g,
		l,
		n,
		m,
		p,
		q = Ca(5);
		for (l = 1; 36 > l; l++)
			if (n = f - l * q, a.x = b + Math.cos(n) * k, a.y = c + Math.sin(n) * k, a.ka(), !this.Dk(a, h) && (h = this.Ek(a), !h)) {
				m = n;
				break
			}
		36 === l && (m = Fa(f + qa));
		h = g;
		for (l = 1; 36 > l; l++)
			if (n = f + l * q, a.x = b + Math.cos(n) * k, a.y = c + Math.sin(n) * k, a.ka(), !this.Dk(a, h) && (h = this.Ek(a), !h)) {
				p = n;
				break
			}
		36 === l && (p = Fa(f + qa));
		a.x = d;
		a.y = e;
		a.ka();
		if (p === m)
			return p;
		a = Ja(p, m) / 2;
		a = La(p, m) ? Fa(m + a + qa) : Fa(p + a);
		m = Math.cos(f);
		f = Math.sin(f);
		p = Math.cos(a);
		a = Math.sin(a);
		b =
			m * p + f * a;
		return Ia(0, 0, m - 2 * b * p, f - 2 * b * a)
	};
	var q = -1;
	a.prototype.trigger = function (a, b, c) {
		if (!this.mb)
			return !1;
		var d = this.mb.Xj;
		if (!d)
			return !1;
		var e = !1,
		k,
		f,
		g;
		q++;
		var h = d.Ns;
		f = 0;
		for (g = h.length; f < g; ++f)
			k = this.Rz(a, b, h[f], c), e = e || k;
		k = this.Rz(a, b, d, c);
		q--;
		return e || k
	};
	a.prototype.Rz = function (a, b, c, d) {
		var e = !1,
		k,
		f,
		g,
		h;
		if (b)
			for (g = this.wv(a, b, b.type.name, c, d), e = e || g, h = b.type.Xb, k = 0, f = h.length; k < f; ++k)
				g = this.wv(a, b, h[k].name, c, d), e = e || g;
		else
			g = this.wv(a, b, "system", c, d), e = e || g;
		return e
	};
	a.prototype.wv = function (a,
		b, c, d, e) {
		var k,
		f = !1,
		g = !1,
		g = "undefined" !== typeof e,
		h = (g ? d.Dx : d.Sz)[c];
		if (!h)
			return f;
		var l = null;
		d = 0;
		for (k = h.length; d < k; ++d)
			if (h[d].method == a) {
				l = h[d].Jm;
				break
			}
		if (!l)
			return f;
		a = g ? l[e] : l;
		if (!a)
			return null;
		d = 0;
		for (k = a.length; d < k; d++)
			e = a[d][0], g = a[d][1], g = this.fD(b, c, e, g), f = f || g;
		return f
	};
	a.prototype.fD = function (a, b, c, d) {
		var e,
		k,
		f = !1;
		this.xv++;
		var g = this.zd().xd;
		g && this.Vn(g.oj);
		var h = 1 < this.xv;
		this.Vn(c.oj);
		h && this.aF();
		var l = this.Uq(c);
		l.xd = c;
		a && (e = this.types[b].Pa(), e.gb = !1, e.G.length = 1, e.G[0] = a, this.types[b].bg());
		a = !0;
		if (c.parent) {
			b = l.Mz;
			for (e = c.parent; e; )
				b.push(e), e = e.parent;
			b.reverse();
			e = 0;
			for (k = b.length; e < k; e++)
				if (!b[e].jF()) {
					a = !1;
					break
				}
		}
		a && (this.Jp++, c.qg ? c.iF(d) : c.Qc(), f = f || l.jk);
		this.Qq();
		h && this.VE();
		this.jj(c.oj);
		g && this.jj(g.oj);
		0 !== this.gg || 0 !== q || this.Ct || this.Jg.fg() && !this.ne.length || this.Gd();
		this.xv--;
		return f
	};
	a.prototype.Tp = function () {
		var a = this.zd();
		return a.xd.Uc[a.Jc]
	};
	a.prototype.aF = function () {
		this.zq++;
		this.zq >= this.Xt.length && this.Xt.push([])
	};
	a.prototype.VE = function () {
		this.zq--
	};
	a.prototype.Lx =
	function () {
		return this.Xt[this.zq]
	};
	a.prototype.Uq = function (a) {
		this.Ip++;
		this.Ip >= this.Rs.length && this.Rs.push(new Ib);
		var b = this.zd();
		b.reset(a);
		return b
	};
	a.prototype.Qq = function () {
		this.Ip--
	};
	a.prototype.zd = function () {
		return this.Rs[this.Ip]
	};
	a.prototype.bF = function () {
		this.Aq++;
		this.Aq >= this.Zt.length && this.Zt.push(ca({
				name : void 0,
				index : 0,
				je : !1
			}));
		var a = this.nD();
		a.name = void 0;
		a.index = 0;
		a.je = !1;
		return a
	};
	a.prototype.WE = function () {
		this.Aq--
	};
	a.prototype.nD = function () {
		return this.Zt[this.Aq]
	};
	a.prototype.Mx =
	function (a, b) {
		for (var c, d, e, k, f, g; b; ) {
			c = 0;
			for (d = b.Qf.length; c < d; c++)
				if (g = b.Qf[c], g instanceof Jb && cb(a, g.name))
					return g;
			b = b.parent
		}
		c = 0;
		for (d = this.Eh.length; c < d; c++)
			for (f = this.Eh[c], e = 0, k = f.Oi.length; e < k; e++)
				if (g = f.Oi[e], g instanceof Jb && cb(a, g.name))
					return g;
		return null
	};
	a.prototype.Px = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.jg.length; b < c; b++)
			if (this.jg[b].Wa === a)
				return this.jg[b];
		return null
	};
	a.prototype.Xp = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.da.length; b < c; b++)
			if (this.da[b].Wa === a)
				return this.da[b];
		return null
	};
	a.prototype.oD = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.Ai.length; b < c; b++)
			if (this.Ai[b].Wa === a)
				return this.Ai[b];
		return null
	};
	a.prototype.ND = function () {
		var a = this,
		c = this.bv,
		k = this.Oh,
		f = this.vq,
		g = !1;
		this.Hz && (g = !0, c = "__c2_continuouspreview", this.Hz = !1);
		if (c.length) {
			this.Gd();
			k = this.oF();
			if (window.indexedDB && !this.Df)
				b(c, k, function () {
					fa("Saved state to IndexedDB storage (" + k.length + " bytes)");
					a.Oh = k;
					a.trigger(B.prototype.B.cs, null);
					a.Oh = "";
					g && e()
				}, function (b) {
					try {
						localStorage.setItem("__c2save_" + c, k),
						fa("Saved state to WebStorage (" +
							k.length + " bytes)"),
						a.Oh = k,
						a.trigger(B.prototype.B.cs, null),
						a.Oh = "",
						g && e()
					} catch (d) {
						fa("Failed to save game state: " + b + "; " + d)
					}
				});
			else
				try {
					localStorage.setItem("__c2save_" + c, k),
					fa("Saved state to WebStorage (" + k.length + " bytes)"),
					a.Oh = k,
					this.trigger(B.prototype.B.cs, null),
					a.Oh = "",
					g && e()
				} catch (h) {
					fa("Error saving to WebStorage: " + h)
				}
			this.de = this.vq = this.bv = ""
		}
		f.length && (window.indexedDB && !this.Df ? d(f, function (b) {
				b ? (a.de = b, fa("Loaded state from IndexedDB storage (" + a.de.length + " bytes)")) : (a.de = localStorage.getItem("__c2save_" +
							f) || "", fa("Loaded state from WebStorage (" + a.de.length + " bytes)"));
				a.eo = !1;
				a.de.length || a.trigger(B.prototype.B.bs, null)
			}, function () {
				a.de = localStorage.getItem("__c2save_" + f) || "";
				fa("Loaded state from WebStorage (" + a.de.length + " bytes)");
				a.eo = !1;
				a.de.length || a.trigger(B.prototype.B.bs, null)
			}) : (this.de = localStorage.getItem("__c2save_" + f) || "", fa("Loaded state from WebStorage (" + this.de.length + " bytes)"), this.eo = !1, a.de.length || a.trigger(B.prototype.B.bs, null)), this.bv = this.vq = "");
		this.de.length && (this.Gd(),
			this.hE(this.de), this.Oh = this.de, this.trigger(B.prototype.B.QA, null), this.de = this.Oh = "")
	};
	a.prototype.oF = function () {
		var a,
		b,
		c,
		d,
		e,
		k,
		g,
		h = {
			c2save : !0,
			version : 1,
			rt : {
				time : this.Ke.Cb,
				timescale : this.ji,
				tickcount : this.hi,
				execcount : this.Jp,
				next_uid : this.Kn,
				running_layout : this.mb.Wa,
				start_time_offset : Date.now() - this.lr
			},
			types : {},
			layouts : {},
			events : {
				groups : {},
				cnds : {},
				acts : {},
				vars : {}

			}
		};
		a = 0;
		for (b = this.da.length; a < b; a++)
			if (e = this.da[a], !e.Ka && !this.Vz(e)) {
				k = {
					instances : []
				};
				Pa(e.ea) && (k.ex = f(e.ea));
				c = 0;
				for (d = e.G.length; c <
					d; c++)
					k.instances.push(this.av(e.G[c]));
				h.types[e.Wa.toString()] = k
			}
		a = 0;
		for (b = this.jg.length; a < b; a++)
			c = this.jg[a], h.layouts[c.Wa.toString()] = c.Zc();
		d = h.events.groups;
		a = 0;
		for (b = this.Ai.length; a < b; a++)
			c = this.Ai[a], d[c.Wa.toString()] = this.aq[c.Vm].gl;
		b = h.events.cnds;
		for (g in this.al)
			this.al.hasOwnProperty(g) && (a = this.al[g], Pa(a.ea) && (b[g] = {
						ex : f(a.ea)
					}));
		b = h.events.acts;
		for (g in this.Xk)
			this.Xk.hasOwnProperty(g) && (a = this.Xk[g], Pa(a.ea) && (b[g] = {
						ex : a.ea
					}));
		b = h.events.vars;
		for (g in this.Xl)
			this.Xl.hasOwnProperty(g) &&
			(a = this.Xl[g], a.jq || a.parent && !a.en || (b[g] = a.data));
		h.system = this.ih.Zc();
		return JSON.stringify(h)
	};
	a.prototype.qz = function () {
		var a,
		b,
		c,
		d,
		e,
		k;
		this.gj = {};
		a = 0;
		for (b = this.da.length; a < b; a++)
			if (c = this.da[a], !c.Ka)
				for (d = 0, e = c.G.length; d < e; d++)
					k = c.G[d], this.gj[k.uid.toString()] = k
	};
	a.prototype.hE = function (a) {
		a = JSON.parse(a);
		if (a.c2save && !(1 < a.version)) {
			var b = a.rt;
			this.Ke.reset();
			this.Ke.Cb = b.time;
			this.ji = b.timescale;
			this.hi = b.tickcount;
			this.lr = Date.now() - b.start_time_offset;
			var c = b.running_layout;
			if (c !==
				this.mb.Wa)
				if (c = this.Px(c))
					this.yx(c);
				else
					return;
			var d,
			e,
			k,
			f,
			g,
			h,
			l;
			h = a.types;
			for (e in h)
				if (h.hasOwnProperty(e) && (f = this.Xp(parseInt(e, 10))) && !f.Ka && !this.Vz(f)) {
					h[e].ex ? f.ea = h[e].ex : Qa(f.ea);
					g = f.G;
					k = h[e].instances;
					c = 0;
					for (d = pa(g.length, k.length); c < d; c++)
						this.wq(g[c], k[c]);
					c = k.length;
					for (d = g.length; c < d; c++)
						this.pi(g[c]);
					c = g.length;
					for (d = k.length; c < d; c++) {
						g = null;
						if (f.ec.Vi && (g = this.mb.Wp(k[c].w.l), !g))
							continue;
						g = this.Ki(f.zf, g, !1, 0, 0, !0);
						this.wq(g, k[c])
					}
					f.Sl = !0
				}
			this.Gd();
			this.qz();
			d = a.layouts;
			for (e in d)
				d.hasOwnProperty(e) &&
				(c = this.Px(parseInt(e, 10))) && c.Ad(d[e]);
			d = a.events.groups;
			for (e in d)
				d.hasOwnProperty(e) && (c = this.oD(parseInt(e, 10))) && this.aq[c.Vm] && (this.aq[c.Vm].gl = d[e]);
			c = a.events.cnds;
			for (e in c)
				c.hasOwnProperty(e) && this.al.hasOwnProperty(e) && (this.al[e].ea = c[e].ex);
			c = a.events.acts;
			for (e in c)
				c.hasOwnProperty(e) && this.Xk.hasOwnProperty(e) && (this.Xk[e].ea = c[e].ex);
			c = a.events.vars;
			for (e in c)
				c.hasOwnProperty(e) && this.Xl.hasOwnProperty(e) && (this.Xl[e].data = c[e]);
			this.Kn = b.next_uid;
			this.ih.Ad(a.system);
			c = 0;
			for (d =
					this.da.length; c < d; c++)
				if (f = this.da[c], !f.Ka)
					for (e = 0, a = f.G.length; e < a; e++) {
						g = f.G[e];
						if (f.Je)
							for (h = g.Um(), b = g.siblings.length = 0, k = f.Ee.length; b < k; b++)
								l = f.Ee[b], f !== l && g.siblings.push(l.G[h]);
						g.Gg && g.Gg();
						if (g.Ia)
							for (b = 0, k = g.Ia.length; b < k; b++)
								h = g.Ia[b], h.Gg && h.Gg()
					}
			this.qb = !0
		}
	};
	a.prototype.av = function (a, b) {
		var c,
		d,
		e,
		k,
		g;
		k = a.type;
		e = k.ec;
		var h = {};
		b ? h.c2 = !0 : h.uid = a.uid;
		Pa(a.ea) && (h.ex = f(a.ea));
		if (a.Xc && a.Xc.length)
			for (h.ivs = {}, c = 0, d = a.Xc.length; c < d; c++)
				h.ivs[a.type.xt[c].toString()] = a.Xc[c];
		if (e.Vi) {
			e = {
				x : a.x,
				y : a.y,
				w : a.width,
				h : a.height,
				l : a.T.Wa,
				zi : a.df()
			};
			0 !== a.L && (e.a = a.L);
			1 !== a.opacity && (e.o = a.opacity);
			0.5 !== a.oe && (e.hX = a.oe);
			0.5 !== a.pe && (e.hY = a.pe);
			0 !== a.me && (e.bm = a.me);
			a.visible || (e.v = a.visible);
			a.wf || (e.ce = a.wf);
			-1 !== a.Jn && (e.mts = a.Jn);
			if (k.Ea.length)
				for (e.fx = [], c = 0, d = k.Ea.length; c < d; c++)
					g = k.Ea[c], e.fx.push({
						name : g.name,
						active : a.yi[g.index],
						params : a.mc[g.index]
					});
			h.w = e
		}
		if (a.Ia && a.Ia.length)
			for (h.behs = {}, c = 0, d = a.Ia.length; c < d; c++)
				k = a.Ia[c], k.Zc && (h.behs[k.type.Wa.toString()] = k.Zc());
		a.Zc && (h.data =
				a.Zc());
		return h
	};
	a.prototype.qD = function (a, b) {
		var c,
		d;
		c = 0;
		for (d = a.xt.length; c < d; c++)
			if (a.xt[c] === b)
				return c;
		return -1
	};
	a.prototype.mD = function (a, b) {
		var c,
		d;
		c = 0;
		for (d = a.Ia.length; c < d; c++)
			if (a.Ia[c].type.Wa === b)
				return c;
		return -1
	};
	a.prototype.wq = function (a, b, c) {
		var d,
		e,
		k,
		f,
		g;
		g = a.type;
		k = g.ec;
		if (c) {
			if (!b.c2)
				return
		} else
			a.uid = b.uid;
		b.ex ? a.ea = b.ex : Qa(a.ea);
		if (e = b.ivs)
			for (d in e)
				e.hasOwnProperty(d) && (c = this.qD(g, parseInt(d, 10)), 0 > c || c >= a.Xc.length || (a.Xc[c] = e[d]));
		if (k.Vi) {
			k = b.w;
			a.T.Wa !== k.l && (c = a.T, a.T =
					this.mb.Wp(k.l), a.T ? (a.T.G.push(a), a.T.Ve = !0, Ba(c.G, a), c.Ve = !0) : (a.T = c, this.pi(a)));
			a.x = k.x;
			a.y = k.y;
			a.width = k.w;
			a.height = k.h;
			a.Hk = k.zi;
			a.L = k.hasOwnProperty("a") ? k.a : 0;
			a.opacity = k.hasOwnProperty("o") ? k.o : 1;
			a.oe = k.hasOwnProperty("hX") ? k.hX : 0.5;
			a.pe = k.hasOwnProperty("hY") ? k.hY : 0.5;
			a.visible = k.hasOwnProperty("v") ? k.v : !0;
			a.wf = k.hasOwnProperty("ce") ? k.ce : !0;
			a.Jn = k.hasOwnProperty("mts") ? k.mts : -1;
			a.me = k.hasOwnProperty("bm") ? k.bm : 0;
			a.Gm = Ya(a.me);
			this.ca && ab(a, a.me, this.ca);
			a.ka();
			if (k.hasOwnProperty("fx"))
				for (c =
						0, e = k.fx.length; c < e; c++)
					f = g.gt(k.fx[c].name), 0 > f || (a.yi[f] = k.fx[c].active, a.mc[f] = k.fx[c].params);
			a.li()
		}
		if (g = b.behs)
			for (d in g)
				g.hasOwnProperty(d) && (k = this.mD(a, parseInt(d, 10)), 0 > k || a.Ia[k].Ad(g[d]));
		b.data && a.Ad(b.data)
	};
	Nb = function (b) {
		return new a(document.getElementById(b))
	};
	Ob = function (b, c) {
		return new a({
			dc : !0,
			width : b,
			height : c
		})
	};
	window.cr_createRuntime = Nb;
	window.cr_createDCRuntime = Ob;
	window.createCocoonJSRuntime = function () {
		window.c2cocoonjs = !0;
		var b = document.createElement("screencanvas") || document.createElement("canvas");
		b.nH = !0;
		document.body.appendChild(b);
		b = new a(b);
		window.c2runtime = b;
		window.addEventListener("orientationchange", function () {
			window.c2runtime.setSize(window.innerWidth, window.innerHeight)
		});
		window.c2runtime.setSize(window.innerWidth, window.innerHeight);
		return b
	};
	window.createEjectaRuntime = function () {
		var b = new a(document.getElementById("canvas"));
		window.c2runtime = b;
		window.c2runtime.setSize(window.innerWidth, window.innerHeight);
		return b
	}
})();
window.cr_getC2Runtime = function () {
	var a = document.getElementById("c2canvas");
	return a ? a.c2runtime : window.c2runtime ? window.c2runtime : null
};
window.cr_sizeCanvas = function (a, c) {
	if (0 !== a && 0 !== c) {
		var b = window.cr_getC2Runtime();
		b && b.setSize(a, c)
	}
};
window.cr_setSuspended = function (a) {
	var c = window.cr_getC2Runtime();
	c && c.setSuspended(a)
};
(function () {
	function a(a, b) {
		this.c = a;
		this.Xj = null;
		this.scrollX = this.c.rc / 2;
		this.scrollY = this.c.qc / 2;
		this.scale = 1;
		this.L = 0;
		this.Nm = !0;
		this.name = b[0];
		this.width = b[1];
		this.height = b[2];
		this.Wz = b[3];
		this.Fz = b[4];
		this.Wa = b[5];
		var c = b[6],
		d,
		m;
		this.cb = [];
		this.Ym = [];
		d = 0;
		for (m = c.length; d < m; d++) {
			var l = new Pb(this, c[d]);
			l.Ny = d;
			this.cb.push(l)
		}
		c = b[7];
		this.dk = [];
		d = 0;
		for (m = c.length; d < m; d++) {
			var l = c[d],
			n = this.c.da[l[1]];
			n.zf || (n.zf = l);
			this.dk.push(l);
			-1 === this.Ym.indexOf(n) && this.Ym.push(n)
		}
		this.Ea = [];
		this.nb = [];
		this.mc = [];
		d = 0;
		for (m = b[8].length; d < m; d++)
			this.Ea.push({
				id : b[8][d][0],
				name : b[8][d][1],
				Cd : -1,
				lc : !0,
				index : d
			}), this.mc.push(b[8][d][2].slice(0));
		this.li();
		this.Ru = new va(0, 0, 1, 1);
		this.Su = new va(0, 0, 1, 1);
		this.hj = {}

	}
	function c(a, b) {
		this.Fb = a;
		this.c = a.c;
		this.G = [];
		this.scale = 1;
		this.L = 0;
		this.Uj = !1;
		this.ki = new va(0, 0, 0, 0);
		this.Qz = new wa;
		this.Te = this.Sd = this.Ue = this.Rd = 0;
		this.Ve = !1;
		this.name = b[0];
		this.index = b[1];
		this.Wa = b[2];
		this.visible = b[3];
		this.Ci = b[4];
		this.Gk = b[5];
		this.Kf = b[6];
		this.Lf = b[7];
		this.opacity =
			b[8];
		this.Ys = b[9];
		this.yg = b[10];
		this.me = b[11];
		this.FC = b[12];
		this.Gm = "source-over";
		this.Jd = this.Pd = 0;
		this.lj = !1;
		var c = b[13],
		d,
		m;
		this.hl = [];
		d = 0;
		for (m = c.length; d < m; d++) {
			var l = c[d],
			n = this.c.da[l[1]];
			n.zf || (n.zf = l, n.gC = this.index);
			this.hl.push(l);
			-1 === this.Fb.Ym.indexOf(n) && this.Fb.Ym.push(n)
		}
		this.Ea = [];
		this.nb = [];
		this.mc = [];
		d = 0;
		for (m = b[14].length; d < m; d++)
			this.Ea.push({
				id : b[14][d][0],
				name : b[14][d][1],
				Cd : -1,
				lc : !0,
				index : d
			}), this.mc.push(b[14][d][2].slice(0));
		this.li();
		this.Ru = new va(0, 0, 1, 1);
		this.Su = new va(0,
				0, 1, 1)
	}
	function b(a, b) {
		return a.Hk - b.Hk
	}
	a.prototype.nF = function (a) {
		var b = a.type.Wa.toString();
		this.hj.hasOwnProperty(b) || (this.hj[b] = []);
		this.hj[b].push(this.c.av(a))
	};
	a.prototype.Ux = function () {
		var a = this.cb[0];
		return !a.Gk && 1 === a.opacity && !a.Ys && a.visible
	};
	a.prototype.li = function () {
		this.nb.length = 0;
		var a,
		b,
		c;
		a = 0;
		for (b = this.Ea.length; a < b; a++)
			c = this.Ea[a], c.lc && this.nb.push(c)
	};
	a.prototype.ft = function (a) {
		var b,
		c,
		d;
		b = 0;
		for (c = this.Ea.length; b < c; b++)
			if (d = this.Ea[b], d.name === a)
				return d;
		return null
	};
	var d =
		[];
	a.prototype.pv = function () {
		this.Fz && (this.Xj = this.c.Ss[this.Fz], this.Xj.Av());
		this.c.mb = this;
		this.scrollX = this.c.rc / 2;
		this.scrollY = this.c.qc / 2;
		var a,
		c,
		g,
		h,
		m,
		l,
		n;
		a = 0;
		for (g = this.c.da.length; a < g; a++)
			if (c = this.c.da[a], !c.Ka)
				for (m = c.G, c = 0, h = m.length; c < h; c++)
					if (l = m[c], l.T) {
						var k = l.T.Ny;
						k >= this.cb.length && (k = this.cb.length - 1);
						l.T = this.cb[k];
						l.T.G.push(l);
						l.T.Ve = !0
					}
		d.length = 0;
		this.TB();
		a = 0;
		for (g = this.cb.length; a < g; a++)
			l = this.cb[a], l.eC(), l.Uj = !0, c = l.Ce(0, 0, !0, !0), h = l.Ce(0, 0, !1, !0), l.Uj = !1, this.c.ij && (c =
					c + 0.5 | 0, h = h + 0.5 | 0), l.Yu(c, h, null);
		m = !1;
		if (!this.Nm) {
			for (n in this.hj)
				if (this.hj.hasOwnProperty(n) && (c = this.c.Xp(parseInt(n, 10))) && !c.Ka && this.c.yv(c)) {
					h = this.hj[n];
					a = 0;
					for (g = h.length; a < g; a++) {
						l = null;
						if (c.ec.Vi && (l = this.Wp(h[a].w.l), !l))
							continue;
						l = this.c.Ki(c.zf, l, !1, 0, 0, !0);
						this.c.wq(l, h[a]);
						m = !0;
						d.push(l)
					}
					h.length = 0
				}
			a = 0;
			for (g = this.cb.length; a < g; a++)
				this.cb[a].G.sort(b), this.cb[a].Ve = !0
		}
		m && (this.c.Gd(), this.c.qz());
		for (a = 0; a < d.length; a++)
			if (l = d[a], l.type.Je)
				for (g = l.Um(), c = 0, h = l.type.Ee.length; c < h; c++)
					n =
						l.type.Ee[c], l.type !== n && (n.G.length > g ? l.siblings.push(n.G[g]) : n.zf && (m = this.c.Ki(n.zf, l.T, !0, l.x, l.y, !0), this.c.Gd(), n.Ar(), l.siblings.push(m), d.push(m)));
		a = 0;
		for (g = this.dk.length; a < g; a++)
			this.c.Ki(this.dk[a], null, !0);
		this.c.Qj = null;
		this.c.Gd();
		if (this.c.Eb && !this.c.jd)
			for (a = 0, g = this.c.da.length; a < g; a++)
				n = this.c.da[a], !n.Ka && n.G.length && n.Mu && n.Mu(this.c.Eb);
		a = 0;
		for (g = d.length; a < g; a++)
			l = d[a], this.c.trigger(Object.getPrototypeOf(l.type.ec).B.$r, l);
		d.length = 0;
		this.c.trigger(B.prototype.B.ti, null);
		this.Nm = !1
	};
	a.prototype.dC = function () {
		var a,
		b,
		c,
		d,
		m;
		b = a = 0;
		for (c = this.dk.length; a < c; a++)
			d = this.dk[a], m = this.c.da[d[1]], m.global ? this.c.Ki(d, null, !0) : (this.dk[b] = d, b++);
		this.dk.length = b
	};
	a.prototype.wF = function () {
		this.c.trigger(B.prototype.B.PA, null);
		this.c.ih.ve.length = 0;
		var a,
		b,
		c,
		d,
		m,
		l;
		a = 0;
		for (b = this.cb.length; a < b; a++) {
			m = this.cb[a].G;
			c = 0;
			for (d = m.length; c < d; c++)
				l = m[c], l.type.global || (this.c.yv(l.type) && this.nF(l), this.c.pi(l));
			this.c.Gd();
			m.length = 0;
			this.cb[a].Ve = !0
		}
		a = 0;
		for (b = this.c.da.length; a < b; a++)
			if (m =
					this.c.da[a], !(m.global || m.ec.Vi || m.ec.jr || m.Ka)) {
				c = 0;
				for (d = m.G.length; c < d; c++)
					this.c.pi(m.G[c]);
				this.c.Gd()
			}
	};
	a.prototype.Li = function (a) {
		var b,
		c = a,
		d = !1,
		m = !this.c.Bf;
		m && (this.c.uq || (this.c.uq = document.createElement("canvas"), b = this.c.uq, b.width = this.c.Va, b.height = this.c.Ua, this.c.uy = b.getContext("2d"), d = !0), b = this.c.uq, c = this.c.uy, b.width !== this.c.Va && (b.width = this.c.Va, d = !0), b.height !== this.c.Ua && (b.height = this.c.Ua, d = !0), d && (c.webkitImageSmoothingEnabled = this.c.ub, c.mozImageSmoothingEnabled = this.c.ub,
				c.msImageSmoothingEnabled = this.c.ub, c.imageSmoothingEnabled = this.c.ub));
		c.globalAlpha = 1;
		c.globalCompositeOperation = "source-over";
		this.c.vs && !this.Ux() && c.clearRect(0, 0, this.c.Va, this.c.Ua);
		var l,
		n,
		d = 0;
		for (l = this.cb.length; d < l; d++)
			n = this.cb[d], n.visible && 0 < n.opacity && 11 !== n.me && n.Li(c);
		m && a.drawImage(b, 0, 0, this.c.width, this.c.height)
	};
	a.prototype.dg = function (a) {
		var b = 0 < this.nb.length || this.c.Vl || !this.c.Bf;
		if (b) {
			this.c.Me || (this.c.Me = a.Ji(this.c.Va, this.c.Ua, this.c.ub));
			if (this.c.Me.Em !== this.c.Va ||
				this.c.Me.Dm !== this.c.Ua)
				a.deleteTexture(this.c.Me), this.c.Me = a.Ji(this.c.Va, this.c.Ua, this.c.ub);
			a.gh(this.c.Me);
			this.c.Bf || a.Ol(this.c.Va, this.c.Ua)
		} else
			this.c.Me && (a.gh(null), a.deleteTexture(this.c.Me), this.c.Me = null);
		this.c.vs && !this.Ux() && a.clear(0, 0, 0, 0);
		var c,
		d;
		c = 0;
		for (d = this.cb.length; c < d; c++)
			this.cb[c].visible && 0 < this.cb[c].opacity && this.cb[c].dg(a);
		b && (0 === this.nb.length || 1 === this.nb.length && this.c.Bf ? (1 === this.nb.length ? (b = this.nb[0].index, a.hh(this.nb[0].Cd), a.Nl(null, 1 / this.c.Va, 1 / this.c.Ua,
						0, 0, 1, 1, this.scale, this.L, 0, 0, this.mc[b]), a.Tq(this.nb[0].Cd) && (this.c.qb = !0)) : a.hh(0), this.c.Bf || a.Ol(this.c.width, this.c.height), a.gh(null), a.Ml(1), a.of(this.c.Me), a.yz(), a.mj(), a.vj(), b = this.c.width / 2, c = this.c.height / 2, a.Vq(-b, c, b, c, b, -c, -b, -c), a.of(null)) : this.Uu(a, null, null, null))
	};
	a.prototype.Tm = function () {
		return 0 < this.nb.length || this.c.Vl || !this.c.Bf ? this.c.Me : null
	};
	a.prototype.Qx = function () {
		var a = this.cb[0].Cf(),
		b,
		c,
		d;
		b = 1;
		for (c = this.cb.length; b < c; b++)
			d = this.cb[b], (0 !== d.Kf || 0 !== d.Lf) && d.Cf() <
			a && (a = d.Cf());
		return a
	};
	a.prototype.cv = function (a) {
		if (!this.Wz) {
			var b = this.c.Va * (1 / this.Qx()) / 2;
			a > this.width - b && (a = this.width - b);
			a < b && (a = b)
		}
		this.scrollX !== a && (this.scrollX = a, this.c.qb = !0)
	};
	a.prototype.dv = function (a) {
		if (!this.Wz) {
			var b = this.c.Ua * (1 / this.Qx()) / 2;
			a > this.height - b && (a = this.height - b);
			a < b && (a = b)
		}
		this.scrollY !== a && (this.scrollY = a, this.c.qb = !0)
	};
	a.prototype.TB = function () {
		this.cv(this.scrollX);
		this.dv(this.scrollY)
	};
	a.prototype.Uu = function (a, b, c, d) {
		var m = c ? c.nb : b ? b.nb : this.nb,
		l = 1,
		n = 0,
		k = 0,
		p =
			0;
		c ? (l = c.T.Cf(), n = c.T.Nc(), k = c.T.Rd, p = c.T.Sd) : b && (l = b.Cf(), n = b.Nc(), k = b.Rd, p = b.Sd);
		var q = this.c.bt,
		r,
		v,
		u,
		y,
		F = 0,
		H = 1,
		J,
		A = this.c.Va,
		C = this.c.Ua,
		I = A / 2,
		D = C / 2,
		P = b ? b.Ru : this.Ru,
		L = b ? b.Su : this.Su,
		t = 0,
		G = 0,
		Q = 0,
		T = 0,
		S = A,
		K = A,
		M = C,
		Z = C,
		Y = u = 0,
		N = c ? c.T.Nc() : 0;
		if (c) {
			r = 0;
			for (v = m.length; r < v; r++)
				u += a.tD(m[r].Cd), Y += a.uD(m[r].Cd);
			y = c.hb;
			t = b.ae(y.left, y.top, !0, !0);
			Q = b.ae(y.left, y.top, !1, !0);
			S = b.ae(y.right, y.bottom, !0, !0);
			M = b.ae(y.right, y.bottom, !1, !0);
			0 !== N && (r = b.ae(y.right, y.top, !0, !0), v = b.ae(y.right, y.top, !1, !0), G = b.ae(y.left,
						y.bottom, !0, !0), T = b.ae(y.left, y.bottom, !1, !0), y = Math.min(t, S, r, G), S = Math.max(t, S, r, G), t = y, y = Math.min(Q, M, v, T), M = Math.max(Q, M, v, T), Q = y);
			t -= u;
			Q -= Y;
			S += u;
			M += Y;
			L.left = t / A;
			L.top = 1 - Q / C;
			L.right = S / A;
			L.bottom = 1 - M / C;
			G = t = sa(t);
			T = Q = sa(Q);
			K = S = ta(S);
			Z = M = ta(M);
			G -= u;
			T -= Y;
			K += u;
			Z += Y;
			0 > t && (t = 0);
			0 > Q && (Q = 0);
			S > A && (S = A);
			M > C && (M = C);
			0 > G && (G = 0);
			0 > T && (T = 0);
			K > A && (K = A);
			Z > C && (Z = C);
			P.left = t / A;
			P.top = 1 - Q / C;
			P.right = S / A;
			P.bottom = 1 - M / C
		} else
			P.left = L.left = 0, P.top = L.top = 0, P.right = L.right = 1, P.bottom = L.bottom = 1;
		Y = c && ((c.L || N) && a.Un(m[0].Cd) ||
				0 !== u || 0 !== Y || 1 !== c.opacity || c.type.ec.Ky) || b && !c && 1 !== b.opacity;
		a.yz();
		if (Y) {
			q[F] || (q[F] = a.Ji(A, C, this.c.ub));
			if (q[F].Em !== A || q[F].Dm !== C)
				a.deleteTexture(q[F]), q[F] = a.Ji(A, C, this.c.ub);
			a.hh(0);
			a.gh(q[F]);
			J = Z - T;
			a.clearRect(G, C - T - J, K - G, J);
			c ? c.dg(a) : (a.of(this.c.ef), a.Ml(b.opacity), a.mj(), a.translate(-I, -D), a.vj(), a.kj(t, M, S, M, S, Q, t, Q, P));
			L.left = L.top = 0;
			L.right = L.bottom = 1;
			c && (y = P.top, P.top = P.bottom, P.bottom = y);
			F = 1;
			H = 0
		}
		a.Ml(1);
		u = m.length - 1;
		var N = a.Ou(m[u].Cd) || !b && !c && !this.c.Bf,
		ga = 0;
		r = 0;
		for (v = m.length; r <
			v; r++) {
			q[F] || (q[F] = a.Ji(A, C, this.c.ub));
			if (q[F].Em !== A || q[F].Dm !== C)
				a.deleteTexture(q[F]), q[F] = a.Ji(A, C, this.c.ub);
			a.hh(m[r].Cd);
			ga = m[r].index;
			a.Tq(m[r].Cd) && (this.c.qb = !0);
			0 != r || Y ? (a.Nl(d, 1 / A, 1 / C, L.left, L.top, L.right, L.bottom, l, n, k, p, c ? c.mc[ga] : b ? b.mc[ga] : this.mc[ga]), a.of(null), r !== u || N ? (a.gh(q[F]), J = Z - T, y = C - T - J, a.clearRect(G, y, K - G, J)) : (c ? a.nj(c.Pd, c.Jd) : b && a.nj(b.Pd, b.Jd), a.gh(d)), a.of(q[H]), a.mj(), a.translate(-I, -D), a.vj(), a.kj(t, M, S, M, S, Q, t, Q, P), r !== u || N || a.of(null)) : (a.gh(q[F]), J = Z - T, y = C - T -
					J, a.clearRect(G, y, K - G, J), c ? (a.Nl(d, 1 / c.width, 1 / c.height, L.left, L.top, L.right, L.bottom, l, n, k, p, c.mc[ga]), c.dg(a)) : (a.Nl(d, 1 / A, 1 / C, 0, 0, 1, 1, l, n, k, p, b ? b.mc[ga] : this.mc[ga]), a.of(b ? this.c.ef : this.c.Me), a.mj(), a.translate(-I, -D), a.vj(), a.kj(t, M, S, M, S, Q, t, Q, P)), L.left = L.top = 0, L.right = L.bottom = 1, c && !N && (y = M, M = Q, Q = y));
			F = 0 === F ? 1 : 0;
			H = 0 === F ? 1 : 0
		}
		N && (a.hh(0), c ? a.nj(c.Pd, c.Jd) : b ? a.nj(b.Pd, b.Jd) : this.c.Bf || (a.Ol(this.c.width, this.c.height), I = this.c.width / 2, D = this.c.height / 2, Q = t = 0, S = this.c.width, M = this.c.height),
			a.gh(d), a.of(q[H]), a.mj(), a.translate(-I, -D), a.vj(), c && 1 === m.length && !Y ? a.kj(t, Q, S, Q, S, M, t, M, P) : a.kj(t, M, S, M, S, Q, t, Q, P), a.of(null))
	};
	a.prototype.Wp = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.cb.length; b < c; b++)
			if (this.cb[b].Wa === a)
				return this.cb[b];
		return null
	};
	a.prototype.Zc = function () {
		var a,
		b,
		c,
		d = {
			sx : this.scrollX,
			sy : this.scrollY,
			s : this.scale,
			a : this.L,
			w : this.width,
			h : this.height,
			fv : this.Nm,
			persist : this.hj,
			fx : [],
			layers : {}

		};
		a = 0;
		for (b = this.Ea.length; a < b; a++)
			c = this.Ea[a], d.fx.push({
				name : c.name,
				active : c.lc,
				params : this.mc[c.index]
			});
		a = 0;
		for (b = this.cb.length; a < b; a++)
			c = this.cb[a], d.layers[c.Wa.toString()] = c.Zc();
		return d
	};
	a.prototype.Ad = function (a) {
		var b,
		c,
		d,
		m;
		this.scrollX = a.sx;
		this.scrollY = a.sy;
		this.scale = a.s;
		this.L = a.a;
		this.width = a.w;
		this.height = a.h;
		this.hj = a.persist;
		"undefined" !== typeof a.fv && (this.Nm = a.fv);
		var l = a.fx;
		b = 0;
		for (c = l.length; b < c; b++)
			if (d = this.ft(l[b].name))
				d.lc = l[b].active, this.mc[d.index] = l[b].params;
		this.li();
		b = a.layers;
		for (m in b)
			b.hasOwnProperty(m) && (a = this.Wp(parseInt(m, 10))) && a.Ad(b[m])
	};
	zb = a;
	c.prototype.li =
	function () {
		this.nb.length = 0;
		var a,
		b,
		c;
		a = 0;
		for (b = this.Ea.length; a < b; a++)
			c = this.Ea[a], c.lc && this.nb.push(c)
	};
	c.prototype.ft = function (a) {
		var b,
		c,
		d;
		b = 0;
		for (c = this.Ea.length; b < c; b++)
			if (d = this.Ea[b], d.name === a)
				return d;
		return null
	};
	c.prototype.eC = function () {
		var a,
		b,
		c,
		h,
		m,
		l;
		b = a = 0;
		for (c = this.hl.length; a < c; a++) {
			h = this.hl[a];
			m = this.c.da[h[1]];
			l = this.c.yv(m);
			m = !0;
			if (!l || this.Fb.Nm)
				h = this.c.Ki(h, this, !0), d.push(h), h.type.global && (m = !1);
			m && (this.hl[b] = this.hl[a], b++)
		}
		this.hl.length = b;
		this.c.Gd();
		!this.c.qa && this.Ea.length &&
		(this.me = this.FC);
		this.Gm = Ya(this.me);
		this.c.ca && ab(this, this.me, this.c.ca)
	};
	c.prototype.GF = function () {
		if (this.Ve) {
			var a,
			b;
			a = 0;
			for (b = this.G.length; a < b; a++)
				this.G[a].Hk = a;
			this.Ve = !1
		}
	};
	c.prototype.Cf = function (a) {
		return this.rD() * (this.c.Bf || a ? this.c.Cm : 1)
	};
	c.prototype.rD = function () {
		return (this.scale * this.Fb.scale - 1) * this.yg + 1
	};
	c.prototype.Nc = function () {
		return this.Uj ? 0 : Fa(this.Fb.L + this.L)
	};
	c.prototype.Li = function (a) {
		this.lj = this.Ys || 1 !== this.opacity || 0 !== this.me;
		var b = this.c.canvas,
		c = a,
		d = !1;
		this.lj &&
		(this.c.tq || (this.c.tq = document.createElement("canvas"), b = this.c.tq, b.width = this.c.Va, b.height = this.c.Ua, this.c.ty = b.getContext("2d"), d = !0), b = this.c.tq, c = this.c.ty, b.width !== this.c.Va && (b.width = this.c.Va, d = !0), b.height !== this.c.Ua && (b.height = this.c.Ua, d = !0), d && (c.webkitImageSmoothingEnabled = this.c.ub, c.mozImageSmoothingEnabled = this.c.ub, c.msImageSmoothingEnabled = this.c.ub, c.imageSmoothingEnabled = this.c.ub), this.Gk && c.clearRect(0, 0, this.c.Va, this.c.Ua));
		c.globalAlpha = 1;
		c.globalCompositeOperation = "source-over";
		this.Gk || (c.fillStyle = "rgb(" + this.Ci[0] + "," + this.Ci[1] + "," + this.Ci[2] + ")", c.fillRect(0, 0, this.c.Va, this.c.Ua));
		c.save();
		this.Uj = !0;
		var d = this.Ce(0, 0, !0, !0),
		m = this.Ce(0, 0, !1, !0);
		this.Uj = !1;
		this.c.ij && (d = d + 0.5 | 0, m = m + 0.5 | 0);
		this.Yu(d, m, c);
		var l = this.Cf();
		c.scale(l, l);
		c.translate(-d, -m);
		for (var n, d = 0, m = this.G.length; d < m; d++)
			l = this.G[d], l.visible && 0 !== l.width && 0 !== l.height && (l.Ta(), n = l.hb, n.right < this.Rd || n.bottom < this.Sd || n.left > this.Ue || n.top > this.Te || (c.globalCompositeOperation = l.Gm, l.Li(c)));
		c.restore();
		this.lj && (a.globalCompositeOperation = this.Gm, a.globalAlpha = this.opacity, a.drawImage(b, 0, 0))
	};
	c.prototype.Yu = function (a, b, c) {
		var d = this.Cf();
		this.Rd = a;
		this.Sd = b;
		this.Ue = a + this.c.Va * (1 / d);
		this.Te = b + this.c.Ua * (1 / d);
		a = this.Nc();
		0 !== a && (c && (c.translate(this.c.Va / 2, this.c.Ua / 2), c.rotate(-a), c.translate(this.c.Va / -2, this.c.Ua / -2)), this.ki.set(this.Rd, this.Sd, this.Ue, this.Te), this.ki.offset((this.Rd + this.Ue) / -2, (this.Sd + this.Te) / -2), this.Qz.Dz(this.ki, a), this.Qz.$w(this.ki), this.ki.offset((this.Rd + this.Ue) /
				2, (this.Sd + this.Te) / 2), this.Rd = this.ki.left, this.Sd = this.ki.top, this.Ue = this.ki.right, this.Te = this.ki.bottom)
	};
	c.prototype.dg = function (a) {
		var b = this.c.Va,
		c = this.c.Ua,
		d = 0,
		m = 0;
		if (this.lj = this.Ys || 1 !== this.opacity || 0 < this.nb.length || 0 !== this.me) {
			this.c.ef || (this.c.ef = a.Ji(this.c.Va, this.c.Ua, this.c.ub));
			if (this.c.ef.Em !== this.c.Va || this.c.ef.Dm !== this.c.Ua)
				a.deleteTexture(this.c.ef), this.c.ef = a.Ji(this.c.Va, this.c.Ua, this.c.ub);
			a.gh(this.c.ef);
			this.Gk && a.clear(0, 0, 0, 0)
		}
		this.Gk || a.clear(this.Ci[0] / 255,
			this.Ci[1] / 255, this.Ci[2] / 255, 1);
		this.Uj = !0;
		var m = this.Ce(0, 0, !0, !0),
		l = this.Ce(0, 0, !1, !0);
		this.Uj = !1;
		this.c.ij && (m = m + 0.5 | 0, l = l + 0.5 | 0);
		this.Yu(m, l, null);
		l = this.Cf();
		a.mj();
		a.scale(l, l);
		a.uz(-this.Nc());
		a.translate((this.Rd + this.Ue) / -2, (this.Sd + this.Te) / -2);
		a.vj();
		var n,
		k,
		p;
		n = 0;
		for (k = this.G.length; n < k; n++)
			if (p = this.G[n], p.visible && 0 !== p.width && 0 !== p.height && (p.Ta(), d = p.hb, !(d.right < this.Rd || d.bottom < this.Sd || d.left > this.Ue || d.top > this.Te)))
				if (p.dA)
					if (d = p.nb[0].Cd, m = p.nb[0].index, 1 !== p.nb.length || a.Ou(d) ||
						a.ZE(d) || (p.L || p.T.Nc()) && a.Un(d) || 1 !== p.opacity || p.type.ec.Ky)
						this.Fb.Uu(a, this, p, this.lj ? this.c.ef : this.Fb.Tm()), a.mj(), a.scale(l, l), a.uz(-this.Nc()), a.translate((this.Rd + this.Ue) / -2, (this.Sd + this.Te) / -2), a.vj();
					else {
						a.hh(d);
						a.nj(p.Pd, p.Jd);
						a.Tq(d) && (this.c.qb = !0);
						var q = 0,
						r = 0,
						v = 0,
						u = 0;
						a.Un(d) && (d = p.hb, q = this.ae(d.left, d.top, !0, !0), r = this.ae(d.left, d.top, !1, !0), v = this.ae(d.right, d.bottom, !0, !0), d = this.ae(d.right, d.bottom, !1, !0), q /= b, r = 1 - r / c, v /= b, u = 1 - d / c);
						a.Nl(this.lj ? this.c.ef : this.Fb.Tm(), 1 / p.width,
							1 / p.height, q, r, v, u, this.Cf(), this.Nc(), this.Rd, this.Sd, p.mc[m]);
						p.dg(a)
					}
				else
					a.hh(0), a.nj(p.Pd, p.Jd), p.dg(a);
		this.lj && (d = this.nb.length ? this.nb[0].Cd : 0, m = this.nb.length ? this.nb[0].index : 0, 0 === this.nb.length || 1 === this.nb.length && !a.Ou(d) && 1 === this.opacity ? (1 === this.nb.length ? (a.hh(d), a.Nl(this.Fb.Tm(), 1 / this.c.Va, 1 / this.c.Ua, 0, 0, 1, 1, this.Cf(), this.Nc(), this.Rd, this.Sd, this.mc[m]), a.Tq(d) && (this.c.qb = !0)) : a.hh(0), a.gh(this.Fb.Tm()), a.Ml(this.opacity), a.of(this.c.ef), a.nj(this.Pd, this.Jd), a.mj(), a.vj(),
				b = this.c.Va / 2, c = this.c.Ua / 2, a.Vq(-b, c, b, c, b, -c, -b, -c), a.of(null)) : this.Fb.Uu(a, this, null, this.Fb.Tm()))
	};
	c.prototype.Ce = function (a, b, c, d) {
		var m = this.c.devicePixelRatio;
		this.c.fk && (a *= m, b *= m);
		var m = this.c.cz,
		l = this.c.dz,
		m = (this.Fb.scrollX - m) * this.Kf + m,
		l = (this.Fb.scrollY - l) * this.Lf + l,
		n = 1 / this.Cf(!d);
		d ? (m -= this.c.Va * n / 2, l -= this.c.Ua * n / 2) : (m -= this.c.width * n / 2, l -= this.c.height * n / 2);
		m += a * n;
		l += b * n;
		b = this.Nc();
		0 !== b && (m -= this.Fb.scrollX, l -= this.Fb.scrollY, a = Math.cos(b), b = Math.sin(b), d = m * a - l * b, l = l * a + m * b, m =
				d + this.Fb.scrollX, l += this.Fb.scrollY);
		return c ? m : l
	};
	c.prototype.ae = function (a, b, c, d) {
		var m = this.Nc();
		if (0 !== m) {
			a -= this.Fb.scrollX;
			b -= this.Fb.scrollY;
			var l = Math.cos(-m),
			m = Math.sin(-m),
			n = a * l - b * m;
			b = b * l + a * m;
			a = n + this.Fb.scrollX;
			b += this.Fb.scrollY
		}
		l = this.c.cz;
		m = this.c.dz;
		l = (this.Fb.scrollX - l) * this.Kf + l;
		m = (this.Fb.scrollY - m) * this.Lf + m;
		n = 1 / this.Cf(!d);
		d ? (l -= this.c.Va * n / 2, m -= this.c.Ua * n / 2) : (l -= this.c.width * n / 2, m -= this.c.height * n / 2);
		l = (a - l) / n;
		m = (b - m) / n;
		a = this.c.devicePixelRatio;
		this.c.fk && !d && (l /= a, m /= a);
		return c ?
		l : m
	};
	c.prototype.Zc = function () {
		var a,
		b,
		c,
		d = {
			s : this.scale,
			a : this.L,
			vl : this.Rd,
			vt : this.Sd,
			vr : this.Ue,
			vb : this.Te,
			v : this.visible,
			bc : this.Ci,
			t : this.Gk,
			px : this.Kf,
			py : this.Lf,
			o : this.opacity,
			zr : this.yg,
			fx : [],
			instances : []
		};
		a = 0;
		for (b = this.Ea.length; a < b; a++)
			c = this.Ea[a], d.fx.push({
				name : c.name,
				active : c.lc,
				params : this.mc[c.index]
			});
		return d
	};
	c.prototype.Ad = function (a) {
		var c,
		d;
		this.scale = a.s;
		this.L = a.a;
		this.Rd = a.vl;
		this.Sd = a.vt;
		this.Ue = a.vr;
		this.Te = a.vb;
		this.visible = a.v;
		this.Ci = a.bc;
		this.Gk = a.t;
		this.Kf = a.px;
		this.Lf =
			a.py;
		this.opacity = a.o;
		this.yg = a.zr;
		var h = a.fx;
		a = 0;
		for (c = h.length; a < c; a++)
			if (d = this.ft(h[a].name))
				d.lc = h[a].active, this.mc[d.index] = h[a].params;
		this.li();
		this.G.sort(b);
		this.Ve = !0
	};
	Pb = c
})();
(function () {
	function a(a, b) {
		var c,
		d = a.length;
		switch (d) {
		case 0:
			return !0;
		case 1:
			return a[0] === b[0];
		case 2:
			return a[0] === b[0] && a[1] === b[1];
		default:
			for (c = 0; c < d; c++)
				if (a[c] !== b[c])
					return !1;
			return !0
		}
	}
	function c(a, b) {
		return a.index - b.index
	}
	function b(b) {
		var d,
		k,
		e,
		f;
		2 === b.length ? b[0].index > b[1].index && (d = b[0], b[0] = b[1], b[1] = d) : 2 < b.length && b.sort(c);
		b.length >= q.length && (q.length = b.length + 1);
		q[b.length] || (q[b.length] = []);
		f = q[b.length];
		d = 0;
		for (k = f.length; d < k; d++)
			if (e = f[d], a(b, e))
				return e;
		f.push(b);
		return b
	}
	function d(a, b) {
		this.c = a;
		this.Sz = {};
		this.Dx = {};
		this.pt = !1;
		this.Wx = new ea;
		this.Ns = [];
		this.ws = [];
		this.name = b[0];
		var c = b[1];
		this.Oi = [];
		var d,
		k;
		d = 0;
		for (k = c.length; d < k; d++)
			this.Zx(c[d], null, this.Oi)
	}
	function e(a) {
		this.type = a;
		this.G = [];
		this.tb = [];
		this.gb = !0
	}
	function f(a, b, c) {
		this.sheet = a;
		this.parent = b;
		this.c = a.c;
		this.Ab = [];
		this.oj = [];
		this.Vx = this.tr = this.vv = this.gq = this.group = this.ov = !1;
		this.Uc = [];
		this.Zf = [];
		this.Qf = [];
		this.Vm = "";
		this.gl = this.gq = this.group = !1;
		this.tp = null;
		c[1] && (this.Vm = c[1][1].toLowerCase(),
			this.group = !0, this.gq = !!c[1][0], this.tp = [], this.gl = this.gq, this.c.Ai.push(this), this.c.aq[this.Vm] = this);
		this.qg = c[2];
		this.Wa = c[4];
		this.group || (this.c.Zw[this.Wa.toString()] = this);
		var d = c[5];
		a = 0;
		for (b = d.length; a < b; a++) {
			var k = new Qb(this, d[a]);
			k.index = a;
			this.Uc.push(k);
			this.Lw(k.type)
		}
		d = c[6];
		a = 0;
		for (b = d.length; a < b; a++)
			k = new Rb(this, d[a]), k.index = a, this.Zf.push(k);
		if (8 === c.length)
			for (c = c[7], a = 0, b = c.length; a < b; a++)
				this.sheet.Zx(c[a], this, this.Qf);
		this.kq = !1;
		this.Uc.length && (this.kq = null == this.Uc[0].type &&
				this.Uc[0].yd == B.prototype.B.wA)
	}
	function g(a, b) {
		var c,
		d,
		k;
		if (a && (-1 === b.indexOf(a) && b.push(a), a.Je))
			for (c = 0, d = a.Ee.length; c < d; c++)
				k = a.Ee[c], a !== k && -1 === b.indexOf(k) && b.push(k)
	}
	function h(a, b) {
		this.$e = a;
		this.sheet = a.sheet;
		this.c = a.c;
		this.Ga = [];
		this.Gb = [];
		this.ea = {};
		this.index = -1;
		this.Bm = !1;
		this.yd = b[1];
		this.trigger = 0 < b[3];
		this.Cx = 2 === b[3];
		this.Ph = b[4];
		this.yt = b[5];
		this.eE = b[6];
		this.Wa = b[7];
		this.c.al[this.Wa.toString()] = this;
		-1 === b[0] ? (this.type = null, this.Qc = this.$u, this.Mj = null, this.vf = -1) : (this.type =
				this.c.da[b[0]], this.Qc = this.eE ? this.kF : this.Zu, b[2] ? (this.Mj = this.type.Sp(b[2]), this.vf = this.type.dt(b[2])) : (this.Mj = null, this.vf = -1), this.$e.parent && this.$e.parent.hr());
		this.Cx && (this.Qc = this.lF);
		if (10 === b.length) {
			var c,
			d,
			k = b[9];
			c = 0;
			for (d = k.length; c < d; c++) {
				var e = new Sb(this, k[c]);
				this.Ga.push(e)
			}
			this.Gb.length = k.length
		}
	}
	function m(a, b) {
		this.$e = a;
		this.sheet = a.sheet;
		this.c = a.c;
		this.Ga = [];
		this.Gb = [];
		this.ea = {};
		this.index = -1;
		this.Bm = !1;
		this.yd = b[1];
		-1 === b[0] ? (this.type = null, this.Qc = this.$u, this.Mj =
				null, this.vf = -1) : (this.type = this.c.da[b[0]], this.Qc = this.Zu, b[2] ? (this.Mj = this.type.Sp(b[2]), this.vf = this.type.dt(b[2])) : (this.Mj = null, this.vf = -1));
		this.Wa = b[3];
		this.c.Xk[this.Wa.toString()] = this;
		if (6 === b.length) {
			var c,
			d,
			k = b[5];
			c = 0;
			for (d = k.length; c < d; c++) {
				var e = new Sb(this, k[c]);
				this.Ga.push(e)
			}
			this.Gb.length = k.length
		}
	}
	function l(a, b) {
		this.na = a;
		this.$e = a.$e;
		this.sheet = a.sheet;
		this.c = a.c;
		this.type = b[0];
		this.Lg = null;
		this.pj = 0;
		this.get = null;
		this.kx = 0;
		this.Fb = null;
		this.key = 0;
		this.object = null;
		this.index =
			0;
		this.lo = this.Ck = this.lo = this.Ck = this.Ex = this.Yj = this.no = null;
		this.Rf = !1;
		var c,
		d,
		k;
		switch (b[0]) {
		case 0:
		case 7:
			this.Lg = new Tb(this, b[1]);
			this.pj = 0;
			this.get = this.BD;
			break;
		case 1:
			this.Lg = new Tb(this, b[1]);
			this.pj = 0;
			this.get = this.CD;
			break;
		case 5:
			this.Lg = new Tb(this, b[1]);
			this.pj = 0;
			this.get = this.GD;
			break;
		case 3:
		case 8:
			this.kx = b[1];
			this.get = this.zD;
			break;
		case 6:
			this.Fb = this.c.Qt[b[1]];
			this.get = this.HD;
			break;
		case 9:
			this.key = b[1];
			this.get = this.FD;
			break;
		case 4:
			this.object = this.c.da[b[1]];
			this.get = this.ID;
			this.$e.Lw(this.object);
			this.na instanceof Rb ? this.$e.hr() : this.$e.parent && this.$e.parent.hr();
			break;
		case 10:
			this.index = b[1];
			a.type.Ka ? (this.get = this.DD, this.Rf = !0) : this.get = this.ED;
			break;
		case 11:
			this.no = b[1];
			this.Yj = null;
			this.get = this.AD;
			break;
		case 2:
		case 12:
			this.Ex = b[1];
			this.get = this.yD;
			break;
		case 13:
			for (this.get = this.JD, this.Ck = [], this.lo = [], c = 1, d = b.length; c < d; c++)
				k = new Sb(this.na, b[c]), this.Ck.push(k), this.lo.push(0)
		}
	}
	function n(a, b, c) {
		this.sheet = a;
		this.parent = b;
		this.c = a.c;
		this.Ab = [];
		this.name =
			c[1];
		this.Fv = c[2];
		this.fq = c[3];
		this.en = !!c[4];
		this.jq = !!c[5];
		this.Wa = c[6];
		this.c.Xl[this.Wa.toString()] = this;
		this.data = this.fq;
		this.parent ? (this.pk = this.en || this.jq ? -1 : this.c.uF++, this.c.JB.push(this)) : (this.pk = -1, this.c.us.push(this))
	}
	function k(a, b, c) {
		this.sheet = a;
		this.parent = b;
		this.c = a.c;
		this.Ab = [];
		this.Xm = null;
		this.PD = c[1];
		this.lc = !0
	}
	function p() {
		this.Mz = [];
		this.reset(null)
	}
	var q = [];
	d.prototype.toString = w("name");
	d.prototype.Zx = function (a, b, c) {
		switch (a[0]) {
		case 0:
			a = new Ub(this, b, a);
			if (a.qg)
				for (c.push(a),
					c = 0, b = a.Uc.length; c < b; c++)
					a.Uc[c].trigger && this.$x(a, c);
			else
				a.iy() ? this.$x(a, 0) : c.push(a);
			break;
		case 1:
			a = new Jb(this, b, a);
			c.push(a);
			break;
		case 2:
			a = new Vb(this, b, a),
			c.push(a)
		}
	};
	d.prototype.Dc = function () {
		var a,
		b;
		a = 0;
		for (b = this.Oi.length; a < b; a++)
			this.Oi[a].Dc(a < b - 1 && this.Oi[a + 1].kq)
	};
	d.prototype.Av = function () {
		this.Ns.length = 0;
		this.ws.length = 0;
		this.Kw(this);
		this.ws.length = 0
	};
	d.prototype.Kw = function (a) {
		var b,
		c,
		d,
		k,
		e = a.Ns,
		f = a.ws,
		g = this.Wx.kh();
		b = 0;
		for (c = g.length; b < c; ++b)
			d = g[b], k = d.Xm, !d.lc || a === k || -1 <
			f.indexOf(k) || (f.push(k), k.Kw(a), e.push(k))
	};
	d.prototype.Qc = function (a) {
		this.c.kH || (this.pt = !0, a || (this.c.Ct = !0));
		var b,
		c;
		b = 0;
		for (c = this.Oi.length; b < c; b++) {
			var d = this.Oi[b];
			d.Qc();
			this.c.Bs(d.Ab);
			this.c.Jg.fg() && !this.c.ne.length || this.c.Gd()
		}
		a || (this.c.Ct = !1)
	};
	d.prototype.$x = function (a, b) {
		a.qg || this.c.yr.push(a);
		var c,
		d,
		k = a.Uc[b],
		e;
		e = k.type ? k.type.name : "system";
		var f = (c = k.Cx) ? this.Dx : this.Sz;
		f[e] || (f[e] = []);
		e = f[e];
		f = k.yd;
		if (c) {
			if (k.Ga.length && (k = k.Ga[0], 1 === k.type && 2 === k.Lg.type)) {
				k = k.Lg.value.toLowerCase();
				c = 0;
				for (d = e.length; c < d; c++)
					if (e[c].method == f) {
						c = e[c].Jm;
						c[k] ? c[k].push([a, b]) : c[k] = [[a, b]];
						return
					}
				c = {};
				c[k] = [[a, b]];
				e.push({
					method : f,
					Jm : c
				})
			}
		} else {
			c = 0;
			for (d = e.length; c < d; c++)
				if (e[c].method == f) {
					e[c].Jm.push([a, b]);
					return
				}
			E && f === E.prototype.B.Uk ? e.unshift({
				method : f,
				Jm : [[a, b]]
			}) : e.push({
				method : f,
				Jm : [[a, b]]
			})
		}
	};
	Ab = d;
	e.prototype.ot = function () {
		return this.gb ? this.type.G.length : this.G.length
	};
	e.prototype.cf = function () {
		return this.gb ? this.type.G : this.G
	};
	e.prototype.Rn = function (a) {
		a && (a.c.zd().xd.qg ? (this.gb &&
				(this.G.length = 0, za(this.tb, a.type.G), this.gb = !1), a = this.tb.indexOf(a), -1 !== a && (this.G.push(this.tb[a]), this.tb.splice(a, 1))) : (this.gb = !1, this.G.length = 1, this.G[0] = a))
	};
	fb = e;
	window._c2hh_ = "FB2C235FFE3BC773CED332914335B8FF39D9F252";
	f.prototype.Dc = function (a) {
		var c,
		d = this.parent;
		if (this.group)
			for (this.tr = !0; d; ) {
				if (!d.group) {
					this.tr = !1;
					break
				}
				d = d.parent
			}
		this.vv = !this.iy() && (!this.parent || this.parent.group && this.parent.tr);
		this.Vx = !!a;
		this.oj = this.Ab.slice(0);
		for (d = this.parent; d; ) {
			a = 0;
			for (c = d.Ab.length; a <
				c; a++)
				this.HB(d.Ab[a]);
			d = d.parent
		}
		this.Ab = b(this.Ab);
		this.oj = b(this.oj);
		a = 0;
		for (c = this.Uc.length; a < c; a++)
			this.Uc[a].Dc();
		a = 0;
		for (c = this.Zf.length; a < c; a++)
			this.Zf[a].Dc();
		a = 0;
		for (c = this.Qf.length; a < c; a++)
			this.Qf[a].Dc(a < c - 1 && this.Qf[a + 1].kq)
	};
	f.prototype.qF = function (a) {
		if (this.gl !== !!a) {
			this.gl = !!a;
			var b;
			a = 0;
			for (b = this.tp.length; a < b; ++a)
				this.tp[a].Yz();
			0 < b && this.c.mb.Xj && this.c.mb.Xj.Av()
		}
	};
	f.prototype.Lw = function (a) {
		g(a, this.Ab)
	};
	f.prototype.HB = function (a) {
		g(a, this.oj)
	};
	f.prototype.hr = function () {
		this.ov =
			!0;
		this.parent && this.parent.hr()
	};
	f.prototype.iy = function () {
		return this.Uc.length ? this.Uc[0].trigger : !1
	};
	f.prototype.Qc = function () {
		var a,
		b = !1,
		c,
		d = this.c,
		k = this.c.zd();
		k.xd = this;
		var e = this.Uc;
		this.kq || (k.Qs = !1);
		if (this.qg) {
			0 === e.length && (b = !0);
			k.Jc = 0;
			for (a = e.length; k.Jc < a; k.Jc++)
				e[k.Jc].trigger || (c = e[k.Jc].Qc()) && (b = !0);
			(k.jk = b) && this.br()
		} else {
			k.Jc = 0;
			for (a = e.length; k.Jc < a; k.Jc++)
				if (c = e[k.Jc].Qc(), !c) {
					k.jk = !1;
					!this.vv || d.Jg.fg() && !d.ne.length || d.Gd();
					return
				}
			k.jk = !0;
			this.br()
		}
		this.HC(k)
	};
	f.prototype.HC =
	function (a) {
		a.jk && this.Vx && (a.Qs = !0);
		!this.vv || this.c.Jg.fg() && !this.c.ne.length || this.c.Gd()
	};
	f.prototype.iF = function (a) {
		this.c.zd().xd = this;
		this.Uc[a].Qc() && (this.br(), this.c.zd().jk = !0)
	};
	f.prototype.br = function () {
		var a = this.c.zd(),
		b;
		a.ze = 0;
		for (b = this.Zf.length; a.ze < b; a.ze++)
			if (this.Zf[a.ze].Qc())
				return;
		this.vz()
	};
	f.prototype.gF = function () {
		var a = this.c.zd(),
		b;
		for (b = this.Zf.length; a.ze < b; a.ze++)
			if (this.Zf[a.ze].Qc())
				return;
		this.vz()
	};
	f.prototype.vz = function () {
		if (this.Qf.length) {
			var a,
			b,
			c,
			d,
			k = this.Qf.length -
				1;
			this.c.Uq(this);
			if (this.ov)
				for (a = 0, b = this.Qf.length; a < b; a++)
					c = this.Qf[a], (d = !this.tr || !this.group && a < k) && this.c.Wn(c.Ab), c.Qc(), d ? this.c.jj(c.Ab) : this.c.Bs(c.Ab);
			else
				for (a = 0, b = this.Qf.length; a < b; a++)
					this.Qf[a].Qc();
			this.c.Qq()
		}
	};
	f.prototype.jF = function () {
		var a = this.c.zd();
		a.xd = this;
		var b = !1,
		c;
		a.Jc = 0;
		for (c = this.Uc.length; a.Jc < c; a.Jc++)
			if (this.Uc[a.Jc].Qc())
				b = !0;
			else if (!this.qg)
				return !1;
		return this.qg ? b : !0
	};
	f.prototype.Xu = function () {
		this.c.Jp++;
		var a = this.c.zd().Jc,
		b = this.c.Uq(this);
		if (!this.qg)
			for (b.Jc =
					a + 1, a = this.Uc.length; b.Jc < a; b.Jc++)
				if (!this.Uc[b.Jc].Qc()) {
					this.c.Qq();
					return
				}
		this.br();
		this.c.Qq()
	};
	f.prototype.YD = function (a) {
		var b = a.index;
		if (0 === b)
			return !0;
		for (--b; 0 <= b; --b)
			if (this.Uc[b].type === a.type)
				return !1;
		return !0
	};
	Ub = f;
	h.prototype.Dc = function () {
		var a,
		b,
		c;
		a = 0;
		for (b = this.Ga.length; a < b; a++)
			c = this.Ga[a], c.Dc(), c.Rf && (this.Bm = !0)
	};
	h.prototype.lF = x(!0);
	h.prototype.$u = function () {
		var a,
		b;
		a = 0;
		for (b = this.Ga.length; a < b; a++)
			this.Gb[a] = this.Ga[a].get();
		return Oa(this.yd.apply(this.c.ih, this.Gb), this.yt)
	};
	h.prototype.kF = function () {
		var a,
		b;
		a = 0;
		for (b = this.Ga.length; a < b; a++)
			this.Gb[a] = this.Ga[a].get();
		a = this.yd.apply(this.Mj ? this.Mj : this.type, this.Gb);
		this.type.bg();
		return a
	};
	h.prototype.Zu = function () {
		var a,
		b,
		c,
		d,
		k,
		e,
		f,
		g,
		l = this.type,
		h = l.Pa(),
		n = this.$e.qg && !this.trigger;
		b = 0;
		var m = l.Je,
		p = l.Ka,
		q = l.Fh,
		r = this.vf,
		v = -1 < r,
		K = this.Bm,
		M = this.Ga,
		Z = this.Gb,
		Y = this.yt,
		N = this.yd,
		ga;
		if (K)
			for (b = 0, k = M.length; b < k; ++b)
				e = M[b], e.Rf || (Z[b] = e.get(0));
		else
			for (b = 0, k = M.length; b < k; ++b)
				Z[b] = M[b].get(0);
		if (h.gb) {
			h.G.length = 0;
			h.tb.length =
				0;
			ga = l.G;
			a = 0;
			for (d = ga.length; a < d; ++a) {
				g = ga[a];
				if (K)
					for (b = 0, k = M.length; b < k; ++b)
						e = M[b], e.Rf && (Z[b] = e.get(a));
				v ? (b = 0, p && (b = g.type.el[q]), b = N.apply(g.Ia[r + b], Z)) : b = N.apply(g, Z);
				(f = Oa(b, Y)) ? h.G.push(g) : n && h.tb.push(g)
			}
			l.finish && l.finish(!0);
			h.gb = !1;
			l.bg();
			return h.ot()
		}
		c = 0;
		ga = (f = n && !this.$e.YD(this)) ? h.tb : h.G;
		var ba = !1;
		a = 0;
		for (d = ga.length; a < d; ++a) {
			g = ga[a];
			if (K)
				for (b = 0, k = M.length; b < k; ++b)
					e = M[b], e.Rf && (Z[b] = e.get(a));
			v ? (b = 0, p && (b = g.type.el[q]), b = N.apply(g.Ia[r + b], Z)) : b = N.apply(g, Z);
			if (Oa(b, Y))
				if (ba = !0, f) {
					if (h.G.push(g),
						m)
						for (b = 0, k = g.siblings.length; b < k; b++)
							e = g.siblings[b], e.type.Pa().G.push(e)
				} else {
					ga[c] = g;
					if (m)
						for (b = 0, k = g.siblings.length; b < k; b++)
							e = g.siblings[b], e.type.Pa().G[c] = e;
					c++
				}
			else if (f) {
				ga[c] = g;
				if (m)
					for (b = 0, k = g.siblings.length; b < k; b++)
						e = g.siblings[b], e.type.Pa().tb[c] = e;
				c++
			} else if (n && (h.tb.push(g), m))
				for (b = 0, k = g.siblings.length; b < k; b++)
					e = g.siblings[b], e.type.Pa().tb.push(e)
		}
		ga.length = c;
		if (m)
			for (p = l.Ee, a = 0, d = p.length; a < d; a++)
				g = p[a].Pa(), f ? g.tb.length = c : g.G.length = c;
		c = ba;
		if (f && !ba)
			for (a = 0, d = h.G.length; a <
				d; a++) {
				g = h.G[a];
				if (K)
					for (b = 0, k = M.length; b < k; b++)
						e = M[b], e.Rf && (Z[b] = e.get(a));
				b = v ? N.apply(g.Ia[r], Z) : N.apply(g, Z);
				if (Oa(b, Y)) {
					ba = !0;
					break
				}
			}
		l.finish && l.finish(c || n);
		return n ? ba : h.ot()
	};
	Qb = h;
	m.prototype.Dc = function () {
		var a,
		b,
		c;
		a = 0;
		for (b = this.Ga.length; a < b; a++)
			c = this.Ga[a], c.Dc(), c.Rf && (this.Bm = !0)
	};
	m.prototype.$u = function () {
		var a,
		b;
		a = 0;
		for (b = this.Ga.length; a < b; a++)
			this.Gb[a] = this.Ga[a].get();
		return this.yd.apply(this.c.ih, this.Gb)
	};
	m.prototype.Zu = function () {
		var a = this.type.Pa().cf(),
		b = this.type.Ka,
		c =
			this.type.Fh,
		d = this.vf,
		k = -1 < d,
		e = this.Bm,
		f = this.Ga,
		g = this.Gb,
		l = this.yd,
		h,
		n,
		m,
		p,
		q,
		r;
		if (e)
			for (n = 0, p = f.length; n < p; ++n)
				q = f[n], q.Rf || (g[n] = q.get(0));
		else
			for (n = 0, p = f.length; n < p; ++n)
				g[n] = f[n].get(0);
		h = 0;
		for (m = a.length; h < m; ++h) {
			r = a[h];
			if (e)
				for (n = 0, p = f.length; n < p; ++n)
					q = f[n], q.Rf && (g[n] = q.get(h));
			k ? (n = 0, b && (n = r.type.el[c]), l.apply(r.Ia[d + n], g)) : l.apply(r, g)
		}
		return !1
	};
	Rb = m;
	var r = [],
	v = -1;
	l.prototype.Dc = function () {
		var a,
		b;
		if (11 === this.type)
			this.Yj = this.c.Mx(this.no, this.$e.parent);
		else if (13 === this.type)
			for (a =
					0, b = this.Ck.length; a < b; a++)
				this.Ck[a].Dc();
		this.Lg && this.Lg.Dc()
	};
	l.prototype.HE = function (a) {
		this.Rf || !a || a.ec.jr || (this.Rf = !0)
	};
	l.prototype.Az = function () {
		this.Rf = !0
	};
	l.prototype.Yc = function () {
		v++;
		r.length === v && r.push(new Wb);
		return r[v]
	};
	l.prototype.Pc = function () {
		v--
	};
	l.prototype.BD = function (a) {
		this.pj = a || 0;
		a = this.Yc();
		this.Lg.get(a);
		this.Pc();
		return a.data
	};
	l.prototype.CD = function (a) {
		this.pj = a || 0;
		a = this.Yc();
		this.Lg.get(a);
		this.Pc();
		return ka(a.data) ? a.data : ""
	};
	l.prototype.ID = w("object");
	l.prototype.zD =
		w("kx");
	l.prototype.GD = function (a) {
		this.pj = a || 0;
		a = this.Yc();
		this.Lg.get(a);
		this.Pc();
		return a.kd() ? this.c.Sm(a.data) : this.c.ht(a.data)
	};
	l.prototype.HD = w("Fb");
	l.prototype.FD = w("key");
	l.prototype.ED = w("index");
	l.prototype.DD = function (a) {
		a = a || 0;
		var b = this.na.type,
		c = null,
		c = b.Pa(),
		d = c.cf();
		if (d.length)
			c = d[a % d.length].type;
		else if (c.tb.length)
			c = c.tb[a % c.tb.length].type;
		else if (b.G.length)
			c = b.G[a % b.G.length].type;
		else
			return 0;
		return this.index + c.Lp[b.Fh]
	};
	l.prototype.AD = w("Yj");
	l.prototype.yD = w("Ex");
	l.prototype.JD = function () {
		var a,
		b;
		a = 0;
		for (b = this.Ck.length; a < b; a++)
			this.lo[a] = this.Ck[a].get();
		return this.lo
	};
	Sb = l;
	n.prototype.Dc = function () {
		this.Ab = b(this.Ab)
	};
	n.prototype.Pl = function (a) {
		var b = this.c.Lx();
		this.parent && !this.en && b ? (this.pk >= b.length && (b.length = this.pk + 1), b[this.pk] = a) : this.data = a
	};
	n.prototype.Yp = function () {
		var a = this.c.Lx();
		return !this.parent || this.en || !a || this.jq ? this.data : this.pk >= a.length || "undefined" === typeof a[this.pk] ? this.fq : a[this.pk]
	};
	n.prototype.Qc = function () {
		!this.parent ||
		this.en || this.jq || this.Pl(this.fq)
	};
	Jb = n;
	k.prototype.toString = function () {
		return "include:" + this.Xm.toString()
	};
	k.prototype.Dc = function () {
		this.Xm = this.c.Ss[this.PD];
		this.sheet.Wx.add(this);
		this.Ab = b(this.Ab);
		for (var a = this.parent; a; )
			a.group && a.tp.push(this), a = a.parent;
		this.Yz()
	};
	k.prototype.Qc = function () {
		this.parent && this.c.Vn(this.c.da);
		this.Xm.pt || this.Xm.Qc(!0);
		this.parent && this.c.jj(this.c.da)
	};
	k.prototype.Yz = function () {
		for (var a = this.parent; a; ) {
			if (a.group && !a.gl) {
				this.lc = !1;
				return
			}
			a = a.parent
		}
		this.lc =
			!0
	};
	Vb = k;
	p.prototype.reset = function (a) {
		this.xd = a;
		this.ze = this.Jc = 0;
		this.Mz.length = 0;
		this.Qs = this.jk = !1
	};
	p.prototype.ZD = function () {
		return this.xd.ov ? !0 : this.Jc < this.xd.Uc.length - 1 ? !!this.xd.Ab.length : !1
	};
	Ib = p
})();
(function () {
	function a(a, c) {
		this.na = a;
		this.c = a.c;
		this.type = c[0];
		this.get = [this.UC, this.QC, this.bD, this.eD, this.KC, this.cD, this.YC, this.NC, this.XC, this.aD, this.LC, this.$C, this.OC, this.ZC, this.VC, this.WC, this.RC, this.SC, this.MC, this.dD, this.Ax, this.TC, this.Ax, this.PC][this.type];
		var e = null;
		this.ue = this.Ga = this.Gb = this.yd = this.or = this.rd = this.first = this.value = null;
		this.vf = -1;
		this.Gh = null;
		this.Ev = -1;
		this.Yj = this.no = null;
		this.Xn = !1;
		switch (this.type) {
		case 0:
		case 1:
		case 2:
			this.value = c[1];
			break;
		case 3:
			this.first =
				new Tb(a, c[1]);
			break;
		case 18:
			this.first = new Tb(a, c[1]);
			this.rd = new Tb(a, c[2]);
			this.or = new Tb(a, c[3]);
			break;
		case 19:
			this.yd = c[1];
			this.yd !== B.prototype.W.random && this.yd !== B.prototype.W.aC || this.na.Az();
			this.Gb = [];
			this.Ga = [];
			3 === c.length ? (e = c[2], this.Gb.length = e.length + 1) : this.Gb.length = 1;
			break;
		case 20:
			this.ue = this.c.da[c[1]];
			this.vf = -1;
			this.yd = c[2];
			this.Xn = c[3];
			hc && this.yd === hc.prototype.W.oA && this.na.Az();
			this.Gh = c[4] ? new Tb(a, c[4]) : null;
			this.Gb = [];
			this.Ga = [];
			6 === c.length ? (e = c[5], this.Gb.length = e.length +
					1) : this.Gb.length = 1;
			break;
		case 21:
			this.ue = this.c.da[c[1]];
			this.Xn = c[2];
			this.Gh = c[3] ? new Tb(a, c[3]) : null;
			this.Ev = c[4];
			break;
		case 22:
			this.ue = this.c.da[c[1]];
			this.ue.Sp(c[2]);
			this.vf = this.ue.dt(c[2]);
			this.yd = c[3];
			this.Xn = c[4];
			this.Gh = c[5] ? new Tb(a, c[5]) : null;
			this.Gb = [];
			this.Ga = [];
			7 === c.length ? (e = c[6], this.Gb.length = e.length + 1) : this.Gb.length = 1;
			break;
		case 23:
			this.no = c[1],
			this.Yj = null
		}
		this.na.HE(this.ue);
		4 <= this.type && 17 >= this.type && (this.first = new Tb(a, c[1]), this.rd = new Tb(a, c[2]));
		if (e) {
			var f,
			g;
			f = 0;
			for (g = e.length; f < g; f++)
				this.Ga.push(new Tb(a, e[f]))
		}
	}
	function c(a, c) {
		this.type = a || Xb.Tk;
		this.data = c || 0;
		this.Hl = null;
		this.type == Xb.Tk && (this.data = Math.floor(this.data))
	}
	a.prototype.Dc = function () {
		23 === this.type && (this.Yj = this.na.c.Mx(this.no, this.na.$e.parent));
		this.first && this.first.Dc();
		this.rd && this.rd.Dc();
		this.or && this.or.Dc();
		this.Gh && this.Gh.Dc();
		if (this.Ga) {
			var a,
			c;
			a = 0;
			for (c = this.Ga.length; a < c; a++)
				this.Ga[a].Dc()
		}
	};
	a.prototype.dD = function (a) {
		this.Gb[0] = a;
		a = this.na.Yc();
		var c,
		e;
		c = 0;
		for (e = this.Ga.length; c <
			e; c++)
			this.Ga[c].get(a), this.Gb[c + 1] = a.data;
		this.na.Pc();
		this.yd.apply(this.c.ih, this.Gb)
	};
	a.prototype.Ax = function (a) {
		var c = this.ue.Pa(),
		e = c.cf();
		if (!e.length)
			if (c.tb.length)
				e = c.tb;
			else {
				this.Xn ? a.Se("") : a.Tb(0);
				return
			}
		this.Gb[0] = a;
		a.Hl = this.ue;
		a = this.na.Yc();
		var f,
		c = 0;
		for (f = this.Ga.length; c < f; c++)
			this.Ga[c].get(a), this.Gb[c + 1] = a.data;
		c = this.na.pj;
		this.Gh && (this.Gh.get(a), a.kd() && (c = a.data, e = this.ue.G));
		this.na.Pc();
		c %= e.length;
		0 > c && (c += e.length);
		e = e[c];
		-1 < this.vf ? (a = 0, this.ue.Ka && (a = e.type.el[this.ue.Fh]),
			this.yd.apply(e.Ia[this.vf + a], this.Gb)) : this.yd.apply(e, this.Gb)
	};
	a.prototype.TC = function (a) {
		var c = this.ue.Pa(),
		e = c.cf();
		if (!e.length)
			if (c.tb.length)
				e = c.tb;
			else {
				this.Xn ? a.Se("") : a.Tb(0);
				return
			}
		c = this.na.pj;
		if (this.Gh) {
			var f = this.na.Yc();
			this.Gh.get(f);
			if (f.kd()) {
				c = f.data;
				e = this.ue.G;
				c %= e.length;
				0 > c && (c += e.length);
				e = e[c].Xc[this.Ev];
				ka(e) ? a.Se(e) : a.ta(e);
				this.na.Pc();
				return
			}
			this.na.Pc()
		}
		c %= e.length;
		0 > c && (c += e.length);
		e = e[c];
		c = 0;
		this.ue.Ka && (c = e.type.Lp[this.ue.Fh]);
		e = e.Xc[this.Ev + c];
		ka(e) ? a.Se(e) :
		a.ta(e)
	};
	a.prototype.UC = function (a) {
		a.type = Xb.Tk;
		a.data = this.value
	};
	a.prototype.QC = function (a) {
		a.type = Xb.Ok;
		a.data = this.value
	};
	a.prototype.bD = function (a) {
		a.type = Xb.To;
		a.data = this.value
	};
	a.prototype.eD = function (a) {
		this.first.get(a);
		a.kd() && (a.data = -a.data)
	};
	a.prototype.KC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data += c.data, c.jl() && a.Cl());
		this.na.Pc()
	};
	a.prototype.cD = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data -=
			c.data, c.jl() && a.Cl());
		this.na.Pc()
	};
	a.prototype.YC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data *= c.data, c.jl() && a.Cl());
		this.na.Pc()
	};
	a.prototype.NC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data /= c.data, a.Cl());
		this.na.Pc()
	};
	a.prototype.XC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data %= c.data, c.jl() && a.Cl());
		this.na.Pc()
	};
	a.prototype.aD = function (a) {
		this.first.get(a);
		var c =
			this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data = Math.pow(a.data, c.data), c.jl() && a.Cl());
		this.na.Pc()
	};
	a.prototype.LC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() ? c.lq() ? a.Se(a.data.toString() + c.data) : a.data && c.data ? a.Tb(1) : a.Tb(0) : a.lq() && (a.data = c.lq() ? a.data + c.data : a.data + (Math.round(1E10 * c.data) / 1E10).toString());
		this.na.Pc()
	};
	a.prototype.$C = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.kd() && c.kd() && (a.data || c.data ? a.Tb(1) : a.Tb(0));
		this.na.Pc()
	};
	a.prototype.MC = function (a) {
		this.first.get(a);
		a.data ? this.rd.get(a) : this.or.get(a)
	};
	a.prototype.OC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data === c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.ZC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data !== c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.VC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data < c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.WC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data <= c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.RC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data > c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.SC = function (a) {
		this.first.get(a);
		var c = this.na.Yc();
		this.rd.get(c);
		a.Tb(a.data >= c.data ? 1 : 0);
		this.na.Pc()
	};
	a.prototype.PC = function (a) {
		var c = this.Yj.Yp();
		ja(c) ? a.ta(c) : a.Se(c)
	};
	Tb = a;
	c.prototype.jl = function () {
		return this.type === Xb.Ok
	};
	c.prototype.kd = function () {
		return this.type === Xb.Tk || this.type === Xb.Ok
	};
	c.prototype.lq =
	function () {
		return this.type === Xb.To
	};
	c.prototype.Cl = function () {
		this.jl() || (this.lq() && (this.data = parseFloat(this.data)), this.type = Xb.Ok)
	};
	c.prototype.Tb = function (a) {
		this.type = Xb.Tk;
		this.data = Math.floor(a)
	};
	c.prototype.ta = function (a) {
		this.type = Xb.Ok;
		this.data = a
	};
	c.prototype.Se = function (a) {
		this.type = Xb.To;
		this.data = a
	};
	c.prototype.Bz = function (a) {
		ja(a) ? (this.type = Xb.Ok, this.data = a) : ka(a) ? (this.type = Xb.To, this.data = a.toString()) : (this.type = Xb.Tk, this.data = 0)
	};
	Wb = c;
	Xb = {
		Tk : 0,
		Ok : 1,
		To : 2
	}
})();
function B(a) {
	this.c = a;
	this.ve = []
}
B.prototype.Zc = function () {
	var a = {},
	c,
	b,
	d,
	e,
	f,
	g,
	h,
	m;
	a.waits = [];
	var l = a.waits,
	n;
	c = 0;
	for (b = this.ve.length; c < b; c++) {
		g = this.ve[c];
		n = {
			t : g.time,
			ev : g.dl.Wa,
			sm : [],
			sols : {}

		};
		g.dl.Zf[g.ze] && (n.act = g.dl.Zf[g.ze].Wa);
		d = 0;
		for (e = g.Ab.length; d < e; d++)
			n.sm.push(g.Ab[d].Wa);
		for (f in g.ie)
			if (g.ie.hasOwnProperty(f)) {
				h = this.c.da[parseInt(f, 10)];
				m = {
					sa : g.ie[f].cr,
					insts : []
				};
				d = 0;
				for (e = g.ie[f].Hh.length; d < e; d++)
					m.insts.push(g.ie[f].Hh[d].uid);
				n.sols[h.Wa.toString()] = m
			}
		l.push(n)
	}
	return a
};
B.prototype.Ad = function (a) {
	a = a.waits;
	var c,
	b,
	d,
	e,
	f,
	g,
	h,
	m,
	l,
	n,
	k;
	c = this.ve.length = 0;
	for (b = a.length; c < b; c++)
		if (g = a[c], m = this.c.Zw[g.ev.toString()]) {
			l = -1;
			d = 0;
			for (e = m.Zf.length; d < e; d++)
				if (m.Zf[d].Wa === g.act) {
					l = d;
					break
				}
			if (-1 !== l) {
				h = {
					ie : {},
					Ab : [],
					Os : !1
				};
				h.time = g.t;
				h.dl = m;
				h.ze = l;
				d = 0;
				for (e = g.sm.length; d < e; d++)
					(m = this.c.Xp(g.sm[d])) && h.Ab.push(m);
				for (f in g.sols)
					if (g.sols.hasOwnProperty(f) && (m = this.c.Xp(parseInt(f, 10)))) {
						l = g.sols[f];
						n = {
							cr : l.sa,
							Hh : []
						};
						d = 0;
						for (e = l.insts.length; d < e; d++)
							(k = this.c.Ri(l.insts[d])) &&
							n.Hh.push(k);
						h.ie[m.index.toString()] = n
					}
				this.ve.push(h)
			}
		}
};
(function () {
	function a() {}

	function c(a, c) {
		var b = a.ea.ax,
		d = c.ea.ax;
		if (ja(b) && ja(d))
			return b - d;
		b = "" + b;
		d = "" + d;
		return b < d ? -1 : b > d ? 1 : 0
	}
	function b() {}

	function d() {}

	var e = B.prototype;
	a.prototype.ti = x(!0);
	a.prototype.PA = x(!0);
	var f = [],
	g = -1;
	a.prototype.qi = function (a, b, d) {
		b = a.Pa();
		g++;
		f.length === g && f.push([]);
		var e = f[g];
		za(e, b.cf());
		var h = this.c.zd(),
		m = h.xd,
		v = this.c.Tp(),
		u = h.ZD(),
		h = this.c.bF(),
		y,
		F,
		H,
		J,
		A;
		y = 0;
		for (F = e.length; y < F; y++)
			e[y].ea.ax = v.Ga[1].get(y);
		e.sort(c);
		1 === d && e.reverse();
		d = a.Je;
		if (u)
			for (y = 0, F = e.length; y <
				F && !h.je; y++) {
				this.c.Wn(m.Ab);
				H = e[y];
				b = a.Pa();
				b.gb = !1;
				b.G.length = 1;
				b.G[0] = H;
				if (d)
					for (v = 0, u = H.siblings.length; v < u; v++)
						J = H.siblings[v], A = J.type.Pa(), A.gb = !1, A.G.length = 1, A.G[0] = J;
				h.index = y;
				m.Xu();
				this.c.jj(m.Ab)
			}
		else
			for (b.gb = !1, b.G.length = 1, y = 0, F = e.length; y < F && !h.je; y++) {
				H = e[y];
				b.G[0] = H;
				if (d)
					for (v = 0, u = H.siblings.length; v < u; v++)
						J = H.siblings[v], A = J.type.Pa(), A.gb = !1, A.G.length = 1, A.G[0] = J;
				h.index = y;
				m.Xu()
			}
		e.length = 0;
		this.c.WE();
		g--;
		return !1
	};
	a.prototype.xj = function (a) {
		var c = this.c.Tp(),
		b = c.ea.Co || 0,
		d =
			this.c.Ke.Cb;
		"undefined" === typeof c.ea.Kr && (c.ea.Kr = a);
		var e = c.ea.Kr;
		if (d >= b + e)
			return c.ea.Co = b + e, d >= c.ea.Co + 0.04 && (c.ea.Co = d), c.ea.Kr = a, !0;
		d < b - 0.1 && (c.ea.Co = d);
		return !1
	};
	a.prototype.Xa = function (a, c, b) {
		return Yb(a.Yp(), c, b)
	};
	a.prototype.wA = function () {
		var a = this.c.zd();
		return a.Qs ? !1 : !a.jk
	};
	a.prototype.gw = x(!0);
	a.prototype.MA = x(!0);
	a.prototype.cs = x(!0);
	a.prototype.QA = x(!0);
	a.prototype.bs = x(!0);
	e.B = new a;
	b.prototype.DA = function (a) {
		this.c.ll || this.c.Qj || (this.c.Qj = a)
	};
	b.prototype.ph = function (a, c, b, d) {
		if (c &&
			a && (c = this.c.nx(a, c, b, d))) {
			this.c.gg++;
			var e;
			this.c.trigger(Object.getPrototypeOf(a.ec).B.$r, c);
			if (c.Je)
				for (b = 0, d = c.siblings.length; b < d; b++)
					e = c.siblings[b], this.c.trigger(Object.getPrototypeOf(e.type.ec).B.$r, e);
			this.c.gg--;
			a = a.Pa();
			a.gb = !1;
			a.G.length = 1;
			a.G[0] = c;
			if (c.Je)
				for (b = 0, d = c.siblings.length; b < d; b++)
					e = c.siblings[b], a = e.type.Pa(), a.gb = !1, a.G.length = 1, a.G[0] = e
		}
	};
	b.prototype.Fj = function (a, c) {
		0 === a.Fv ? ja(c) ? a.Pl(c) : a.Pl(parseFloat(c)) : 1 === a.Fv && a.Pl(c.toString())
	};
	b.prototype.lB = function (a, c) {
		0 ===
		a.Fv && (ja(c) ? a.Pl(a.Yp() - c) : a.Pl(a.Yp() - parseFloat(c)))
	};
	var h = [],
	m = [];
	b.prototype.Yf = function (a) {
		if (!(0 > a)) {
			var c,
			b,
			d,
			e = this.c.zd(),
			f;
			f = h.length ? h.pop() : {
				ie : {},
				Ab : []
			};
			f.Os = !1;
			f.time = this.c.Ke.Cb + a;
			f.dl = e.xd;
			f.ze = e.ze + 1;
			a = 0;
			for (c = this.c.da.length; a < c; a++)
				d = this.c.da[a], b = d.Pa(), b.gb && -1 === e.xd.Ab.indexOf(d) || (f.Ab.push(d), d = void 0, d = m.length ? m.pop() : {
						Hh : []
					}, d.cr = !1, d.cr = b.gb, za(d.Hh, b.G), f.ie[a.toString()] = d);
			this.ve.push(f);
			return !0
		}
	};
	b.prototype.ow = function () {
		var a,
		c,
		b;
		a = 0;
		for (c = this.c.us.length; a <
			c; a++)
			b = this.c.us[a], b.data = b.fq
	};
	b.prototype.qw = function () {
		if (!this.c.ll && !this.c.Qj && this.c.mb) {
			this.c.Qj = this.c.mb;
			var a,
			c,
			b;
			a = 0;
			for (c = this.c.Ai.length; a < c; a++)
				b = this.c.Ai[a], b.qF(b.gq)
		}
	};
	e.A = new b;
	d.prototype["int"] = function (a, c) {
		ka(c) ? (a.Tb(parseInt(c, 10)), isNaN(a.data) && (a.data = 0)) : a.Tb(c)
	};
	d.prototype["float"] = function (a, c) {
		ka(c) ? (a.ta(parseFloat(c)), isNaN(a.data) && (a.data = 0)) : a.ta(c)
	};
	d.prototype.random = function (a, c, b) {
		void 0 === b ? a.ta(Math.random() * c) : a.ta(Math.random() * (b - c) + c)
	};
	d.prototype.sqrt =
	function (a, c) {
		a.ta(Math.sqrt(c))
	};
	d.prototype.abs = function (a, c) {
		a.ta(Math.abs(c))
	};
	d.prototype.round = function (a, c) {
		a.Tb(Math.round(c))
	};
	d.prototype.floor = function (a, c) {
		a.Tb(Math.floor(c))
	};
	d.prototype.ceil = function (a, c) {
		a.Tb(Math.ceil(c))
	};
	d.prototype.sin = function (a, c) {
		a.ta(Math.sin(Ca(c)))
	};
	d.prototype.cos = function (a, c) {
		a.ta(Math.cos(Ca(c)))
	};
	d.prototype.tan = function (a, c) {
		a.ta(Math.tan(Ca(c)))
	};
	d.prototype.asin = function (a, c) {
		a.ta(Da(Math.asin(c)))
	};
	d.prototype.acos = function (a, c) {
		a.ta(Da(Math.acos(c)))
	};
	d.prototype.exp = function (a, c) {
		a.ta(Math.exp(c))
	};
	d.prototype.max = function (a) {
		var c = arguments[1],
		b,
		d;
		b = 2;
		for (d = arguments.length; b < d; b++)
			c < arguments[b] && (c = arguments[b]);
		a.ta(c)
	};
	d.prototype.min = function (a) {
		var c = arguments[1],
		b,
		d;
		b = 2;
		for (d = arguments.length; b < d; b++)
			c > arguments[b] && (c = arguments[b]);
		a.ta(c)
	};
	d.prototype.Ja = function (a) {
		a.ta(this.c.Ja)
	};
	d.prototype.ji = function (a) {
		a.ta(this.c.ji)
	};
	d.prototype.time = function (a) {
		a.ta(this.c.Ke.Cb)
	};
	d.prototype.hi = function (a) {
		a.Tb(this.c.hi)
	};
	d.prototype.Kq =
	function (a) {
		a.Tb(this.c.Kq)
	};
	d.prototype.Zs = function (a) {
		a.Tb(this.c.Zs)
	};
	d.prototype.Dh = function (a, c, b, d, e) {
		a.ta(Na(c, b, d, e))
	};
	d.prototype.L = function (a, c, b, d, e) {
		a.ta(Da(Ia(c, b, d, e)))
	};
	d.prototype.left = function (a, c, b) {
		a.Se(ka(c) ? c.substr(0, b) : "")
	};
	d.prototype.right = function (a, c, b) {
		a.Se(ka(c) ? c.substr(c.length - b) : "")
	};
	d.prototype.replace = function (a, c, b, d) {
		ka(c) && ka(b) && ka(d) ? a.Se(c.replace(RegExp(Va(b), "gi"), d)) : a.Se(ka(c) ? c : "")
	};
	d.prototype.aC = function (a) {
		var c = sa(Math.random() * (arguments.length - 1));
		a.Bz(arguments[c + 1])
	};
	d.prototype.Hs = function (a) {
		a.ta(this.c.Hs / 1E3)
	};
	d.prototype.ql = function (a) {
		a.ta(this.c.ql)
	};
	e.W = new d;
	e.hF = function () {
		var a,
		c,
		b,
		d,
		e,
		f,
		g = this.c.zd();
		a = 0;
		for (b = this.ve.length; a < b; a++)
			if (d = this.ve[a], !(d.time > this.c.Ke.Cb)) {
				g.xd = d.dl;
				g.ze = d.ze;
				g.Jc = 0;
				for (c in d.ie)
					d.ie.hasOwnProperty(c) && (e = this.c.da[parseInt(c, 10)].Pa(), f = d.ie[c], e.gb = f.cr, za(e.G, f.Hh), e = f, e.Hh.length = 0, m.push(e));
				d.dl.gF();
				this.c.Bs(d.Ab);
				d.Os = !0
			}
		c = a = 0;
		for (b = this.ve.length; a < b; a++)
			d = this.ve[a], this.ve[c] = d, d.Os ?
			(Qa(d.ie), d.Ab.length = 0, h.push(d)) : c++;
		this.ve.length = c
	}
})();
(function () {
	eb = function (a) {
		var b = a[0].prototype,
		d = a[1],
		e = a[3],
		f = a[4],
		g = a[5],
		h = a[6],
		m = a[7];
		a = a[8];
		b.B || (b.B = {});
		b.A || (b.A = {});
		b.W || (b.W = {});
		var l = b.B,
		n = b.A,
		b = b.W;
		e && (l.bG = function (a, c) {
			return Yb(this.x, a, c)
		}, l.Ag = function (a, c) {
			return Yb(this.y, a, c)
		}, l.jG = function () {
			var a = this.T;
			this.Ta();
			var c = this.hb;
			return !(c.right < a.Rd || c.bottom < a.Sd || c.left > a.Ue || c.top > a.Te)
		}, l.kG = function () {
			this.Ta();
			var a = this.hb,
			c = this.c.mb;
			return 0 > a.right || 0 > a.bottom || a.left > c.width || a.top > c.height
		}, l.xG = function (a, c, b) {
			var d =
				this.Pa(),
			e = d.cf();
			if (!e.length)
				return !1;
			var f = e[0],
			g = f,
			h = Na(f.x, f.y, c, b),
			l,
			m,
			n;
			l = 1;
			for (m = e.length; l < m; l++)
				if (f = e[l], n = Na(f.x, f.y, c, b), 0 === a && n < h || 1 === a && n > h)
					h = n, g = f;
			d.Rn(g);
			return !0
		}, n.ye = function (a) {
			this.x !== a && (this.x = a, this.ka())
		}, n.Cw = function (a) {
			this.y !== a && (this.y = a, this.ka())
		}, n.MG = function (a, c) {
			if (this.x !== a || this.y !== c)
				this.x = a, this.y = c, this.ka()
		}, n.NG = function (a, c) {
			var b = a.sD(this);
			if (b) {
				var d;
				b.Og ? (d = b.Og(c, !0), b = b.Og(c, !1)) : (d = b.x, b = b.y);
				if (this.x !== d || this.y !== b)
					this.x = d, this.y = b, this.ka()
			}
		},
			n.qG = function (a) {
			0 !== a && (this.x += Math.cos(this.L) * a, this.y += Math.sin(this.L) * a, this.ka())
		}, n.pG = function (a, c) {
			0 !== c && (this.x += Math.cos(Ca(a)) * c, this.y += Math.sin(Ca(a)) * c, this.ka())
		}, b.Hc = function (a) {
			a.ta(this.x)
		}, b.Hj = function (a) {
			a.ta(this.y)
		}, b.Ja = function (a) {
			a.ta(this.c.$j(this))
		});
		f && (l.aG = function (a, c) {
			return Yb(this.width, a, c)
		}, l.ZF = function (a, c) {
			return Yb(this.height, a, c)
		}, n.QG = function (a) {
			this.width !== a && (this.width = a, this.ka())
		}, n.LG = function (a) {
			this.height !== a && (this.height = a, this.ka())
		},
			n.OG = function (a, c) {
			if (this.width !== a || this.height !== c)
				this.width = a, this.height = c, this.ka()
		}, b.VG = function (a) {
			a.ta(this.width)
		}, b.dG = function (a) {
			a.ta(this.height)
		}, b.WF = function (a) {
			this.Ta();
			a.ta(this.hb.left)
		}, b.YF = function (a) {
			this.Ta();
			a.ta(this.hb.top)
		}, b.XF = function (a) {
			this.Ta();
			a.ta(this.hb.right)
		}, b.VF = function (a) {
			this.Ta();
			a.ta(this.hb.bottom)
		});
		g && (l.PF = function (a, c) {
			return Ja(this.L, Ca(c)) <= Ca(a)
		}, l.hG = function (a) {
			return La(this.L, Ca(a))
		}, l.fG = function (a, c) {
			var b = Ha(a),
			d = Ha(c),
			e = Fa(this.L);
			return La(d, b) ? La(e, b) && !La(e, d) : !(!La(e, b) && La(e, d))
		}, n.vi = function (a) {
			a = Ca(Ea(a));
			isNaN(a) || this.L === a || (this.L = a, this.ka())
		}, n.DG = function (a) {
			0 === a || isNaN(a) || (this.L += Ca(a), this.L = Fa(this.L), this.ka())
		}, n.EG = function (a) {
			0 === a || isNaN(a) || (this.L -= Ca(a), this.L = Fa(this.L), this.ka())
		}, n.FG = function (a, c) {
			var b = Ka(this.L, Ca(c), Ca(a));
			isNaN(b) || this.L === b || (this.L = b, this.ka())
		}, n.GG = function (a, c, b) {
			a = Ka(this.L, Math.atan2(b - this.y, c - this.x), Ca(a));
			isNaN(a) || this.L === a || (this.L = a, this.ka())
		}, n.PG = function (a,
				c) {
			var b = Math.atan2(c - this.y, a - this.x);
			isNaN(b) || this.L === b || (this.L = b, this.ka())
		}, b.OF = function (a) {
			a.ta(Ga(this.L))
		});
		d || (l.vc = function (a, c, b) {
			return Yb(this.Xc[a], c, b)
		}, l.gG = function (a) {
			return this.Xc[a]
		}, l.yG = function (a, c) {
			var b = this.Pa(),
			d = b.cf();
			if (!d.length)
				return !1;
			var e = d[0],
			f = e,
			g = e.Xc[c],
			h,
			l,
			m;
			h = 1;
			for (l = d.length; h < l; h++)
				if (e = d[h], m = e.Xc[c], 0 === a && m < g || 1 === a && m > g)
					g = m, f = e;
			b.Rn(f);
			return !0
		}, l.wG = function (a) {
			var c,
			b,
			d,
			e,
			f;
			if (this.c.Tp().yt) {
				f = this.Pa();
				if (f.gb)
					for (f.gb = !1, f.G.length = 0, f.tb.length =
							0, d = this.G, c = 0, b = d.length; c < b; c++)
						e = d[c], e.uid === a ? f.tb.push(e) : f.G.push(e);
				else {
					d = c = 0;
					for (b = f.G.length; c < b; c++)
						e = f.G[c], f.G[d] = e, e.uid === a ? f.tb.push(e) : d++;
					f.G.length = d
				}
				this.bg();
				return !!f.G.length
			}
			e = this.c.Ri(a);
			if (!e)
				return !1;
			f = this.Pa();
			if (!f.gb && -1 === f.G.indexOf(e))
				return !1;
			if (this.Ka)
				for (a = e.type.Xb, c = 0, b = a.length; c < b; c++) {
					if (a[c] === this)
						return f.Rn(e), this.bg(), !0
				}
			else if (e.type === this)
				return f.Rn(e), this.bg(), !0;
			return !1
		}, l.$r = x(!0), l.NA = x(!0), n.tf = function (a, c) {
			var b = this.Xc;
			ja(b[a]) ? b[a] =
				ja(c) ? c : parseFloat(c) : ka(b[a]) && (b[a] = ka(c) ? c : c.toString())
		}, n.NF = function (a, c) {
			var b = this.Xc;
			ja(b[a]) ? b[a] = ja(c) ? b[a] + c : b[a] + parseFloat(c) : ka(b[a]) && (b[a] = ka(c) ? b[a] + c : b[a] + c.toString())
		}, n.RG = function (a, c) {
			var b = this.Xc;
			ja(b[a]) && (b[a] = ja(c) ? b[a] - c : b[a] - parseFloat(c))
		}, n.HG = function (a, c) {
			this.Xc[a] = c ? 1 : 0
		}, n.TG = function (a) {
			this.Xc[a] = 1 - this.Xc[a]
		}, n.Ob = function () {
			this.c.pi(this)
		}, n.EA || (n.EA = function (a) {
				var c,
				b;
				try {
					c = JSON.parse(a)
				} catch (d) {
					return
				}
				this.c.wq(this, c, !0);
				this.Gg && this.Gg();
				if (this.Ia)
					for (a =
							0, c = this.Ia.length; a < c; ++a)
						b = this.Ia[a], b.Gg && b.Gg()
			}), b.cG = function (a) {
			var c = a.Hl.G.length,
			b,
			d,
			e;
			b = 0;
			for (d = this.c.ne.length; b < d; b++)
				e = this.c.ne[b], a.Hl.Ka ? 0 <= e.type.Xb.indexOf(a.Hl) && c++ : e.type === a.Hl && c++;
			a.Tb(c)
		}, b.AG = function (a) {
			a.Tb(a.Hl.Pa().cf().length)
		}, b.UG = function (a) {
			a.Tb(this.uid)
		}, b.eG = function (a) {
			a.Tb(this.Um())
		}, b.Nv || (b.Nv = function (a) {
				a.Se(JSON.stringify(this.c.av(this, !0)))
			}));
		h && (l.Tr = w("visible"), n.Xf = function (a) {
			!a !== !this.visible && (this.visible = a, this.c.qb = !0)
		}, l.$F = function (a,
				c) {
			return Yb(bb(100 * this.opacity), a, c)
		}, n.Ro = function (a) {
			a /= 100;
			0 > a ? a = 0 : 1 < a && (a = 1);
			a !== this.opacity && (this.opacity = a, this.c.qb = !0)
		}, b.Opacity = function (a) {
			a.ta(bb(100 * this.opacity))
		});
		m && (l.iG = function (a) {
			return a ? this.T === a : !1
		}, l.zG = function (a) {
			var c = this.Pa(),
			b = c.cf();
			if (!b.length)
				return !1;
			var d = b[0],
			e = d,
			f,
			g;
			f = 1;
			for (g = b.length; f < g; f++)
				if (d = b[f], 0 === a) {
					if (d.T.index > e.T.index || d.T.index === e.T.index && d.df() > e.df())
						e = d
				} else if (d.T.index < e.T.index || d.T.index === e.T.index && d.df() < e.df())
					e = d;
			c.Rn(e);
			return !0
		},
			n.dw = function () {
			var a = this.df();
			a !== this.T.G.length - 1 && (ya(this.T.G, a), this.T.G.push(this), this.c.qb = !0, this.T.Ve = !0)
		}, n.rG = function () {
			var a = this.df();
			0 !== a && (ya(this.T.G, a), this.T.G.unshift(this), this.c.qb = !0, this.T.Ve = !0)
		}, n.sG = function (a) {
			a && a != this.T && (ya(this.T.G, this.df()), this.T.Ve = !0, this.T = a, this.Hk = a.G.length, a.G.push(this), this.c.qb = !0)
		}, n.XG = function (a, c) {
			var b = 0 === a;
			if (c) {
				var d = c.Nx(this);
				if (d && d.uid !== this.uid) {
					this.T.index !== d.T.index && (ya(this.T.G, this.df()), this.T.Ve = !0, this.T = d.T,
						this.Hk = d.T.G.length, d.T.G.push(this));
					var e = this.df(),
					d = d.df();
					ya(this.T.G, e);
					e < d && d--;
					b && d++;
					d === this.T.G.length ? this.T.G.push(this) : this.T.G.splice(d, 0, this);
					this.T.Ve = !0;
					this.c.qb = !0
				}
			}
		}, b.nG = function (a) {
			a.Tb(this.T.Ny)
		}, b.mG = function (a) {
			a.Se(this.T.name)
		}, b.WG = function (a) {
			a.Tb(this.df())
		});
		a && (n.JG = function (a, c) {
			if (this.c.qa) {
				var b = this.type.gt(c);
				if (!(0 > b)) {
					var d = 1 === a;
					this.yi[b] !== d && (this.yi[b] = d, this.li(), this.c.qb = !0)
				}
			}
		}, n.KG = function (a, c, b) {
			if (this.c.qa) {
				var d = this.type.gt(a);
				0 > d || (a = this.type.Ea[d],
					d = this.mc[d], c = Math.floor(c), 0 > c || c >= d.length || (1 === this.c.qa.vD(a.Cd, c) && (b /= 100), d[c] !== b && (d[c] = b, a.lc && (this.c.qb = !0))))
			}
		})
	};
	Bb = function () {
		this.As = this.ys = !0;
		this.type.Xo = !0;
		this.c.qb = !0;
		var a,
		b,
		d = this.zs;
		a = 0;
		for (b = d.length; a < b; ++a)
			d[a](this)
	};
	Cb = function (a) {
		a && this.zs.push(a)
	};
	Eb = function () {
		if (this.ys) {
			var a = this.hb,
			b = this.Wb;
			a.set(this.x, this.y, this.x + this.width, this.y + this.height);
			a.offset(-this.oe * this.width, -this.pe * this.height);
			this.L ? (a.offset(-this.x, -this.y), b.Dz(a, this.L), b.offset(this.x,
					this.y), b.$w(a)) : b.$n(a);
			a.normalize();
			this.ys = !1
		}
	};
	var a = new va(0, 0, 0, 0);
	Fb = function () {
		if (this.As && this.wf) {
			this.Ta();
			var c = this.type.Fm,
			b = this.Ii,
			d = this.hb;
			a.set(c.Uo(d.left), c.Vo(d.top), c.Uo(d.right), c.Vo(d.bottom));
			b.JC(a) || (b.right < b.left ? c.update(this, null, a) : c.update(this, b, a), b.copy(a), this.As = !1)
		}
	};
	Db = function (a, b) {
		return this.hb.Fe(a, b) && this.Wb.Fe(a, b) ? this.Oa && !this.Oa.gk() ? (this.Oa.Oj(this.width, this.height, this.L), this.Oa.Fe(a - this.x, b - this.y)) : !0 : !1
	};
	xb = function () {
		this.type.Ar();
		return this.bk
	};
	Gb = function () {
		this.T.GF();
		return this.Hk
	};
	Hb = function () {
		this.nb.length = 0;
		var a,
		b;
		a = 0;
		for (b = this.yi.length; a < b; a++)
			this.yi[a] && this.nb.push(this.type.Ea[a]);
		this.dA = !!this.nb.length
	};
	yb = function () {
		return "Inst" + this.mz
	};
	hb = function (a) {
		if (a && a.Je && a.type != this) {
			var b,
			d,
			e;
			b = 0;
			for (d = a.siblings.length; b < d; b++)
				if (e = a.siblings[b], e.type == this)
					return e
		}
		a = this.Pa().cf();
		return a.length ? a[0] : null
	};
	ib = function (a) {
		var b = this.Pa().cf();
		return b.length ? b[a.Um() % b.length] : null
	};
	gb = function () {
		if (this.Sl && !this.Ka) {
			var a,
			b;
			a = 0;
			for (b = this.G.length; a < b; a++)
				this.G[a].bk = a;
			var d = a,
			e = this.c.ne;
			a = 0;
			for (b = e.length; a < b; ++a)
				e[a].type === this && (e[a].bk = d++);
			this.Sl = !1
		}
	};
	vb = function (a) {
		if (a < this.G.length)
			return this.G[a];
		a -= this.G.length;
		var b = this.c.ne,
		d,
		e;
		d = 0;
		for (e = b.length; d < e; ++d)
			if (b[d].type === this) {
				if (0 === a)
					return b[d];
				--a
			}
		return null
	};
	kb = function () {
		return this.qj[this.Ch]
	};
	lb = function () {
		this.Ch++;
		this.Ch === this.qj.length ? this.qj.push(new fb(this)) : this.qj[this.Ch].gb = !0
	};
	mb = function () {
		this.Ch++;
		this.Ch === this.qj.length &&
		this.qj.push(new fb(this));
		var a = this.qj[this.Ch],
		b = this.qj[this.Ch - 1];
		b.gb ? a.gb = !0 : (a.gb = !1, za(a.G, b.G), za(a.tb, b.tb))
	};
	nb = function () {
		this.Ch--
	};
	ob = function (a) {
		var b,
		d,
		e,
		f,
		g,
		h = 0;
		if (!this.Ka)
			for (b = 0, d = this.Xb.length; b < d; b++)
				for (g = this.Xb[b], e = 0, f = g.Ic.length; e < f; e++) {
					if (a === g.Ic[e].name)
						return this.ea.ky = h, g.Ic[e];
					h++
				}
		b = 0;
		for (d = this.Ic.length; b < d; b++) {
			if (a === this.Ic[b].name)
				return this.ea.ky = h, this.Ic[b];
			h++
		}
		return null
	};
	pb = function (a) {
		return this.Sp(a) ? this.ea.ky : -1
	};
	tb = function (a) {
		var b,
		d;
		b = 0;
		for (d =
				this.Ea.length; b < d; b++)
			if (this.Ea[b].name === a)
				return b;
		return -1
	};
	ub = function () {
		if (this.Je && !this.Ka) {
			var a,
			b,
			d,
			e,
			f,
			g,
			h;
			this.Ar();
			g = this.Pa();
			var m = g.gb,
			l = (a = this.c.zd()) && a.xd && a.xd.qg;
			a = 0;
			for (b = this.Ee.length; a < b; a++)
				if (f = this.Ee[a], f !== this && (f.Ar(), h = f.Pa(), h.gb = m, !m)) {
					h.G.length = g.G.length;
					d = 0;
					for (e = g.G.length; d < e; d++)
						h.G[d] = f.Ox(g.G[d].bk);
					if (l)
						for (h.tb.length = g.tb.length, d = 0, e = g.tb.length; d < e; d++)
							h.tb[d] = f.Ox(g.tb[d].bk)
				}
		}
	};
	wb = function () {
		return "Type" + this.Wa
	};
	Yb = function (a, b, d) {
		if ("undefined" ===
			typeof a || "undefined" === typeof d)
			return !1;
		switch (b) {
		case 0:
			return a === d;
		case 1:
			return a !== d;
		case 2:
			return a < d;
		case 3:
			return a <= d;
		case 4:
			return a > d;
		case 5:
			return a >= d;
		default:
			return !1
		}
	}
})();
var fc = {};
function ic(a) {
	this.c = a
}
(function () {
	function a(a) {
		a = Math.pow(10, a / 20);
		0 > a && (a = 0);
		1 < a && (a = 1);
		return a
	}
	function c(a) {
		0 > a && (a = 0);
		1 < a && (a = 1);
		return 20 * (Math.log(a) / Math.log(10))
	}
	function b(a) {
		a = a.toLowerCase();
		return ha.hasOwnProperty(a) && ha[a].length ? ha[a][0].bf() : N.destination
	}
	function d() {
		return N.createGain ? N.createGain() : N.createGainNode()
	}
	function e(a) {
		return N.createDelay ? N.createDelay(a) : N.createDelayNode(a)
	}
	function f(a) {
		a.start ? a.start(0) : a.noteOn(0)
	}
	function g(a, b, c) {
		a.start ? a.start(0, b) : a.noteGrainOn(0, b, c - b)
	}
	function h(a) {
		try {
			a.stop ?
			a.stop(0) : a.noteOff(0)
		} catch (b) {}

	}
	function m(a, b, c, e, k, f) {
		this.type = "filter";
		this.Mb = [a, b, c, e, k, f];
		this.bb = d();
		this.Da = d();
		this.Da.gain.value = f;
		this.xa = d();
		this.xa.gain.value = 1 - f;
		this.Mc = N.createBiquadFilter();
		this.Mc.type = "number" === typeof this.Mc.type ? a : ef[a];
		this.Mc.frequency.value = b;
		this.Mc.detune && (this.Mc.detune.value = c);
		this.Mc.Q.value = e;
		this.Mc.gain.value = k;
		this.bb.connect(this.Mc);
		this.bb.connect(this.xa);
		this.Mc.connect(this.Da)
	}
	function l(a, b, c) {
		this.type = "delay";
		this.Mb = [a, b, c];
		this.bb =
			d();
		this.Da = d();
		this.Da.gain.value = c;
		this.xa = d();
		this.xa.gain.value = 1 - c;
		this.En = d();
		this.Af = e(a);
		this.Af.delayTime.value = a;
		this.Ep = d();
		this.Ep.gain.value = b;
		this.bb.connect(this.En);
		this.bb.connect(this.xa);
		this.En.connect(this.Da);
		this.En.connect(this.Af);
		this.Af.connect(this.Ep);
		this.Ep.connect(this.En)
	}
	function n(a, b, c, e) {
		this.type = "convolve";
		this.Mb = [b, c, e];
		this.bb = d();
		this.Da = d();
		this.Da.gain.value = c;
		this.xa = d();
		this.xa.gain.value = 1 - c;
		this.Tj = N.createConvolver();
		a && (this.Tj.normalize = b, this.Tj.buffer =
				a);
		this.bb.connect(this.Tj);
		this.bb.connect(this.xa);
		this.Tj.connect(this.Da)
	}
	function k(a, b, c, k, g) {
		this.type = "flanger";
		this.Mb = [a, b, c, k, g];
		this.bb = d();
		this.xa = d();
		this.xa.gain.value = 1 - g / 2;
		this.Da = d();
		this.Da.gain.value = g / 2;
		this.Mp = d();
		this.Mp.gain.value = k;
		this.Af = e(a + b);
		this.Af.delayTime.value = a;
		this.od = N.createOscillator();
		this.od.frequency.value = c;
		this.Pe = d();
		this.Pe.gain.value = b;
		this.bb.connect(this.Af);
		this.bb.connect(this.xa);
		this.Af.connect(this.Da);
		this.Af.connect(this.Mp);
		this.Mp.connect(this.Af);
		this.od.connect(this.Pe);
		this.Pe.connect(this.Af.delayTime);
		f(this.od)
	}
	function p(a, b, c, e, k, g) {
		this.type = "phaser";
		this.Mb = [a, b, c, e, k, g];
		this.bb = d();
		this.xa = d();
		this.xa.gain.value = 1 - g / 2;
		this.Da = d();
		this.Da.gain.value = g / 2;
		this.Mc = N.createBiquadFilter();
		this.Mc.type = "number" === typeof this.Mc.type ? 7 : "allpass";
		this.Mc.frequency.value = a;
		this.Mc.detune && (this.Mc.detune.value = b);
		this.Mc.Q.value = c;
		this.od = N.createOscillator();
		this.od.frequency.value = k;
		this.Pe = d();
		this.Pe.gain.value = e;
		this.bb.connect(this.Mc);
		this.bb.connect(this.xa);
		this.Mc.connect(this.Da);
		this.od.connect(this.Pe);
		this.Pe.connect(this.Mc.frequency);
		f(this.od)
	}
	function q(a) {
		this.type = "gain";
		this.Mb = [a];
		this.lb = d();
		this.lb.gain.value = a
	}
	function r(a, b) {
		this.type = "tremolo";
		this.Mb = [a, b];
		this.lb = d();
		this.lb.gain.value = 1 - b / 2;
		this.od = N.createOscillator();
		this.od.frequency.value = a;
		this.Pe = d();
		this.Pe.gain.value = b / 2;
		this.od.connect(this.Pe);
		this.Pe.connect(this.lb.gain);
		f(this.od)
	}
	function v(a, b) {
		this.type = "ringmod";
		this.Mb = [a, b];
		this.bb = d();
		this.Da = d();
		this.Da.gain.value = b;
		this.xa = d();
		this.xa.gain.value = 1 - b;
		this.Yn = d();
		this.Yn.gain.value = 0;
		this.od = N.createOscillator();
		this.od.frequency.value = a;
		this.od.connect(this.Yn.gain);
		f(this.od);
		this.bb.connect(this.Yn);
		this.bb.connect(this.xa);
		this.Yn.connect(this.Da)
	}
	function u(a, b, c, e, k) {
		this.type = "distortion";
		this.Mb = [a, b, c, e, k];
		this.bb = d();
		this.Sq = d();
		this.Rq = d();
		this.pF(c, Math.pow(10, e / 20));
		this.Da = d();
		this.Da.gain.value = k;
		this.xa = d();
		this.xa.gain.value = 1 - k;
		this.Br = N.createWaveShaper();
		this.Bp =
			new Float32Array(65536);
		this.kD(a, b);
		this.Br.Bp = this.Bp;
		this.bb.connect(this.Sq);
		this.bb.connect(this.xa);
		this.Sq.connect(this.Br);
		this.Br.connect(this.Rq);
		this.Rq.connect(this.Da)
	}
	function y(a, b, c, d, e) {
		this.type = "compressor";
		this.Mb = [a, b, c, d, e];
		this.lb = N.createDynamicsCompressor();
		try {
			this.lb.threshold.value = a,
			this.lb.knee.value = b,
			this.lb.ratio.value = c,
			this.lb.attack.value = d,
			this.lb.release.value = e
		} catch (k) {}

	}
	function F(a, b) {
		this.type = "analyser";
		this.Mb = [a, b];
		this.lb = N.createAnalyser();
		this.lb.fftSize =
			a;
		this.lb.smoothingTimeConstant = b;
		this.iD = new Float32Array(this.lb.frequencyBinCount);
		this.Gz = new Uint8Array(a);
		this.Qn = 0
	}
	function H() {
		this.Sa = null;
		this.yq = 0;
		this.rj = [];
		this.wu = this.qq = this.pq = 0
	}
	function J(a, b) {
		this.src = a;
		this.Bb = Y;
		this.ig = b;
		this.Nw = !1;
		var c = this;
		this.uu = this.Hu = null;
		this.Ll = [];
		this.dr = 0;
		this.Jz = this.Mq = !1;
		Y === K && b && (this.Bb = S, this.Hu = d());
		this.Zo = this.hc = null;
		var e;
		switch (this.Bb) {
		case S:
			this.hc = new Audio;
			Y !== K || !N.createMediaElementSource || t.ey || /wiiu/i.test(navigator.userAgent) ||
			(this.Jz = !0, this.hc.addEventListener("canplay", function () {
					c.uu || (c.uu = N.createMediaElementSource(c.hc), c.uu.connect(c.Hu))
				}));
			this.hc.autoplay = !1;
			this.hc.jH = "auto";
			this.hc.src = a;
			break;
		case K:
			e = new XMLHttpRequest;
			e.open("GET", a, !0);
			e.responseType = "arraybuffer";
			e.onload = function () {
				c.Zo = e.response;
				c.fC()
			};
			e.send();
			break;
		case M:
			this.hc = !0;
			break;
		case Z:
			this.hc = !0
		}
	}
	function A(a, c) {
		var e = this;
		this.sj = c;
		this.je = this.Qi = !0;
		this.src = a.src;
		this.buffer = a;
		this.Bb = Y;
		this.ig = a.ig;
		this.playbackRate = 1;
		this.Ju = !0;
		this.Kh = this.fi = !1;
		this.ug = 0;
		this.dn = this.kl = this.Ph = !1;
		this.Gn = this.volume = 1;
		this.startTime = t.Ke.Cb;
		this.Cc = this.hd = null;
		this.$g = !1;
		this.Bc = null;
		this.$y = this.Zy = this.Yy = this.Xy = this.bz = this.az = 0;
		this.aa = null;
		var k = !1;
		this.Bb !== K || this.buffer.Bb !== S || this.buffer.Jz || (this.Bb = S);
		switch (this.Bb) {
		case S:
			this.ig ? (this.aa = a.hc, k = !a.Nw, a.Nw = !0) : (this.aa = new Audio, this.aa.autoplay = !1, this.aa.src = a.hc.src, k = !0);
			k && this.aa.addEventListener("ended", function () {
				Q = e.sj;
				e.je = !0;
				t.trigger(ic.prototype.B.as, G)
			});
			break;
		case K:
			this.hd = d();
			this.hd.connect(b(c));
			this.buffer.Bb === K ? a.hc && (this.aa = N.createBufferSource(), this.aa.buffer = a.hc, this.aa.connect(this.hd)) : (this.aa = this.buffer.hc, this.buffer.Hu.connect(this.hd));
			break;
		case M:
			this.aa = new window.Media(T + this.src, null, null, function (a) {
					a === window.Media.MEDIA_STOPPED && (e.Ju = !0, e.je = !0, Q = e.sj, t.trigger(ic.prototype.B.as, G))
				});
			break;
		case Z:
			this.aa = !0
		}
	}
	function C(a) {
		Ta.length = 0;
		if (a.length) {
			var b,
			c,
			d;
			b = 0;
			for (c = ba.length; b < c; b++)
				d = ba[b], cb(a, d.sj) && Ta.push(d)
		} else
			qb &&
			!qb.Wm() && (Ta.length = 1, Ta[0] = qb)
	}
	function I(a, b) {
		ha.hasOwnProperty(a) ? ha[a].push(b) : ha[a] = [b];
		var c,
		d,
		e,
		k,
		f = N.destination;
		if (ha.hasOwnProperty(a) && (e = ha[a], e.length))
			for (f = e[0].bf(), c = 0, d = e.length; c < d; c++)
				k = e[c], c + 1 === d ? k.xf(N.destination) : k.xf(e[c + 1].bf());
		C(a);
		c = 0;
		for (d = Ta.length; c < d; c++)
			Ta[c].fF(f);
		jb && Vc === a && (jb.disconnect(), jb.connect(f))
	}
	function D() {}

	function P() {}

	var L = ic.prototype;
	L.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	L.rb.prototype.Ca = s();
	var t = null,
	G = null,
	Q = "",
	T = "",
	S = 0,
	K = 1,
	M = 2,
	Z = 3,
	Y =
		S,
	N = null,
	ga = [],
	ba = [],
	qb = null,
	nc = !1,
	oc = 0,
	Za = !1,
	Ua = 1,
	rb = 0,
	sb = 0,
	Wc = 1,
	Xc = 1,
	te = 10,
	ue = 1E4,
	ve = 1,
	jb = null,
	Vc = "",
	Kb = !1,
	Lb = [],
	ha = {},
	ef = "lowpass highpass bandpass lowshelf highshelf peaking notch allpass".split(" ");
	m.prototype.xf = function (a) {
		this.Da.disconnect();
		this.Da.connect(a);
		this.xa.disconnect();
		this.xa.connect(a)
	};
	m.prototype.remove = function () {
		this.bb.disconnect();
		this.Mc.disconnect();
		this.Da.disconnect();
		this.xa.disconnect()
	};
	m.prototype.bf = w("bb");
	l.prototype.xf = function (a) {
		this.Da.disconnect();
		this.Da.connect(a);
		this.xa.disconnect();
		this.xa.connect(a)
	};
	l.prototype.remove = function () {
		this.bb.disconnect();
		this.En.disconnect();
		this.Af.disconnect();
		this.Ep.disconnect();
		this.Da.disconnect();
		this.xa.disconnect()
	};
	l.prototype.bf = w("bb");
	n.prototype.xf = function (a) {
		this.Da.disconnect();
		this.Da.connect(a);
		this.xa.disconnect();
		this.xa.connect(a)
	};
	n.prototype.remove = function () {
		this.bb.disconnect();
		this.Tj.disconnect();
		this.Da.disconnect();
		this.xa.disconnect()
	};
	n.prototype.bf = w("bb");
	k.prototype.xf = function (a) {
		this.xa.disconnect();
		this.xa.connect(a);
		this.Da.disconnect();
		this.Da.connect(a)
	};
	k.prototype.remove = function () {
		this.bb.disconnect();
		this.Af.disconnect();
		this.od.disconnect();
		this.Pe.disconnect();
		this.xa.disconnect();
		this.Da.disconnect();
		this.Mp.disconnect()
	};
	k.prototype.bf = w("bb");
	p.prototype.xf = function (a) {
		this.xa.disconnect();
		this.xa.connect(a);
		this.Da.disconnect();
		this.Da.connect(a)
	};
	p.prototype.remove = function () {
		this.bb.disconnect();
		this.Mc.disconnect();
		this.od.disconnect();
		this.Pe.disconnect();
		this.xa.disconnect();
		this.Da.disconnect()
	};
	p.prototype.bf = w("bb");
	q.prototype.xf = function (a) {
		this.lb.disconnect();
		this.lb.connect(a)
	};
	q.prototype.remove = function () {
		this.lb.disconnect()
	};
	q.prototype.bf = w("lb");
	r.prototype.xf = function (a) {
		this.lb.disconnect();
		this.lb.connect(a)
	};
	r.prototype.remove = function () {
		this.od.disconnect();
		this.Pe.disconnect();
		this.lb.disconnect()
	};
	r.prototype.bf = w("lb");
	v.prototype.xf = function (a) {
		this.Da.disconnect();
		this.Da.connect(a);
		this.xa.disconnect();
		this.xa.connect(a)
	};
	v.prototype.remove = function () {
		this.od.disconnect();
		this.Yn.disconnect();
		this.bb.disconnect();
		this.Da.disconnect();
		this.xa.disconnect()
	};
	v.prototype.bf = w("bb");
	u.prototype.pF = function (a, b) {
		0.01 > a && (a = 0.01);
		this.Sq.gain.value = a;
		this.Rq.gain.value = Math.pow(1 / a, 0.6) * b
	};
	u.prototype.shape = function (a, b, c) {
		var d = 1.05 * c * b - b;
		c = 0 > a ? -1 : 1;
		a = 0 > a ? -a : a;
		b = a < b ? a : b + d * (1 - Math.exp( - (1 / d) * (a - b)));
		return b * c
	};
	u.prototype.kD = function (a, b) {
		for (var c = Math.pow(10, a / 20), d = Math.pow(10, b / 20), e = 0, k = 0; 32768 > k; ++k)
			e = k / 32768, e = this.shape(e, c, d), this.Bp[32768 + k] = e, this.Bp[32768 - k -
				1] = -e
	};
	u.prototype.xf = function (a) {
		this.Da.disconnect();
		this.Da.connect(a);
		this.xa.disconnect();
		this.xa.connect(a)
	};
	u.prototype.remove = function () {
		this.bb.disconnect();
		this.Sq.disconnect();
		this.Br.disconnect();
		this.Rq.disconnect();
		this.Da.disconnect();
		this.xa.disconnect()
	};
	u.prototype.bf = w("bb");
	y.prototype.xf = function (a) {
		this.lb.disconnect();
		this.lb.connect(a)
	};
	y.prototype.remove = function () {
		this.lb.disconnect()
	};
	y.prototype.bf = w("lb");
	F.prototype.tc = function () {
		this.lb.getFloatFrequencyData(this.iD);
		this.lb.getByteTimeDomainData(this.Gz);
		for (var a = this.lb.fftSize, b = 0, d = this.Qn = 0, e = 0; b < a; b++)
			e = (this.Gz[b] - 128) / 128, 0 > e && (e = -e), this.Qn < e && (this.Qn = e), d += e * e;
		this.Qn = c(this.Qn);
		c(Math.sqrt(d / a))
	};
	F.prototype.xf = function (a) {
		this.lb.disconnect();
		this.lb.connect(a)
	};
	F.prototype.remove = function () {
		this.lb.disconnect()
	};
	F.prototype.bf = w("lb");
	H.prototype.Zn = function (a) {
		if (this.Sa = a)
			this.pq = this.Sa.x, this.qq = this.Sa.y;
		this.rj.length = 0
	};
	H.prototype.bq = function () {
		return !!this.Sa
	};
	H.prototype.tc = function (a) {
		this.Sa &&
		0 !== a && (this.wu = Ia(this.pq, this.qq, this.Sa.x, this.Sa.y), a = Na(this.pq, this.qq, this.Sa.x, this.Sa.y) / a, 4 > this.rj.length || this.rj.shift(), this.rj.push(a), this.pq = this.Sa.x, this.qq = this.Sa.y)
	};
	H.prototype.kt = function () {
		if (!this.rj.length)
			return 0;
		var a,
		b,
		c = 0;
		a = 0;
		for (b = this.rj.length; a < b; a++)
			c += this.rj[a];
		return c / this.rj.length
	};
	H.prototype.lt = function () {
		return Math.cos(this.wu) * this.kt()
	};
	H.prototype.mt = function () {
		return Math.sin(this.wu) * this.kt()
	};
	var we = !1;
	J.prototype.fC = function () {
		if (!this.hc && this.Zo) {
			var a =
				this;
			if (N.decodeAudioData)
				N.decodeAudioData(this.Zo, function (b) {
					a.hc = b;
					var c,
					d,
					e;
					if (ia(a.Oq) || Za)
						ia(a.wp) || (c = a.wp.Tj, c.normalize = a.My, c.buffer = b);
					else if (a.Ll.length) {
						c = 0;
						for (d = a.Ll.length; c < d; c++) {
							b = a.Ll[c];
							e = new A(a, b.Pz);
							e.jv(!0);
							if ("undefined" !== typeof b.Oy && (b.Sa = t.Ri(b.Oy), !b.Sa))
								continue;
							if (b.Sa) {
								var k = Ma(b.Sa.x, b.Sa.y, -b.Sa.T.Nc(), rb, sb, !0),
								f = Ma(b.Sa.x, b.Sa.y, -b.Sa.T.Nc(), rb, sb, !1);
								e.hv(k, f, Da(b.Sa.L - b.Sa.T.Nc()), b.qt, b.yu, b.Bu);
								e.Zn(b.Sa)
							} else
								e.hv(b.x, b.y, b.O, b.qt, b.yu, b.Bu);
							e.play(a.Yt,
								a.Hv, a.dr);
							a.Mq && e.pause();
							ba.push(e)
						}
						a.Ll.length = 0
					} else
						e = new A(a, a.Oq), e.play(a.Yt, a.Hv, a.dr), a.Mq && e.pause(), ba.push(e)
				});
			else if (this.hc = N.createBuffer(this.Zo, !1), ia(this.Oq) || Za)
				ia(this.wp) || (b = this.wp.Tj, b.normalize = this.My, b.buffer = this.hc);
			else {
				var b = new A(this, this.Oq);
				b.play(this.Yt, this.Hv, this.dr);
				this.Mq && b.pause();
				ba.push(b)
			}
		}
	};
	A.prototype.Wm = function () {
		switch (this.Bb) {
		case S:
			return this.aa.ended;
		case K:
			return this.buffer.Bb === K ? !this.Qi && !this.je && this.aa.loop || this.Kh ? !1 : t.Ke.Cb -
			this.startTime > this.buffer.hc.duration : this.aa.ended;
		case M:
			return this.Ju;
		case Z:
			!0
		}
		return !0
	};
	A.prototype.XB = function () {
		return this.Qi || this.je ? !0 : this.Wm()
	};
	A.prototype.jv = function (a) {
		Y === K && (!this.$g && a ? this.hd && (this.Cc || (this.Cc = N.createPanner(), this.Cc.panningModel = "number" === typeof this.Cc.panningModel ? Wc : ["equalpower", "HRTF", "soundfield"][Wc], this.Cc.distanceModel = "number" === typeof this.Cc.distanceModel ? Xc : ["linear", "inverse", "exponential"][Xc], this.Cc.refDistance = te, this.Cc.maxDistance = ue,
					this.Cc.rolloffFactor = ve), this.hd.disconnect(), this.hd.connect(this.Cc), this.Cc.connect(b(this.sj)), this.$g = !0) : this.$g && !a && this.hd && (this.Cc.disconnect(), this.hd.disconnect(), this.hd.connect(b(this.sj)), this.$g = !1))
	};
	A.prototype.hv = function (a, b, c, d, e, k) {
		this.$g && Y === K && (this.Cc.setPosition(a, b, 0), this.Cc.setOrientation(Math.cos(Ca(c)), Math.sin(Ca(c)), 0), this.Cc.coneInnerAngle = d, this.Cc.coneOuterAngle = e, this.Cc.coneOuterGain = k, this.az = a, this.bz = b, this.Xy = c, this.Yy = d, this.Zy = e, this.$y = k)
	};
	A.prototype.Zn =
	function (a) {
		this.$g && Y === K && (this.Bc || (this.Bc = new H), this.Bc.Zn(a))
	};
	A.prototype.tc = function (a) {
		if (this.$g && Y === K && this.Bc && this.Bc.bq() && this.ek()) {
			this.Bc.tc(a);
			a = this.Bc.Sa;
			var b = Ma(a.x, a.y, -a.T.Nc(), rb, sb, !0),
			c = Ma(a.x, a.y, -a.T.Nc(), rb, sb, !1);
			this.Cc.setPosition(b, c, 0);
			b = 0;
			"undefined" !== typeof this.Bc.Sa.L && (b = a.L - a.T.Nc(), this.Cc.setOrientation(Math.cos(b), Math.sin(b), 0));
			b = Ma(this.Bc.lt(), this.Bc.mt(), -a.T.Nc(), 0, 0, !0);
			c = Ma(this.Bc.lt(), this.Bc.mt(), -a.T.Nc(), 0, 0, !1);
			this.Cc.setVelocity(b, c,
				0)
		}
	};
	A.prototype.play = function (a, b, c) {
		var d = this.aa;
		this.Ph = a;
		this.volume = b;
		c = c || 0;
		switch (this.Bb) {
		case S:
			1 !== d.playbackRate && (d.playbackRate = 1);
			d.volume !== b * Ua && (d.volume = b * Ua);
			d.loop !== a && (d.loop = a);
			d.muted && (d.muted = !1);
			if (d.currentTime !== c)
				try {
					d.currentTime = c
				} catch (e) {}

			if (this.ig && Kb && !t.Qg)
				Lb.push(this);
			else
				try {
					this.aa.play()
				} catch (k) {}

			break;
		case K:
			this.muted = !1;
			this.Gn = 1;
			if (this.buffer.Bb === K)
				this.Qi || (this.aa = N.createBufferSource(), this.aa.buffer = this.buffer.hc, this.aa.connect(this.hd)), this.aa.loop =
					a, this.hd.gain.value = b * Ua, 0 === c ? f(this.aa) : g(this.aa, c, this.fl());
			else {
				1 !== d.playbackRate && (d.playbackRate = 1);
				d.loop !== a && (d.loop = a);
				this.hd.gain.value = b * Ua;
				if (d.currentTime !== c)
					try {
						d.currentTime = c
					} catch (h) {}

				this.ig && Kb && !t.Qg ? Lb.push(this) : d.play()
			}
			break;
		case M:
			(!this.Qi && this.je || 0 !== c) && d.seekTo(c);
			d.play();
			this.Ju = !1;
			break;
		case Z:
			t.$d ? AppMobi.context.playSound(this.src, a) : AppMobi.player.playSound(this.src, a)
		}
		this.playbackRate = 1;
		this.startTime = t.Ke.Cb - c;
		this.Kh = this.je = this.Qi = !1
	};
	A.prototype.stop =
	function () {
		switch (this.Bb) {
		case S:
			this.aa.paused || this.aa.pause();
			break;
		case K:
			this.buffer.Bb === K ? h(this.aa) : this.aa.paused || this.aa.pause();
			break;
		case M:
			this.aa.stop();
			break;
		case Z:
			t.$d && AppMobi.context.stopSound(this.src)
		}
		this.je = !0;
		this.Kh = !1
	};
	A.prototype.pause = function () {
		if (!(this.Qi || this.je || this.Wm() || this.Kh)) {
			switch (this.Bb) {
			case S:
				this.aa.paused || this.aa.pause();
				break;
			case K:
				this.buffer.Bb === K ? (this.ug = this.it(), this.Ph && (this.ug %= this.fl()), h(this.aa)) : this.aa.paused || this.aa.pause();
				break;
			case M:
				this.aa.pause();
				break;
			case Z:
				t.$d && AppMobi.context.stopSound(this.src)
			}
			this.Kh = !0
		}
	};
	A.prototype.fF = function (a) {
		this.Bb === K && (this.$g ? (this.Cc.disconnect(), this.Cc.connect(a)) : (this.hd.disconnect(), this.hd.connect(a)))
	};
	A.prototype.fl = function () {
		switch (this.Bb) {
		case S:
			if ("undefined" !== typeof this.aa.duration)
				return this.aa.duration;
			break;
		case K:
			return this.buffer.hc.duration;
		case M:
			return this.aa.getDuration();
		case Z:
			if (t.$d)
				return AppMobi.context.getDurationSound(this.src)
		}
		return 0
	};
	A.prototype.it =
	function () {
		var a = this.fl(),
		b = 0;
		switch (this.Bb) {
		case S:
			"undefined" !== typeof this.aa.currentTime && (b = this.aa.currentTime);
			break;
		case K:
			if (this.buffer.Bb === K) {
				if (this.Kh)
					return this.ug;
				b = t.Ke.Cb - this.startTime
			} else
				"undefined" !== typeof this.aa.currentTime && (b = this.aa.currentTime);
			break;
		case Z:
			t.$d && (b = AppMobi.context.getPlaybackTimeSound(this.src))
		}
		!this.Ph && b > a && (b = a);
		return b
	};
	A.prototype.ek = function () {
		return !this.Kh && !this.Qi && !this.je && !this.Wm()
	};
	A.prototype.aA = function () {
		var a = this.volume * Ua;
		switch (this.Bb) {
		case S:
			this.aa.volume &&
			this.aa.volume !== a && (this.aa.volume = a);
			break;
		case K:
			this.hd.gain.value = a * this.Gn
		}
	};
	A.prototype.Hp = function (a) {
		switch (this.Bb) {
		case S:
			this.aa.muted !== !!a && (this.aa.muted = !!a);
			break;
		case K:
			this.Gn = a ? 0 : 1,
			this.hd.gain.value = Ua * this.volume * this.Gn
		}
	};
	A.prototype.rF = function () {
		this.kl = !0;
		this.Hp(this.kl || this.dn)
	};
	A.prototype.zz = function (a) {
		this.dn = !!a;
		this.Hp(this.kl || this.dn)
	};
	A.prototype.$z = function () {
		var a = this.playbackRate;
		if (1 === oc && !this.ig || 2 === oc)
			a *= t.ji;
		switch (this.Bb) {
		case S:
			this.aa.playbackRate !==
			a && (this.aa.playbackRate = a);
			break;
		case K:
			this.buffer.Bb === K ? this.aa.playbackRate.value !== a && (this.aa.playbackRate.value = a) : this.aa.playbackRate !== a && (this.aa.playbackRate = a)
		}
	};
	A.prototype.sF = function (a) {
		switch (this.Bb) {
		case S:
			a ? this.ek() ? (this.aa.pause(), this.fi = !0) : this.fi = !1 : this.fi && this.aa.play();
			break;
		case K:
			a ? this.ek() ? (this.buffer.Bb === K ? (this.ug = this.it(), this.Ph && (this.ug %= this.fl()), h(this.aa)) : this.aa.pause(), this.fi = !0) : this.fi = !1 : this.fi && (this.buffer.Bb === K ? (this.aa = N.createBufferSource(),
						this.aa.buffer = this.buffer.hc, this.aa.connect(this.hd), this.aa.loop = this.Ph, this.hd.gain.value = Ua * this.volume * this.Gn, this.startTime = t.Ke.Cb - this.ug, g(this.aa, this.ug, this.fl())) : this.aa.play());
			break;
		case M:
			a ? this.ek() ? (this.aa.pause(), this.fi = !0) : this.fi = !1 : this.fi && this.aa.play()
		}
	};
	L.Za = function (a) {
		this.type = a;
		t = this.c = a.c;
		G = this;
		this.be = null;
		this.mn = -600;
		!(this.c.mq || this.c.hq && (this.c.$m || this.c.cy)) || this.c.iq || this.c.jd || (Kb = !0);
		N = null;
		"undefined" !== typeof AudioContext ? (Y = K, N = new AudioContext) :
		"undefined" !== typeof webkitAudioContext && (Y = K, N = new webkitAudioContext);
		(this.c.mq && Y === K || Kb) && document.addEventListener("touchstart", function () {
			var a,
			b,
			c;
			!we && N && (a = N.createBuffer(1, 1, 22050), b = N.createBufferSource(), b.buffer = a, b.connect(N.destination), f(b), we = !0);
			if (Kb) {
				if (!Za)
					for (a = 0, b = Lb.length; a < b; ++a)
						c = Lb[a], c.je || c.Kh || c.aa.play();
				Lb.length = 0
			}
		}, !0);
		Y !== K && (this.c.hg ? Y = M : this.c.il && (Y = Z));
		Y === M && (T = location.href, a = T.lastIndexOf("/"), -1 < a && (T = T.substr(0, a + 1)), T = T.replace("file://", ""));
		if (this.c.fy &&
			this.c.$D && "undefined" === typeof Audio)
			alert("It looks like you're using Safari for Windows without Quicktime.  Audio cannot be played until Quicktime is installed."), this.c.pi(this);
		else {
			if (this.c.$d)
				nc = this.c.hq;
			else
				try {
					nc = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"')
				} catch (b) {
					nc = !1
				}
			this.c.rr(this)
		}
	};
	var $a = L.Za.prototype;
	$a.Ca = function () {
		oc = this.$[0];
		this.gi = this.$[1];
		Wc = this.$[2];
		Xc = this.$[3];
		this.mn = -this.$[4];
		te = this.$[5];
		ue = this.$[6];
		ve = this.$[7];
		this.be = new H;
		Y === K && (N.listener.speedOfSound =
				this.$[8], N.listener.dopplerFactor = this.$[9], N.listener.setPosition(this.c.Va / 2, this.c.Ua / 2, this.mn), N.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function (a, c) {
			jb && jb.disconnect();
			Vc = c.toLowerCase();
			jb = N.createMediaStreamSource(a);
			jb.connect(b(Vc))
		});
		this.c.Mw(function (a) {
			G.SE(a)
		});
		var a = this;
		this.c.Wo(function (b) {
			a.Mn(b)
		})
	};
	$a.Mn = function (a) {
		var b,
		c,
		d;
		b = 0;
		for (c = ba.length; b < c; b++)
			d = ba[b], d.Bc && d.Bc.Sa === a && (d.Bc.Sa = null, d.$g && d.ek() && d.Ph && d.stop());
		this.be.Sa === a && (this.be.Sa =
				null)
	};
	$a.Zc = function () {
		var a = {
			silent : Za,
			masterVolume : Ua,
			listenerZ : this.mn,
			listenerUid : this.be.bq() ? this.be.Sa.uid : -1,
			playing : [],
			effects : {}

		},
		b = a.playing,
		c,
		d,
		e,
		k,
		f,
		g;
		c = 0;
		for (d = ba.length; c < d; c++)
			e = ba[c], !e.ek() || 3 === this.gi || e.ig && 1 === this.gi || !e.ig && 2 === this.gi || (k = e.it(), e.Ph && (k %= e.fl()), k = {
					tag : e.sj,
					buffersrc : e.buffer.src,
					is_music : e.ig,
					playbackTime : k,
					volume : e.volume,
					looping : e.Ph,
					muted : e.kl,
					playbackRate : e.playbackRate,
					paused : e.Kh,
					resume_position : e.ug
				}, e.$g && (k.pan = {}, g = k.pan, e.Bc && e.Bc.bq() ? g.objUid =
						e.Bc.Sa.uid : (g.x = e.az, g.y = e.bz, g.a = e.Xy), g.ia = e.Yy, g.oa = e.Zy, g.og = e.$y), b.push(k));
		b = a.effects;
		for (f in ha)
			if (ha.hasOwnProperty(f)) {
				e = [];
				c = 0;
				for (d = ha[f].length; c < d; c++)
					e.push({
						type : ha[f][c].type,
						params : ha[f][c].Mb
					});
				b[f] = e
			}
		return a
	};
	var Mb = [];
	$a.Ad = function (a) {
		var b = a.silent;
		Ua = a.masterVolume;
		this.mn = a.listenerZ;
		this.be.Zn(null);
		var c = a.listenerUid;
		-1 !== c && (this.be.yq = c, Mb.push(this.be));
		var c = a.playing,
		d,
		e,
		f,
		g,
		h,
		J,
		t,
		C,
		A,
		D,
		G;
		if (3 !== this.gi)
			for (d = 0, e = ba.length; d < e; d++)
				A = ba[d], A.ig && 1 === this.gi || (A.ig ||
					2 !== this.gi) && A.stop();
		for (h in ha)
			if (ha.hasOwnProperty(h))
				for (d = 0, e = ha[h].length; d < e; d++)
					ha[h][d].remove();
		Qa(ha);
		for (h in a.effects)
			if (a.effects.hasOwnProperty(h))
				for (J = a.effects[h], d = 0, e = J.length; d < e; d++)
					switch (f = J[d].type, D = J[d].params, f) {
					case "filter":
						I(h, new m(D[0], D[1], D[2], D[3], D[4], D[5]));
						break;
					case "delay":
						I(h, new l(D[0], D[1], D[2]));
						break;
					case "convolve":
						f = D[2];
						A = this.ct(f, !1);
						A.hc ? f = new n(A.hc, D[0], D[1], f) : (f = new n(null, D[0], D[1], f), A.My = D[0], A.wp = f);
						I(h, f);
						break;
					case "flanger":
						I(h, new k(D[0],
								D[1], D[2], D[3], D[4]));
						break;
					case "phaser":
						I(h, new p(D[0], D[1], D[2], D[3], D[4], D[5]));
						break;
					case "gain":
						I(h, new q(D[0]));
						break;
					case "tremolo":
						I(h, new r(D[0], D[1]));
						break;
					case "ringmod":
						I(h, new v(D[0], D[1]));
						break;
					case "distortion":
						I(h, new u(D[0], D[1], D[2], D[3], D[4]));
						break;
					case "compressor":
						I(h, new y(D[0], D[1], D[2], D[3], D[4]));
						break;
					case "analyser":
						I(h, new F(D[0], D[1]))
					}
		d = 0;
		for (e = c.length; d < e; d++)
			3 === this.gi || (a = c[d], f = a.buffersrc, g = a.is_music, h = a.tag, J = a.playbackTime, t = a.looping, C = a.volume, G = (D = a.pan) &&
				D.hasOwnProperty("objUid") ? D.objUid : -1, g && 1 === this.gi) || !g && 2 === this.gi || ((A = this.Jx(f, h, g, t, C)) ? (A.ug = a.resume_position, A.jv(!!D), A.play(t, C, J), A.$z(), A.aA(), A.Hp(A.kl || A.dn), a.paused && A.pause(), a.muted && A.rF(), A.Hp(A.kl || A.dn), D && (-1 !== G ? (A.Bc = A.Bc || new H, A.Bc.yq = G, Mb.push(A.Bc)) : A.hv(D.x, D.y, D.a, D.ia, D.oa, D.og))) : (A = this.ct(f, g), A.dr = J, A.Mq = a.paused, D && (-1 !== G ? A.Ll.push({
							Oy : G,
							qt : D.ia,
							yu : D.oa,
							Bu : D.og,
							Pz : h
						}) : A.Ll.push({
							x : D.x,
							y : D.y,
							O : D.a,
							qt : D.ia,
							yu : D.oa,
							Bu : D.og,
							Pz : h
						}))));
		if (b && !Za) {
			d = 0;
			for (e = ba.length; d <
				e; d++)
				ba[d].zz(!0);
			Za = !0
		} else if (!b && Za) {
			d = 0;
			for (e = ba.length; d < e; d++)
				ba[d].zz(!1);
			Za = !1
		}
	};
	$a.Gg = function () {
		var a,
		b,
		c,
		d;
		a = 0;
		for (b = Mb.length; a < b; a++)
			c = Mb[a], d = this.c.Ri(c.yq), c.Zn(d), c.yq = -1, d && (rb = d.x, sb = d.y);
		Mb.length = 0
	};
	$a.SE = function (a) {
		var b,
		c;
		b = 0;
		for (c = ba.length; b < c; b++)
			ba[b].sF(a)
	};
	$a.tc = function () {
		var a = this.c.Ja,
		b,
		c,
		d;
		b = 0;
		for (c = ba.length; b < c; b++)
			d = ba[b], d.tc(a), d.Bb === S || d.Bb === Z || d.Qi || d.je || !d.Wm() || (d.je = !0, Q = d.sj, t.trigger(ic.prototype.B.as, G)), 0 !== oc && d.$z();
		var e,
		k;
		for (e in ha)
			if (ha.hasOwnProperty(e))
				for (d =
						ha[e], b = 0, c = d.length; b < c; b++)
					k = d[b], k.tc && k.tc();
		Y === K && this.be.bq() && (this.be.tc(a), rb = this.be.Sa.x, sb = this.be.Sa.y, N.listener.setPosition(this.be.Sa.x, this.be.Sa.y, this.mn), N.listener.setVelocity(this.be.lt(), this.be.mt(), 0))
	};
	$a.ct = function (a, b) {
		var c,
		d,
		e,
		k = null;
		c = 0;
		for (d = ga.length; c < d; c++)
			if (e = ga[c], e.src === a) {
				k = e;
				break
			}
		k || (k = new J(a, b), ga.push(k));
		return k
	};
	$a.Jx = function (a, b, c, d, e) {
		var k,
		f,
		g;
		k = 0;
		for (f = ba.length; k < f; k++)
			if (g = ba[k], g.src === a && (g.XB() || c))
				return g.sj = b, g;
		a = this.ct(a, c);
		if (!a.hc)
			return "<preload>" !==
			b && (a.Oq = b, a.Yt = d, a.Hv = e), null;
		g = new A(a, b);
		ba.push(g);
		return g
	};
	var Ta = [];
	D.prototype.as = function (a) {
		return cb(Q, a)
	};
	D.prototype.Rr = function (a) {
		C(a);
		var b;
		a = 0;
		for (b = Ta.length; a < b; a++)
			if (Ta[a].ek())
				return !0;
		return !1
	};
	L.B = new D;
	P.prototype.Play = function (b, c, d, e) {
		!Za && (d = a(d), qb = this.Jx(this.c.Fx + b[0] + (nc ? ".ogg" : ".m4a"), e, b[1], 0 !== c, d)) && (qb.jv(!1), qb.play(0 !== c, d))
	};
	P.prototype.xm = function (a) {
		C(a);
		var b;
		a = 0;
		for (b = Ta.length; a < b; a++)
			Ta[a].stop()
	};
	P.prototype.Qo = function (b) {
		Ua = a(b);
		var c;
		b = 0;
		for (c = ba.length; b <
			c; b++)
			ba[b].aA()
	};
	L.A = new P;
	L.W = new(s())
})();
function jc(a) {
	this.c = a
}
(function () {
	function a() {}

	var c = jc.prototype;
	c.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a) {
		this.type = a;
		this.c = a.c
	};
	c.Za.prototype.Ca = function () {
		var a = this;
		window.addEventListener("resize", function () {
			a.c.trigger(jc.prototype.B.WA, a)
		});
		"undefined" !== typeof navigator.onLine && (window.addEventListener("online", function () {
				a.c.trigger(jc.prototype.B.SA, a)
			}), window.addEventListener("offline", function () {
				a.c.trigger(jc.prototype.B.RA, a)
			}));
		"undefined" !== typeof window.applicationCache &&
		(window.applicationCache.addEventListener("updateready", function () {
				a.c.ql = 1;
				a.c.trigger(jc.prototype.B.lw, a)
			}), window.applicationCache.addEventListener("progress", function (c) {
				a.c.ql = c.loaded / c.total
			}));
		this.c.$d || (document.addEventListener("appMobi.device.update.available", function () {
				a.c.trigger(jc.prototype.B.lw, a)
			}), document.addEventListener("backbutton", function () {
				a.c.trigger(jc.prototype.B.Zr, a)
			}), document.addEventListener("menubutton", function () {
				a.c.trigger(jc.prototype.B.hw, a)
			}), document.addEventListener("searchbutton",
				function () {
				a.c.trigger(jc.prototype.B.XA, a)
			}), document.addEventListener("tizenhwkey", function (c) {
				var e;
				switch (c.keyName) {
				case "back":
					e = a.c.trigger(jc.prototype.B.Zr, a);
					!e && window.tizen && window.tizen.application.getCurrentApplication().exit();
					break;
				case "menu":
					(e = a.c.trigger(jc.prototype.B.hw, a)) || c.preventDefault()
				}
			}));
		this.c.Ft && (WinJS.Application.onbackclick = function () {
			return !!a.c.trigger(jc.prototype.B.Zr, a)
		});
		this.c.Mw(function (c) {
			c ? a.c.trigger(jc.prototype.B.TA, a) : a.c.trigger(jc.prototype.B.UA,
				a)
		})
	};
	a.prototype.SA = x(!0);
	a.prototype.RA = x(!0);
	a.prototype.lw = x(!0);
	a.prototype.UA = x(!0);
	a.prototype.TA = x(!0);
	a.prototype.WA = x(!0);
	a.prototype.Zr = x(!0);
	a.prototype.hw = x(!0);
	a.prototype.XA = x(!0);
	a.prototype.Jo = function (a) {
		return (window.innerWidth <= window.innerHeight ? 0 : 1) === a
	};
	c.B = new a;
	c.A = new(s());
	c.W = new(s())
})();
function hc(a) {
	this.c = a
}
(function () {
	function a() {
		this.name = "";
		this.Wu = 0;
		this.Mb = []
	}
	function c() {
		h++;
		h === g.length && g.push(new a);
		return g[h]
	}
	function b() {}

	function d() {}

	function e() {}

	var f = hc.prototype;
	f.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	f.rb.prototype.Ca = s();
	f.Za = function (a) {
		this.type = a;
		this.c = a.c
	};
	var g = [],
	h = -1;
	f.Za.prototype.Ca = s();
	b.prototype.le = function (a) {
		var b = 0 > h ? null : g[h];
		return b ? cb(a, b.name) : !1
	};
	f.B = new b;
	d.prototype.CallFunction = function (a, b) {
		var d = c();
		d.name = a.toLowerCase();
		d.Wu = 0;
		za(d.Mb, b);
		this.c.trigger(hc.prototype.B.le,
			this, d.name);
		h--
	};
	f.A = new d;
	e.prototype.oA = function (a, b) {
		var d = c();
		d.name = b.toLowerCase();
		d.Wu = 0;
		d.Mb.length = 0;
		var e,
		f;
		e = 2;
		for (f = arguments.length; e < f; e++)
			d.Mb.push(arguments[e]);
		this.c.trigger(hc.prototype.B.le, this, d.name);
		h--;
		a.Bz(d.Wu)
	};
	f.W = new e
})();
function E(a) {
	this.c = a
}
(function () {
	function a() {
		if (0 === this.Ms.length) {
			var a = document.createElement("canvas");
			a.width = this.width;
			a.height = this.height;
			var b = a.getContext("2d");
			this.Rl ? b.drawImage(this.Db, this.Il, this.Jl, this.width, this.height, 0, 0, this.width, this.height) : b.drawImage(this.Db, 0, 0, this.width, this.height);
			this.Ms = a.toDataURL("image/png")
		}
		return this.Ms
	}
	function c() {}

	function b(a) {
		a[0] = 0;
		a[1] = 0;
		a[2] = 0;
		p.push(a)
	}
	function d(a, b) {
		return a < b ? "" + a + "," + b : "" + b + "," + a
	}
	function e(a, b, c, e) {
		b = b.uid;
		c = c.uid;
		var k = d(b, c);
		if (a.hasOwnProperty(k))
			a[k][2] =
				e;
		else {
			var f = p.length ? p.pop() : [0, 0, 0];
			f[0] = b;
			f[1] = c;
			f[2] = e;
			a[k] = f
		}
	}
	function f(a, c, e) {
		c = d(c.uid, e.uid);
		a.hasOwnProperty(c) && (b(a[c]), delete a[c])
	}
	function g(a, b, c) {
		b = d(b.uid, c.uid);
		if (a.hasOwnProperty(b))
			return q = a[b][2], !0;
		q = -2;
		return !1
	}
	function h() {}

	var m = E.prototype;
	m.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	var l = m.rb.prototype;
	l.Ca = function () {
		if (!this.Ka) {
			var b,
			c,
			d,
			e,
			k,
			f,
			g,
			h,
			l;
			this.$f = [];
			this.cq = !1;
			b = 0;
			for (c = this.Ae.length; b < c; b++) {
				k = this.Ae[b];
				g = {};
				g.name = k[0];
				g.speed = k[1];
				g.loop = k[2];
				g.Vu = k[3];
				g.$q = k[4];
				g.fz = k[5];
				g.Wa = k[6];
				g.frames = [];
				d = 0;
				for (e = k[7].length; d < e; d++)
					f = k[7][d], h = {},
				h.tv = f[0],
				h.Oz = f[1],
				h.Il = f[2],
				h.Jl = f[3],
				h.width = f[4],
				h.height = f[5],
				h.duration = f[6],
				h.oe = f[7],
				h.pe = f[8],
				h.tt = f[9],
				h.Pq = f[10],
				h.gz = f[11],
				h.Rl = 0 !== h.width,
				h.Ms = "",
				h.fH = a,
				l = {
					left : 0,
					top : 0,
					right : 1,
					bottom : 1
				},
				h.nv = l,
				h.uc = null,
				(l = this.c.hD(f[0])) ? h.Db = l : (h.Db = new Image, h.Db.idtkLoadDisposed = !0, h.Db.src = f[0], h.Db.cC = f[0], h.Db.bC = f[1], h.Db.VB = null, this.c.hA(h.Db)),
				g.frames.push(h),
				this.$f.push(h);
				this.Ae[b] = g
			}
		}
	};
	l.FF = function () {
		var a,
		b,
		c;
		a = 0;
		for (b = this.G.length; a < b; a++)
			c = this.G[a], c.Ap = c.yf.uc
	};
	l.Du = function () {
		if (!this.Ka) {
			var a,
			b,
			c;
			a = 0;
			for (b = this.$f.length; a < b; ++a)
				c = this.$f[a], c.Db.VB = null, c.uc = null
		}
	};
	l.Eu = function () {
		if (!this.Ka && this.G.length) {
			var a,
			b,
			c;
			a = 0;
			for (b = this.$f.length; a < b; ++a)
				c = this.$f[a], c.uc = this.c.qa.xq(c.Db, this.c.ub, c.gz);
			this.FF()
		}
	};
	l.iE = function () {
		if (!this.Ka && !this.cq && this.c.qa) {
			var a,
			b,
			c;
			a = 0;
			for (b = this.$f.length; a < b; ++a)
				c = this.$f[a], c.uc = this.c.qa.xq(c.Db, this.c.ub, c.gz);
			this.cq = !0
		}
	};
	l.zv = function () {
		if (!this.Ka &&
			!this.G.length && this.cq) {
			var a,
			b,
			c;
			a = 0;
			for (b = this.$f.length; a < b; ++a)
				c = this.$f[a], this.c.qa.deleteTexture(c.uc), c.uc = null;
			this.cq = !1
		}
	};
	var n = [];
	l.Mu = function (a) {
		var b,
		c,
		d;
		b = n.length = 0;
		for (c = this.$f.length; b < c; ++b)
			d = this.$f[b].Db, -1 === n.indexOf(d) && (a.drawImage(d, 0, 0), n.push(d))
	};
	m.Za = function (a) {
		this.type = a;
		this.c = a.c;
		a = this.type.Ae[0].frames[0].Pq;
		this.Re ? this.Oa.ao(a) : this.Oa = new Wa(a)
	};
	var k = m.Za.prototype;
	k.Ca = function () {
		this.visible = 0 === this.$[0];
		this.dq = this.cn = !1;
		this.wf = 0 !== this.$[3];
		1 === this.type.Ae.length &&
		1 === this.type.Ae[0].frames.length || 0 === this.type.Ae[0].speed || (this.c.rr(this), this.cn = !0);
		this.Pb = this.Ix(this.$[1]) || this.type.Ae[0];
		this.fa = this.$[2];
		0 > this.fa && (this.fa = 0);
		this.fa >= this.Pb.frames.length && (this.fa = this.Pb.frames.length - 1);
		var a = this.Pb.frames[this.fa];
		this.Oa.ao(a.Pq);
		this.oe = a.oe;
		this.pe = a.pe;
		this.Hm = this.Pb.speed;
		this.Re ? this.ag.reset() : this.ag = new Sa;
		this.Mg = this.ag.Cb;
		this.xh = !0;
		this.yh = 0;
		this.Lj = !0;
		this.np = this.Sw = "";
		this.ix = 0;
		this.mp = -1;
		this.type.iE();
		var b,
		c,
		d,
		e,
		k,
		f,
		g,
		a =
			0;
		for (b = this.type.Ae.length; a < b; a++)
			for (e = this.type.Ae[a], c = 0, d = e.frames.length; c < d; c++)
				k = e.frames[c], 0 === k.width && (k.width = k.Db.width, k.height = k.Db.height), k.Rl && (g = k.Db, f = k.nv, f.left = k.Il / g.width, f.top = k.Jl / g.height, f.right = (k.Il + k.width) / g.width, f.bottom = (k.Jl + k.height) / g.height, 0 === k.Il && 0 === k.Jl && k.width === g.width && k.height === g.height && (k.Rl = !1));
		this.yf = this.Pb.frames[this.fa];
		this.Ap = this.yf.uc
	};
	k.Zc = function () {
		var a = {
			a : this.Pb.Wa,
			f : this.fa,
			cas : this.Hm,
			fs : this.Mg,
			ar : this.yh,
			at : this.ag.Cb
		};
		this.xh || (a.ap = this.xh);
		this.Lj || (a.af = this.Lj);
		return a
	};
	k.Ad = function (a) {
		var b = this.lD(a.a);
		b && (this.Pb = b);
		this.fa = a.f;
		0 > this.fa && (this.fa = 0);
		this.fa >= this.Pb.frames.length && (this.fa = this.Pb.frames.length - 1);
		this.Hm = a.cas;
		this.Mg = a.fs;
		this.yh = a.ar;
		this.ag.reset();
		this.ag.Cb = a.at;
		this.xh = a.hasOwnProperty("ap") ? a.ap : !0;
		this.Lj = a.hasOwnProperty("af") ? a.af : !0;
		this.yf = this.Pb.frames[this.fa];
		this.Ap = this.yf.uc;
		this.Oa.ao(this.yf.Pq);
		this.oe = this.yf.oe;
		this.pe = this.yf.pe
	};
	k.xs = function (a) {
		this.fa = a ? 0 :
			this.Pb.frames.length - 1;
		this.xh = !1;
		this.Sw = this.Pb.name;
		this.dq = !0;
		this.c.trigger(E.prototype.B.KA, this);
		this.c.trigger(E.prototype.B.JA, this);
		this.dq = !1;
		this.yh = 0
	};
	k.hH = function () {
		return this.ag.Cb
	};
	k.tc = function () {
		this.ag.add(this.c.$j(this));
		this.np.length && this.wx();
		0 <= this.mp && this.xx();
		var a = this.ag.Cb,
		b = this.Pb,
		c = b.frames[this.fa],
		d = c.duration / this.Hm;
		this.xh && a >= this.Mg + d && (this.Lj ? this.fa++ : this.fa--, this.Mg += d, this.fa >= b.frames.length && (b.fz ? (this.Lj = !1, this.fa = b.frames.length - 2) : b.loop ?
				this.fa = b.$q : (this.yh++, this.yh >= b.Vu ? this.xs(!1) : this.fa = b.$q)), 0 > this.fa && (b.fz ? (this.fa = 1, this.Lj = !0, b.loop || (this.yh++, this.yh >= b.Vu && this.xs(!0))) : b.loop ? this.fa = b.$q : (this.yh++, this.yh >= b.Vu ? this.xs(!0) : this.fa = b.$q)), 0 > this.fa ? this.fa = 0 : this.fa >= b.frames.length && (this.fa = b.frames.length - 1), a > this.Mg + b.frames[this.fa].duration / this.Hm && (this.Mg = a), a = b.frames[this.fa], this.Uk(c, a), this.c.qb = !0)
	};
	k.Ix = function (a) {
		var b,
		c,
		d;
		b = 0;
		for (c = this.type.Ae.length; b < c; b++)
			if (d = this.type.Ae[b], cb(d.name, a))
				return d;
		return null
	};
	k.lD = function (a) {
		var b,
		c,
		d;
		b = 0;
		for (c = this.type.Ae.length; b < c; b++)
			if (d = this.type.Ae[b], d.Wa === a)
				return d;
		return null
	};
	k.wx = function () {
		var a = this.Pb.frames[this.fa],
		b = this.Ix(this.np);
		this.np = "";
		!b || cb(b.name, this.Pb.name) && this.xh || (this.Pb = b, this.Hm = b.speed, 0 > this.fa && (this.fa = 0), this.fa >= this.Pb.frames.length && (this.fa = this.Pb.frames.length - 1), 1 === this.ix && (this.fa = 0), this.xh = !0, this.Mg = this.ag.Cb, this.Lj = !0, this.Uk(a, this.Pb.frames[this.fa]), this.c.qb = !0)
	};
	k.xx = function () {
		var a = this.Pb.frames[this.fa],
		b = this.fa;
		this.fa = sa(this.mp);
		0 > this.fa && (this.fa = 0);
		this.fa >= this.Pb.frames.length && (this.fa = this.Pb.frames.length - 1);
		b !== this.fa && (this.Uk(a, this.Pb.frames[this.fa]), this.Mg = this.ag.Cb, this.c.qb = !0);
		this.mp = -1
	};
	k.Uk = function (a, b) {
		var c = a.width,
		d = a.height,
		e = b.width,
		k = b.height;
		c != e && (this.width *= e / c);
		d != k && (this.height *= k / d);
		this.oe = b.oe;
		this.pe = b.pe;
		this.Oa.ao(b.Pq);
		this.ka();
		this.yf = b;
		this.Ap = b.uc;
		c = 0;
		for (d = this.Ia.length; c < d; c++)
			e = this.Ia[c], e.Ty && e.Ty(a, b);
		this.c.trigger(E.prototype.B.Uk, this)
	};
	k.Li = function (a) {
		a.globalAlpha = this.opacity;
		var b = this.yf,
		c = b.Rl,
		d = b.Db,
		e = this.x,
		k = this.y,
		f = this.width,
		g = this.height;
		if (0 === this.L && 0 <= f && 0 <= g)
			e -= this.oe * f, k -= this.pe * g, this.c.ij && (e = e + 0.5 | 0, k = k + 0.5 | 0), c ? a.drawImage(d, b.Il, b.Jl, b.width, b.height, e, k, f, g) : a.drawImage(d, e, k, f, g);
		else {
			this.c.ij && (e = e + 0.5 | 0, k = k + 0.5 | 0);
			a.save();
			var h = 0 < f ? 1 : -1,
			l = 0 < g ? 1 : -1;
			a.translate(e, k);
			1 === h && 1 === l || a.scale(h, l);
			a.rotate(this.L * h * l);
			e = 0 - this.oe * na(f);
			k = 0 - this.pe * na(g);
			c ? a.drawImage(d, b.Il, b.Jl, b.width, b.height, e, k, na(f),
				na(g)) : a.drawImage(d, e, k, na(f), na(g));
			a.restore()
		}
	};
	k.dg = function (a) {
		a.of(this.Ap);
		a.Ml(this.opacity);
		var b = this.yf,
		c = this.Wb;
		if (this.c.ij) {
			var d = (this.x + 0.5 | 0) - this.x,
			e = (this.y + 0.5 | 0) - this.y;
			b.Rl ? a.kj(c.ic + d, c.jc + e, c.Dd + d, c.Ed + e, c.vd + d, c.wd + e, c.td + d, c.ud + e, b.nv) : a.Vq(c.ic + d, c.jc + e, c.Dd + d, c.Ed + e, c.vd + d, c.wd + e, c.td + d, c.ud + e)
		} else
			b.Rl ? a.kj(c.ic, c.jc, c.Dd, c.Ed, c.vd, c.wd, c.td, c.ud, b.nv) : a.Vq(c.ic, c.jc, c.Dd, c.Ed, c.vd, c.wd, c.td, c.ud)
	};
	k.pD = function (a) {
		var b = this.yf,
		c,
		d;
		c = 0;
		for (d = b.tt.length; c < d; c++)
			if (cb(a,
					b.tt[c][0]))
				return c;
		return -1
	};
	k.Og = function (a, b) {
		var c = this.yf,
		d = c.tt,
		e;
		e = ka(a) ? this.pD(a) : a - 1;
		e = sa(e);
		if (0 > e || e >= d.length)
			return b ? this.x : this.y;
		var k = (d[e][1] - c.oe) * this.width,
		d = d[e][2],
		d = (d - c.pe) * this.height,
		c = Math.cos(this.L);
		e = Math.sin(this.L);
		var f = k * c - d * e,
		d = d * c + k * e,
		k = f + this.x,
		d = d + this.y;
		return b ? k : d
	};
	var p = [],
	q = -2,
	r = [];
	c.prototype.uh = function (a) {
		if (!a)
			return !1;
		var c = this.c,
		d = c.Tp(),
		k = d.type;
		d.ea.Ds || (d.ea.Ds = {}, c.Wo(function (a) {
				return function (c) {
					c = c.uid;
					var d,
					e;
					for (d in a)
						a.hasOwnProperty(d) &&
						(e = a[d], e[0] === c || e[1] === c) && (b(a[d]), delete a[d])
				}
			}
				(d.ea.Ds)));
		var d = d.ea.Ds,
		h = k.Pa(),
		l = a.Pa(),
		h = h.cf(),
		m,
		n,
		p,
		v,
		u,
		G,
		Q,
		T = this.c.hi,
		S = T - 1,
		K = c.zd().xd;
		for (n = 0; n < h.length; n++) {
			p = h[n];
			l.gb ? (p.Ta(), this.c.Kx(p.T, a, p.hb, r), m = r) : m = l.cf();
			for (v = 0; v < m.length; v++)
				u = m[v], c.Dk(p, u) || c.$B(p, u) ? (G = g(d, p, u), G = !G || q < S, e(d, p, u, T), G && (c.Wn(K.Ab), G = k.Pa(), Q = a.Pa(), G.gb = !1, Q.gb = !1, k === a ? (G.G.length = 2, G.G[0] = p, G.G[1] = u, k.bg()) : (G.G.length = 1, Q.G.length = 1, G.G[0] = p, Q.G[0] = u, k.bg(), a.bg()), K.Xu(), c.jj(K.Ab))) : f(d, p, u);
			r.length =
				0
		}
		return !1
	};
	var v = new ea,
	u = !1;
	l.finish = function (a) {
		if (u) {
			if (a) {
				var b = this.c.zd().xd.qg;
				a = null.Pa();
				var c = v.kh(),
				d,
				e;
				if (a.gb) {
					a.gb = !1;
					a.G.length = c.length;
					d = 0;
					for (e = c.length; d < e; d++)
						a.G[d] = c[d];
					if (b)
						for (d = a.tb.length = 0, e = null.G.length; d < e; d++)
							c = null.G[d], v.contains(c) || a.tb.push(c)
				} else if (b)
					for (b = a.G.length, a.G.length = b + c.length, d = 0, e = c.length; d < e; d++)
						a.G[b + d] = c[d], Ba(a.tb, c[d]);
				else
					za(a.G, c);
				null.bg()
			}
			v.clear();
			u = !1
		}
	};
	c.prototype.JA = function (a) {
		return cb(this.Sw, a)
	};
	c.prototype.KA = x(!0);
	c.prototype.Uk =
		x(!0);
	m.B = new c;
	h.prototype.kB = function () {
		this.xh = !1
	};
	h.prototype.jB = function (a) {
		this.xh = !0;
		this.Mg = this.ag.Cb;
		1 === a && 0 !== this.fa && (this.mp = 0, this.dq || this.xx());
		this.cn || (this.c.rr(this), this.cn = !0)
	};
	h.prototype.We = function (a, b) {
		this.np = a;
		this.ix = b;
		this.cn || (this.c.rr(this), this.cn = !0);
		this.dq || this.wx()
	};
	h.prototype.Aw = function (a) {
		a = na(this.width) * (0 === a ? -1 : 1);
		this.width !== a && (this.width = a, this.ka())
	};
	h.prototype.vw = function (a) {
		this.wf !== (0 !== a) && ((this.wf = 0 !== a) ? this.ka() : (this.Ii.right >= this.Ii.left &&
				this.type.Fm.update(this, this.Ii, null), this.Ii.set(0, 0, -1, -1)))
	};
	m.A = new h;
	m.W = new(s())
})();
function kc(a) {
	this.c = a
}
(function () {
	function a(a, b, c) {
		if (c) {
			var d;
			c = 0;
			for (d = b.length; c < d; c++)
				a.length < f && a.push(b[c]);
			b.length = 0
		} else
			for (d in b)
				Object.prototype.hasOwnProperty.call(b, d) && (a.length < f && a.push(b[d]), delete b[d])
	}
	function c(a, b, c) {
		var d = a.lk;
		c = c.replace(/\s\s*$/, "");
		b >= d.length && d.push(g.length ? g.pop() : {});
		b = d[b];
		b.text = c;
		b.width = a.tu(c);
		a.Ul = oa(a.Ul, b.width)
	}
	function b() {}

	var d = kc.prototype;
	d.Ca = s();
	d.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	var e = d.rb.prototype;
	e.Ca = function () {
		this.Ka || (this.Db = new Image, this.Db.idtkLoadDisposed =
				!0, this.Db.src = this.tv, this.c.hA(this.Db), this.uc = null)
	};
	e.Du = function () {
		this.Ka || (this.uc = null)
	};
	e.Eu = function () {
		if (!this.Ka && this.G.length) {
			this.uc || (this.uc = this.c.qa.xq(this.Db, this.c.ub, this.uv));
			var a,
			b;
			a = 0;
			for (b = this.G.length; a < b; a++)
				this.G[a].uc = this.uc
		}
	};
	e.zv = function () {
		this.Ka || this.G.length || !this.uc || (this.c.qa.deleteTexture(this.uc), this.uc = null)
	};
	e.Mu = function (a) {
		a.drawImage(this.Db, 0, 0)
	};
	d.Za = function (a) {
		this.type = a;
		this.c = a.c
	};
	e = d.Za.prototype;
	e.Kl = function () {
		a(g, this.lk, !0);
		a(h, this.pp,
			!1);
		a(m, this.qp, !1);
		Qa(this.Hi)
	};
	e.Ca = function () {
		this.Db = this.type.Db;
		this.op = this.$[0];
		this.Fi = this.$[1];
		this.characterSet = this.$[2];
		this.text = this.$[3];
		this.Gi = this.$[4];
		this.visible = 0 === this.$[5];
		this.Tx = this.$[6] / 2;
		this.eA = this.$[7] / 2;
		this.MF = 0 === this.$[9];
		this.$k = this.$[10];
		this.lineHeight = this.$[11];
		this.Fk = this.Ul = 0;
		this.Re ? (this.lk.length = 0, Qa(this.pp), Qa(this.qp), Qa(this.Hi)) : (this.lk = [], this.pp = {}, this.qp = {}, this.Hi = {});
		this.io = !0;
		this.Pt = this.width;
		this.c.qa && (this.type.uc || (this.type.uc =
					this.c.qa.xq(this.type.Db, this.c.ub, this.type.uv)), this.uc = this.type.uc);
		this.iB()
	};
	e.Zc = function () {
		var a = {
			t : this.text,
			csc : this.Gi,
			csp : this.$k,
			lh : this.lineHeight,
			tw : this.Ul,
			th : this.Fk,
			lrt : this.fE,
			cw : {}

		},
		b;
		for (b in this.Hi)
			a.cw[b] = this.Hi[b];
		return a
	};
	e.Ad = function (a) {
		this.text = a.t;
		this.Gi = a.csc;
		this.$k = a.csp;
		this.lineHeight = a.lh;
		this.Ul = a.tw;
		this.Fk = a.th;
		this.fE = a.lrt;
		for (var b in a.cw)
			this.Hi[b] = a.cw[b];
		this.io = !0;
		this.Pt = this.width
	};
	var f = 1E3,
	g = [],
	h = [],
	m = [];
	e.iB = function () {
		for (var a = this.Db, b = a.width,
			c = a.height, a = this.op, d = this.Fi, e = a / b, f = d / c, g = this.characterSet, b = Math.floor(b / a), c = Math.floor(c / d), l = 0; l < g.length && !(l >= b * c); l++) {
			var n = l % b,
			J = Math.floor(l / b),
			A = g.charAt(l);
			if (this.c.qa) {
				var C = this.qp,
				I = n * e,
				D = J * f,
				n = (n + 1) * e,
				J = (J + 1) * f;
				void 0 === C[A] && (C[A] = m.length ? m.pop() : new va);
				C[A].left = I;
				C[A].top = D;
				C[A].right = n;
				C[A].bottom = J
			} else
				C = this.pp, n *= a, J *= d, I = a, D = d, void 0 === C[A] && (C[A] = h.length ? h.pop() : {}), C[A].x = n, C[A].y = J, C[A].Fc = I, C[A].Sx = D
		}
	};
	var l = [];
	d.nB = function (a) {
		l.length = 0;
		for (var b = "", c, d = 0; d <
			a.length; )
			if (c = a.charAt(d), "\n" === c)
				b.length && (l.push(b), b = ""), l.push("\n"), ++d;
			else if (" " === c || "\t" === c || "-" === c) {
				do
					b += a.charAt(d), d++;
				while (d < a.length && (" " === a.charAt(d) || "\t" === a.charAt(d)));
				l.push(b);
				b = ""
			} else
				d < a.length && (b += c, d++);
		b.length && l.push(b)
	};
	d.qB = function (b) {
		var c = b.text,
		d = b.lk;
		if (c && c.length) {
			var e = b.width;
			if (2 >= e)
				a(g, d, !0);
			else {
				var f = b.Gi,
				h = b.$k;
				if (c.length * (b.op * f + h) - h <= e && -1 === c.indexOf("\n") && (h = b.tu(c), h <= e)) {
					a(g, d, !0);
					d.push(g.length ? g.pop() : {});
					d[0].text = c;
					d[0].width = h;
					b.Ul = h;
					b.Fk = b.Fi * f + b.lineHeight;
					return
				}
				this.rB(b);
				b.Fk = d.length * (b.Fi * f + b.lineHeight)
			}
		} else
			a(g, d, !0)
	};
	d.rB = function (a) {
		var b = a.MF,
		d = a.text,
		e = a.lk,
		h = a.width;
		b && (this.nB(d), d = l);
		var m = "",
		n,
		F,
		H,
		J = 0,
		A = !1;
		for (H = 0; H < d.length; H++)
			"\n" === d[H] ? (!0 === A ? A = !1 : (c(a, J, m), J++), m = "") : (A = !1, n = m, m += d[H], F = a.tu(m.replace(/\s\s*$/, "")), F > h && ("" === n ? (c(a, J, m), m = "", A = !0) : (c(a, J, n), m = d[H]), J++, b || " " !== m || (m = "")));
		m.replace(/\s\s*$/, "").length && (c(a, J, m), J++);
		for (H = J; H < e.length; H++)
			g.length < f && g.push(e[H]);
		e.length = J
	};
	e.tu = function (a) {
		for (var b = this.$k, c = a.length, d = 0, e = 0; e < c; e++)
			d += this.Rm(a.charAt(e)) * this.Gi + b;
		return d - (0 < d ? b : 0)
	};
	e.Rm = function (a) {
		var b = this.Hi;
		return void 0 !== b[a] ? b[a] : this.op
	};
	e.oz = function () {
		if (this.io || this.width !== this.Pt)
			this.Fk = this.Ul = 0, this.type.ec.qB(this), this.io = !1, this.Pt = this.width
	};
	e.Li = function (a) {
		var b = this.Db;
		if ("" !== this.text && null != b && (this.oz(), !(this.height < this.Fi * this.Gi + this.lineHeight))) {
			a.globalAlpha = this.opacity;
			var b = this.x,
			c = this.y;
			this.c.ij && (b = b + 0.5 | 0, c = c + 0.5 | 0);
			a.save();
			a.translate(b, c);
			a.rotate(this.L);
			for (var b = this.Tx, c = this.Gi, d = this.Fi * c, e = this.lineHeight, f = this.$k, g = this.lk, h, l =  - (this.oe * this.width), m =  - (this.pe * this.height), m = m + this.eA * oa(0, this.height - this.Fk), n, C, I = 0; I < g.length; I++) {
				var D = g[I].text;
				h = b * oa(0, this.width - g[I].width);
				h = l + h;
				for (var m = m + e, P = 0; P < D.length; P++) {
					var L = D.charAt(P),
					t = this.pp[L];
					if (h + this.Rm(L) * c > this.width + 1E-5)
						break;
					void 0 !== t && (n = h, C = m, 0 === this.L && (n = Math.round(n), C = Math.round(C)), a.drawImage(this.Db, t.x, t.y, t.Fc, t.Sx, n, C,
							t.Fc * c, t.Sx * c));
					h += this.Rm(L) * c + f
				}
				m += d;
				if (m + d + e > this.height)
					break
			}
			a.restore()
		}
	};
	var n = new wa;
	e.dg = function (a) {
		a.of(this.uc);
		a.Ml(this.opacity);
		if ("" !== this.text && (this.oz(), !(this.height < this.Fi * this.Gi + this.lineHeight))) {
			this.Ta();
			var b = this.Wb,
			c = 0,
			d = 0;
			this.c.ij && (c = (this.x + 0.5 | 0) - this.x, d = (this.y + 0.5 | 0) - this.y);
			var e = this.L,
			f = this.Tx,
			g = this.eA,
			h = this.Gi,
			l = this.Fi * h,
			m = this.lineHeight,
			A = this.$k,
			C = this.lk,
			I = this.Fk,
			D,
			P;
			0 !== e && (D = Math.cos(e), P = Math.sin(e));
			for (var L, c = b.ic + c, b = b.jc + d, g = g * oa(0, this.height -
						I), t, G, I = 0; I < C.length; I++) {
				d = C[I].text;
				L = f * oa(0, this.width - C[I].width);
				for (var g = g + m, Q = 0; Q < d.length; Q++) {
					var T = d.charAt(Q),
					S = this.qp[T];
					if (L + this.Rm(T) * h > this.width + 1E-5)
						break;
					if (void 0 !== S) {
						var K = this.op * h,
						M = this.Fi * h;
						t = L;
						G = g;
						0 === e && (t = Math.round(t), G = Math.round(G));
						n.ic = t;
						n.jc = G;
						n.Dd = t + K;
						n.Ed = G;
						n.td = t;
						n.ud = G + M;
						n.vd = t + K;
						n.wd = G + M;
						0 !== e && (t = n, G = D, K = P, M = void 0, M = t.ic * G - t.jc * K, t.jc = t.jc * G + t.ic * K, t.ic = M, M = t.Dd * G - t.Ed * K, t.Ed = t.Ed * G + t.Dd * K, t.Dd = M, M = t.td * G - t.ud * K, t.ud = t.ud * G + t.td * K, t.td = M, M = t.vd * G - t.wd *
								K, t.wd = t.wd * G + t.vd * K, t.vd = M);
						n.offset(c, b);
						a.kj(n.ic, n.jc, n.Dd, n.Ed, n.vd, n.wd, n.td, n.ud, S)
					}
					L += this.Rm(T) * h + A
				}
				g += l;
				if (g + l + m > this.height)
					break
			}
		}
	};
	d.B = new(s());
	b.prototype.vm = function (a) {
		ja(a) && 1E9 > a && (a = Math.round(1E10 * a) / 1E10);
		a = a.toString();
		this.text !== a && (this.text = a, this.io = !0, this.c.qb = !0)
	};
	e.IG = function (a, b) {
		var c = parseInt(b, 10);
		this.Hi[a] !== c && (this.Hi[a] = c, this.io = !0, this.c.qb = !0)
	};
	d.A = new b;
	d.W = new(s())
})();
function lc(a) {
	this.c = a
}
(function () {
	function a(a) {
		h = a.x;
		m = a.y;
		l = a.z
	}
	function c(a) {
		n = a.x;
		k = a.y;
		p = a.z
	}
	function b() {}

	function d() {}

	var e = lc.prototype;
	e.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	e.rb.prototype.Ca = s();
	e.Za = function (a) {
		this.type = a;
		this.c = a.c;
		this.touches = [];
		this.vu = !1
	};
	var f = e.Za.prototype,
	g = {
		left : 0,
		top : 0
	};
	f.Mm = function (a) {
		var b,
		c;
		b = 0;
		for (c = this.touches.length; b < c; b++)
			if (this.touches[b].id === a)
				return b;
		return -1
	};
	var h = 0,
	m = 0,
	l = 0,
	n = 0,
	k = 0,
	p = 0;
	f.Ca = function () {
		this.aE = !("undefined" === typeof window.c2isWindows8 || !window.c2isWindows8);
		this.uj = this.Ks = this.Js = this.Jw = this.Iw = this.Hw = this.GB = this.EB = this.DB = this.Pn = this.On = this.Nn = 0;
		this.JF = 0 !== this.$[0];
		var b = 0 < this.c.He ? document : this.c.canvas,
		d = document;
		this.c.$d ? d = b = window.Canvas : this.c.Df && (d = b = window);
		var e = this;
		window.navigator.pointerEnabled ? (b.addEventListener("pointerdown", function (a) {
				e.Sy(a)
			}, !1), b.addEventListener("pointermove", function (a) {
				e.Ry(a)
			}, !1), d.addEventListener("pointerup", function (a) {
				e.Lq(a)
			}, !1), d.addEventListener("pointercancel", function (a) {
				e.Lq(a)
			}, !1), this.c.canvas &&
			(this.c.canvas.addEventListener("MSGestureHold", function (a) {
					a.preventDefault()
				}, !1), document.addEventListener("MSGestureHold", function (a) {
					a.preventDefault()
				}, !1), this.c.canvas.addEventListener("gesturehold", function (a) {
					a.preventDefault()
				}, !1), document.addEventListener("gesturehold", function (a) {
					a.preventDefault()
				}, !1))) : window.navigator.msPointerEnabled ? (b.addEventListener("MSPointerDown", function (a) {
				e.Sy(a)
			}, !1), b.addEventListener("MSPointerMove", function (a) {
				e.Ry(a)
			}, !1), d.addEventListener("MSPointerUp",
				function (a) {
				e.Lq(a)
			}, !1), d.addEventListener("MSPointerCancel", function (a) {
				e.Lq(a)
			}, !1), this.c.canvas && (this.c.canvas.addEventListener("MSGestureHold", function (a) {
					a.preventDefault()
				}, !1), document.addEventListener("MSGestureHold", function (a) {
					a.preventDefault()
				}, !1))) : (b.addEventListener("touchstart", function (a) {
				e.Vy(a)
			}, !1), b.addEventListener("touchmove", function (a) {
				e.Uy(a)
			}, !1), d.addEventListener("touchend", function (a) {
				e.Fu(a)
			}, !1), d.addEventListener("touchcancel", function (a) {
				e.Fu(a)
			}, !1));
		if (this.aE) {
			var k =
			function (a) {
				a = a.reading;
				e.Hw = a.accelerationX;
				e.Iw = a.accelerationY;
				e.Jw = a.accelerationZ
			},
			f = function (a) {
				a = a.reading;
				e.Nn = a.yawDegrees;
				e.On = a.pitchDegrees;
				e.Pn = a.rollDegrees
			},
			g = Windows.Devices.Sensors.Accelerometer.getDefault();
			g && (g.reportInterval = Math.max(g.minimumReportInterval, 16), g.addEventListener("readingchanged", k));
			var h = Windows.Devices.Sensors.Inclinometer.getDefault();
			h && (h.reportInterval = Math.max(h.minimumReportInterval, 16), h.addEventListener("readingchanged", f));
			document.addEventListener("visibilitychange",
				function () {
				document.hidden || document.msHidden ? (g && g.removeEventListener("readingchanged", k), h && h.removeEventListener("readingchanged", f)) : (g && g.addEventListener("readingchanged", k), h && h.addEventListener("readingchanged", f))
			}, !1)
		} else
			window.addEventListener("deviceorientation", function (a) {
				e.Nn = a.alpha || 0;
				e.On = a.beta || 0;
				e.Pn = a.gamma || 0
			}, !1), window.addEventListener("devicemotion", function (a) {
				a.accelerationIncludingGravity && (e.DB = a.accelerationIncludingGravity.x || 0, e.EB = a.accelerationIncludingGravity.y ||
						0, e.GB = a.accelerationIncludingGravity.z || 0);
				a.acceleration && (e.Hw = a.acceleration.x || 0, e.Iw = a.acceleration.y || 0, e.Jw = a.acceleration.z || 0)
			}, !1);
		this.JF && !this.c.jd && (jQuery(document).mousemove(function (a) {
				e.QE(a)
			}), jQuery(document).mousedown(function (a) {
				e.PE(a)
			}), jQuery(document).mouseup(function (a) {
				e.RE(a)
			}));
		this.c.il && !this.c.$d && AppMobi.accelerometer.watchAcceleration(a, {
			frequency : 40,
			adjustForRotation : !0
		});
		this.c.hg && navigator.accelerometer && navigator.accelerometer.watchAcceleration && navigator.accelerometer.watchAcceleration(c,
			null, {
			frequency : 40
		});
		this.c.AF(this)
	};
	f.Ry = function (a) {
		if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE && "mouse" !== a.pointerType) {
			a.preventDefault && a.preventDefault();
			var b = this.Mm(a.pointerId),
			c = Ra();
			if (0 <= b) {
				var d = this.c.jd ? g : jQuery(this.c.canvas).offset(),
				b = this.touches[b];
				2 > c - b.time || (b.sq = b.time, b.Wi = b.x, b.Xi = b.y, b.time = c, b.x = a.pageX - d.left, b.y = a.pageY - d.top)
			}
		}
	};
	f.Sy = function (a) {
		if (a.pointerType !== a.MSPOINTER_TYPE_MOUSE && "mouse" !== a.pointerType) {
			a.preventDefault && a.preventDefault();
			var b = this.c.jd ?
				g : jQuery(this.c.canvas).offset(),
			c = a.pageX - b.left,
			b = a.pageY - b.top,
			d = Ra();
			this.uj = this.touches.length;
			this.touches.push({
				time : d,
				x : c,
				y : b,
				sq : d,
				Wi : c,
				Xi : b,
				id : a.pointerId,
				qv : this.uj
			});
			this.c.Qg = !0;
			this.c.trigger(lc.prototype.B.jw, this);
			this.c.trigger(lc.prototype.B.No, this);
			this.Js = c;
			this.Ks = b;
			this.c.trigger(lc.prototype.B.Vk, this);
			this.c.Qg = !1
		}
	};
	f.Lq = function (a) {
		a.pointerType !== a.MSPOINTER_TYPE_MOUSE && "mouse" !== a.pointerType && (a.preventDefault && a.preventDefault(), a = this.Mm(a.pointerId), this.uj = 0 <= a ? this.touches[a].qv :
				-1, this.c.Qg = !0, this.c.trigger(lc.prototype.B.iw, this), this.c.trigger(lc.prototype.B.kw, this), this.c.Qg = !1, 0 <= a && this.touches.splice(a, 1))
	};
	f.Uy = function (a) {
		a.preventDefault && a.preventDefault();
		var b = Ra(),
		c,
		d,
		e,
		k;
		c = 0;
		for (d = a.changedTouches.length; c < d; c++)
			if (e = a.changedTouches[c], k = this.Mm(e.identifier), 0 <= k) {
				var f = this.c.jd ? g : jQuery(this.c.canvas).offset();
				k = this.touches[k];
				2 > b - k.time || (k.sq = k.time, k.Wi = k.x, k.Xi = k.y, k.time = b, k.x = e.pageX - f.left, k.y = e.pageY - f.top)
			}
	};
	f.Vy = function (a) {
		a.preventDefault &&
		a.preventDefault();
		var b = this.c.jd ? g : jQuery(this.c.canvas).offset(),
		c = Ra();
		this.c.Qg = !0;
		var d,
		e,
		k,
		f;
		d = 0;
		for (e = a.changedTouches.length; d < e; d++)
			if (k = a.changedTouches[d], f = this.Mm(k.identifier), -1 === f) {
				f = k.pageX - b.left;
				var h = k.pageY - b.top;
				this.uj = this.touches.length;
				this.touches.push({
					time : c,
					x : f,
					y : h,
					sq : c,
					Wi : f,
					Xi : h,
					id : k.identifier,
					qv : this.uj
				});
				this.c.trigger(lc.prototype.B.jw, this);
				this.c.trigger(lc.prototype.B.No, this);
				this.Js = f;
				this.Ks = h;
				this.c.trigger(lc.prototype.B.Vk, this)
			}
		this.c.Qg = !1
	};
	f.Fu = function (a) {
		alert(14785855);
		a.preventDefault &&
		a.preventDefault();
		this.c.Qg = !0;
		var b,
		c,
		d;
		b = 0;
		for (c = a.changedTouches.length; b < c; b++)
			d = a.changedTouches[b], d = this.Mm(d.identifier), 0 <= d && (this.uj = this.touches[d].qv, this.c.trigger(lc.prototype.B.iw, this), this.c.trigger(lc.prototype.B.kw, this), this.touches.splice(d, 1));
		this.c.Qg = !1
	};
	f.cH = function () {
		return this.c.il && 0 === this.Nn && 0 !== l ? 90 * l : this.c.hg && 0 === this.Nn && 0 !== p ? 90 * p : this.Nn
	};
	f.dH = function () {
		return this.c.il && 0 === this.On && 0 !== m ? -90 * m : this.c.hg && 0 === this.On && 0 !== k ? -90 * k : this.On
	};
	f.gH = function () {
		return this.c.il &&
		0 === this.Pn && 0 !== h ? 90 * h : this.c.hg && 0 === this.Pn && 0 !== n ? 90 * n : this.Pn
	};
	f.PE = function (a) {
		a.preventDefault && this.c.nt && !this.c.Ti && a.preventDefault();
		this.Vy({
			changedTouches : [{
					pageX : a.pageX,
					pageY : a.pageY,
					identifier : 0
				}
			]
		});
		this.vu = !0
	};
	f.QE = function (a) {
		this.vu && this.Uy({
			changedTouches : [{
					pageX : a.pageX,
					pageY : a.pageY,
					identifier : 0
				}
			]
		})
	};
	f.RE = function (a) {
		a.preventDefault && this.c.nt && !this.c.Ti && a.preventDefault();
		this.c.nt = !0;
		this.Fu({
			changedTouches : [{
					pageX : a.pageX,
					pageY : a.pageY,
					identifier : 0
				}
			]
		});
		this.vu = !1
	};
	f.jo =
	function () {
		var a,
		b,
		c,
		d = Ra();
		a = 0;
		for (b = this.touches.length; a < b; a++)
			c = this.touches[a], c.time <= d - 50 && (c.sq = d)
	};
	b.prototype.No = x(!0);
	b.prototype.kw = x(!0);
	b.prototype.Vk = function (a) {
		return a ? this.c.zF(a, this.Js, this.Ks) : !1
	};
	b.prototype.jw = function (a) {
		a = Math.floor(a);
		return a === this.uj
	};
	b.prototype.iw = function (a) {
		a = Math.floor(a);
		return a === this.uj
	};
	e.B = new b;
	d.prototype.Hc = function (a, b) {
		if (this.touches.length) {
			var c,
			d,
			e,
			k,
			f;
			ia(b) ? (c = this.c.Sm(0), d = c.scale, e = c.yg, k = c.Kf, f = c.L, c.scale = this.c.mb.scale, c.yg =
					1, c.Kf = 1, c.L = this.c.mb.L, a.ta(c.Ce(this.touches[0].x, this.touches[0].y, !0)), c.scale = d, c.yg = e, c.Kf = k, c.L = f) : (c = ja(b) ? this.c.Sm(b) : this.c.ht(b)) ? a.ta(c.Ce(this.touches[0].x, this.touches[0].y, !0)) : a.ta(0)
		} else
			a.ta(0)
	};
	d.prototype.Hj = function (a, b) {
		if (this.touches.length) {
			var c,
			d,
			e,
			k,
			f;
			ia(b) ? (c = this.c.Sm(0), d = c.scale, e = c.yg, k = c.Lf, f = c.L, c.scale = this.c.mb.scale, c.yg = 1, c.Lf = 1, c.L = this.c.mb.L, a.ta(c.Ce(this.touches[0].x, this.touches[0].y, !1)), c.scale = d, c.yg = e, c.Lf = k, c.L = f) : (c = ja(b) ? this.c.Sm(b) : this.c.ht(b)) ?
			a.ta(c.Ce(this.touches[0].x, this.touches[0].y, !1)) : a.ta(0)
		} else
			a.ta(0)
	};
	e.W = new d
})();
function mc(a) {
	this.c = a
}
(function () {
	function a() {}

	function c() {}

	function b() {}

	var d = mc.prototype;
	d.rb = function (a) {
		this.ec = a;
		this.c = a.c
	};
	d.rb.prototype.Ca = s();
	d.Za = function (a) {
		this.type = a;
		this.c = a.c
	};
	var e = d.Za.prototype,
	f = "",
	g = "undefined" !== typeof window.is_scirra_arcade;
	g && (f = "arcade" + window.scirra_arcade_id);
	e.Ca = s();
	a.prototype.Mo = function (a) {
		return null != localStorage.getItem(f + a)
	};
	a.prototype.VA = x(!0);
	a.prototype.xo = function (a, b, c) {
		a = localStorage.getItem(f + a) || "";
		return Yb(parseFloat(a), b, c)
	};
	d.B = new a;
	c.prototype.ym =
	function (a, b) {
		try {
			localStorage.setItem(f + a, b)
			//console.log(b);
			//updateShare(a+"147");
			//if(b==1){}else{Play68.setRankingScoreDesc(b);}
		} catch (c) {
			this.c.trigger(mc.prototype.B.VA, this)
		}
	};
	d.A = new c;
	b.prototype.Ur = function (a, b) {
		a.Se(localStorage.getItem(f + b) || "")
	};
	b.prototype.Nv = function (a) {
		var b = {},
		c,
		d,
		e;
		c = 0;
		for (d = localStorage.length; c < d; c++)
			e = localStorage.key(c), g ? e.substr(0, f.length) === f && (b[e.substr(f.length)] = localStorage.getItem(e)) : b[e] = localStorage.getItem(e);
		a.Se(JSON.stringify({
				c2dictionary : !0,
				data : b
			}))
	};
	d.W = new b
})();
function pc(a) {
	this.c = a
}
(function () {
	function a() {}

	var c = pc.prototype;
	c.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c
	};
	var b = c.Za.prototype;
	b.Ca = function () {
		this.Pw = this.$[0];
		this.Qw = this.$[1];
		this.LB = this.$[2];
		this.KB = this.$[3];
		this.D.Ta();
		this.Dr = this.D.hb.left;
		this.Gr = this.D.hb.top;
		this.Er = this.c.rc - this.D.hb.left;
		this.Fr = this.c.qc - this.D.hb.top;
		this.Yq = this.c.rc - this.D.hb.right;
		this.ep = this.c.qc - this.D.hb.bottom;
		this.enabled = 0 !== this.$[4]
	};
	b.Zc =
	function () {
		return {
			xleft : this.Dr,
			ytop : this.Gr,
			xright : this.Er,
			ybottom : this.Fr,
			rdiff : this.Yq,
			bdiff : this.ep,
			enabled : this.enabled
		}
	};
	b.Ad = function (a) {
		this.Dr = a.xleft;
		this.Gr = a.ytop;
		this.Er = a.xright;
		this.Fr = a.ybottom;
		this.Yq = a.rdiff;
		this.ep = a.bdiff;
		this.enabled = a.enabled
	};
	b.tc = function () {
		if (this.enabled) {
			var a,
			b = this.D.T,
			c = this.D,
			g = this.D.hb;
			0 === this.Pw ? (c.Ta(), a = b.Rd + this.Dr - g.left, 0 !== a && (c.x += a, c.ka())) : 1 === this.Pw && (c.Ta(), a = b.Ue - this.Er - g.left, 0 !== a && (c.x += a, c.ka()));
			0 === this.Qw ? (c.Ta(), a = b.Sd + this.Gr -
					g.top, 0 !== a && (c.y += a, c.ka())) : 1 === this.Qw && (c.Ta(), a = b.Te - this.Fr - g.top, 0 !== a && (c.y += a, c.ka()));
			1 === this.LB && (c.Ta(), a = b.Ue - this.Yq - g.right, 0 !== a && (c.width += a, 0 > c.width && (c.width = 0), c.ka()));
			1 === this.KB && (c.Ta(), a = b.Te - this.ep - g.bottom, 0 !== a && (c.height += a, 0 > c.height && (c.height = 0), c.ka()))
		}
	};
	c.B = new(s());
	a.prototype.Hb = function (a) {
		this.enabled && 0 === a ? this.enabled = !1 : this.enabled || 0 === a || (this.D.Ta(), this.Dr = this.D.hb.left, this.Gr = this.D.hb.top, this.Er = this.c.rc - this.D.hb.left, this.Fr = this.c.qc - this.D.hb.top,
				this.Yq = this.c.rc - this.D.hb.right, this.ep = this.c.qc - this.D.hb.bottom, this.enabled = !0)
	};
	c.A = new a;
	c.W = new(s())
})();
function O(a) {
	this.c = a
}
(function () {
	function a() {}

	var c = O.prototype;
	c.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c
	};
	var b = c.Za.prototype;
	b.Ca = function () {
		var a = this.$[0];
		this.Am = this.$[1];
		this.Qm = this.$[2];
		this.SB = 0 !== this.$[3];
		this.gv = 0 !== this.$[4];
		this.sb = Math.cos(this.D.L) * a;
		this.ib = Math.sin(this.D.L) * a;
		this.Wi = this.D.x;
		this.Xi = this.D.y;
		this.Kd = this.D.L;
		this.xr = 0;
		this.enabled = 0 !== this.$[5]
	};
	b.Zc = function () {
		return {
			acc : this.Am,
			g : this.Qm,
			dx : this.sb,
			dy : this.ib,
			lx : this.Wi,
			ly : this.Xi,
			lka : this.Kd,
			t : this.xr,
			e : this.enabled
		}
	};
	b.Ad = function (a) {
		this.Am = a.acc;
		this.Qm = a.g;
		this.sb = a.dx;
		this.ib = a.dy;
		this.Wi = a.lx;
		this.Xi = a.ly;
		this.Kd = a.lka;
		this.xr = a.t;
		this.enabled = a.e
	};
	b.tc = function () {
		if (this.enabled) {
			var a = this.c.$j(this.D),
			b,
			c;
			this.D.L !== this.Kd && (this.gv && (b = Na(0, 0, this.sb, this.ib), this.sb = Math.cos(this.D.L) * b, this.ib = Math.sin(this.D.L) * b), this.Kd = this.D.L);
			0 !== this.Am && (b = Na(0, 0, this.sb, this.ib), c = 0 === this.sb && 0 === this.ib ? this.D.L : Ia(0, 0, this.sb, this.ib),
				b += this.Am * a, 0 > b && (b = 0), this.sb = Math.cos(c) * b, this.ib = Math.sin(c) * b);
			0 !== this.Qm && (this.ib += this.Qm * a);
			this.Wi = this.D.x;
			this.Xi = this.D.y;
			if (0 !== this.sb || 0 !== this.ib)
				if (this.D.x += this.sb * a, this.D.y += this.ib * a, this.xr += Na(0, 0, this.sb * a, this.ib * a), this.gv && (this.D.L = Ia(0, 0, this.sb, this.ib), this.D.ka(), this.Kd = this.D.L), this.D.ka(), this.SB && (b = this.c.Ek(this.D)))
					this.c.rz(this.D, b), b = Na(0, 0, this.sb, this.ib), c = this.c.WB(this.D, this.Wi, this.Xi), this.sb = Math.cos(c) * b, this.ib = Math.sin(c) * b, this.D.x += this.sb *
					a, this.D.y += this.ib * a, this.D.ka(), this.gv && (this.Kd = this.D.L = c, this.D.ka()), this.c.cF(this.D, this.sb / b, this.ib / b, Math.max(2.5 * b * a, 30)) || this.c.dF(this.D)
		}
	};
	c.B = new(s());
	a.prototype.um = function (a) {
		var b = Ia(0, 0, this.sb, this.ib);
		this.sb = Math.cos(b) * a;
		this.ib = Math.sin(b) * a
	};
	a.prototype.rw = aa("Am");
	a.prototype.hs = aa("Qm");
	a.prototype.Hb = function (a) {
		this.enabled = 1 === a
	};
	c.A = new a;
	c.W = new(s())
})();
function qc(a) {
	this.c = a
}
(function () {
	function a() {}

	var c = qc.prototype;
	c.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c
	};
	var b = c.Za.prototype;
	b.Ca = function () {
		var a = 1 === this.$[0];
		this.Km = this.$[1];
		this.ro = this.$[2];
		this.Kp = this.$[3];
		this.hC = this.$[4];
		this.pf = a ? 0 : 3;
		this.Re ? this.Of.reset() : this.Of = new Sa;
		this.Ak = this.D.opacity ? this.D.opacity : 1;
		a && (0 === this.Km ? (this.pf = 1, 0 === this.ro && (this.pf = 2)) : (this.D.opacity = 0, this.c.qb = !0))
	};
	b.Zc = function () {
		return {
			fit : this.Km,
			wt : this.ro,
			fot : this.Kp,
			s : this.pf,
			st : this.Of.Cb,
			mo : this.Ak
		}
	};
	b.Ad = function (a) {
		this.Km = a.fit;
		this.ro = a.wt;
		this.Kp = a.fot;
		this.pf = a.s;
		this.Of.reset();
		this.Of.Cb = a.st;
		this.Ak = a.mo
	};
	b.tc = function () {
		this.Of.add(this.c.$j(this.D));
		0 === this.pf && (this.D.opacity = this.Of.Cb / this.Km * this.Ak, this.c.qb = !0, this.D.opacity >= this.Ak && (this.D.opacity = this.Ak, this.pf = 1, this.Of.reset()));
		1 === this.pf && this.Of.Cb >= this.ro && (this.pf = 2, this.Of.reset());
		2 === this.pf && 0 !== this.Kp && (this.D.opacity = this.Ak - this.Of.Cb / this.Kp * this.Ak,
			this.c.qb = !0, 0 > this.D.opacity && (this.D.opacity = 0, this.pf = 3, this.Of.reset(), this.c.trigger(qc.prototype.B.OA, this.D), 1 === this.hC && this.c.pi(this.D)))
	};
	b.$G = function () {
		this.pf = 0;
		this.Of.reset();
		0 === this.Km ? (this.pf = 1, 0 === this.ro && (this.pf = 2)) : (this.D.opacity = 0, this.c.qb = !0)
	};
	a.prototype.OA = x(!0);
	c.B = new a;
	c.A = new(s())
})();
function rc(a, c) {
	for (var b in c.prototype)
		c.prototype.hasOwnProperty(b) && (a.prototype[b] = c.prototype[b])
}
if (navigator.isCocoonJS && "undefined" !== typeof window.cr_cjs_accelerated_physics)
	fa("Using CocoonJS native physics"), window.ext && "undefined" !== typeof window.ext.IDTK_SRV_BOX2D ? function () {
		function a(a, b, d, e) {
			this.type = c.bl;
			this.Jb = new n;
			this.Kb = new n;
			this.xg = null;
			void 0 !== a && (this.P = a);
			void 0 !== b && (this.R = b);
			void 0 !== d && this.Jb.K(d);
			void 0 !== e && this.Kb.K(e);
			this.Fl = this.Hy = this.Bv = this.$t = this.dh = 0;
			this.cl = this.Vj = !1
		}
		function c(a) {
			this.P = a.P;
			this.R = a.R;
			this.xg = a.xg;
			this.type = a.type;
			this.next = null
		}
		function b(a,
			b) {
			this.Bq = [];
			this.Sb = [];
			this.sk = [];
			this.Sh = null;
			this.vE = [];
			this.cc = window.ext.IDTK_SRV_BOX2D.makeCall("createWorld", a.x, a.y, b)
		}
		function d() {}

		function e(a, b, c) {
			this.Yb = a;
			this.Rb = b;
			this.CE = c
		}
		function f(a, b) {
			var c = a.xg;
			a.xg = null;
			this.Ba = b;
			this.H = new m(a.position, l.Pk(a.L));
			this.wn = [];
			this.Qh = a.lc;
			a.type === f.Ze && (a.cg = 0);
			this.Ac = window.ext.IDTK_SRV_BOX2D.makeCall("createBody", b.cc, a);
			a.xg = c
		}
		function g(a, b, c, d) {
			this.un = a;
			this.eu = c;
			this.Zh = {};
			this.Zh.ee = n.C(0, 0);
			this.Eq = !1;
			this.Cq = d.cg;
			this.gu = d.Ng;
			this.Cn =
				d.eh;
			this.Eq = d.Dt
		}
		function h() {}

		function m(a, b) {
			this.position = n.C(0, 0);
			this.q = new l;
			void 0 === a && (a = null);
			void 0 === b && (b = null);
			a && (this.position.K(a), this.q.Uf(b))
		}
		function l() {
			this.j = n.C(0, 0);
			this.k = n.C(0, 0);
			this.wi()
		}
		function n(a, b) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			this.x = a;
			this.y = b
		}
		R = n;
		n.wh = [];
		n.C = function (a, b) {
			if (0 < R.wh.length) {
				var c = R.wh.pop();
				c.Set(a, b);
				return c
			}
			return new R(a, b)
		};
		n.wc = function (a) {
			1E4 > R.wh.length && R.wh.push(a)
		};
		n.prototype.la = function () {
			this.y = this.x = 0
		};
		n.prototype.Set = function (a,
			b) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			this.x = a;
			this.y = b
		};
		n.prototype.K = function (a) {
			this.x = a.x;
			this.y = a.y
		};
		n.oG = function (a, b) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			return n.C(a, b)
		};
		n.prototype.Gc = function () {
			return n.C(this.x, this.y)
		};
		n.prototype.oh = function (a) {
			this.x += a.x;
			this.y += a.y
		};
		n.prototype.ms = function (a) {
			this.x -= a.x;
			this.y -= a.y
		};
		n.prototype.Vd = function (a) {
			void 0 === a && (a = 0);
			this.x *= a;
			this.y *= a
		};
		n.prototype.Eg = function () {
			return Math.sqrt(this.x * this.x + this.y * this.y)
		};
		n.prototype.Lo = function () {
			return this.x *
			this.x + this.y * this.y
		};
		n.prototype.Wd = function () {
			var a = Math.sqrt(this.x * this.x + this.y * this.y);
			if (a < Number.MIN_VALUE)
				return 0;
			var b = 1 / a;
			this.x *= b;
			this.y *= b;
			return a
		};
		n.prototype.Yr = function () {
			this.x = -this.x;
			this.y = -this.y
		};
		sc = l;
		l.Pk = function (a) {
			void 0 === a && (a = 0);
			var b = new l;
			b.Set(a);
			return b
		};
		l.Dg = function (a, b) {
			var c = new l;
			c.ks(a, b);
			return c
		};
		l.prototype.Set = function (a) {
			void 0 === a && (a = 0);
			var b = Math.cos(a);
			a = Math.sin(a);
			this.j.x = b;
			this.k.x = -a;
			this.j.y = a;
			this.k.y = b
		};
		l.prototype.ks = function (a, b) {
			this.j.K(a);
			this.k.K(b)
		};
		l.prototype.Gc = function () {
			var a = new l;
			a.Uf(this);
			return a
		};
		l.prototype.Uf = function (a) {
			this.j.K(a.j);
			this.k.K(a.k)
		};
		l.prototype.so = function (a) {
			this.j.x += a.j.x;
			this.j.y += a.j.y;
			this.k.x += a.k.x;
			this.k.y += a.k.y
		};
		l.prototype.wi = function () {
			this.j.x = 1;
			this.k.x = 0;
			this.j.y = 0;
			this.k.y = 1
		};
		l.prototype.la = function () {
			this.j.x = 0;
			this.k.x = 0;
			this.j.y = 0;
			this.k.y = 0
		};
		l.prototype.Td = function () {
			return Math.atan2(this.j.y, this.j.x)
		};
		l.prototype.Or = function (a) {
			var b = this.j.x,
			c = this.k.x,
			d = this.j.y,
			e = this.k.y,
			f = b * e - c * d;
			0 !== f && (f = 1 / f);
			a.j.x = f * e;
			a.k.x = -f * c;
			a.j.y = -f * d;
			a.k.y = f * b;
			return a
		};
		l.prototype.xi = function (a, b, c) {
			void 0 === b && (b = 0);
			void 0 === c && (c = 0);
			var d = this.j.x,
			e = this.k.x,
			f = this.j.y,
			g = this.k.y,
			h = d * g - e * f;
			0 !== h && (h = 1 / h);
			a.x = h * (g * b - e * c);
			a.y = h * (d * c - f * b);
			return a
		};
		l.prototype.nh = function () {
			this.j.nh();
			this.k.nh()
		};
		tc = m;
		m.prototype.xc = function (a, b) {
			this.position.K(a);
			this.q.Uf(b)
		};
		m.prototype.wi = function () {
			this.position.la();
			this.q.wi()
		};
		m.prototype.Set = function (a) {
			this.position.K(a.position);
			this.q.Uf(a.q)
		};
		m.prototype.vi = function () {
			return Math.atan2(this.q.j.y, this.q.j.x)
		};
		U = h;
		h.Ko = function (a) {
			void 0 === a && (a = 0);
			return isFinite(a)
		};
		h.Ub = function (a, b) {
			return a.x * b.x + a.y * b.y
		};
		h.wj = function (a, b) {
			return a.x * b.y - a.y * b.x
		};
		h.qh = function (a, b) {
			void 0 === b && (b = 0);
			return n.C(b * a.y, -b * a.x)
		};
		h.Jr = function (a, b) {
			void 0 === a && (a = 0);
			return n.C(-a * b.y, a * b.x)
		};
		h.kc = function (a, b) {
			return n.C(a.j.x * b.x + a.k.x * b.y, a.j.y * b.x + a.k.y * b.y)
		};
		h.sh = function (a, b) {
			return n.C(h.Ub(b, a.j), h.Ub(b, a.k))
		};
		h.Sc = function (a, b) {
			var c = h.kc(a.q,
					b);
			c.x += a.position.x;
			c.y += a.position.y;
			return c
		};
		h.Wr = function (a, b) {
			var c = h.Ib(b, a.position),
			d = c.x * a.q.j.x + c.y * a.q.j.y;
			c.y = c.x * a.q.k.x + c.y * a.q.k.y;
			c.x = d;
			return c
		};
		h.cm = function (a, b) {
			return n.C(a.x + b.x, a.y + b.y)
		};
		h.Ib = function (a, b) {
			return n.C(a.x - b.x, a.y - b.y)
		};
		h.vA = function (a, b) {
			var c = a.x - b.x,
			d = a.y - b.y;
			return Math.sqrt(c * c + d * d)
		};
		h.Rv = function (a, b) {
			var c = a.x - b.x,
			d = a.y - b.y;
			return c * c + d * d
		};
		h.GA = function (a, b) {
			void 0 === a && (a = 0);
			return n.C(a * b.x, a * b.y)
		};
		h.mA = function (a, b) {
			return l.Dg(h.cm(a.j, b.j), h.cm(a.k,
					b.k))
		};
		h.HA = function (a, b) {
			return l.Dg(h.kc(a, b.j), h.kc(a, b.k))
		};
		h.IA = function (a, b) {
			var c = n.C(h.Ub(a.j, b.j), h.Ub(a.k, b.j)),
			d = n.C(h.Ub(a.j, b.k), h.Ub(a.k, b.k));
			return l.Dg(c, d)
		};
		h.nh = function (a) {
			void 0 === a && (a = 0);
			return 0 < a ? a : -a
		};
		h.Zl = function (a) {
			return n.C(h.nh(a.x), h.nh(a.y))
		};
		h.kA = function (a) {
			return l.Dg(h.Zl(a.j), h.Zl(a.k))
		};
		h.aw = function (a, b) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			return a < b ? a : b
		};
		h.bw = function (a, b) {
			return n.C(h.aw(a.x, b.x), h.aw(a.y, b.y))
		};
		h.Zv = function (a, b) {
			void 0 === a && (a = 0);
			void 0 ===
			b && (b = 0);
			return a > b ? a : b
		};
		h.$v = function (a, b) {
			return n.C(h.Zv(a.x, b.x), h.Zv(a.y, b.y))
		};
		h.Nb = function (a, b, c) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			void 0 === c && (c = 0);
			return a < b ? b : a > c ? c : a
		};
		h.pA = function (a, b, c) {
			return h.$v(b, h.bw(a, c))
		};
		h.SG = function (a, b) {
			var c = a[0];
			a[0] = b[0];
			b[0] = c
		};
		h.BG = function () {
			return 2 * Math.random() - 1
		};
		h.CG = function (a, b) {
			void 0 === a && (a = 0);
			void 0 === b && (b = 0);
			var c = Math.random();
			return (b - a) * c + a
		};
		h.tG = function (a) {
			void 0 === a && (a = 0);
			a |= a >> 1 & 2147483647;
			a |= a >> 2 & 1073741823;
			a |= a >> 4 & 268435455;
			a |= a >> 8 & 16777215;
			return (a | a >> 16 & 65535) + 1
		};
		h.lG = function (a) {
			void 0 === a && (a = 0);
			return 0 < a && 0 === (a & a - 1)
		};
		h.PB = new n(0, 0);
		h.OB = l.Dg(new n(1, 0), new n(0, 1));
		h.ZG = new m(h.PB, h.OB);
		V = function () {
			this.position = n.C(0, 0);
			this.Tt = n.C(0, 0);
			this.xg = null;
			this.L = 0;
			this.Tt.Set(0, 0);
			this.Kj = this.kk = this.Rw = 0;
			this.Vw = this.Ow = !0;
			this.Nj = this.Vs = !1;
			this.type = f.Ze;
			this.lc = !0;
			this.Xx = 1
		};
		uc = g;
		g.prototype.Ya = w("un");
		g.prototype.Rc = function () {
			console.log("fixture.GetShape not yet supported in CocoonJS Box2D binding");
			return null
		};
		g.prototype.Bj = w("Eq");
		vc = f;
		f.prototype.Lk = function (a) {
			var b = a.xg;
			a.xg = null;
			var c = window.ext.IDTK_SRV_BOX2D.makeCall("createFixture", this.Ba.cc, this.Ac, a);
			a.xg = b;
			a = new g(this, 0, c, a);
			this.Ba.sk[c] = a;
			this.wn.push(a);
			return a
		};
		f.prototype.Nr = function () {
			return 0 === this.wn.length ? null : this.wn[0]
		};
		f.prototype.Qv = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("deleteFixture", this.Ba.cc, a.eu);
			delete this.Ba.sk[a.eu]
		};
		f.prototype.tm = function (a, b) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setBodyTransform", this.Ba.cc,
				this.Ac, a.x, a.y, b);
			this.H.q.Set(b);
			this.H.position.K(a)
		};
		f.prototype.js = function (a) {
			this.tm(a, this.Td())
		};
		f.prototype.yj = function () {
			var a = window.ext.IDTK_SRV_BOX2D.makeCall("getLinearVelocity", this.Ba.cc, this.Ac);
			return n.C(a[0], a[1])
		};
		f.prototype.Rk = function () {
			var a = window.ext.IDTK_SRV_BOX2D.makeCall("getWorldCenter", this.Ba.cc, this.Ac);
			return n.C(a[0], a[1])
		};
		f.prototype.zj = function () {
			var a = window.ext.IDTK_SRV_BOX2D.makeCall("getLocalCenter", this.Ba.cc, this.Ac);
			return n.C(a[0], a[1])
		};
		f.prototype.Hd =
		function (a) {
			return h.Wr(this.H, a)
		};
		f.prototype.Qk = function () {
			return window.ext.IDTK_SRV_BOX2D.makeCall("getMass", this.Ba.cc, this.Ac)
		};
		f.prototype.Id = function () {
			return window.ext.IDTK_SRV_BOX2D.makeCall("isAwake", this.Ba.cc, this.Ac)
		};
		f.prototype.Eo = function () {
			return window.ext.IDTK_SRV_BOX2D.makeCall("getAngularVelocity", this.Ba.cc, this.Ac)
		};
		f.prototype.dd = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setAwake", this.Ba.cc, this.Ac, a)
		};
		f.prototype.Ej = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setLinearVelocity",
				this.Ba.cc, this.Ac, a.x, a.y)
		};
		f.prototype.zg = function (a, b, c) {
			window.ext.IDTK_SRV_BOX2D.makeCall("applyForce", this.Ba.cc, this.Ac, a.x, a.y, b.x, b.y, c)
		};
		f.prototype.to = function (a, b) {
			window.ext.IDTK_SRV_BOX2D.makeCall("applyTorque", this.Ba.cc, this.Ac, a, b)
		};
		f.prototype.qm = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setAngularVelocity", this.Ba.cc, this.Ac, a)
		};
		f.prototype.Cj = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setActive", this.Ba.cc, this.Ac, a);
			this.Qh = a
		};
		f.prototype.rh = w("Qh");
		f.prototype.Td =
		function () {
			return this.H.q.Td()
		};
		f.prototype.vi = function (a) {
			void 0 === a && (a = 0);
			this.tm(this.H.position, a)
		};
		f.prototype.ri = function () {
			for (var a = window.ext.IDTK_SRV_BOX2D.makeCall("getObjectContacts", this.Ba.cc, this.Ac), b = [], c = 0; c < a.length; c++)
				b.push(this.Ba.Bq[a[c]]);
			return b
		};
		vc.Ze = 0;
		vc.Xw = 1;
		vc.Tc = 2;
		e.prototype.Sr = w("CE");
		wc = d;
		d.prototype.uo = s();
		wc.Ww = new d;
		xc = s();
		yc = b;
		b.prototype.xw = aa("Sh");
		b.prototype.ww = function (a) {
			var b = this;
			window.ext.IDTK_SRV_BOX2D.makeCall("setContactFilter", this.cc, function (c,
					d) {
				return a.Gj(b.sk[c], b.sk[d])
			})
		};
		b.prototype.Ir = function (a) {
			a = new f(a, this);
			return this.Bq[a.Ac] = a
		};
		b.prototype.Ao = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("deleteBody", this.cc, a.Ac);
			delete this.Bq[a.Ac];
			for (var b = 0; b < a.wn.length; ++b)
				delete this.sk[a.wn[b].eu]
		};
		b.prototype.zo = function (a) {
			if (a.P.Ac !== a.R.Ac) {
				var b = a.P,
				d = a.R;
				a.P = b.Ac;
				a.R = d.Ac;
				var e = "createDistanceJoint";
				a.type === c.bl && (e = "createRevoluteJoint");
				var f = new c(a);
				f.uE = window.ext.IDTK_SRV_BOX2D.makeCall(e, this.cc, a);
				a.P = b;
				a.R = d;
				this.vE.push(f);
				return f
			}
		};
		b.prototype.Bo = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("destroyJoint", this.cc, a.uE)
		};
		b.prototype.hs = function (a) {
			window.ext.IDTK_SRV_BOX2D.makeCall("setGravity", this.cc, a.x, a.y)
		};
		b.prototype.vh = function (a, b, c) {
			c = window.ext.IDTK_SRV_BOX2D.makeCall("step", this.cc, a, b, c);
			b = c[0];
			for (a = 1; a <= 4 * b; a += 4) {
				var d = this.Bq[c[a + 0]];
				if (null === d)
					break;
				d.H.position.Set(c[a + 1], c[a + 2]);
				d.H.q.Set(c[a + 3])
			}
			if (null !== this.Sh)
				for (c = window.ext.IDTK_SRV_BOX2D.makeCall("getLastContacts", this.cc), b = c[0], a = 1; a <=
					3 * b; a += 3) {
					var d = c[a + 2],
					f = this.sk[c[a + 0]],
					g = this.sk[c[a + 1]];
					"undefined" === typeof f || "undefined" === typeof g ? console.log("One of the fixtures in a contact DOESN'T EXIST!!") : this.Sh.uo(new e(f, g, d))
				}
		};
		b.prototype.Pv = function () {
			window.ext.IDTK_SRV_BOX2D.makeCall("clearForces", this.cc)
		};
		zc = function (a) {
			this.Wq = a;
			this.type = "circle"
		};
		W = s();
		W.prototype.Po = function (a, b) {
			this.type = "box";
			this.width = a;
			this.height = b
		};
		W.prototype.sw = function () {
			this.type = "edge"
		};
		W.prototype.rm = function (a, b) {
			this.type = "polygon";
			this.gA =
				[];
			for (var c = 0; c < b; c++)
				this.gA.push(a[c].x), this.gA.push(a[c].y)
		};
		Ac = function () {
			this.xg = this.shape = null;
			this.Ng = 0.2;
			this.cg = this.eh = 0;
			this.Dt = !1;
			this.filter = {
				Zk : 1,
				Dl : 65535,
				Si : 0
			}
		};
		X = c;
		c.prototype.em = w("P");
		c.prototype.Mr = w("R");
		c.prototype.bd = w("type");
		c.Ps = 0;
		c.bl = 1;
		Bc = function (a, b, d, e) {
			this.type = c.Ps;
			this.Jb = n.C(0, 0);
			this.Kb = n.C(0, 0);
			this.xg = null;
			void 0 !== a && (this.P = a);
			void 0 !== b && (this.R = b);
			void 0 !== d && this.Jb.K(d);
			void 0 !== e && this.Kb.K(e);
			void 0 !== d && void 0 !== e && (a = e.x - d.x, d = e.y - d.y, this.length =
					Math.sqrt(a * a + d * d));
			this.Cp = this.Rp = 0
		};
		a.prototype.xc = function (a, b, c) {
			this.P = a;
			this.R = b;
			this.Jb = this.P.Hd(c);
			this.Kb = this.R.Hd(c);
			this.dh = this.R.Td() - this.P.Td()
		};
		Cc = a
	}
() : console.log("The CocoonJS binding for Box2D has been ignored because ext.IDTK_SRV_BOX2D is not available");
else {
	var U = {},
	Dc = 2 / 180 * Math.PI,
	Ec = 8 / 180 * Math.PI,
	Fc = 0.5 * Math.PI,
	Gc = Fc * Fc,
	Hc = 2 / 180 * Math.PI,
	Ic = Number.MIN_VALUE * Number.MIN_VALUE;
	U.Ub = function (a, c) {
		return a.x * c.x + a.y * c.y
	};
	U.wj = function (a, c) {
		return a.x * c.y - a.y * c.x
	};
	U.qh = function (a,
		c) {
		return R.C(c * a.y, -c * a.x)
	};
	U.Jr = function (a, c) {
		return R.C(-a * c.y, a * c.x)
	};
	U.kc = function (a, c) {
		return R.C(a.j.x * c.x + a.k.x * c.y, a.j.y * c.x + a.k.y * c.y)
	};
	U.sh = function (a, c) {
		return R.C(U.Ub(c, a.j), U.Ub(c, a.k))
	};
	U.Sc = function (a, c) {
		var b = U.kc(a.q, c);
		b.x += a.position.x;
		b.y += a.position.y;
		return b
	};
	U.Wr = function (a, c) {
		var b = U.Ib(c, a.position),
		d = b.x * a.q.j.x + b.y * a.q.j.y;
		b.y = b.x * a.q.k.x + b.y * a.q.k.y;
		b.x = d;
		return b
	};
	U.cm = function (a, c) {
		return R.C(a.x + c.x, a.y + c.y)
	};
	U.Ib = function (a, c) {
		return R.C(a.x - c.x, a.y - c.y)
	};
	U.vA = function (a,
		c) {
		return Math.sqrt(U.Rv(a, c))
	};
	U.Rv = function (a, c) {
		var b = a.x - c.x,
		d = a.y - c.y;
		return b * b + d * d
	};
	U.GA = function (a, c) {
		return R.C(a * c.x, a * c.y)
	};
	U.mA = function (a, c) {
		return sc.Dg(U.cm(a.j, c.j), U.cm(a.k, c.k))
	};
	U.HA = function (a, c) {
		return sc.Dg(U.kc(a, c.j), U.kc(a, c.k))
	};
	U.IA = function (a, c) {
		var b = R.C(U.Ub(a.j, c.j), U.Ub(a.k, c.j)),
		d = R.C(U.Ub(a.j, c.k), U.Ub(a.k, c.k));
		return sc.Dg(b, d)
	};
	U.Zl = function (a) {
		return R.C(Math.abs(a.x), Math.abs(a.y))
	};
	U.kA = function (a) {
		return sc.Dg(U.Zl(a.j), U.Zl(a.k))
	};
	U.Nb = function (a, c, b) {
		return a <
		c ? c : a > b ? b : a
	};
	U.pA = function (a, c, b) {
		return R.C(U.Nb(a.x, c.x, b.x), U.Nb(a.y, c.y, b.y))
	};
	var sc = function () {
		this.j = R.C(0, 0);
		this.k = R.C(0, 0);
		this.wi()
	};
	sc.Pk = function (a) {
		var c = new sc;
		c.Set(a);
		return c
	};
	sc.Dg = function (a, c) {
		var b = new sc;
		b.ks(a, c);
		return b
	};
	z = sc.prototype;
	z.Set = function (a) {
		var c = Math.cos(a);
		a = Math.sin(a);
		this.j.Set(c, a);
		this.k.Set(-a, c)
	};
	z.ks = function (a, c) {
		this.j.K(a);
		this.k.K(c)
	};
	z.Gc = function () {
		var a = new sc;
		a.Uf(this);
		return a
	};
	z.Uf = function (a) {
		this.j.K(a.j);
		this.k.K(a.k)
	};
	z.so = function (a) {
		this.j.oh(a.j);
		this.k.oh(a.k)
	};
	z.wi = function () {
		this.j.Set(1, 0);
		this.k.Set(0, 1)
	};
	z.la = function () {
		this.j.Set(0, 0);
		this.k.Set(0, 0)
	};
	z.Td = function () {
		return Math.atan2(this.j.y, this.j.x)
	};
	z.Or = function (a) {
		var c = this.j.x * this.k.y - this.k.x * this.j.y;
		0 !== c && (c = 1 / c);
		a.j.x = c * this.k.y;
		a.k.x = -c * this.k.x;
		a.j.y = -c * this.j.y;
		a.k.y = c * this.j.x;
		return a
	};
	z.xi = function (a, c, b) {
		var d = this.j.x * this.k.y - this.k.x * this.j.y;
		0 !== d && (d = 1 / d);
		a.x = d * (this.k.y * c - this.k.x * b);
		a.y = d * (this.j.x * b - this.j.y * c);
		return a
	};
	z.nh = function () {
		this.j.nh();
		this.k.nh()
	};
	var Kc = function (a, c, b) {
		this.j = new Jc(0, 0, 0);
		this.k = new Jc(0, 0, 0);
		this.wa = new Jc(0, 0, 0);
		a && this.j.K(a);
		c && this.k.K(c);
		b && this.wa.K(b)
	};
	z = Kc.prototype;
	z.Gc = function () {
		return new Kc(this.j, this.k, this.wa)
	};
	z.Uf = function (a) {
		this.j.K(a.j);
		this.k.K(a.k);
		this.wa.K(a.wa)
	};
	z.so = function (a) {
		this.j.x += a.j.x;
		this.j.y += a.j.y;
		this.j.z += a.j.z;
		this.k.x += a.k.x;
		this.k.y += a.k.y;
		this.k.z += a.k.z;
		this.wa.x += a.wa.x;
		this.wa.y += a.wa.y;
		this.wa.z += a.wa.z
	};
	z.wi = function () {
		this.j.Set(1, 0, 0);
		this.k.Set(0, 1, 0);
		this.wa.Set(0, 0,
			1)
	};
	z.la = function () {
		this.j.Set(0, 0, 0);
		this.k.Set(0, 0, 0);
		this.wa.Set(0, 0, 0)
	};
	z.Wk = function (a, c, b) {
		var d = this.j.x,
		e = this.k.x,
		f = this.j.y,
		g = this.k.y,
		h = d * g - e * f;
		0 != h && (h = 1 / h);
		a.x = h * (g * c - e * b);
		a.y = h * (d * b - f * c);
		return a
	};
	z.wm = function (a, c, b, d) {
		var e = this.j.x,
		f = this.j.y,
		g = this.j.z,
		h = this.k.x,
		m = this.k.y,
		l = this.k.z,
		n = this.wa.x,
		k = this.wa.y,
		p = this.wa.z,
		q = e * (m * p - l * k) + f * (l * n - h * p) + g * (h * k - m * n);
		0 != q && (q = 1 / q);
		a.x = q * (c * (m * p - l * k) + b * (l * n - h * p) + d * (h * k - m * n));
		a.y = q * (e * (b * p - d * k) + f * (d * n - c * p) + g * (c * k - b * n));
		a.z = q * (e * (m * d - l * b) + f *
				(l * c - h * d) + g * (h * b - m * c));
		return a
	};
	var Lc = function () {
		this.S = R.C(0, 0);
		this.fd = R.C(0, 0);
		this.F = R.C(0, 0)
	};
	Lc.prototype.Set = function (a) {
		this.S.K(a.S);
		this.fd.K(a.fd);
		this.F.K(a.F);
		this.uf = a.uf;
		this.O = a.O;
		this.Qd = a.Qd
	};
	Lc.prototype.Gc = function () {
		var a = new Lc;
		a.S.K(this.S);
		a.fd.K(this.fd);
		a.F.K(this.F);
		a.uf = this.uf;
		a.O = this.O;
		a.Qd = this.Qd;
		return a
	};
	Lc.prototype.we = function (a, c) {
		void 0 === c && (c = 0);
		a.position.x = (1 - c) * this.fd.x + c * this.F.x;
		a.position.y = (1 - c) * this.fd.y + c * this.F.y;
		a.q.Set((1 - c) * this.uf + c * this.O);
		var b = a.q;
		a.position.x -= b.j.x * this.S.x + b.k.x * this.S.y;
		a.position.y -= b.j.y * this.S.x + b.k.y * this.S.y
	};
	Lc.prototype.oi = function (a) {
		void 0 === a && (a = 0);
		if (this.Qd < a && 1 - this.Qd > Number.MIN_VALUE) {
			var c = (a - this.Qd) / (1 - this.Qd);
			this.fd.x = (1 - c) * this.fd.x + c * this.F.x;
			this.fd.y = (1 - c) * this.fd.y + c * this.F.y;
			this.uf = (1 - c) * this.uf + c * this.O;
			this.Qd = a
		}
	};
	var tc = function (a, c) {
		this.position = R.C(0, 0);
		this.q = new sc;
		a && this.position.K(a);
		c && this.q.Uf(c)
	};
	tc.prototype.xc = function (a, c) {
		this.position.K(a);
		this.q.Uf(c)
	};
	tc.prototype.wi =
	function () {
		this.position.la();
		this.q.wi()
	};
	tc.prototype.Set = function (a) {
		this.position.K(a.position);
		this.q.Uf(a.q)
	};
	tc.prototype.Td = function () {
		return Math.atan2(this.q.j.y, this.q.j.x)
	};
	var R = function (a, c) {
		this.x = a;
		this.y = c
	};
	R.wh = [];
	R.C = function (a, c) {
		if (0 < R.wh.length) {
			var b = R.wh.pop();
			b.Set(a, c);
			return b
		}
		return new R(a, c)
	};
	R.wc = function (a) {
		R.wh.push(a)
	};
	z = R.prototype;
	z.la = function () {
		this.y = this.x = 0
	};
	z.Set = function (a, c) {
		this.x = a;
		this.y = c
	};
	z.K = function (a) {
		this.x = a.x;
		this.y = a.y
	};
	z.si = function () {
		return R.C(-this.x,
			-this.y)
	};
	z.Yr = function () {
		this.x = -this.x;
		this.y = -this.y
	};
	z.Gc = function () {
		return R.C(this.x, this.y)
	};
	z.oh = function (a) {
		this.x += a.x;
		this.y += a.y
	};
	z.ms = function (a) {
		this.x -= a.x;
		this.y -= a.y
	};
	z.Vd = function (a) {
		this.x *= a;
		this.y *= a
	};
	z.qh = function (a) {
		var c = this.x;
		this.x = a * this.y;
		this.y = -a * c
	};
	z.Jr = function (a) {
		var c = this.x;
		this.x = -a * this.y;
		this.y = a * c
	};
	z.bw = function (a) {
		this.x = Math.min(this.x, a.x);
		this.y = Math.min(this.y, a.y)
	};
	z.$v = function (a) {
		this.x = Math.max(this.x, a.x);
		this.y = Math.max(this.y, a.y)
	};
	z.nh = function () {
		this.x =
			Math.abs(this.x);
		this.y = Math.abs(this.y)
	};
	z.Eg = function () {
		return Math.sqrt(this.Lo())
	};
	z.Lo = function () {
		return this.x * this.x + this.y * this.y
	};
	z.Wd = function () {
		var a = this.Eg();
		if (a < Number.MIN_VALUE)
			return 0;
		var c = 1 / a;
		this.x *= c;
		this.y *= c;
		return a
	};
	z.Ko = function () {
		return isFinite(this.x) && isFinite(this.y)
	};
	var Jc = function (a, c, b) {
		this.x = a;
		this.y = c;
		this.z = b
	};
	z = Jc.prototype;
	z.la = function () {
		this.z = this.y = this.x = 0
	};
	z.Set = function (a, c, b) {
		this.x = a;
		this.y = c;
		this.z = b
	};
	z.K = function (a) {
		this.x = a.x;
		this.y = a.y;
		this.z =
			a.z
	};
	z.si = function () {
		return new Jc(-this.x, -this.y, -this.z)
	};
	z.Yr = function () {
		this.x = -this.x;
		this.y = -this.y;
		this.z = -this.z
	};
	z.Gc = function () {
		return new Jc(this.x, this.y, this.z)
	};
	z.oh = function (a) {
		this.x += a.x;
		this.y += a.y;
		this.z += a.z
	};
	z.ms = function (a) {
		this.x -= a.x;
		this.y -= a.y;
		this.z -= a.z
	};
	z.Vd = function (a) {
		this.x *= a;
		this.y *= a;
		this.z *= a
	};
	var Mc = function () {
		this.eb = 0.005
	};
	z = Mc.prototype;
	z.Aj = s();
	z.Gc = s();
	z.Set = function (a) {
		this.eb = a.eb
	};
	z.Kk = s();
	z.dm = s();
	z.yo = s();
	z.gs = s();
	var zc = function (a) {
		this.eb = 0.005;
		this.eb =
			a;
		this.Al = a * a;
		this.wb = R.C(0, 0)
	};
	rc(zc, Mc);
	z = zc.prototype;
	z.Aj = function () {
		return zc.Tf
	};
	z.Gc = function () {
		var a = new zc(this.eb);
		a.Set(this);
		return a
	};
	z.Set = function (a) {
		Mc.prototype.Set.call(this, a);
		a instanceof zc && this.wb.K(a.wb)
	};
	z.Kk = function (a, c) {
		var b = c.q,
		d = c.position.x + (b.j.x * this.wb.x + b.k.x * this.wb.y),
		b = c.position.y + (b.j.y * this.wb.x + b.k.y * this.wb.y);
		a.La.Set(d - this.eb, b - this.eb);
		a.Ma.Set(d + this.eb, b + this.eb)
	};
	z.dm = function (a, c) {
		a.Zg = c * Math.PI * this.Al;
		a.Ah.K(this.wb);
		a.Sk = a.Zg * (0.5 * this.Al + (this.wb.x *
					this.wb.x + this.wb.y * this.wb.y))
	};
	z.yo = function (a, c, b, d) {
		b = U.Sc(b, this.wb);
		var e =  - (U.Ub(a, b) - c);
		if (e < -this.eb + Number.MIN_VALUE)
			return 0;
		if (e > this.eb)
			return d.K(b), Math.PI * this.Al;
		c = e * e;
		e = this.Al * (Math.asin(e / this.eb) + Math.PI / 2) + e * Math.sqrt(this.Al - c);
		c = -2 / 3 * Math.pow(this.Al - c, 1.5) / e;
		d.x = b.x + a.x * c;
		d.y = b.y + a.y * c;
		return e
	};
	z.gs = function (a) {
		a.N = [this.wb];
		a.ua = 1;
		a.eb = this.eb
	};
	zc.Tf = "b2CircleShape";
	var Nc = function (a, c) {
		this.eb = 0.005;
		this.va = a;
		this.Na = c;
		this.rk = R.C(this.Na.x - this.va.x, this.Na.y - this.va.y);
		this.iu = this.rk.Wd();
		this.za = R.C(this.rk.y, -this.rk.x);
		R.C(-0.04 * (this.za.x - this.rk.x) + this.va.x, -0.04 * (this.za.y - this.rk.y) + this.va.y);
		R.C(-0.04 * (this.za.x + this.rk.x) + this.Na.x, -0.04 * (this.za.y + this.rk.y) + this.Na.y);
		R.C(-this.za.x, -this.za.y)
	};
	rc(Nc, Mc);
	Nc.prototype.Aj = x("b2EdgeShape");
	Nc.prototype.Kk = function (a, c) {
		var b = c.q,
		d = c.position.x + (b.j.x * this.va.x + b.k.x * this.va.y),
		e = c.position.y + (b.j.y * this.va.x + b.k.y * this.va.y),
		f = c.position.x + (b.j.x * this.Na.x + b.k.x * this.Na.y),
		b = c.position.y + (b.j.y * this.Na.x +
				b.k.y * this.Na.y);
		d < f ? (a.La.x = d, a.Ma.x = f) : (a.La.x = f, a.Ma.x = d);
		e < b ? (a.La.y = e, a.Ma.y = b) : (a.La.y = b, a.Ma.y = e)
	};
	Nc.prototype.dm = function (a) {
		a.Zg = 0;
		a.Ah.K(this.va);
		a.Sk = 0
	};
	Nc.prototype.yo = function (a, c, b, d) {
		void 0 === c && (c = 0);
		var e = R.C(a.x * c, a.y * c),
		f = U.Sc(b, this.va);
		b = U.Sc(b, this.Na);
		var g = U.Ub(a, f) - c;
		a = U.Ub(a, b) - c;
		if (0 < g) {
			if (0 < a)
				return 0;
			f.x = -a / (g - a) * f.x + g / (g - a) * b.x;
			f.y = -a / (g - a) * f.y + g / (g - a) * b.y
		} else
			0 < a && (b.x = -a / (g - a) * f.x + g / (g - a) * b.x, b.y = -a / (g - a) * f.y + g / (g - a) * b.y);
		d.x = (e.x + f.x + b.x) / 3;
		d.y = (e.y + f.y + b.y) / 3;
		return 0.5 *
		((f.x - e.x) * (b.y - e.y) - (f.y - e.y) * (b.x - e.x))
	};
	var Oc = function () {
		this.Zg = 0;
		this.Ah = R.C(0, 0);
		this.Sk = 0
	},
	W = function () {
		this.eb = 0.005;
		this.ee = R.C(0, 0);
		this.N = [];
		this.Aa = []
	};
	rc(W, Mc);
	W.prototype.Aj = function () {
		return W.Tf
	};
	W.prototype.Gc = function () {
		var a = new W;
		a.Set(this);
		return a
	};
	W.prototype.Set = function (a) {
		Mc.prototype.Set.call(this, a);
		if (a instanceof W) {
			this.ee.K(a.ee);
			this.Ra = a.Ra;
			this.pm(this.Ra);
			for (var c = 0; c < this.Ra; c++)
				this.N[c].K(a.N[c]), this.Aa[c].K(a.Aa[c])
		}
	};
	W.prototype.rm = function (a) {
		this.uw(a)
	};
	W.QF = function (a) {
		var c = new W;
		c.rm(a);
		return c
	};
	W.prototype.uw = function (a) {
		var c = a.length;
		this.Ra = c;
		this.pm(c);
		for (c = c = 0; c < this.Ra; c++)
			this.N[c].K(a[c]);
		for (c = 0; c < this.Ra; ++c)
			a = U.Ib(this.N[c + 1 < this.Ra ? c + 1 : 0], this.N[c]), this.Aa[c].K(U.qh(a, 1)), this.Aa[c].Wd();
		this.ee = W.tA(this.N, this.Ra)
	};
	W.UF = function (a) {
		var c = new W;
		c.uw(a);
		return c
	};
	W.prototype.Po = function (a, c) {
		this.Ra = 4;
		this.pm(4);
		this.N[0].Set(-a, -c);
		this.N[1].Set(a, -c);
		this.N[2].Set(a, c);
		this.N[3].Set(-a, c);
		this.Aa[0].Set(0, -1);
		this.Aa[1].Set(1,
			0);
		this.Aa[2].Set(0, 1);
		this.Aa[3].Set(-1, 0);
		this.ee.la()
	};
	W.RF = function (a, c) {
		var b = new W;
		b.Po(a, c);
		return b
	};
	W.prototype.bB = function (a, c, b, d) {
		this.Ra = 4;
		this.pm(4);
		this.N[0].Set(-a, -c);
		this.N[1].Set(a, -c);
		this.N[2].Set(a, c);
		this.N[3].Set(-a, c);
		this.Aa[0].Set(0, -1);
		this.Aa[1].Set(1, 0);
		this.Aa[2].Set(0, 1);
		this.Aa[3].Set(-1, 0);
		this.ee = b;
		a = new sc;
		a.Set(d);
		b = new tc(b, a);
		for (d = 0; d < this.Ra; ++d)
			this.N[d] = U.Sc(b, this.N[d]), this.Aa[d] = U.kc(b.q, this.Aa[d])
	};
	W.TF = function (a, c, b, d) {
		var e = new W;
		e.bB(a, c, b, d);
		return e
	};
	W.prototype.sw = function (a, c) {
		this.Ra = 2;
		this.pm(2);
		this.N[0].K(a);
		this.N[1].K(c);
		this.ee.x = 0.5 * (a.x + c.x);
		this.ee.y = 0.5 * (a.y + c.y);
		this.Aa[0] = U.qh(U.Ib(c, a), 1);
		this.Aa[0].Wd();
		this.Aa[1].x = -this.Aa[0].x;
		this.Aa[1].y = -this.Aa[0].y
	};
	W.SF = function (a, c) {
		var b = new W;
		b.sw(a, c);
		return b
	};
	z = W.prototype;
	z.Kk = function (a, c) {
		for (var b = c.q, d = this.N[0], e = c.position.x + (b.j.x * d.x + b.k.x * d.y), f = c.position.y + (b.j.y * d.x + b.k.y * d.y), g = e, h = f, m = 1; m < this.Ra; ++m)
			var d = this.N[m], l = c.position.x + (b.j.x * d.x + b.k.x * d.y), d = c.position.y +
				(b.j.y * d.x + b.k.y * d.y), e = e < l ? e : l, f = f < d ? f : d, g = g > l ? g : l, h = h > d ? h : d;
		a.La.x = e - this.eb;
		a.La.y = f - this.eb;
		a.Ma.x = g + this.eb;
		a.Ma.y = h + this.eb
	};
	z.dm = function (a, c) {
		if (2 == this.Ra)
			a.Ah.x = 0.5 * (this.N[0].x + this.N[1].x), a.Ah.y = 0.5 * (this.N[0].y + this.N[1].y), a.Zg = 0, a.Sk = 0;
		else {
			for (var b = 0, d = 0, e = 0, f = 0, g = 1 / 3, h = 0; h < this.Ra; ++h)
				var m = this.N[h], l = h + 1 < this.Ra ? this.N[h + 1] : this.N[0], n = m.x - 0, k = m.y - 0, p = l.x - 0, q = l.y - 0, r = n * q - k * p, v = 0.5 * r, e = e + v, b = b + v * g * (0 + m.x + l.x), d = d + v * g * (0 + m.y + l.y), m = n, f = f + r * (g * (0.25 * (m * m + p * m + p * p) + (0 * m + 0 * p)) + 0 + (g *
							(0.25 * (k * k + q * k + q * q) + (0 * k + 0 * q)) + 0));
			a.Zg = c * e;
			a.Ah.Set(b * (1 / e), d * (1 / e));
			a.Sk = c * f
		}
	};
	z.yo = function (a, c, b, d) {
		var e = U.sh(b.q, a),
		f = c - U.Ub(a, b.position),
		g = [],
		h = 0,
		m = -1;
		c = -1;
		var l = !1;
		for (a = a = 0; a < this.Ra; ++a) {
			g[a] = U.Ub(e, this.N[a]) - f;
			var n = g[a] < -Number.MIN_VALUE;
			0 < a && (n ? l || (m = a - 1, h++) : l && (c = a - 1, h++));
			l = n
		}
		switch (h) {
		case 0:
			return l ? (a = new Oc, this.dm(a, 1), d.K(U.Sc(b, a.Ah)), a.Zg) : 0;
		case 1:
			-1 == m ? m = this.Ra - 1 : c = this.Ra - 1
		}
		a = (m + 1) % this.Ra;
		e = (c + 1) % this.Ra;
		f = (0 - g[m]) / (g[a] - g[m]);
		g = (0 - g[c]) / (g[e] - g[c]);
		m = R.C(this.N[m].x *
				(1 - f) + this.N[a].x * f, this.N[m].y * (1 - f) + this.N[a].y * f);
		c = R.C(this.N[c].x * (1 - g) + this.N[e].x * g, this.N[c].y * (1 - g) + this.N[e].y * g);
		g = 0;
		f = R.C(0, 0);
		for (h = this.N[a]; a != e; )
			a = (a + 1) % this.Ra, l = a == e ? c : this.N[a], n = 0.5 * ((h.x - m.x) * (l.y - m.y) - (h.y - m.y) * (l.x - m.x)), g += n, f.x += n * (m.x + h.x + l.x) / 3, f.y += n * (m.y + h.y + l.y) / 3, h = l;
		f.Vd(1 / g);
		d.K(U.Sc(b, f));
		return g
	};
	z.gs = function (a) {
		a.N = this.N;
		a.ua = this.Ra;
		a.eb = this.eb
	};
	z.Ho = function (a) {
		for (var c = 0, b = this.N[0].x * a.x + this.N[0].y * a.y, d = 1; d < this.Ra; ++d) {
			var e = this.N[d].x * a.x + this.N[d].y *
				a.y;
			e > b && (c = d, b = e)
		}
		return c
	};
	z.hm = function (a) {
		for (var c = 0, b = this.N[0].x * a.x + this.N[0].y * a.y, d = 1; d < this.Ra; ++d) {
			var e = this.N[d].x * a.x + this.N[d].y * a.y;
			e > b && (c = d, b = e)
		}
		return this.N[c]
	};
	z.pm = function (a) {
		this.N = [];
		this.Aa = [];
		for (var c = this.N.length; c < a; c++)
			this.N[c] = R.C(0, 0), this.Aa[c] = R.C(0, 0)
	};
	W.tA = function (a, c) {
		for (var b = R.C(0, 0), d = 0, e = 1 / 3, f = 0; f < c; ++f) {
			var g = a[f],
			h = f + 1 < c ? a[f + 1] : a[0],
			m = 0.5 * ((g.x - 0) * (h.y - 0) - (g.y - 0) * (h.x - 0)),
			d = d + m;
			b.x += m * e * (0 + g.x + h.x);
			b.y += m * e * (0 + g.y + h.y)
		}
		b.x *= 1 / d;
		b.y *= 1 / d;
		return b
	};
	W.lH =
		new sc;
	W.Tf = "b2PolygonShape";
	var Pc = function () {
		this.rs = this.qs = this.ts = this.Xd = 0
	};
	z = Pc.prototype;
	z.Dj = function (a) {
		this.Xd = a;
		this.ts = this.Xd & 255;
		this.qs = (this.Xd & 65280) >> 8 & 255;
		this.rs = (this.Xd & 16711680) >> 16 & 255;
		this.Gw = (this.Xd & 4278190080) >> 24 & 255
	};
	z.Set = function (a) {
		this.Dj(a.Xd)
	};
	z.Bw = function (a) {
		this.ts = a;
		this.Xd = this.Xd & 4294967040 | this.ts & 255
	};
	z.yw = function (a) {
		this.qs = a;
		this.Xd = this.Xd & 4294902015 | this.qs << 8 & 65280
	};
	z.zw = function (a) {
		this.rs = a;
		this.Xd = this.Xd & 4278255615 | this.rs << 16 & 16711680
	};
	z.cB =
	function (a) {
		this.Gw = a;
		this.Xd = this.Xd & 16777215 | this.Gw << 24 & 4278190080
	};
	z.Gc = function () {
		var a = new Pc;
		a.Set(this);
		return a
	};
	var Qc = function () {
		this.qf = R.C(0, 0);
		this.id = new Pc
	};
	Qc.prototype.Set = function (a) {
		this.qf.K(a.qf);
		this.id.Set(a.id)
	};
	var Rc = function () {
		this.La = R.C(0, 0);
		this.Ma = R.C(0, 0)
	},
	Sc = [],
	Tc = function () {
		if (0 < Sc.length) {
			var a = Sc.pop();
			a.la();
			return a
		}
		return new Rc
	};
	z = Rc.prototype;
	z.la = function () {
		this.La.Set(0, 0);
		this.Ma.Set(0, 0)
	};
	z.Ko = function () {
		return 0 > this.Ma.x - this.La.x || 0 > this.Ma.y - this.La.y ?
		!1 : this.La.Ko() && this.Ma.Ko()
	};
	z.zA = function () {
		return R.C((this.La.x + this.Ma.x) / 2, (this.La.y + this.Ma.y) / 2)
	};
	z.Hr = function (a) {
		var c;
		return c = (c = (c = (c = this.La.x <= a.La.x) && this.La.y <= a.La.y) && a.Ma.x <= this.Ma.x) && a.Ma.y <= this.Ma.y
	};
	z.zm = function (a) {
		return 0 < a.La.x - this.Ma.x || 0 < a.La.y - this.Ma.y || 0 < this.La.x - a.Ma.x || 0 < this.La.y - a.Ma.y ? !1 : !0
	};
	z.wo = function (a, c) {
		this.La.x = Math.min(a.La.x, c.La.x);
		this.La.y = Math.min(a.La.y, c.La.y);
		this.Ma.x = Math.max(a.Ma.x, c.Ma.x);
		this.Ma.y = Math.max(a.Ma.y, c.Ma.y)
	};
	var Uc =
	function (a, c, b, d) {
		var e = 0,
		f = c[0].qf,
		g = c[1].qf,
		h = b.x * f.x + b.y * f.y - d;
		b = b.x * g.x + b.y * g.y - d;
		0 >= h && a[e++].Set(c[0]);
		0 >= b && a[e++].Set(c[1]);
		0 > h * b && (b = h / (h - b), d = a[e].qf, d.x = f.x + b * (g.x - f.x), d.y = f.y + b * (g.y - f.y), a[e].id = 0 < h ? c[0].id : c[1].id, e++);
		return e
	},
	Yc = function (a, c, b, d, e) {
		for (var f = c.q.j.x * a.Aa[b].x + c.q.k.x * a.Aa[b].y, g = c.q.j.y * a.Aa[b].x + c.q.k.y * a.Aa[b].y, h = e.q.j.x * f + e.q.j.y * g, m = e.q.k.x * f + e.q.k.y * g, l = 0, n = Number.MAX_VALUE, k = 0; k < d.Ra; k++) {
			var p = d.N[k].x * h + d.N[k].y * m;
			p < n && (n = p, l = k)
		}
		return (e.position.x + (e.q.j.x *
				d.N[l].x + e.q.k.x * d.N[l].y) - (c.position.x + (c.q.j.x * a.N[b].x + c.q.k.x * a.N[b].y))) * f + (e.position.y + (e.q.j.y * d.N[l].x + e.q.k.y * d.N[l].y) - (c.position.y + (c.q.j.y * a.N[b].x + c.q.k.y * a.N[b].y))) * g
	},
	Zc = function (a, c, b, d) {
		for (var e = d.position.x + (d.q.j.x * b.ee.x + d.q.k.x * b.ee.y), f = d.position.y + (d.q.j.y * b.ee.x + d.q.k.y * b.ee.y), e = e - (c.position.x + (c.q.j.x * a.ee.x + c.q.k.x * a.ee.y)), f = f - (c.position.y + (c.q.j.y * a.ee.x + c.q.k.y * a.ee.y)), g = e * c.q.j.x + f * c.q.j.y, f = e * c.q.k.x + f * c.q.k.y, e = 0, h = -Number.MAX_VALUE, m = 0; m < a.Ra; ++m) {
			var l =
				a.Aa[m].x * g + a.Aa[m].y * f;
			l > h && (h = l, e = m)
		}
		g = Yc(a, c, e, b, d);
		f = e - 1;
		0 > f && (f = a.Ra - 1);
		h = Yc(a, c, f, b, d);
		m = e + 1;
		m >= a.Ra && (m = 0);
		var l = Yc(a, c, m, b, d),
		n = 0,
		k = 0;
		if (h > g && h > l)
			for (n = f, k = h; ; )
				if (e = n - 1, 0 > e && (e = a.Ra - 1), g = Yc(a, c, e, b, d), g > k)
					n = e, k = g;
				else
					break;
		else if (l > g)
			for (n = m, k = l; ; )
				if (e = n + 1, e >= a.Ra && (e = 0), g = Yc(a, c, e, b, d), g > k)
					n = e, k = g;
				else
					break;
		else
			n = e, k = g;
		return {
			Yw : n,
			gr : k
		}
	},
	ad = function (a, c, b) {
		var d = new $c;
		d.ZA(c, b.di, b.ur, b.ei, b.wr);
		for (var e = 0; 20 > e; ) {
			for (var f = [], g = 0; g < d.ua; g++)
				f[g] = {},
			f[g].yc = d.N[g].yc,
			f[g].zc = d.N[g].zc;
			2 == d.ua ? d.eB() : 3 == d.ua && d.fB();
			if (3 == d.ua)
				break;
			g = d.BA();
			if (g.Lo() < Ic)
				break;
			var h = g.si();
			d.N[d.ua].yc = b.di.Ho(U.sh(b.ur.q, h));
			d.N[d.ua].Fd = U.Sc(b.ur, b.di.sd(d.N[d.ua].yc));
			d.N[d.ua].zc = b.ei.Ho(U.sh(b.wr.q, g));
			d.N[d.ua].Sf = U.Sc(b.wr, b.ei.sd(d.N[d.ua].zc));
			d.N[d.ua].Fc = U.Ib(d.N[d.ua].Sf, d.N[d.ua].Fd);
			R.wc(g);
			R.wc(h);
			e++;
			h = !1;
			for (g = 0; g < f.length; g++)
				if (d.N[d.ua].yc == f[g].yc && d.N[d.ua].zc == f[g].zc) {
					h = !0;
					break
				}
			if (h)
				break;
			d.ua++
		}
		d.CA(a.rg, a.sg);
		a.Dh = U.Ib(a.rg, a.sg).Eg();
		d.sB(c);
		b.cA && (c = b.di.eb, b = b.ei.eb,
			a.Dh > c + b && a.Dh > Number.MIN_VALUE ? (a.Dh -= c + b, d = U.Ib(a.sg, a.rg), d.Wd(), a.rg.x += c * d.x, a.rg.y += c * d.y, a.sg.x -= b * d.x, a.sg.y -= b * d.y, R.wc(d)) : (b = R.C(0, 0), b.x = 0.5 * (a.rg.x + a.sg.x), b.y = 0.5 * (a.rg.y + a.sg.y), a.rg.x = a.sg.x = b.x, a.rg.y = a.sg.y = b.y, a.Dh = 0, R.wc(b)))
	},
	bd = s(),
	cd = function () {
		this.rg = R.C(0, 0);
		this.sg = R.C(0, 0);
		this.Dh = 0
	},
	dd = s();
	dd.prototype.Set = function (a) {
		a.gs(this)
	};
	dd.prototype.Ho = function (a) {
		for (var c = 0, b = this.N[0].x * a.x + this.N[0].y * a.y, d = 1; d < this.ua; d++) {
			var e = this.N[d].x * a.x + this.N[d].y * a.y;
			e > b && (c = d,
				b = e)
		}
		return c
	};
	dd.prototype.hm = function (a) {
		return this.N[this.Ho(a)]
	};
	dd.prototype.sd = function (a) {
		void 0 === a && (a = 0);
		return this.N[a]
	};
	var ed = function () {
		this.Yg = null
	};
	z = ed.prototype;
	z.Mk = function (a, c) {
		var b = fd(c);
		b.$a.La.x = a.La.x - 0.1;
		b.$a.La.y = a.La.y - 0.1;
		b.$a.Ma.x = a.Ma.x + 0.1;
		b.$a.Ma.y = a.Ma.y + 0.1;
		this.Xv(b);
		return b
	};
	z.Nk = function (a) {
		this.mw(a);
		a.Ob()
	};
	z.Vr = function (a, c, b) {
		if (a.$a.Hr(c))
			return !1;
		this.mw(a);
		var d = 0.1 + 2 * Math.abs(b.x);
		b = 0.1 + 2 * Math.abs(b.y);
		a.$a.La.x = c.La.x - d;
		a.$a.La.y = c.La.y - b;
		a.$a.Ma.x =
			c.Ma.x + d;
		a.$a.Ma.y = c.Ma.y + b;
		this.Xv(a);
		return !0
	};
	z.fm = function (a) {
		return a.$a
	};
	z.ds = function (a, c) {
		if (null !== this.Yg) {
			var b = [];
			for (b.push(this.Yg); 0 < b.length; ) {
				var d = b.pop();
				if (d.$a.zm(c))
					if (d.Yv()) {
						if (!a(d.Ge))
							break
					} else
						b.push(d.De), b.push(d.Ig)
			}
		}
	};
	z.Xv = function (a) {
		if (null === this.Yg)
			this.Yg = a, this.Yg.parent = null;
		else {
			var c = this.yA(a),
			b = c.parent,
			d = fd();
			d.parent = b;
			d.$a.wo(a.$a, c.$a);
			if (b)
				for (c.parent.De == c ? b.De = d : b.Ig = d, d.De = c, d.Ig = a, c.parent = d, a.parent = d; b && !b.$a.Hr(d.$a); )
					b.$a.wo(b.De.$a, b.Ig.$a),
					d = b, b = b.parent;
			else
				d.De = c, d.Ig = a, c.parent = d, this.Yg = a.parent = d
		}
	};
	z.yA = function (a) {
		a = a.$a.zA();
		for (var c = this.Yg; !c.Yv(); )
			var b = c.De, c = c.Ig, d = Math.abs((b.$a.La.x + b.$a.Ma.x) / 2 - a.x) + Math.abs((b.$a.La.y + b.$a.Ma.y) / 2 - a.y), e = Math.abs((c.$a.La.x + c.$a.Ma.x) / 2 - a.x) + Math.abs((c.$a.La.y + c.$a.Ma.y) / 2 - a.y), c = d < e ? b : c;
		R.wc(a);
		return c
	};
	z.mw = function (a) {
		if (a == this.Yg)
			this.Yg = null;
		else {
			var c = a.parent,
			b = c.parent;
			a = c.De == a ? c.Ig : c.De;
			if (b)
				for (b.De == c ? b.De = a : b.Ig = a, a.parent = b; b; ) {
					a = b.$a;
					b.$a.wo(b.De.$a, b.Ig.$a);
					if (a.Hr(b.$a))
						break;
					b = b.parent
				}
			else
				this.Yg = a, a.parent = null;
			c.Ob()
		}
	};
	var gd = function () {
		this.$h = new ed;
		this.Hq = []
	};
	z = gd.prototype;
	z.Mk = function (a, c) {
		var b = this.$h.Mk(a, c);
		this.Ov(b);
		return b
	};
	z.Nk = function (a) {
		this.oB(a);
		this.$h.Nk(a)
	};
	z.Vr = function (a, c, b) {
		this.$h.Vr(a, c, b) && this.Ov(a)
	};
	z.zm = function (a, c) {
		return this.$h.fm(a).zm(this.$h.fm(c))
	};
	z.fm = function (a) {
		return this.$h.fm(a)
	};
	z.pB = function (a) {
		for (var c = []; 0 < this.Hq.length; ) {
			var b = this.Hq.pop();
			this.$h.ds(function (a) {
				a != b.Ge && c.push(new hd(b.Ge, a));
				return !0
			}, this.$h.fm(b))
		}
		for (var d =
				0; d < c.length; ) {
			var e = c[d];
			a(e.Om, e.Pm);
			for (d++; d < c.length; ) {
				var f = c[d];
				if (!(f.Om == e.Om && f.Pm == e.Pm || f.Om == e.Pm && f.Pm == e.Om))
					break;
				d++
			}
		}
	};
	z.ds = function (a, c) {
		this.$h.ds(a, c)
	};
	z.Ov = function (a) {
		this.Hq.push(a)
	};
	z.oB = function (a) {
		Ba(this.Hq, a)
	};
	var id = function (a) {
		this.$a = Tc();
		this.Ge = this.parent = this.Ig = this.De = null;
		"undefined" != typeof a && (this.Ge = a)
	},
	jd = [],
	fd = function (a) {
		if (0 < jd.length) {
			var c = jd.pop();
			"undefined" != typeof a && (c.Ge = a);
			c.$a.la();
			return c
		}
		return new id(a)
	};
	id.prototype.Ob = function () {
		this.Ge =
			this.parent = this.Ig = this.De = null;
		jd.push(this)
	};
	id.prototype.Yv = function () {
		return null === this.De
	};
	var hd = function (a, c) {
		this.Om = a;
		this.Pm = c
	},
	ld = function () {
		this.fb = this.oc = 0;
		this.ra = [];
		for (var a = 0; 2 > a; a++)
			this.ra[a] = new kd;
		this.nd = R.C(0, 0);
		this.ya = R.C(0, 0)
	};
	ld.prototype.cd = function () {
		for (var a = 0; 2 > a; a++)
			this.ra[a].cd();
		this.nd.la();
		this.ya.la();
		this.oc = this.fb = 0
	};
	ld.prototype.Set = function (a) {
		this.oc = a.oc;
		for (var c = 0; 2 > c; c++)
			this.ra[c].Set(a.ra[c]);
		this.nd.K(a.nd);
		this.ya.K(a.ya);
		this.fb = a.fb
	};
	ld.prototype.Gc =
	function () {
		var a = new ld;
		a.Set(this);
		return a
	};
	var kd = function () {
		this.ya = R.C(0, 0);
		this.Hf = new Pc;
		this.cd()
	};
	kd.prototype.cd = function () {
		this.ya.la();
		this.yk = this.uk = 0;
		this.Hf.Dj(0)
	};
	kd.prototype.Set = function (a) {
		this.ya.K(a.ya);
		this.uk = a.uk;
		this.yk = a.yk;
		this.Hf.Set(a.Hf)
	};
	var md = function () {
		this.ya = R.C(0, 0);
		this.V = R.C(0, 0)
	};
	md.prototype.xc = function (a, c, b, d, e) {
		this.cj = c;
		this.dj = d;
		var f,
		g,
		h,
		m = h = g = 0,
		l = 0;
		d = c = 0;
		var n,
		k,
		m = 0;
		1 == a.count ? (this.fb = nd, f = this.cj.sd(a.yc[0]), a = this.dj.sd(a.zc[0]), k = f, n = b.q, g = b.position.x +
				(n.j.x * k.x + n.k.x * k.y), h = b.position.y + (n.j.y * k.x + n.k.y * k.y), k = a, n = e.q, m = e.position.x + (n.j.x * k.x + n.k.x * k.y), l = e.position.y + (n.j.y * k.x + n.k.y * k.y), this.V.x = m - g, this.V.y = l - h, this.V.Wd()) : (a.zc[0] == a.zc[1] ? (this.fb = od, c = this.cj.sd(a.yc[0]), d = this.cj.sd(a.yc[1]), a = this.dj.sd(a.zc[0]), this.ya.x = 0.5 * (c.x + d.x), this.ya.y = 0.5 * (c.y + d.y), this.V = U.qh(U.Ib(d, c), 1), this.V.Wd(), k = this.V, n = b.q, c = n.j.x * k.x + n.k.x * k.y, d = n.j.y * k.x + n.k.y * k.y, k = this.ya, n = b.q, g = b.position.x + (n.j.x * k.x + n.k.x * k.y), h = b.position.y + (n.j.y * k.x +
						n.k.y * k.y), k = a, n = e.q, m = e.position.x + (n.j.x * k.x + n.k.x * k.y), l = e.position.y + (n.j.y * k.x + n.k.y * k.y), m = (m - g) * c + (l - h) * d) : a.yc[0] == a.yc[0] ? (this.fb = pd, g = this.dj.sd(a.zc[0]), h = this.dj.sd(a.zc[1]), f = this.cj.sd(a.yc[0]), this.ya.x = 0.5 * (g.x + h.x), this.ya.y = 0.5 * (g.y + h.y), this.V = U.qh(U.Ib(h, g), 1), this.V.Wd(), k = this.V, n = e.q, c = n.j.x * k.x + n.k.x * k.y, d = n.j.y * k.x + n.k.y * k.y, k = this.ya, n = e.q, m = e.position.x + (n.j.x * k.x + n.k.x * k.y), l = e.position.y + (n.j.y * k.x + n.k.y * k.y), k = f, n = b.q, g = b.position.x + (n.j.x * k.x + n.k.x * k.y), h = b.position.y +
					(n.j.y * k.x + n.k.y * k.y), m = (g - m) * c + (h - l) * d) : (c = this.cj.sd(a.yc[0]), d = this.cj.sd(a.yc[1]), g = this.dj.sd(a.zc[0]), h = this.dj.sd(a.zc[1]), m = U.kc(b.q, U.Ib(d, c)), l = U.kc(e.q, U.Ib(h, g)), e = m.x * m.x + m.y * m.y, b = l.x * l.x + l.y * l.y, f = U.Ib(l, m), a = m.x * f.x + m.y * f.y, f = l.x * f.x + l.y * f.y, l = m.x * l.x + m.y * l.y, n = e * b - l * l, m = 0, 0 != n && (m = U.Nb((l * f - a * b) / n, 0, 1)), 0 > (l * m + f) / b && (m = U.Nb((l - a) / e, 0, 1)), f = R.C(0, 0), f.x = c.x + m * (d.x - c.x), f.y = c.y + m * (d.y - c.y), a = R.C(0, 0), a.x = g.x + m * (h.x - g.x), a.y = g.y + m * (h.y - g.y), 0 == m || 1 == m ? (this.fb = pd, this.V = U.qh(U.Ib(h,
								g), 1), this.V.Wd(), this.ya = a) : (this.fb = od, this.V = U.qh(U.Ib(d, c), 1), this.ya = f)), 0 > m && this.V.Yr())
	};
	md.prototype.Cg = function (a, c) {
		var b,
		d,
		e = 0;
		switch (this.fb) {
		case nd:
			b = U.sh(a.q, this.V);
			d = U.sh(c.q, this.V.si());
			b = this.cj.hm(b);
			d = this.dj.hm(d);
			b = U.Sc(a, b);
			d = U.Sc(c, d);
			e = (d.x - b.x) * this.V.x + (d.y - b.y) * this.V.y;
			break;
		case od:
			e = U.kc(a.q, this.V);
			b = U.Sc(a, this.ya);
			d = U.sh(c.q, e.si());
			d = this.dj.hm(d);
			d = U.Sc(c, d);
			e = (d.x - b.x) * e.x + (d.y - b.y) * e.y;
			break;
		case pd:
			e = U.kc(c.q, this.V),
			d = U.Sc(c, this.ya),
			b = U.sh(a.q, e.si()),
			b =
				this.cj.hm(b),
			b = U.Sc(a, b),
			e = (b.x - d.x) * e.x + (b.y - d.y) * e.y
		}
		return e
	};
	var nd = 1,
	od = 2,
	pd = 4,
	$c = function () {
		this.va = new qd;
		this.Na = new qd;
		this.Ne = new qd;
		this.N = [this.va, this.Na, this.Ne]
	};
	z = $c.prototype;
	z.ZA = function (a, c, b, d, e) {
		var f,
		g;
		this.ua = a.count;
		for (var h = this.N, m = 0; m < this.ua; m++) {
			var l = h[m];
			l.yc = a.yc[m];
			l.zc = a.zc[m];
			f = c.sd(l.yc);
			g = d.sd(l.zc);
			l.Fd = U.Sc(b, f);
			l.Sf = U.Sc(e, g);
			l.Fc = U.Ib(l.Sf, l.Fd);
			l.O = 0
		}
		1 < this.ua && (a = a.IE, f = this.Wv(), f < 0.5 * a || 2 * a < f || f < Number.MIN_VALUE) && (this.ua = 0);
		0 == this.ua && (l = h[0], l.yc =
				0, l.zc = 0, f = c.sd(0), g = d.sd(0), l.Fd = U.Sc(b, f), l.Sf = U.Sc(e, g), l.Fc = U.Ib(l.Sf, l.Fd), this.ua = 1)
	};
	z.sB = function (a) {
		a.IE = this.Wv();
		a.count = this.ua;
		for (var c = this.N, b = 0; b < this.ua; b++)
			a.yc[b] = c[b].yc, a.zc[b] = c[b].zc
	};
	z.BA = function () {
		if (1 == this.ua)
			return this.va.Fc.si();
		if (2 == this.ua) {
			var a = U.Ib(this.Na.Fc, this.va.Fc);
			return 0 < U.wj(a, this.va.Fc.si()) ? U.Jr(1, a) : U.qh(a, 1)
		}
		return R.C(0, 0)
	};
	z.CA = function (a, c) {
		1 == this.ua ? (a.K(this.va.Fd), c.K(this.va.Sf)) : 2 == this.ua ? (a.x = this.va.O * this.va.Fd.x + this.Na.O * this.Na.Fd.x,
			a.y = this.va.O * this.va.Fd.y + this.Na.O * this.Na.Fd.y, c.x = this.va.O * this.va.Sf.x + this.Na.O * this.Na.Sf.x, c.y = this.va.O * this.va.Sf.y + this.Na.O * this.Na.Sf.y) : 3 == this.ua && (c.x = a.x = this.va.O * this.va.Fd.x + this.Na.O * this.Na.Fd.x + this.Ne.O * this.Ne.Fd.x, c.y = a.y = this.va.O * this.va.Fd.y + this.Na.O * this.Na.Fd.y + this.Ne.O * this.Ne.Fd.y)
	};
	z.Wv = function () {
		return 1 == this.ua ? 0 : 2 == this.ua ? U.Ib(this.va.Fc, this.Na.Fc).Eg() : 3 == this.ua ? U.wj(U.Ib(this.Na.Fc, this.va.Fc), U.Ib(this.Ne.Fc, this.va.Fc)) : 0
	};
	z.eB = function () {
		var a = this.va.Fc,
		c = this.Na.Fc,
		b = U.Ib(c, a),
		a =  - (a.x * b.x + a.y * b.y);
		0 >= a ? this.ua = this.va.O = 1 : (c = c.x * b.x + c.y * b.y, 0 >= c ? (this.ua = this.Na.O = 1, this.va.Set(this.Na)) : (b = 1 / (c + a), this.va.O = c * b, this.Na.O = a * b, this.ua = 2))
	};
	z.fB = function () {
		var a = this.va.Fc,
		c = this.Na.Fc,
		b = this.Ne.Fc,
		d = U.Ib(c, a),
		e = U.Ub(c, d),
		f = -U.Ub(a, d),
		g = U.Ib(b, a),
		h = U.Ub(b, g),
		m = -U.Ub(a, g),
		l = U.Ib(b, c),
		n = U.Ub(b, l),
		l = -U.Ub(c, l),
		g = U.wj(d, g),
		d = g * U.wj(c, b),
		b = g * U.wj(b, a),
		a = g * U.wj(a, c);
		0 >= f && 0 >= m ? this.ua = this.va.O = 1 : 0 < e && 0 < f && 0 >= a ? (h = 1 / (e + f), this.va.O = e * h, this.Na.O = f * h, this.ua =
					2) : 0 < h && 0 < m && 0 >= b ? (e = 1 / (h + m), this.va.O = h * e, this.Ne.O = m * e, this.ua = 2, this.Na.Set(this.Ne)) : 0 >= e && 0 >= l ? (this.ua = this.Na.O = 1, this.va.Set(this.Na)) : 0 >= h && 0 >= n ? (this.ua = this.Ne.O = 1, this.va.Set(this.Ne)) : 0 < n && 0 < l && 0 >= d ? (e = 1 / (n + l), this.Na.O = n * e, this.Ne.O = l * e, this.ua = 2, this.va.Set(this.Ne)) : (e = 1 / (d + b + a), this.va.O = d * e, this.Na.O = b * e, this.Ne.O = a * e, this.ua = 3)
	};
	var rd = function () {
		this.yc = [0, 0, 0];
		this.zc = [0, 0, 0]
	},
	qd = s();
	qd.prototype.Set = function (a) {
		this.Fd.K(a.Fd);
		this.Sf.K(a.Sf);
		this.Fc.K(a.Fc);
		this.O = a.O;
		this.yc =
			a.yc;
		this.zc = a.zc
	};
	var sd = function () {
		this.di = new dd;
		this.ei = new dd;
		this.Kz = new Lc;
		this.Lz = new Lc
	},
	td = function () {
		this.za = R.C(0, 0);
		this.ra = [];
		for (var a = this.oc = 0; 2 > a; a++)
			this.ra[a] = R.C(0, 0)
	};
	td.prototype.xc = function (a, c, b, d, e) {
		if (0 != a.oc) {
			var f = 0,
			g,
			h,
			m = 0,
			l = 0,
			n = 0,
			k = 0,
			p = 0;
			g = 0;
			switch (a.fb) {
			case 1:
				h = c.q;
				g = a.ya;
				f = c.position.x + h.j.x * g.x + h.k.x * g.y;
				c = c.position.y + h.j.y * g.x + h.k.y * g.y;
				h = d.q;
				g = a.ra[0].ya;
				a = d.position.x + h.j.x * g.x + h.k.x * g.y;
				d = d.position.y + h.j.y * g.x + h.k.y * g.y;
				g = a - f;
				h = d - c;
				m = g * g + h * h;
				m > Ic ? (m = Math.sqrt(m),
					this.za.x = g / m, this.za.y = h / m) : (this.za.x = 1, this.za.y = 0);
				g = c + b * this.za.y;
				d -= e * this.za.y;
				this.ra[0].x = 0.5 * (f + b * this.za.x + (a - e * this.za.x));
				this.ra[0].y = 0.5 * (g + d);
				break;
			case 2:
				h = c.q;
				g = a.nd;
				m = h.j.x * g.x + h.k.x * g.y;
				l = h.j.y * g.x + h.k.y * g.y;
				h = c.q;
				g = a.ya;
				n = c.position.x + h.j.x * g.x + h.k.x * g.y;
				k = c.position.y + h.j.y * g.x + h.k.y * g.y;
				this.za.x = m;
				this.za.y = l;
				for (f = 0; f < a.oc; f++)
					h = d.q, g = a.ra[f].ya, p = d.position.x + h.j.x * g.x + h.k.x * g.y, g = d.position.y + h.j.y * g.x + h.k.y * g.y, this.ra[f].x = p + 0.5 * (b - (p - n) * m - (g - k) * l - e) * m, this.ra[f].y = g +
						0.5 * (b - (p - n) * m - (g - k) * l - e) * l;
				break;
			case 4:
				for (h = d.q, g = a.nd, m = h.j.x * g.x + h.k.x * g.y, l = h.j.y * g.x + h.k.y * g.y, h = d.q, g = a.ya, n = d.position.x + h.j.x * g.x + h.k.x * g.y, k = d.position.y + h.j.y * g.x + h.k.y * g.y, this.za.x = -m, this.za.y = -l, f = 0; f < a.oc; f++)
					h = c.q, g = a.ra[f].ya, p = c.position.x + h.j.x * g.x + h.k.x * g.y, g = c.position.y + h.j.y * g.x + h.k.y * g.y, this.ra[f].x = p + 0.5 * (e - (p - n) * m - (g - k) * l - b) * m, this.ra[f].y = g + 0.5 * (e - (p - n) * m - (g - k) * l - b) * l
			}
		}
	};
	var vc = function (a, c) {
		this.Ud = "Body" + vc.Xr++;
		this.H = new tc;
		this.H.position.K(a.position);
		this.H.q.Set(a.L);
		this.n = new Lc;
		this.n.S.la();
		this.n.Qd = 1;
		this.n.uf = this.n.O = a.L;
		this.n.F.x = this.H.q.j.x * this.n.S.x + this.H.q.k.x * this.n.S.y;
		this.n.F.y = this.H.q.j.y * this.n.S.x + this.H.q.k.y * this.n.S.y;
		this.n.F.x += this.H.position.x;
		this.n.F.y += this.H.position.y;
		this.n.fd.K(this.n.F);
		this.u = a.Tt.Gc();
		this.Uh = R.C(0, 0);
		this.tl = a.Nj;
		this.pE = a.Vs;
		this.bu = a.Ow;
		this.cu = a.Vw;
		this.Qh = a.lc;
		this.Ba = c;
		this.Sb = null;
		this.Yd = new ud;
		this.Sj = new vd;
		this.J = a.Rw;
		this.wE = a.kk;
		this.kE = a.Kj;
		this.Dn = this.zk = 0;
		this.fb = a.type;
		this.X = this.fb ==
			V.Tc ? 1 : 0;
		this.M = this.fb == V.Tc ? 1 : 0;
		this.U = this.Ff = 0;
		this.tE = a.Xx;
		this.Pi = new wd;
		this.wl = []
	};
	z = vc.prototype;
	z.Lk = function (a) {
		a = new uc(this, this.H, a);
		this.Qh && a.Mk(this.Ba.md.Zi, this.H);
		this.Pi.lA(a);
		a.un = this;
		0 < a.Cq && this.pw();
		this.Ba.nu = !0;
		return a
	};
	z.Ob = function () {
		R.wc(this.u);
		R.wc(this.Uh)
	};
	z.Qv = function (a) {
		this.Pi.$A(a);
		for (var c = this.Yd.Ha(xd); c; c = c.next)
			a != c.Kc.Yb && a != c.Kc.Rb || this.Ba.md.Ob(c.Kc);
		this.Qh && a.Nk(this.Ba.md.Zi);
		a.Ob();
		a.un = null;
		this.pw()
	};
	z.tm = function (a, c) {
		this.H.q.Set(c);
		this.H.position.K(a);
		var b = this.H.q,
		d = this.n.S;
		this.n.F.x = b.j.x * d.x + b.k.x * d.y;
		this.n.F.y = b.j.y * d.x + b.k.y * d.y;
		this.n.F.x += this.H.position.x;
		this.n.F.y += this.H.position.y;
		this.n.fd.K(this.n.F);
		this.n.uf = this.n.O = c;
		b = this.Ba.md.Zi;
		for (d = this.Pi.Ha(); d; d = d.next)
			d.Ge.Dw(b, this.H, this.H);
		this.Ba.md.Do()
	};
	z.we = w("H");
	z.js = function (a) {
		this.tm(a, this.Td())
	};
	z.Td = function () {
		return this.n.O
	};
	z.vi = function (a) {
		this.tm(this.H.position, a)
	};
	z.Rk = function () {
		return this.n.F
	};
	z.zj = function () {
		return this.n.S
	};
	z.Ej = function (a) {
		this.fb != V.Ze &&
		this.u.K(a)
	};
	z.yj = w("u");
	z.qm = function (a) {
		void 0 === a && (a = 0);
		this.fb != V.Ze && (this.J = a)
	};
	z.Eo = w("J");
	z.zg = function (a, c) {
		this.fb == V.Tc && (this.dd(!0), this.Uh.x += a.x, this.Uh.y += a.y, this.zk += (c.x - this.n.F.x) * a.y - (c.y - this.n.F.y) * a.x)
	};
	z.to = function (a) {
		void 0 === a && (a = 0);
		this.fb == V.Tc && (this.dd(!0), this.zk += a)
	};
	z.Qk = w("X");
	z.Vv = function (a) {
		a || (a = new Oc);
		a.Zg = this.X;
		a.Sk = this.Ff;
		a.Ah.K(this.n.S);
		return a
	};
	z.pw = function () {
		this.U = this.Ff = this.M = this.X = 0;
		this.n.S.la();
		if (this.fb != V.Ze && this.fb != V.Xw) {
			for (var a =
					R.C(0, 0), c = this.Pi.Ha(); c; c = c.next) {
				var b = c.Ge;
				0 != b.Cq && (b = b.Vv(), this.X += b.Zg, a.x += b.Ah.x * b.Zg, a.y += b.Ah.y * b.Zg, this.Ff += b.Sk)
			}
			0 < this.X ? (this.M = 1 / this.X, a.x *= this.M, a.y *= this.M) : this.M = this.X = 1;
			0 < this.Ff && !this.pE ? (this.Ff -= this.X * (a.x * a.x + a.y * a.y), this.Ff *= this.tE, this.U = 1 / this.Ff) : this.U = this.Ff = 0;
			c = this.n.F.Gc();
			this.n.S.K(a);
			this.n.fd.K(U.Sc(this.H, this.n.S));
			this.n.F.K(this.n.fd);
			this.u.x += this.J *  - (this.n.F.y - c.y);
			this.u.y += this.J *  + (this.n.F.x - c.x);
			R.wc(a);
			R.wc(c)
		}
	};
	z.Io = function (a) {
		var c = this.H.q;
		a = R.C(c.j.x * a.x + c.k.x * a.y, c.j.y * a.x + c.k.y * a.y);
		a.x += this.H.position.x;
		a.y += this.H.position.y;
		return a
	};
	z.Qr = function (a) {
		return U.kc(this.H.q, a)
	};
	z.Hd = function (a) {
		return U.Wr(this.H, a)
	};
	z.Pr = function (a) {
		return U.sh(this.H.q, a)
	};
	z.AA = function (a) {
		return R.C(this.u.x - this.J * (a.y - this.n.F.y), this.u.y + this.J * (a.x - this.n.F.x))
	};
	z.bd = w("fb");
	z.dd = function (a) {
		if (this.cu != a)
			for (this.cu = a, this.Dn = 0, a || (this.u.la(), this.J = 0, this.Uh.la(), this.zk = 0), a = 0; a < this.wl.length; a++)
				this.wl[a].ns(this)
	};
	z.Id = w("cu");
	z.Cj =
	function (a) {
		if (a != this.Qh) {
			if (a) {
				this.Qh = !0;
				a = this.Ba.md.Zi;
				for (var c = this.Pi.Ha(); c; c = c.next)
					c.Ge.Mk(a, this.H)
			} else {
				this.Qh = !1;
				a = this.Ba.md.Zi;
				for (c = this.Pi.Ha(); c; c = c.next)
					c.Ge.Nk(a);
				for (a = this.Yd.Ha(xd); a; a = a.next)
					this.Ba.md.Ob(a.Kc)
			}
			for (a = 0; a < this.wl.length; a++)
				this.wl[a].ns(this)
		}
	};
	z.rh = w("Qh");
	z.Nr = w("Pi");
	z.$l = function (a) {
		this.Sj.$l(a)
	};
	z.nm = function (a) {
		this.Sj.nm(a)
	};
	z.ri = w("Yd");
	z.Ew = function () {
		var a = vc.mF;
		a.q.Set(this.n.uf);
		var c = a.q,
		b = this.n.S;
		a.position.x = this.n.fd.x - (c.j.x * b.x + c.k.x *
				b.y);
		a.position.y = this.n.fd.y - (c.j.y * b.x + c.k.y * b.y);
		c = this.Ba.md.Zi;
		for (b = this.Pi.Ha(); b; b = b.next)
			b.Ge.Dw(c, a, this.H)
	};
	z.Vb = function () {
		this.H.q.Set(this.n.O);
		var a = this.H.q,
		c = this.n.S;
		this.H.position.x = this.n.F.x - (a.j.x * c.x + a.k.x * c.y);
		this.H.position.y = this.n.F.y - (a.j.y * c.x + a.k.y * c.y)
	};
	z.Gj = function (a) {
		if (this.fb != V.Tc && a.fb != V.Tc)
			return !1;
		for (var c = this.Sb; c; c = c.next)
			if (c.mf == a && !1 == c.Nh.Ay)
				return !1;
		return !0
	};
	z.oi = function (a) {
		this.n.oi(a);
		this.n.F.K(this.n.fd);
		this.n.O = this.n.uf;
		this.Vb()
	};
	vc.Xr =
		0;
	var V = function () {
		this.position = R.C(0, 0);
		this.Tt = R.C(0, 0);
		this.Kj = this.kk = this.Rw = this.L = 0;
		this.Vw = this.Ow = !0;
		this.Nj = this.Vs = !1;
		this.type = V.Ze;
		this.lc = !0;
		this.Xx = 1
	};
	V.Ze = 0;
	V.Xw = 1;
	V.Tc = 2;
	var zd = function () {
		this.hp = [];
		for (var a = 0; a <= yd; a++)
			this.hp[a] = null;
		this.ip = [];
		for (a = 0; a <= yd; a++)
			this.ip[a] = null;
		this.Yk = {}

	};
	z = zd.prototype;
	z.Ha = function (a) {
		return this.hp[a]
	};
	z.Ik = function (a) {
		var c = a.Ud;
		null == this.Yk[c] && (this.Bg(a, c, yd), this.ns(a), a.wl.push(this))
	};
	z.ns = function (a) {
		var c = a.bd(),
		b = a.Ud,
		d = a.Id(),
		e = a.rh();
		c == V.Tc ? this.Bg(a, b, Ad) : this.Fg(b, Ad);
		c != V.Ze ? this.Bg(a, b, Bd) : this.Fg(b, Bd);
		c != V.Ze && e && d ? this.Bg(a, b, Cd) : this.Fg(b, Cd);
		d ? this.Bg(a, b, Dd) : this.Fg(b, Dd);
		e ? this.Bg(a, b, Ed) : this.Fg(b, Ed)
	};
	z.mm = function (a) {
		var c = a.Ud;
		if (null != this.Yk[c]) {
			Ba(a.wl, this);
			for (a = 0; a <= yd; a++)
				this.Fg(c, a);
			delete this.Yk[c]
		}
	};
	z.Fg = function (a, c) {
		var b = this.Yk[a];
		if (null != b) {
			var d = b[c];
			null != d && (b[c] = null, b = d.Nf, d = d.next, null == b ? this.hp[c] = d : b.Vf(d), null == d ? this.ip[c] = b : d.Wf(b))
		}
	};
	z.Bg = function (a, c, b) {
		var d = this.Yk[c];
		if (null == d) {
			for (var d = [], e = 0; e <= yd; e++)
				d[e] = null;
			this.Yk[c] = d
		}
		null == d[b] && (d[b] = new Fd(a), a = this.ip[b], null != a ? a.Vf(d[b]) : this.hp[b] = d[b], d[b].Wf(a), this.ip[b] = d[b])
	};
	var Ad = 0,
	Bd = 1,
	Ed = 2,
	Cd = 3,
	Dd = 4,
	yd = 5,
	Fd = function (a) {
		this.body = a;
		this.Nf = this.next = null
	};
	Fd.prototype.Vf = aa("next");
	Fd.prototype.Wf = aa("Nf");
	Fd.prototype.Ya = w("body");
	var xc = s();
	xc.prototype.Gj = function (a, c) {
		var b = a.Uv(),
		d = c.Uv();
		return b.Si == d.Si && 0 != b.Si ? 0 < b.Si : 0 != (b.Dl & d.Zk) && 0 != (b.Zk & d.Dl)
	};
	xc.QB = new xc;
	var Gd = function () {
		this.LE = [];
		this.xF = []
	},
	wc = s();
	wc.prototype.uo = s();
	var Id = function (a) {
		this.Ba = a;
		this.du = xc.QB;
		this.Sh = wc.Ww;
		this.By = new Hd;
		this.Zi = new gd
	};
	Id.prototype.nA = function (a, c) {
		var b = a.Ya(),
		d = c.Ya();
		if (b != d && d.Gj(b) && this.du.Gj(a, c)) {
			for (b = d.Yd.Ha(xd); b; b = b.next)
				if (d = b.Kc.Yb, d == a) {
					if (d = b.Kc.Rb, d == c)
						return
				} else if (d == c && (d = b.Kc.Rb, d == a))
					return;
			this.By.rf(a, c)
		}
	};
	Id.prototype.Do = function () {
		var a = this;
		this.Zi.pB(function (c, b) {
			a.nA(c, b)
		})
	};
	Id.prototype.Ob = function (a) {
		0 < a.kf.oc && (a.Yb.Ya().dd(!0), a.Rb.Ya().dd(!0));
		a.aB();
		this.By.Ob(a)
	};
	Id.prototype.rA = function () {
		for (var a = this.Ba.Yd.Ha(xd); a; a = a.next) {
			var c = a.Kc,
			b = c.Yb,
			d = c.Rb,
			e = b.Ya(),
			f = d.Ya();
			if (!1 != e.Id() || !1 != f.Id()) {
				if (c.Np) {
					if (!1 == f.Gj(e)) {
						this.Ob(c);
						continue
					}
					if (!1 == this.du.Gj(b, d)) {
						this.Ob(c);
						continue
					}
					c.qA()
				}
				!1 == this.Zi.zm(b.vk, d.vk) ? this.Ob(c) : c.Fw(this.Sh)
			}
		}
	};
	var Jd = function () {
		this.Zk = 1;
		this.Dl = 65535;
		this.Si = 0
	};
	Jd.prototype.Gc = function () {
		var a = new Jd;
		a.Zk = this.Zk;
		a.Dl = this.Dl;
		a.Si = this.Si;
		return a
	};
	var uc = function (a, c, b) {
		this.Ud = "Fixture" + uc.Xr++;
		this.oE =
			b.filter.Gc();
		this.qk = Tc();
		this.un = a;
		this.Zh = b.shape.Gc();
		this.Cq = b.cg;
		this.gu = b.Ng;
		this.Cn = b.eh;
		this.Eq = b.Dt
	};
	z = uc.prototype;
	z.Rc = w("Zh");
	z.Bj = w("Eq");
	z.Uv = function () {
		return this.oE.Gc()
	};
	z.Ya = w("un");
	z.Vv = function (a) {
		a || (a = new Oc);
		this.Zh.dm(a, this.Cq);
		return a
	};
	z.Ob = function () {
		Sc.push(this.qk)
	};
	z.Mk = function (a, c) {
		this.Zh.Kk(this.qk, c);
		this.vk = a.Mk(this.qk, this)
	};
	z.Nk = function (a) {
		null != this.vk && (a.Nk(this.vk), this.vk = null)
	};
	z.Dw = function (a, c, b) {
		if (this.vk) {
			var d = Tc(),
			e = Tc();
			this.Zh.Kk(d, c);
			this.Zh.Kk(e,
				b);
			this.qk.wo(d, e);
			Sc.push(d);
			Sc.push(e);
			c = U.Ib(b.position, c.position);
			a.Vr(this.vk, this.qk, c);
			R.wc(c)
		}
	};
	uc.Xr = 0;
	var Ac = function () {
		this.filter = new Jd;
		this.filter.Zk = 1;
		this.filter.Dl = 65535;
		this.filter.Si = 0;
		this.shape = null;
		this.Ng = 0.2;
		this.cg = this.eh = 0;
		this.Dt = !1
	},
	wd = function () {
		this.Xs = this.Ws = null;
		this.Pp = {}

	};
	wd.prototype.Ha = w("Ws");
	wd.prototype.lA = function (a) {
		var c = a.Ud;
		if (null == this.Pp[c]) {
			a = new Kd(a);
			var b = this.Xs;
			null != b ? b.Vf(a) : this.Ws = a;
			a.Wf(b);
			this.Xs = a;
			this.Pp[c] = a
		}
	};
	wd.prototype.$A = function (a) {
		a =
			a.Ud;
		var c = this.Pp[a];
		if (null != c) {
			var b = c.Nf,
			c = c.next;
			null == b ? this.Ws = c : b.Vf(c);
			null == c ? this.Xs = b : c.Wf(b);
			delete this.Pp[a]
		}
	};
	var Kd = function (a) {
		this.Ge = a;
		this.Nf = this.next = null
	};
	Kd.prototype.Vf = aa("next");
	Kd.prototype.Wf = aa("Nf");
	var Ld = function (a, c) {
		this.xE = a;
		this.mg = c;
		this.Sg = [];
		this.Dq = [];
		this.bj = [];
		this.Th = [];
		this.Nd = []
	};
	z = Ld.prototype;
	z.vo = function () {
		this.Sg = [];
		this.Dq = [];
		this.bj = [];
		this.Th = [];
		this.Nd = []
	};
	z.xi = function (a, c, b) {
		this.wB(a, c);
		this.mg.xc(a, this.Th, this.Th.length);
		this.CB(a);
		this.yB(a);
		this.zB(a);
		this.nw(this.mg.Tg);
		b && this.xB(a)
	};
	z.wB = function (a, c) {
		for (var b = 0; b < this.Dq.length; b++) {
			var d = this.Dq[b];
			d.u.x += a.Ja * (c.x + d.M * d.Uh.x);
			d.u.y += a.Ja * (c.y + d.M * d.Uh.y);
			d.J += a.Ja * d.U * d.zk;
			d.u.Vd(U.Nb(1 - a.Ja * d.wE, 0, 1));
			d.J *= U.Nb(1 - a.Ja * d.kE, 0, 1)
		}
	};
	z.CB = function (a) {
		this.mg.sf(a);
		for (var c = 0; c < this.Nd.length; c++)
			this.Nd[c].sf(a);
		for (c = 0; c < a.po; c++) {
			for (var b = 0; b < this.Nd.length; b++)
				this.Nd[b].Ye(a);
			this.mg.Ye()
		}
		for (a = 0; a < this.Nd.length; a++)
			this.Nd[a].Lr();
		this.mg.Lr()
	};
	z.yB = function (a) {
		for (var c =
				0; c < this.bj.length; ++c) {
			var b = this.bj[c],
			d = a.Ja * b.u.x,
			e = a.Ja * b.u.y;
			4 < d * d + e * e && (b.u.Wd(), b.u.x = 2 * b.u.x * a.Ih, b.u.y = 2 * b.u.y * a.Ih);
			d = a.Ja * b.J;
			d * d > Gc && (b.J = 0 > b.J ? -Fc * a.Ih : Fc * a.Ih);
			b.n.fd.K(b.n.F);
			b.n.uf = b.n.O;
			b.n.F.x += a.Ja * b.u.x;
			b.n.F.y += a.Ja * b.u.y;
			b.n.O += a.Ja * b.J;
			b.Vb()
		}
	};
	z.zB = function (a) {
		for (var c = 0; c < a.Tn; c++) {
			for (var b = this.mg.Xe(0.2), d = !0, e = 0; e < this.Nd.length; e++)
				var f = this.Nd[e].Xe(0.2), d = d && f;
			if (b && d)
				break
		}
	};
	z.xB = function (a) {
		for (var c = Number.MAX_VALUE, b = 0; b < this.bj.length; b++) {
			var d = this.bj[b];
			!d.bu || Math.abs(d.J) > Hc || 1E-4 < U.Ub(d.u, d.u) ? c = d.Dn = 0 : (d.Dn += a.Ja, c = Math.min(c, d.Dn))
		}
		if (0.5 <= c)
			for (a = 0; a < this.Sg.length; a++)
				this.Sg[a].dd(!1)
	};
	z.ls = function (a) {
		var c = 0,
		b = 0;
		this.mg.xc(a, this.Th, this.Th.length);
		for (var d = this.mg, c = 0; c < this.Nd.length; ++c)
			this.Nd[c].sf(a);
		for (c = 0; c < a.po; ++c)
			for (d.Ye(), b = 0; b < this.Nd.length; ++b)
				this.Nd[b].Ye(a);
		for (c = 0; c < this.bj.length; ++c) {
			var b = this.bj[c],
			e = a.Ja * b.u.x,
			f = a.Ja * b.u.y;
			4 < e * e + f * f && (b.u.Wd(), b.u.x = 2 * b.u.x * a.Ih, b.u.y = 2 * b.u.y * a.Ih);
			e = a.Ja * b.J;
			e * e > Gc && (b.J = 0 > b.J ?
					-Fc * a.Ih : Fc * a.Ih);
			b.n.fd.K(b.n.F);
			b.n.uf = b.n.O;
			b.n.F.x += a.Ja * b.u.x;
			b.n.F.y += a.Ja * b.u.y;
			b.n.O += a.Ja * b.J;
			b.Vb()
		}
		for (c = 0; c < a.Tn; ++c) {
			e = d.Xe(0.75);
			f = !0;
			for (b = 0; b < this.Nd.length; ++b)
				var g = this.Nd[b].Xe(0.2), f = f && g;
			if (e && f)
				break
		}
		this.nw(d.Tg)
	};
	z.nw = function (a) {
		if (null != this.xE)
			for (var c = 0; c < this.Th.length; ++c)
				for (var b = a[c], d = new Gd, e = 0; e < b.Mf; ++e)
					d.LE[e] = b.sc[e].pc, d.xF[e] = b.sc[e].jh
	};
	z.Ik = function (a) {
		this.Sg.push(a);
		a.bd() != V.Ze && (this.bj.push(a), a.bd() == V.Tc && this.Dq.push(a))
	};
	z.Jk = function (a) {
		this.Th.push(a)
	};
	z.Lv = function (a) {
		this.Nd.push(a)
	};
	var Md = function (a, c, b, d, e) {
		this.Ja = a;
		var f = 0;
		0 < a && (f = 1 / a);
		this.Ih = f;
		this.Lc = c;
		this.Tn = b;
		this.po = d;
		this.mi = e
	},
	yc = function (a, c) {
		this.md = new Id(this);
		this.mg = new Nd;
		this.nu = !1;
		this.ed = new zd;
		this.Yd = new ud;
		this.Sb = null;
		this.Sj = new vd;
		this.Fq = 0;
		this.mE = this.DE = !0;
		this.bu = c;
		this.hu = a;
		this.Cy = 0;
		this.sE = this.Ir(new V)
	};
	yc.FA = 1 - 100 * Number.MIN_VALUE;
	z = yc.prototype;
	z.ww = function (a) {
		this.md.du = a
	};
	z.xw = function (a) {
		this.md.Sh = a
	};
	z.Ir = function (a) {
		a = new vc(a, this);
		this.ed.Ik(a);
		return a
	};
	z.Ao = function (a) {
		for (var c = a.Sb; c; ) {
			var b = c,
			c = c.next;
			this.Bo(b.Nh)
		}
		for (c = a.Sj.Ha(); c; c = c.next)
			c.mx.mm(a);
		for (c = a.Yd.Ha(xd); c; c = c.next)
			this.md.Ob(c.Kc);
		for (c = a.Nr().Ha(); c; c = c.next)
			a.Qv(c.Ge);
		a.Ob();
		this.ed.mm(a)
	};
	z.zo = function (a) {
		var c = X.rf(a);
		c.xl = null;
		if (c.aj = this.Sb)
			this.Sb.xl = c;
		this.Sb = c;
		this.Fq++;
		c.fe.Nh = c;
		c.fe.mf = c.Z;
		c.fe.prev = null;
		if (c.fe.next = c.Y.Sb)
			c.Y.Sb.prev = c.fe;
		c.Y.Sb = c.fe;
		c.ge.Nh = c;
		c.ge.mf = c.Y;
		c.ge.prev = null;
		if (c.ge.next = c.Z.Sb)
			c.Z.Sb.prev = c.ge;
		c.Z.Sb = c.ge;
		var b = a.P,
		d = a.R;
		if (!a.Cs)
			for (a = d.Yd.Ha(xd); a; a = a.next)
				a.Kc.Go(d) == b && a.Kc.Sv();
		return c
	};
	z.Bo = function (a) {
		var c = a.Ay;
		a.xl && (a.xl.aj = a.aj);
		a.aj && (a.aj.xl = a.xl);
		a == this.Sb && (this.Sb = a.aj);
		var b = a.Y,
		d = a.Z;
		b.dd(!0);
		d.dd(!0);
		a.fe.prev && (a.fe.prev.next = a.fe.next);
		a.fe.next && (a.fe.next.prev = a.fe.prev);
		a.fe == b.Sb && (b.Sb = a.fe.next);
		a.fe.prev = null;
		a.fe.next = null;
		a.ge.prev && (a.ge.prev.next = a.ge.next);
		a.ge.next && (a.ge.next.prev = a.ge.prev);
		a.ge == d.Sb && (d.Sb = a.ge.next);
		a.ge.prev = null;
		a.ge.next = null;
		this.Fq--;
		if (!c)
			for (a = d.Yd.Ha(xd); a; a =
					a.next)
				a.Kc.Go(d) == b && a.Kc.Sv()
	};
	z.$l = function (a) {
		if (null !== a.Ba && a.Ba != this)
			throw Error("Controller can only be a member of one world");
		this.Sj.$l(a);
		a.Ba = this;
		return a
	};
	z.nm = function (a) {
		this.Sj.nm(a);
		a.Ba = null;
		a.vo()
	};
	z.hs = aa("hu");
	z.vh = function (a, c, b) {
		this.nu && (this.md.Do(), this.nu = !1);
		a = new Md(a, this.Cy * a, c, b, this.DE);
		this.md.rA();
		0 < a.Ja && (this.xi(a), this.mE && this.ls(a), this.Cy = a.Ih)
	};
	z.Pv = function () {
		for (var a = this.ed.Ha(Ad); a; a = a.next)
			a.body.Uh.la(), a.body.zk = 0
	};
	z.ri = w("Yd");
	var Od = [];
	yc.prototype.xi =
	function (a) {
		for (var c = this.Sj.Ha(); c; c = c.next)
			c.mx.vh(a);
		for (var c = new Ld(this.md.Sh, this.mg), b = this.ed.Ha(yd); b; b = b.next)
			b.body.Lb = !1;
		for (var d = this.Yd.Ha(xd); d; d = d.next)
			d.Kc.Lb = !1;
		for (b = this.Sb; b; b = b.aj)
			b.Lb = !1;
		for (b = this.ed.Ha(Cd); b; b = b.next)
			if (d = b.body, !d.Lb) {
				c.vo();
				Od.length = 0;
				var e = Od;
				e.push(d);
				for (d.Lb = !0; 0 < e.length; ) {
					var f = e.pop();
					c.Ik(f);
					f.Id() || f.dd(!0);
					if (f.bd() != V.Ze) {
						for (d = f.Yd.Ha(Pd); d; d = d.next) {
							var g = d.Kc;
							g.Lb || (c.Jk(g), g.Lb = !0, g = g.Go(f), g.Lb || (e.push(g), g.Lb = !0))
						}
						for (d = f.Sb; d; d = d.next)
							!d.Nh.Lb &&
							d.mf.rh() && (c.Lv(d.Nh), d.Nh.Lb = !0, d.mf.Lb || (e.push(d.mf), d.mf.Lb = !0))
					}
				}
				c.xi(a, this.hu, this.bu)
			}
		for (b = this.ed.Ha(Cd); b; b = b.next)
			b.body.Ew();
		this.md.Do()
	};
	yc.prototype.ls = function (a) {
		for (var c = new Ld(this.md.Sh, this.mg), b = this.ed.Ha(yd); b; b = b.next) {
			var d = b.body;
			d.Lb = !1;
			d.n.Qd = 0
		}
		for (var e = this.Yd.Ha(xd); e; e = e.next)
			e.Kc.Lb = !1, e.Kc.Bl = null;
		for (b = this.Sb; b; b = b.aj)
			b.Lb = !1;
		for (; ; ) {
			var b = this.AB(),
			f = b.JE,
			b = b.KE;
			if (null === f || yc.FA < b)
				break;
			e = f.Yb.Ya();
			d = f.Rb.Ya();
			yc.wz.Set(e.n);
			yc.xz.Set(d.n);
			e.oi(b);
			d.oi(b);
			f.Fw(this.md.Sh);
			f.Bl = null;
			if (f.er || !f.enabled)
				e.n.Set(yc.wz), d.n.Set(yc.xz), e.Vb(), d.Vb();
			else if (f.ko) {
				e.bd() != V.Tc && (e = d);
				c.vo();
				Od.length = 0;
				f = Od;
				f.push(e);
				for (e.Lb = !0; 0 < f.length; )
					if (d = f.pop(), c.Ik(d), d.Id() || d.dd(!0), d.bd() == V.Tc) {
						for (e = d.Yd.Ha(Pd); e && 32 != c.lE; e = e.next) {
							var g = e.Kc;
							g.Lb || (c.Jk(g), g.Lb = !0, g = g.Go(d), g.Lb || (g.bd() != V.Ze && (g.oi(b), g.dd(!0), f.push(g)), g.Lb = !0))
						}
						for (d = d.Sb; d; d = d.next)
							32 != c.Fq && !d.Nh.Lb && d.mf.rh() && (c.Lv(d.Nh), d.Nh.Lb = !0, d.mf.Lb || (d.mf.bd() != V.Ze && (d.mf.oi(b), d.mf.dd(!0),
										f.push(d.mf)), d.mf.Lb = !0))
					}
				c.ls(new Md((1 - b) * a.Ja, 0, a.po, a.Tn, !1));
				for (b = 0; b < c.Sg.length; b++)
					if (c.Sg[b].Lb = !1, c.Sg[b].Id() && c.Sg[b].bd() == V.Tc)
						for (c.Sg[b].Ew(), e = c.Sg[b].Yd.Ha(xd); e; e = e.next)
							e.Kc.Bl = null;
				for (b = 0; b < c.lE; b++)
					c.Th[b].Lb = !1, c.Th[b].Bl = null;
				for (b = 0; b < c.Fq; b++)
					c.Nd[b].Lb = !1;
				this.md.Do()
			}
		}
	};
	yc.prototype.AB = function () {
		for (var a = null, c = 1, b = this.Yd.Ha(Qd); b; b = b.next) {
			var d = b.Kc;
			if (!this.BB(d)) {
				var e = 1;
				if (null != d.Bl)
					e = d.Bl;
				else {
					if (d.ko)
						e = 1;
					else {
						var e = d.Yb.Ya(),
						f = d.Rb.Ya(),
						g = e.n.Qd;
						e.n.Qd < f.n.Qd ?
						(g = f.n.Qd, e.n.oi(g)) : f.n.Qd < e.n.Qd && (g = e.n.Qd, f.n.oi(g));
						e = d.uA(e.n, f.n);
						0 < e && 1 > e && (e = (1 - e) * g + e)
					}
					d.Bl = e
				}
				Number.MIN_VALUE < e && e < c && (a = d, c = e)
			}
		}
		return {
			JE : a,
			KE : c
		}
	};
	yc.prototype.BB = function (a) {
		var c = a.Yb.Ya();
		a = a.Rb.Ya();
		return c.bd() == V.Tc && c.Id() || a.bd() == V.Tc && a.Id() ? !1 : !0
	};
	var Sd = function (a, c) {
		this.Ud = "Contact" + Rd++;
		this.kf = new ld;
		this.An = new ld;
		this.ko = !1;
		var b = a.Ya(),
		d = c.Ya();
		this.Es = b.bd() != V.Tc || b.tl || d.bd() != V.Tc || d.tl;
		this.er = a.Bj() || c.Bj();
		this.Np = !1;
		this.Yb = a;
		this.Rb = c;
		this.enabled = !0;
		this.fp =
			b.ri();
		this.gp = d.ri();
		this.Cr = d.Ba.ri();
		this.Mv()
	};
	z = Sd.prototype;
	z.cd = function (a, c) {
		this.kf.cd();
		this.An.cd();
		this.ko = !1;
		var b = a.Ya(),
		d = c.Ya();
		this.Es = b.bd() != V.Tc || b.tl || d.bd() != V.Tc || d.tl;
		this.er = a.Bj() || c.Bj();
		this.Np = !1;
		this.Yb = a;
		this.Rb = c;
		this.enabled = !0;
		this.fp = b.ri();
		this.gp = d.ri();
		this.Cr = d.Ba.ri();
		this.Mv()
	};
	z.Mv = function () {
		this.fp.Jk(this);
		this.gp.Jk(this);
		this.Cr.Jk(this);
		this.ps()
	};
	z.ps = function () {
		var a = !1,
		c = !1;
		!this.Bj() && this.enabled && (this.Sr() && (a = !0), this.Es && (c = !0));
		this.fp.os(this,
			a, c);
		this.gp.os(this, a, c);
		this.Cr.os(this, a, c)
	};
	z.aB = function () {
		this.fp.es(this);
		this.gp.es(this);
		this.Cr.es(this)
	};
	z.Sr = w("ko");
	z.Bj = w("er");
	z.Hb = function (a) {
		this.enabled = a;
		this.ps()
	};
	z.Go = function (a) {
		var c = this.Yb.Ya();
		return c != a ? c : this.Rb.Ya()
	};
	z.Sv = function () {
		this.Np = !0
	};
	z.qA = function () {
		this.Np = !1
	};
	z.Fw = function (a) {
		var c = this.An;
		this.An = this.kf;
		this.kf = c;
		this.enabled = !0;
		var b = !1,
		c = this.Sr(),
		d = this.Yb.Ya(),
		e = this.Rb.Ya(),
		f = this.Yb.qk.zm(this.Rb.qk);
		if (this.er) {
			if (f) {
				var b = this.Yb.Rc(),
				d = d.we(),
				f = this.Rb.Rc(),
				g = e.we(),
				e = new bd;
				e.di = new dd;
				e.di.Set(b);
				e.ei = new dd;
				e.ei.Set(f);
				e.ur = d;
				e.wr = g;
				e.cA = !0;
				d = new rd;
				d.count = 0;
				b = new cd;
				ad(b, d, e);
				b = b.Dh < 10 * Number.MIN_VALUE
			}
			this.kf.oc = 0
		} else {
			this.Es = d.bd() != V.Tc || d.tl || e.bd() != V.Tc || e.tl ? !0 : !1;
			if (f)
				for (this.Cg(), b = 0 < this.kf.oc, f = 0; f < this.kf.oc; f++) {
					g = this.kf.ra[f];
					g.uk = 0;
					for (var h = g.yk = 0; h < this.An.oc; h++) {
						var m = this.An.ra[h];
						if (m.Hf.Xd == g.Hf.Xd) {
							g.uk = m.uk;
							g.yk = m.yk;
							break
						}
					}
				}
			else
				this.kf.oc = 0;
			b != c && (d.dd(!0), e.dd(!0))
		}
		this.ko = b;
		b != c && this.ps();
		!c && b && a.uo(this)
	};
	z.Cg = s();
	z.uA = function (a, c) {
		Td.di.Set(this.Yb.Rc());
		Td.ei.Set(this.Rb.Rc());
		Td.Kz = a;
		Td.Lz = c;
		Td.EF = 0.005;
		var b = Td;
		Ud++;
		var d = b.di,
		e = b.ei,
		f = b.Kz,
		g = b.Lz,
		h = d.eb + e.eb,
		b = b.EF,
		m = 0,
		l = 0,
		n = 0;
		Vd.count = 0;
		for (Wd.cA = !1; ; ) {
			f.we(Xd, m);
			g.we(Yd, m);
			Wd.di = d;
			Wd.ei = e;
			Wd.ur = Xd;
			Wd.wr = Yd;
			ad(Zd, Vd, Wd);
			if (0 >= Zd.Dh) {
				m = 1;
				break
			}
			$d.xc(Vd, d, Xd, e, Yd);
			var k = $d.Cg(Xd, Yd);
			if (0 >= k) {
				m = 1;
				break
			}
			0 == l && (n = k > h ? Math.max(h - b, 0.75 * h) : Math.max(k - b, 0.02 * h));
			if (k - n < 0.5 * b) {
				if (0 == l) {
					m = 1;
					break
				}
				break
			}
			var p = m,
			q = m,
			r = 1;
			f.we(Xd, r);
			g.we(Yd, r);
			var v = $d.Cg(Xd,
					Yd);
			if (v >= n) {
				m = 1;
				break
			}
			for (var u = 0; ; ) {
				var y = 0,
				y = u & 1 ? q + (n - k) * (r - q) / (v - k) : 0.5 * (q + r);
				f.we(Xd, y);
				g.we(Yd, y);
				var F = $d.Cg(Xd, Yd);
				if (Math.abs(F - n) < 0.025 * b) {
					p = y;
					break
				}
				F > n ? (q = y, k = F) : (r = y, v = F);
				u++;
				ae++;
				if (50 == u)
					break
			}
			be = Math.max(be, u);
			if (p < (1 + 100 * Number.MIN_VALUE) * m)
				break;
			m = p;
			l++;
			ce++;
			if (1E3 == l)
				break
		}
		de = Math.max(de, l);
		return m
	};
	var Td = new sd,
	Rd = 0,
	ee = function (a, c) {
		Sd.call(this, a, c)
	};
	rc(ee, Sd);
	ee.prototype.cd = function (a, c) {
		Sd.prototype.cd.call(this, a, c)
	};
	ee.prototype.Cg = function () {
		var a = this.kf,
		c = this.Yb.Rc(),
		b = this.Yb.Ya().H,
		d = this.Rb.Rc(),
		e = this.Rb.Ya().H;
		a.oc = 0;
		var f = e.position.x + (e.q.j.x * d.wb.x + e.q.k.x * d.wb.y) - (b.position.x + (b.q.j.x * c.wb.x + b.q.k.x * c.wb.y)),
		b = e.position.y + (e.q.j.y * d.wb.x + e.q.k.y * d.wb.y) - (b.position.y + (b.q.j.y * c.wb.x + b.q.k.y * c.wb.y)),
		e = c.eb + d.eb;
		f * f + b * b > e * e || (a.fb = 1, a.ya.K(c.wb), a.nd.la(), a.oc = 1, a.ra[0].ya.K(d.wb), a.ra[0].Hf.Dj(0))
	};
	var ge = function () {
		this.Rg = R.C(0, 0);
		this.nc = R.C(0, 0);
		this.Od = R.C(0, 0);
		this.ai = new sc;
		this.xe = new sc;
		this.sc = [];
		for (var a = 0; 2 > a; a++)
			this.sc[a] = new fe
	},
	fe =
	function () {
		this.nc = R.C(0, 0);
		this.fc = R.C(0, 0);
		this.gc = R.C(0, 0)
	};
	fe.prototype.cd = function () {
		this.nc.Set(0, 0);
		this.fc.Set(0, 0);
		this.gc.Set(0, 0)
	};
	var Hd = function () {
		this.pg = {};
		this.Vh = {};
		this.am(ee, zc.Tf, zc.Tf);
		this.am(he, W.Tf, zc.Tf);
		this.am(ie, W.Tf, W.Tf);
		this.am(je, "b2EdgeShape", zc.Tf);
		this.am(ke, W.Tf, "b2EdgeShape")
	};
	Hd.prototype.am = function (a, c, b) {
		this.Vh[c] = this.Vh[c] || {};
		this.Vh[c][b] = this.Vh[c][b] || [];
		this.pg[c] = this.pg[c] || {};
		this.pg[c][b] = new le;
		this.pg[c][b].qx = a;
		this.pg[c][b].jz = !0;
		c != b && (this.pg[b] =
				this.pg[b] || {}, this.pg[b][c] = new le, this.pg[b][c].qx = a, this.pg[b][c].jz = !1)
	};
	Hd.prototype.rf = function (a, c) {
		var b = a.Rc().Aj(),
		d = c.Rc().Aj(),
		e = this.pg[b][d],
		f = e.qx;
		return null != f ? e.jz ? 0 < this.Vh[b][d].length ? (b = this.Vh[b][d].pop(), b.cd(a, c), b) : new f(a, c) : 0 < this.Vh[d][b].length ? (b = this.Vh[d][b].pop(), b.cd(c, a), b) : new f(c, a) : null
	};
	Hd.prototype.Ob = function (a) {
		var c = a.Yb.Rc().Aj(),
		b = a.Rb.Rc().Aj();
		this.Vh[c][b].push(a)
	};
	var ud = function () {
		this.rp = [];
		for (var a = 0; a <= xd; a++)
			this.rp[a] = null;
		this.sp = [];
		for (a =
				0; a <= xd; a++)
			this.sp[a] = null;
		this.Rj = {}

	};
	z = ud.prototype;
	z.Ha = function (a) {
		return this.rp[a]
	};
	z.Jk = function (a) {
		var c = a.Ud;
		if (null == this.Rj[c]) {
			this.Rj[c] = [];
			for (var b = 0; b <= xd; b++)
				this.Rj[c][b] = null;
			this.Bg(a, c, xd)
		}
	};
	z.os = function (a, c, b) {
		c ? this.Bg(a, a.Ud, Pd) : this.Fg(a.Ud, Pd);
		b ? this.Bg(a, a.Ud, Qd) : this.Fg(a.Ud, Qd)
	};
	z.es = function (a) {
		a = a.Ud;
		if (null != this.Rj[a]) {
			for (var c = 0; c <= xd; c++)
				this.Fg(a, c);
			delete this.Rj[a]
		}
	};
	z.Fg = function (a, c) {
		var b = this.Rj[a];
		if (null != b) {
			var d = b[c];
			if (null != d) {
				b[c] = null;
				var b = d.Nf,
				e = d.next;
				null == b ? this.rp[c] = e : b.Vf(e);
				null == e ? this.sp[c] = b : e.Wf(b);
				me.push(d)
			}
		}
	};
	z.Bg = function (a, c, b) {
		c = this.Rj[c];
		if (null == c[b]) {
			if (0 < me.length) {
				var d = me.pop();
				d.next = null;
				d.Nf = null;
				d.Kc = a;
				a = d
			} else
				a = new ne(a);
			c[b] = a;
			a = this.sp[b];
			null != a ? (a.Vf(c[b]), c[b].Wf(a)) : this.rp[b] = c[b];
			this.sp[b] = c[b]
		}
	};
	var Pd = 0,
	Qd = 1,
	xd = 2,
	ne = function (a) {
		this.Kc = a;
		this.Nf = this.next = null
	},
	me = [];
	ne.prototype.Vf = aa("next");
	ne.prototype.Wf = aa("Nf");
	var le = s(),
	oe = function () {
		this.za = R.C(0, 0);
		this.Jq = [];
		this.ra = [];
		for (var a = 0; 2 >
			a; a++)
			this.ra[a] = R.C(0, 0)
	};
	oe.prototype.xc = function (a) {
		switch (a.type) {
		case 1:
			this.tB(a);
			break;
		case 2:
			this.uB(a);
			break;
		case 4:
			this.vB(a)
		}
	};
	oe.prototype.tB = function (a) {
		var c = a.P.H.q,
		b = a.nc,
		d = a.P.H.position.x + (c.j.x * b.x + c.k.x * b.y),
		e = a.P.H.position.y + (c.j.y * b.x + c.k.y * b.y),
		c = a.R.H.q,
		b = a.sc[0].nc,
		f = a.R.H.position.x + (c.j.x * b.x + c.k.x * b.y),
		c = a.R.H.position.y + (c.j.y * b.x + c.k.y * b.y),
		b = f - d,
		g = c - e,
		h = b * b + g * g;
		h > Ic ? (h = Math.sqrt(h), this.za.x = b / h, this.za.y = g / h) : (this.za.x = 1, this.za.y = 0);
		this.ra[0].x = 0.5 * (d + f);
		this.ra[0].y =
			0.5 * (e + c);
		this.Jq[0] = b * this.za.x + g * this.za.y - a.Wq
	};
	oe.prototype.uB = function (a) {
		this.za.x = a.P.H.q.j.x * a.Rg.x + a.P.H.q.k.x * a.Rg.y;
		this.za.y = a.P.H.q.j.y * a.Rg.x + a.P.H.q.k.y * a.Rg.y;
		for (var c = a.P.H.position.x + (a.P.H.q.j.x * a.nc.x + a.P.H.q.k.x * a.nc.y), b = a.P.H.position.y + (a.P.H.q.j.y * a.nc.x + a.P.H.q.k.y * a.nc.y), d = 0; d < a.Mf; d++) {
			var e = a.R.H.position.x + (a.R.H.q.j.x * a.sc[d].nc.x + a.R.H.q.k.x * a.sc[d].nc.y),
			f = a.R.H.position.y + (a.R.H.q.j.y * a.sc[d].nc.x + a.R.H.q.k.y * a.sc[d].nc.y);
			this.Jq[d] = (e - c) * this.za.x + (f - b) * this.za.y -
			a.Wq;
			this.ra[d].x = e;
			this.ra[d].y = f
		}
	};
	oe.prototype.vB = function (a) {
		this.za.x = a.R.H.q.j.x * a.Rg.x + a.R.H.q.k.x * a.Rg.y;
		this.za.y = a.R.H.q.j.y * a.Rg.x + a.R.H.q.k.y * a.Rg.y;
		for (var c = a.R.H.position.x + (a.R.H.q.j.x * a.nc.x + a.R.H.q.k.x * a.nc.y), b = a.R.H.position.y + (a.R.H.q.j.y * a.nc.x + a.R.H.q.k.y * a.nc.y), d = 0; d < a.Mf; d++) {
			var e = a.P.H.position.x + (a.P.H.q.j.x * a.sc[d].nc.x + a.P.H.q.k.x * a.sc[d].nc.y),
			f = a.P.H.position.y + (a.P.H.q.j.y * a.sc[d].nc.x + a.P.H.q.k.y * a.sc[d].nc.y);
			this.Jq[d] = (e - c) * this.za.x + (f - b) * this.za.y - a.Wq;
			this.ra[d].Set(e,
				f)
		}
		this.za.x *= -1;
		this.za.y *= -1
	};
	var Nd = function () {
		this.Tg = []
	};
	z = Nd.prototype;
	z.xc = function (a, c, b) {
		for (this.vn = b; this.Tg.length < this.vn; )
			this.Tg[this.Tg.length] = new ge;
		for (a = 0; a < b; a++) {
			var d = c[a],
			e = d.Yb,
			f = d.Rb,
			g = e.Zh.eb,
			h = f.Zh.eb,
			m = e.Ya(),
			l = f.Ya(),
			n = d.kf,
			k = Math.sqrt(e.gu * f.gu),
			p = e.Cn > f.Cn ? e.Cn : f.Cn,
			q = m.u.x,
			r = m.u.y,
			v = l.u.x,
			u = l.u.y,
			y = m.J,
			F = l.J;
			pe.xc(n, m.H, g, l.H, h);
			f = pe.za.x;
			d = pe.za.y;
			e = this.Tg[a];
			e.P = m;
			e.R = l;
			e.EE = n;
			e.Od.x = f;
			e.Od.y = d;
			e.Mf = n.oc;
			e.Ng = k;
			e.eh = p;
			e.Rg.x = n.nd.x;
			e.Rg.y = n.nd.y;
			e.nc.x = n.ya.x;
			e.nc.y =
				n.ya.y;
			e.Wq = g + h;
			e.type = n.fb;
			for (g = 0; g < e.Mf; ++g) {
				k = n.ra[g];
				h = e.sc[g];
				h.pc = k.uk;
				h.jh = k.yk;
				h.nc.K(k.ya);
				var k = h.fc.x = pe.ra[g].x - m.n.F.x,
				p = h.fc.y = pe.ra[g].y - m.n.F.y,
				H = h.gc.x = pe.ra[g].x - l.n.F.x,
				J = h.gc.y = pe.ra[g].y - l.n.F.y,
				A = k * d - p * f,
				C = H * d - J * f,
				A = A * A,
				C = C * C;
				h.ai = 1 / (m.M + l.M + m.U * A + l.U * C);
				var I = m.X * m.M + l.X * l.M,
				I = I + (m.X * m.U * A + l.X * l.U * C);
				h.IC = 1 / I;
				C = d;
				I = -f;
				A = k * I - p * C;
				C = H * I - J * C;
				A *= A;
				C *= C;
				h.yF = 1 / (m.M + l.M + m.U * A + l.U * C);
				h.oo = 0;
				k = e.Od.x * (v + -F * J - q - -y * p) + e.Od.y * (u + F * H - r - y * k);
				-1 > k && (h.oo += -e.eh * k)
			}
			2 == e.Mf && (u = e.sc[0], v =
					e.sc[1], n = m.M, m = m.U, q = l.M, l = l.U, r = u.fc.x * d - u.fc.y * f, u = u.gc.x * d - u.gc.y * f, y = v.fc.x * d - v.fc.y * f, v = v.gc.x * d - v.gc.y * f, f = n + q + m * r * r + l * u * u, d = n + q + m * y * y + l * v * v, l = n + q + m * r * y + l * u * v, f * f < 100 * (f * d - l * l) ? (e.xe.j.Set(f, l), e.xe.k.Set(l, d), e.xe.Or(e.ai)) : e.Mf = 1)
		}
	};
	z.sf = function (a) {
		for (var c = 0; c < this.vn; ++c) {
			var b = this.Tg[c],
			d = b.P,
			e = b.R,
			f = d.M,
			g = d.U,
			h = e.M,
			m = e.U,
			l = b.Od.x,
			n = b.Od.y,
			k = n,
			p = -l,
			q = 0,
			r = 0;
			if (a.mi)
				for (r = b.Mf, q = 0; q < r; ++q) {
					var v = b.sc[q];
					v.pc *= a.Lc;
					v.jh *= a.Lc;
					var u = v.pc * l + v.jh * k,
					y = v.pc * n + v.jh * p;
					d.J -= g * (v.fc.x * y - v.fc.y *
						u);
					d.u.x -= f * u;
					d.u.y -= f * y;
					e.J += m * (v.gc.x * y - v.gc.y * u);
					e.u.x += h * u;
					e.u.y += h * y
				}
			else
				for (r = b.Mf, q = 0; q < r; ++q)
					d = b.sc[q], d.pc = 0, d.jh = 0
		}
	};
	z.Ye = function () {
		for (var a = 0; a < this.vn; a++)
			this.gB(this.Tg[a])
	};
	z.gB = function (a) {
		for (var c = a.Od.x, b = a.Od.y, d = 0; d < a.Mf; d++)
			Nd.prototype.hB(a, a.sc[d]);
		if (1 == a.Mf) {
			var d = a.sc[0],
			e = d.pc - d.ai * ((a.R.u.x - a.R.J * d.gc.y - a.P.u.x + a.P.J * d.fc.y) * c + (a.R.u.y + a.R.J * d.gc.x - a.P.u.y - a.P.J * d.fc.x) * b - d.oo),
			e = 0 < e ? e : 0,
			f = e - d.pc,
			g = f * c,
			b = f * b;
			a.P.u.x -= a.P.M * g;
			a.P.u.y -= a.P.M * b;
			a.P.J -= a.P.U * (d.fc.x * b -
				d.fc.y * g);
			a.R.u.x += a.R.M * g;
			a.R.u.y += a.R.M * b;
			a.R.J += a.R.U * (d.gc.x * b - d.gc.y * g);
			d.pc = e
		} else
			for (var d = a.sc[0], e = a.sc[1], f = d.pc, g = e.pc, h = (a.R.u.x - a.R.J * d.gc.y - a.P.u.x + a.P.J * d.fc.y) * c + (a.R.u.y + a.R.J * d.gc.x - a.P.u.y - a.P.J * d.fc.x) * b - d.oo, b = (a.R.u.x - a.R.J * e.gc.y - a.P.u.x + a.P.J * e.fc.y) * c + (a.R.u.y + a.R.J * e.gc.x - a.P.u.y - a.P.J * e.fc.x) * b - e.oo, h = h - (a.xe.j.x * f + a.xe.k.x * g), b = b - (a.xe.j.y * f + a.xe.k.y * g); ; ) {
				c =  - (a.ai.j.x * h + a.ai.k.x * b);
				if (0 <= c) {
					var m =  - (a.ai.j.y * h + a.ai.k.y * b);
					if (0 <= m) {
						this.So(a, d, e, c - f, m - g);
						d.pc = c;
						e.pc = m;
						break
					}
				}
				c = -d.ai * h;
				if (0 <= c && 0 <= a.xe.j.y * c + b) {
					this.So(a, d, e, c - f, -g);
					d.pc = c;
					e.pc = 0;
					break
				}
				c = -e.ai * b;
				if (0 <= c && 0 <= a.xe.k.x * c + h) {
					this.So(a, d, e, -f, c - g);
					d.pc = 0;
					e.pc = c;
					break
				}
				if (0 <= h && 0 <= b) {
					this.So(a, d, e, -f, -g);
					d.pc = 0;
					e.pc = 0;
					break
				}
				break
			}
	};
	z.hB = function (a, c) {
		var b = a.Od.y,
		d = -a.Od.x,
		e = a.Ng * c.pc,
		e = U.Nb(c.jh - c.yF * ((a.R.u.x - a.R.J * c.gc.y - a.P.u.x + a.P.J * c.fc.y) * b + (a.R.u.y + a.R.J * c.gc.x - a.P.u.y - a.P.J * c.fc.x) * d), -e, e),
		f = e - c.jh,
		b = f * b,
		d = f * d;
		a.P.u.x -= a.P.M * b;
		a.P.u.y -= a.P.M * d;
		a.P.J -= a.P.U * (c.fc.x * d - c.fc.y * b);
		a.R.u.x += a.R.M *
		b;
		a.R.u.y += a.R.M * d;
		a.R.J += a.R.U * (c.gc.x * d - c.gc.y * b);
		c.jh = e
	};
	z.So = function (a, c, b, d, e) {
		var f = d * a.Od.x;
		d *= a.Od.y;
		var g = e * a.Od.x;
		e *= a.Od.y;
		a.P.u.x -= a.P.M * (f + g);
		a.P.u.y -= a.P.M * (d + e);
		a.P.J -= a.P.U * (c.fc.x * d - c.fc.y * f + b.fc.x * e - b.fc.y * g);
		a.R.u.x += a.R.M * (f + g);
		a.R.u.y += a.R.M * (d + e);
		a.R.J += a.R.U * (c.gc.x * d - c.gc.y * f + b.gc.x * e - b.gc.y * g);
		c.pc = 0;
		b.pc = 0
	};
	z.Lr = function () {
		for (var a = 0; a < this.vn; ++a)
			for (var c = this.Tg[a], b = c.EE, d = 0; d < c.Mf; ++d) {
				var e = b.ra[d],
				f = c.sc[d];
				e.uk = f.pc;
				e.yk = f.jh
			}
	};
	z.Xe = function (a) {
		void 0 === a && (a = 0);
		for (var c = 0, b = 0; b < this.vn; b++) {
			var d = this.Tg[b],
			e = d.P,
			f = d.R,
			g = e.X * e.M,
			h = e.X * e.U,
			m = f.X * f.M,
			l = f.X * f.U;
			qe.xc(d);
			for (var n = qe.za, k = 0; k < d.Mf; k++) {
				var p = d.sc[k],
				q = qe.ra[k],
				r = qe.Jq[k],
				v = q.x - e.n.F.x,
				u = q.y - e.n.F.y,
				y = q.x - f.n.F.x,
				q = q.y - f.n.F.y,
				c = c < r ? c : r,
				r = -p.IC * U.Nb(a * (r + 0.005), -0.2, 0),
				p = r * n.x,
				r = r * n.y;
				e.n.F.x -= g * p;
				e.n.F.y -= g * r;
				e.n.O -= h * (v * r - u * p);
				e.Vb();
				f.n.F.x += m * p;
				f.n.F.y += m * r;
				f.n.O += l * (y * r - q * p);
				f.Vb()
			}
		}
		return -0.0075 < c
	};
	var je = function (a, c) {
		Sd.call(this, a, c)
	};
	rc(je, Sd);
	je.prototype.cd = function (a, c) {
		Sd.prototype.cd.call(this,
			a, c)
	};
	je.prototype.Cg = function () {
		this.Yb.Rc();
		this.Rb.Rc()
	};
	var he = function (a, c) {
		Sd.call(this, a, c)
	};
	rc(he, Sd);
	he.prototype.cd = function (a, c) {
		Sd.prototype.cd.call(this, a, c)
	};
	he.prototype.Cg = function () {
		a : {
			var a = this.kf,
			c = this.Yb.Rc(),
			b = this.Yb.Ya().H,
			d = this.Rb.Rc(),
			e = this.Rb.Ya().H;
			a.oc = 0;
			for (var f = e.position.x + (e.q.j.x * d.wb.x + e.q.k.x * d.wb.y) - b.position.x, g = e.position.y + (e.q.j.y * d.wb.x + e.q.k.y * d.wb.y) - b.position.y, e = f * b.q.j.x + g * b.q.j.y, b = f * b.q.k.x + g * b.q.k.y, f = 0, g = -Number.MAX_VALUE, h = c.eb + d.eb, m = 0; m <
				c.Ra; ++m) {
				var l = c.Aa[m].x * (e - c.N[m].x) + c.Aa[m].y * (b - c.N[m].y);
				if (l > h)
					break a;
				l > g && (g = l, f = m)
			}
			l = f + 1;
			l >= c.Ra && (l = 0);
			var m = c.N[f],
			n = c.N[l];
			g < Number.MIN_VALUE ? (a.oc = 1, a.fb = 2, a.nd.K(c.Aa[f]), a.ya.x = 0.5 * (m.x + n.x), a.ya.y = 0.5 * (m.y + n.y), a.ra[0].ya.K(d.wb), a.ra[0].Hf.Dj(0)) : 0 >= (e - m.x) * (n.x - m.x) + (b - m.y) * (n.y - m.y) ? (e - m.x) * (e - m.x) + (b - m.y) * (b - m.y) > h * h || (a.oc = 1, a.fb = 2, a.nd.x = e - m.x, a.nd.y = b - m.y, a.nd.Wd(), a.ya.K(m), a.ra[0].ya.K(d.wb), a.ra[0].Hf.Dj(0)) : 0 >= (e - n.x) * (m.x - n.x) + (b - n.y) * (m.y - n.y) ? (e - n.x) * (e - n.x) + (b - n.y) *
			(b - n.y) > h * h || (a.oc = 1, a.fb = 2, a.nd.x = e - n.x, a.nd.y = b - n.y, a.nd.Wd(), a.ya.K(n), a.ra[0].ya.K(d.wb), a.ra[0].Hf.Dj(0)) : (l = 0.5 * (m.x + n.x), m = 0.5 * (m.y + n.y), g = (e - l) * c.Aa[f].x + (b - m) * c.Aa[f].y, g > h || (a.oc = 1, a.fb = 2, a.nd.x = c.Aa[f].x, a.nd.y = c.Aa[f].y, a.nd.Wd(), a.ya.Set(l, m), a.ra[0].ya.K(d.wb), a.ra[0].Hf.Dj(0)))
		}
	};
	var ke = function (a, c) {
		Sd.call(this, a, c)
	};
	rc(ke, Sd);
	ke.prototype.cd = function (a, c) {
		Sd.prototype.cd.call(this, a, c)
	};
	ke.prototype.Cg = function () {
		this.Yb.Rc();
		this.Rb.Rc()
	};
	var ie = function (a, c) {
		Sd.call(this, a, c)
	};
	rc(ie, Sd);
	ie.prototype.cd = function (a, c) {
		Sd.prototype.cd.call(this, a, c)
	};
	ie.prototype.Cg = function () {
		var a = this.kf,
		c = this.Yb.Rc(),
		b = this.Yb.Ya().H,
		d = this.Rb.Rc(),
		e = this.Rb.Ya().H;
		a.oc = 0;
		var f = c.eb + d.eb,
		g = Zc(c, b, d, e),
		h = g.Yw;
		if (!(g.gr > f)) {
			var m = Zc(d, e, c, b);
			if (!(m.gr > f)) {
				var l = c,
				n = d,
				k = b,
				p = e,
				q = 0;
				a.fb = 2;
				m.gr > 0.98 * g.gr + 0.001 && (l = d, n = c, k = e, p = b, h = m.Yw, a.fb = 4, q = 1);
				c = h;
				b = p;
				d = re;
				void 0 === c && (c = 0);
				for (var e = k.q.j.x * l.Aa[c].x + k.q.k.x * l.Aa[c].y, g = k.q.j.y * l.Aa[c].x + k.q.k.y * l.Aa[c].y, m = b.q.j.x * e + b.q.j.y * g, g = b.q.k.x *
						e + b.q.k.y * g, e = m, m = 0, r = Number.MAX_VALUE, v = 0; v < n.Ra; v++) {
					var u = e * n.Aa[v].x + g * n.Aa[v].y;
					u < r && (r = u, m = v)
				}
				e = m + 1;
				e >= n.Ra && (e = 0);
				d[0].qf.x = b.position.x + (b.q.j.x * n.N[m].x + b.q.k.x * n.N[m].y);
				d[0].qf.y = b.position.y + (b.q.j.y * n.N[m].x + b.q.k.y * n.N[m].y);
				d[0].id.Bw(c);
				d[0].id.yw(m);
				d[0].id.zw(0);
				d[1].qf.x = b.position.x + (b.q.j.x * n.N[e].x + b.q.k.x * n.N[e].y);
				d[1].qf.y = b.position.y + (b.q.j.y * n.N[e].x + b.q.k.y * n.N[e].y);
				d[1].id.Bw(c);
				d[1].id.yw(e);
				d[1].id.zw(1);
				c = l.N[h];
				h = h + 1 < l.Ra ? l.N[h + 1] : l.N[0];
				se.Set(h.x - c.x, h.y - c.y);
				se.Wd();
				xe.x = se.y;
				xe.y = -se.x;
				ye.Set(0.5 * (c.x + h.x), 0.5 * (c.y + h.y));
				ze.x = k.q.j.x * se.x + k.q.k.x * se.y;
				ze.y = k.q.j.y * se.x + k.q.k.y * se.y;
				Ae.x = -ze.x;
				Ae.y = -ze.y;
				Be.x = ze.y;
				Be.y = -ze.x;
				Ce.x = k.position.x + (k.q.j.x * c.x + k.q.k.x * c.y);
				Ce.y = k.position.y + (k.q.j.y * c.x + k.q.k.y * c.y);
				De.x = k.position.x + (k.q.j.x * h.x + k.q.k.x * h.y);
				De.y = k.position.y + (k.q.j.y * h.x + k.q.k.y * h.y);
				if (!(2 > Uc(Ee, re, Ae, -ze.x * Ce.x - ze.y * Ce.y + f) || 2 > Uc(Fe, Ee, ze, ze.x * De.x + ze.y * De.y + f))) {
					a.nd.K(xe);
					a.ya.K(ye);
					k = Be.x * Ce.x + Be.y * Ce.y;
					for (l = h = 0; 2 > l; ++l)
						Be.x * Fe[l].qf.x +
						Be.y * Fe[l].qf.y - k <= f && (c = Fe[l].qf.x - p.position.x, n = Fe[l].qf.y - p.position.y, a.ra[h].ya.x = c * p.q.j.x + n * p.q.j.y, a.ra[h].ya.y = c * p.q.k.x + n * p.q.k.y, a.ra[h].Hf.Set(Fe[l].id), a.ra[h].Hf.cB(q), h++);
					a.oc = h
				}
			}
		}
	};
	var He = function () {
		this.Ud = "Controller" + Ge++;
		this.Ba = null;
		this.ed = new zd
	};
	He.prototype.vh = s();
	He.prototype.Ik = function (a) {
		this.ed.Ik(a);
		a.$l(this)
	};
	He.prototype.mm = function (a) {
		this.ed.mm(a);
		a.nm(this)
	};
	He.prototype.vo = function () {
		for (var a = this.ed.Ha(yd); a; a = a.next)
			this.mm(a.body)
	};
	var Ge = 0,
	Ie = function () {
		He.call(this);
		this.Od = R.C(0, -1);
		this.cg = this.offset = 0;
		this.fA = R.C(0, 0);
		this.gE = 2;
		this.MB = 1;
		this.KF = !0;
		this.Rx = null
	};
	rc(Ie, He);
	Ie.prototype.vh = function () {
		this.KF && (this.Rx = this.Ba.hu.Gc());
		for (var a = this.ed.Ha(Dd); a; a = a.next) {
			for (var c = a.body, b = R.C(0, 0), d = R.C(0, 0), e = 0, f = 0, g = c.Nr().Ha(); g; g = g.next) {
				var h = R.C(0, 0),
				m = g.Ge.Rc().yo(this.Od, this.offset, c.we(), h),
				e = e + m;
				b.x += m * h.x;
				b.y += m * h.y;
				var l = 0,
				l = 1,
				f = f + m * l;
				d.x += m * h.x * l;
				d.y += m * h.y * l
			}
			e < Number.MIN_VALUE || (b.x /= e, b.y /= e, d.x /= f, d.y /= f, f = this.Rx.si(), f.Vd(this.cg * e), c.zg(f,
					d), f = c.AA(b), f.ms(this.fA), f.Vd(-this.gE * e), c.zg(f, b), c.to(-c.Ff / c.Qk() * e * c.Eo() * this.MB), R.wc(b), R.wc(d))
		}
	};
	var Je = function () {
		He.call(this);
		this.Kv = R.C(0, 0)
	};
	rc(Je, He);
	Je.prototype.vh = function (a) {
		a = R.C(this.Kv.x * a.Ja, this.Kv.y * a.Ja);
		for (var c = this.ed.Ha(Dd); c; c = c.next) {
			var b = c.body,
			d = b.yj();
			b.Ej(R.C(d.x + a.x, d.y + a.y))
		}
		R.wc(a)
	};
	var Ke = function () {
		He.call(this);
		this.xA = R.C(0, 0)
	};
	rc(Ke, He);
	Ke.prototype.vh = function () {
		for (var a = this.ed.Ha(Dd); a; a = a.next) {
			var c = a.body;
			c.zg(this.xA, c.Rk())
		}
	};
	var vd = function () {
		this.Gs =
			this.Fs = null;
		this.up = {}

	};
	vd.prototype.Ha = w("Fs");
	vd.prototype.$l = function (a) {
		var c = a.Ud;
		if (null == this.up[c]) {
			a = new Le(a);
			var b = this.Gs;
			null != b ? b.Vf(a) : this.Fs = a;
			a.Wf(b);
			this.Gs = a;
			this.up[c] = a
		}
	};
	vd.prototype.nm = function (a) {
		a = a.Ud;
		var c = this.up[a];
		if (null != c) {
			var b = c.Nf,
			c = c.next;
			null == b ? this.Fs = c : b.Vf(c);
			null == c ? this.Gs = b : c.Wf(b);
			delete this.up[a]
		}
	};
	var Le = function (a) {
		this.mx = a;
		this.Nf = this.next = null
	};
	Le.prototype.Vf = aa("next");
	Le.prototype.Wf = aa("Nf");
	var Me = function () {
		He.call(this);
		this.Tv = 1;
		this.UD =
			!0
	};
	rc(Me, He);
	Me.prototype.vh = function () {
		var a = null,
		c = null,
		b = 0,
		d = null,
		e = null,
		f = 0,
		g = 0,
		h = 0,
		f = null;
		if (this.UD)
			for (var m = this.ed.Ha(yd); m; m = m.next)
				for (var a = m.body, c = a.Rk(), b = a.Qk(), l = this.ed.Ha(yd); l; l = l.next) {
					if (d = l.body, a.Id() || d.Id())
						e = d.Rk(), f = e.x - c.x, g = e.y - c.y, h = f * f + g * g, h < Number.MIN_VALUE || (f = R.C(f, g), f.Vd(this.Tv / h / Math.sqrt(h) * b * d.Qk()), a.Id() && a.zg(f, c), f.Vd(-1), d.Id() && d.zg(f, e), R.wc(f))
				}
		else
			for (m = this.ed.Ha(yd); m; m = m.next)
				for (a = bodyNode.body, c = a.Rk(), b = a.Qk(), l = this.ed.Ha(yd); l; l = l.next)
					if (d =
							bodyNode.body, a.Id() || d.Id())
						e = d.Rk(), f = e.x - c.x, g = e.y - c.y, h = f * f + g * g, h < Number.MIN_VALUE || (f = R.C(f, g), f.Vd(this.Tv / h * b * d.Qk()), a.Id() && a.zg(f, c), f.Vd(-1), d.Id() && d.zg(f, e), R.wc(f))
	};
	var Ne = function () {
		He.call(this);
		this.mB = new sc;
		this.su = 0
	};
	rc(Ne, He);
	Ne.prototype.vh = function (a) {
		a = a.Ja;
		if (!(a <= Number.MIN_VALUE)) {
			a > this.su && 0 < this.su && (a = this.su);
			for (var c = this.ed.Ha(Dd); c; c = c.next) {
				var b = c.body,
				d = b.Qr(U.kc(this.mB, b.Pr(b.yj())));
				b.Ej(R.C(b.yj().x + d.x * a, b.yj().y + d.y * a))
			}
		}
	};
	var X = function (a) {
		this.fe = new Oe;
		this.ge = new Oe;
		this.Wg = R.C(0, 0);
		this.Xg = R.C(0, 0);
		this.fb = a.type;
		this.aj = this.xl = null;
		this.Y = a.P;
		this.Z = a.R;
		this.Ay = a.Cs
	};
	X.prototype.bd = w("fb");
	X.prototype.em = w("Y");
	X.prototype.Mr = w("Z");
	X.prototype.rh = function () {
		return this.Y.rh() && this.Z.rh()
	};
	X.rf = function (a) {
		return a.rf()
	};
	X.prototype.sf = s();
	X.prototype.Ye = s();
	X.prototype.Lr = s();
	X.prototype.Xe = x(!1);
	X.DC = 0;
	X.bl = 1;
	X.BC = 2;
	X.Ps = 3;
	X.CC = 4;
	X.aH = 5;
	X.zC = 6;
	X.AC = 7;
	X.EC = 8;
	X.yC = 9;
	X.Zd = 0;
	X.Kg = 1;
	X.gd = 2;
	X.Ni = 3;
	var Pe = function () {
		this.type = X.DC;
		this.R = this.P =
			null;
		this.Cs = !1
	},
	Oe = s(),
	Qe = function (a) {
		X.call(this, a);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.Oc = R.C(0, 0);
		this.ha.K(a.Jb);
		this.ja.K(a.Kb);
		this.iu = a.length;
		this.fu = a.Rp;
		this.nE = a.Cp;
		this.zy = this.tk = this.I = 0
	};
	rc(Qe, X);
	Qe.prototype.sf = function (a) {
		var c,
		b = 0,
		d = this.Y,
		e = this.Z;
		c = d.H.q;
		var f = this.ha.x - d.n.S.x,
		g = this.ha.y - d.n.S.y,
		b = c.j.x * f + c.k.x * g,
		g = c.j.y * f + c.k.y * g,
		f = b;
		c = e.H.q;
		var h = this.ja.x - e.n.S.x,
		m = this.ja.y - e.n.S.y,
		b = c.j.x * h + c.k.x * m,
		m = c.j.y * h + c.k.y * m,
		h = b;
		this.Oc.x = e.n.F.x + h - d.n.F.x - f;
		this.Oc.y = e.n.F.y +
			m - d.n.F.y - g;
		b = Math.sqrt(this.Oc.x * this.Oc.x + this.Oc.y * this.Oc.y);
		0.005 < b ? this.Oc.Vd(1 / b) : this.Oc.la();
		c = f * this.Oc.y - g * this.Oc.x;
		var l = h * this.Oc.y - m * this.Oc.x;
		c = d.M + d.U * c * c + e.M + e.U * l * l;
		this.X = 0 != c ? 1 / c : 0;
		if (0 < this.fu) {
			var b = b - this.iu,
			l = 2 * Math.PI * this.fu,
			n = this.X * l * l;
			this.tk = a.Ja * (2 * this.X * this.nE * l + a.Ja * n);
			this.tk = 0 != this.tk ? 1 / this.tk : 0;
			this.zy = b * a.Ja * n * this.tk;
			this.X = c + this.tk;
			this.X = 0 != this.X ? 1 / this.X : 0
		}
		a.mi ? (this.I *= a.Lc, a = this.I * this.Oc.x, c = this.I * this.Oc.y, d.u.x -= d.M * a, d.u.y -= d.M * c, d.J -= d.U * (f *
				c - g * a), e.u.x += e.M * a, e.u.y += e.M * c, e.J += e.U * (h * c - m * a)) : this.I = 0
	};
	Qe.prototype.Ye = function () {
		var a = this.ha.x - this.Y.n.S.x,
		c = this.ha.y - this.Y.n.S.y,
		b = this.Y.H.q.j.x * a + this.Y.H.q.k.x * c,
		c = this.Y.H.q.j.y * a + this.Y.H.q.k.y * c,
		a = b,
		d = this.ja.x - this.Z.n.S.x,
		e = this.ja.y - this.Z.n.S.y,
		b = this.Z.H.q.j.x * d + this.Z.H.q.k.x * e,
		e = this.Z.H.q.j.y * d + this.Z.H.q.k.y * e,
		d = b,
		f = -this.X * (this.Oc.x * (this.Z.u.x - this.Z.J * e - (this.Y.u.x - this.Y.J * c)) + this.Oc.y * (this.Z.u.y + this.Z.J * d - (this.Y.u.y + this.Y.J * a)) + this.zy + this.tk * this.I);
		this.I +=
		f;
		b = f * this.Oc.x;
		f *= this.Oc.y;
		this.Y.u.x -= this.Y.M * b;
		this.Y.u.y -= this.Y.M * f;
		this.Y.J -= this.Y.U * (a * f - c * b);
		this.Z.u.x += this.Z.M * b;
		this.Z.u.y += this.Z.M * f;
		this.Z.J += this.Z.U * (d * f - e * b)
	};
	Qe.prototype.Xe = function () {
		if (0 < this.fu)
			return !0;
		var a = this.ha.x - this.Y.n.S.x,
		c = this.ha.y - this.Y.n.S.y,
		b = this.Y.H.q.j.x * a + this.Y.H.q.k.x * c,
		c = this.Y.H.q.j.y * a + this.Y.H.q.k.y * c,
		a = b,
		d = this.ja.x - this.Z.n.S.x,
		e = this.ja.y - this.Z.n.S.y,
		b = this.Z.H.q.j.x * d + this.Z.H.q.k.x * e,
		e = this.Z.H.q.j.y * d + this.Z.H.q.k.y * e,
		d = b,
		f = this.Z.n.F.x + d -
			this.Y.n.F.x - a,
		g = this.Z.n.F.y + e - this.Y.n.F.y - c,
		h = Math.sqrt(f * f + g * g),
		b = U.Nb(h - this.iu, -0.2, 0.2),
		m = -this.X * b;
		this.Oc.Set(f / h, g / h);
		f = m * this.Oc.x;
		m *= this.Oc.y;
		this.Y.n.F.x -= this.Y.M * f;
		this.Y.n.F.y -= this.Y.M * m;
		this.Y.n.O -= this.Y.U * (a * m - c * f);
		this.Z.n.F.x += this.Z.M * f;
		this.Z.n.F.y += this.Z.M * m;
		this.Z.n.O += this.Z.U * (d * m - e * f);
		this.Y.Vb();
		this.Z.Vb();
		return 0.005 > Math.abs(b)
	};
	var Bc = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.type = X.Ps;
		this.length = 1;
		this.Cp = this.Rp = 0
	};
	rc(Bc, Pe);
	Bc.prototype.xc =
	function (a, c, b, d) {
		this.P = a;
		this.R = c;
		this.Jb.K(this.P.Hd(b));
		this.Kb.K(this.R.Hd(d));
		a = d.x - b.x;
		b = d.y - b.y;
		this.length = Math.sqrt(a * a + b * b);
		this.Cp = this.Rp = 0
	};
	Bc.prototype.rf = function () {
		return new Qe(this)
	};
	var Re = function (a) {
		X.call(this, a);
		this.gf = R.C(0, 0);
		this.hf = R.C(0, 0);
		this.lu = new sc;
		this.ff = R.C(0, 0);
		this.gf.K(a.Jb);
		this.hf.K(a.Kb);
		this.lu.la();
		this.tn = 0;
		this.ff.la();
		this.Rh = 0;
		this.yE = a.FE;
		this.AE = a.GE
	};
	rc(Re, X);
	Re.prototype.sf = function (a) {
		var c,
		b = 0,
		d = this.Y,
		e = this.Z;
		c = d.H.q;
		var f = this.gf.x - d.n.S.x,
		g = this.gf.y - d.n.S.y,
		b = c.j.x * f + c.k.x * g,
		g = c.j.y * f + c.k.y * g,
		f = b;
		c = e.H.q;
		var h = this.hf.x - e.n.S.x,
		m = this.hf.y - e.n.S.y,
		b = c.j.x * h + c.k.x * m,
		m = c.j.y * h + c.k.y * m,
		h = b;
		c = d.M;
		var b = e.M,
		l = d.U,
		n = e.U,
		k = new sc;
		k.j.x = c + b;
		k.k.x = 0;
		k.j.y = 0;
		k.k.y = c + b;
		k.j.x += l * g * g;
		k.k.x += -l * f * g;
		k.j.y += -l * f * g;
		k.k.y += l * f * f;
		k.j.x += n * m * m;
		k.k.x += -n * h * m;
		k.j.y += -n * h * m;
		k.k.y += n * h * h;
		k.Or(this.lu);
		this.tn = l + n;
		0 < this.tn && (this.tn = 1 / this.tn);
		a.mi ? (this.ff.x *= a.Lc, this.ff.y *= a.Lc, this.Rh *= a.Lc, a = this.ff, d.u.x -= c * a.x, d.u.y -= c * a.y, d.J -= l * (f * a.y - g * a.x + this.Rh),
			e.u.x += b * a.x, e.u.y += b * a.y, e.J += n * (h * a.y - m * a.x + this.Rh)) : (this.ff.la(), this.Rh = 0)
	};
	Re.prototype.Ye = function (a) {
		var c,
		b = 0,
		d = this.Y,
		e = this.Z,
		f = d.u,
		g = d.J,
		h = e.u,
		m = e.J,
		l = d.M,
		n = e.M,
		k = d.U,
		p = e.U;
		c = d.H.q;
		var q = this.gf.x - d.n.S.x,
		r = this.gf.y - d.n.S.y,
		b = c.j.x * q + c.k.x * r,
		r = c.j.y * q + c.k.y * r,
		q = b;
		c = e.H.q;
		var v = this.hf.x - e.n.S.x,
		u = this.hf.y - e.n.S.y,
		b = c.j.x * v + c.k.x * u,
		u = c.j.y * v + c.k.y * u,
		v = b;
		c = 0;
		var b = -this.tn * (m - g),
		y = this.Rh;
		c = a.Ja * this.AE;
		this.Rh = U.Nb(this.Rh + b, -c, c);
		b = this.Rh - y;
		g -= k * b;
		m += p * b;
		c = U.kc(this.lu, R.C( - (h.x - m *
						u - f.x + g * r),  - (h.y + m * v - f.y - g * q)));
		b = this.ff.Gc();
		this.ff.oh(c);
		c = a.Ja * this.yE;
		this.ff.Lo() > c * c && (this.ff.Wd(), this.ff.Vd(c));
		c = U.Ib(this.ff, b);
		f.x -= l * c.x;
		f.y -= l * c.y;
		g -= k * (q * c.y - r * c.x);
		h.x += n * c.x;
		h.y += n * c.y;
		m += p * (v * c.y - u * c.x);
		d.J = g;
		e.J = m
	};
	Re.prototype.Xe = x(!0);
	var Se = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.type = X.yC;
		this.GE = this.FE = 0
	};
	rc(Se, Pe);
	Se.prototype.xc = function (a, c, b) {
		this.P = a;
		this.R = c;
		this.Jb.K(this.P.Hd(b));
		this.Kb.K(this.R.Hd(b))
	};
	Se.prototype.rf = function () {
		return new Re(this)
	};
	var Ue = function (a) {
		X.call(this, a);
		this.Wh = R.C(0, 0);
		this.Xh = R.C(0, 0);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.Qb = new Te;
		var c = a.nl.fb,
		b = a.ol.fb;
		this.zl = this.xk = this.yl = this.wk = null;
		var d = 0,
		e = 0;
		this.qE = a.nl.em();
		this.Y = a.nl.Mr();
		c == X.bl ? (this.wk = a.nl, this.Wh.K(this.wk.ha), this.ha.K(this.wk.ja), d = this.wk.Fo()) : (this.yl = a.nl, this.Wh.K(this.yl.ha), this.ha.K(this.yl.ja), d = this.yl.gm());
		this.rE = a.ol.em();
		this.Z = a.ol.Mr();
		b == X.bl ? (this.xk = a.ol, this.Xh.K(this.xk.ha), this.ja.K(this.xk.ja), e = this.xk.Fo()) : (this.zl =
				a.ol, this.Xh.K(this.zl.ha), this.ja.K(this.zl.ja), e = this.zl.gm());
		this.ac = a.Qe;
		this.ul = d + this.ac * e;
		this.I = 0
	};
	rc(Ue, X);
	Ue.prototype.sf = function (a) {
		var c = this.qE,
		b = this.rE,
		d = this.Y,
		e = this.Z,
		f = 0,
		g = 0,
		h = 0,
		m = 0,
		l = h = 0,
		n = 0;
		this.Qb.la();
		this.wk ? (this.Qb.Ij = -1, n += d.U) : (c = c.H.q, g = this.yl.qe, f = c.j.x * g.x + c.k.x * g.y, g = c.j.y * g.x + c.k.y * g.y, c = d.H.q, h = this.ha.x - d.n.S.x, m = this.ha.y - d.n.S.y, l = c.j.x * h + c.k.x * m, m = c.j.y * h + c.k.y * m, h = l * g - m * f, this.Qb.kg.Set(-f, -g), this.Qb.Ij = -h, n += d.M + d.U * h * h);
		this.xk ? (this.Qb.Jj = -this.ac, n +=
			this.ac * this.ac * e.U) : (c = b.H.q, g = this.zl.qe, f = c.j.x * g.x + c.k.x * g.y, g = c.j.y * g.x + c.k.y * g.y, c = e.H.q, h = this.ja.x - e.n.S.x, m = this.ja.y - e.n.S.y, l = c.j.x * h + c.k.x * m, m = c.j.y * h + c.k.y * m, h = l * g - m * f, this.Qb.lg.Set(-this.ac * f, -this.ac * g), this.Qb.Jj = -this.ac * h, n += this.ac * this.ac * (e.M + e.U * h * h));
		this.X = 0 < n ? 1 / n : 0;
		a.mi ? (d.u.x += d.M * this.I * this.Qb.kg.x, d.u.y += d.M * this.I * this.Qb.kg.y, d.J += d.U * this.I * this.Qb.Ij, e.u.x += e.M * this.I * this.Qb.lg.x, e.u.y += e.M * this.I * this.Qb.lg.y, e.J += e.U * this.I * this.Qb.Jj) : this.I = 0
	};
	Ue.prototype.Ye =
	function () {
		var a = this.Y,
		c = this.Z,
		b = -this.X * this.Qb.sA(a.u, a.J, c.u, c.J);
		this.I += b;
		a.u.x += a.M * b * this.Qb.kg.x;
		a.u.y += a.M * b * this.Qb.kg.y;
		a.J += a.U * b * this.Qb.Ij;
		c.u.x += c.M * b * this.Qb.lg.x;
		c.u.y += c.M * b * this.Qb.lg.y;
		c.J += c.U * b * this.Qb.Jj
	};
	Ue.prototype.Xe = function () {
		var a = this.Y,
		c = this.Z,
		b = 0,
		d = 0,
		b = this.wk ? this.wk.Fo() : this.yl.gm(),
		d = this.xk ? this.xk.Fo() : this.zl.gm(),
		b = -this.X * (this.ul - (b + this.ac * d));
		a.n.F.x += a.M * b * this.Qb.kg.x;
		a.n.F.y += a.M * b * this.Qb.kg.y;
		a.n.O += a.U * b * this.Qb.Ij;
		c.n.F.x += c.M * b * this.Qb.lg.x;
		c.n.F.y += c.M * b * this.Qb.lg.y;
		c.n.O += c.U * b * this.Qb.Jj;
		a.Vb();
		c.Vb();
		return !0
	};
	var Ve = function () {
		Pe.call(this);
		this.type = X.zC;
		this.ol = this.nl = null;
		this.Qe = 1
	};
	rc(Ve, Pe);
	Ve.prototype.xc = function (a, c, b) {
		this.nl = a;
		this.P = a.em();
		this.ol = c;
		this.R = c.em();
		this.Qe = b
	};
	Ve.prototype.rf = function () {
		return new Ue(this)
	};
	var Te = function () {
		this.kg = R.C(0, 0);
		this.lg = R.C(0, 0)
	};
	Te.prototype.la = function () {
		this.kg.la();
		this.Ij = 0;
		this.lg.la();
		this.Jj = 0
	};
	Te.prototype.Set = function (a, c, b, d) {
		void 0 === c && (c = 0);
		void 0 === d && (d = 0);
		this.kg.K(a);
		this.Ij = c;
		this.lg.K(b);
		this.Jj = d
	};
	Te.prototype.sA = function (a, c, b, d) {
		void 0 === c && (c = 0);
		void 0 === d && (d = 0);
		return this.kg.x * a.x + this.kg.y * a.y + this.Ij * c + (this.lg.x * b.x + this.lg.y * b.y) + this.Jj * d
	};
	var We = function (a) {
		X.call(this, a);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.qe = R.C(0, 0);
		this.Yh = R.C(0, 0);
		this.V = R.C(0, 0);
		this.ma = R.C(0, 0);
		this.ga = new sc;
		this.I = R.C(0, 0);
		this.ha.K(a.Jb);
		this.ja.K(a.Kb);
		this.qe.K(a.ok);
		this.Yh.x = -this.qe.y;
		this.Yh.y = this.qe.x;
		this.I.la();
		this.Qa = this.he = 0;
		this.jf = a.au;
		this.lf = a.Cv;
		this.mu = a.ru;
		this.zn = a.Fl;
		this.ng = a.Vj;
		this.$i = a.cl;
		this.Fa = X.Zd;
		this.V.la();
		this.ma.la()
	};
	rc(We, X);
	We.prototype.gm = function () {
		var a = this.Y,
		c = this.Z,
		b = a.Io(this.ha),
		d = c.Io(this.ja),
		c = d.x - b.x,
		b = d.y - b.y,
		a = a.Qr(this.qe);
		return a.x * c + a.y * b
	};
	We.prototype.sf = function (a) {
		var c = this.Y,
		b = this.Z,
		d,
		e = 0;
		this.Wg.K(c.zj());
		this.Xg.K(b.zj());
		var f = c.we();
		b.we();
		d = c.H.q;
		var g = this.ha.x - this.Wg.x,
		h = this.ha.y - this.Wg.y,
		e = d.j.x * g + d.k.x * h,
		h = d.j.y * g + d.k.y * h,
		g = e;
		d = b.H.q;
		var m = this.ja.x - this.Xg.x,
		l = this.ja.y -
			this.Xg.y,
		e = d.j.x * m + d.k.x * l,
		l = d.j.y * m + d.k.y * l,
		m = e;
		d = b.n.F.x + m - c.n.F.x - g;
		e = b.n.F.y + l - c.n.F.y - h;
		this.Zb = c.M;
		this.$b = b.M;
		this.Ld = c.U;
		this.Md = b.U;
		this.V.K(U.kc(f.q, this.qe));
		this.jb = (d + g) * this.V.y - (e + h) * this.V.x;
		this.kb = m * this.V.y - l * this.V.x;
		this.he = this.Zb + this.$b + this.Ld * this.jb * this.jb + this.Md * this.kb * this.kb;
		this.he = this.he > Number.MIN_VALUE ? 1 / this.he : 0;
		this.ma.K(U.kc(f.q, this.Yh));
		this.ob = (d + g) * this.ma.y - (e + h) * this.ma.x;
		this.pb = m * this.ma.y - l * this.ma.x;
		f = this.Zb;
		g = this.$b;
		h = this.Ld;
		m = this.Md;
		this.ga.j.x =
			f + g + h * this.ob * this.ob + m * this.pb * this.pb;
		this.ga.j.y = h * this.ob * this.jb + m * this.pb * this.kb;
		this.ga.k.x = this.ga.j.y;
		this.ga.k.y = f + g + h * this.jb * this.jb + m * this.kb * this.kb;
		this.ng ? (d = this.V.x * d + this.V.y * e, 0.01 > Math.abs(this.lf - this.jf) ? this.Fa = X.Ni : d <= this.jf ? this.Fa != X.Kg && (this.Fa = X.Kg, this.I.y = 0) : d >= this.lf ? this.Fa != X.gd && (this.Fa = X.gd, this.I.y = 0) : (this.Fa = X.Zd, this.I.y = 0)) : this.Fa = X.Zd;
		!1 == this.$i && (this.Qa = 0);
		a.mi ? (this.I.x *= a.Lc, this.I.y *= a.Lc, this.Qa *= a.Lc, a = this.I.x * this.ma.x + (this.Qa + this.I.y) * this.V.x,
			d = this.I.x * this.ma.y + (this.Qa + this.I.y) * this.V.y, e = this.I.x * this.ob + (this.Qa + this.I.y) * this.jb, f = this.I.x * this.pb + (this.Qa + this.I.y) * this.kb, c.u.x -= this.Zb * a, c.u.y -= this.Zb * d, c.J -= this.Ld * e, b.u.x += this.$b * a, b.u.y += this.$b * d, b.J += this.Md * f) : (this.I.la(), this.Qa = 0)
	};
	We.prototype.Ye = function (a) {
		var c = this.Y,
		b = this.Z,
		d = c.u,
		e = c.J,
		f = b.u,
		g = b.J,
		h = 0,
		m = 0,
		l = 0,
		n = 0;
		this.$i && this.Fa != X.Ni && (n = this.he * (this.zn - (this.V.x * (f.x - d.x) + this.V.y * (f.y - d.y) + this.kb * g - this.jb * e)), h = this.Qa, m = a.Ja * this.mu, this.Qa = U.Nb(this.Qa +
					n, -m, m), n = this.Qa - h, h = n * this.V.x, m = n * this.V.y, l = n * this.jb, n *= this.kb, d.x -= this.Zb * h, d.y -= this.Zb * m, e -= this.Ld * l, f.x += this.$b * h, f.y += this.$b * m, g += this.Md * n);
		m = this.ma.x * (f.x - d.x) + this.ma.y * (f.y - d.y) + this.pb * g - this.ob * e;
		this.ng && this.Fa != X.Zd ? (l = this.V.x * (f.x - d.x) + this.V.y * (f.y - d.y) + this.kb * g - this.jb * e, h = this.I.Gc(), a = this.ga.xi(R.C(0, 0), -m, -l), this.I.oh(a), this.Fa == X.Kg ? this.I.y = Math.max(this.I.y, 0) : this.Fa == X.gd && (this.I.y = Math.min(this.I.y, 0)), m = -m - (this.I.y - h.y) * this.ga.k.x, l = 0, l = 0 != this.ga.j.x ?
				m / this.ga.j.x + h.x : h.x, this.I.x = l, a.x = this.I.x - h.x, a.y = this.I.y - h.y, h = a.x * this.ma.x + a.y * this.V.x, m = a.x * this.ma.y + a.y * this.V.y, l = a.x * this.ob + a.y * this.jb, n = a.x * this.pb + a.y * this.kb) : (a = 0, a = 0 != this.ga.j.x ? -m / this.ga.j.x : 0, this.I.x += a, h = a * this.ma.x, m = a * this.ma.y, l = a * this.ob, n = a * this.pb);
		d.x -= this.Zb * h;
		d.y -= this.Zb * m;
		e -= this.Ld * l;
		f.x += this.$b * h;
		f.y += this.$b * m;
		g += this.Md * n;
		c.u.K(d);
		c.J = e;
		b.u.K(f);
		b.J = g
	};
	We.prototype.Xe = function () {
		var a = this.Y,
		c = this.Z,
		b = a.n.F,
		d = a.n.O,
		e = c.n.F,
		f = c.n.O,
		g,
		h = 0,
		m = 0,
		l = 0,
		n = 0,
		k = g =
			0,
		p = 0,
		m = !1,
		q = 0,
		r = sc.Pk(d),
		l = sc.Pk(f);
		g = r;
		var p = this.ha.x - this.Wg.x,
		v = this.ha.y - this.Wg.y,
		h = g.j.x * p + g.k.x * v,
		v = g.j.y * p + g.k.y * v,
		p = h;
		g = l;
		l = this.ja.x - this.Xg.x;
		n = this.ja.y - this.Xg.y;
		h = g.j.x * l + g.k.x * n;
		n = g.j.y * l + g.k.y * n;
		l = h;
		g = e.x + l - b.x - p;
		h = e.y + n - b.y - v;
		if (this.ng) {
			this.V = U.kc(r, this.qe);
			this.jb = (g + p) * this.V.y - (h + v) * this.V.x;
			this.kb = l * this.V.y - n * this.V.x;
			var u = this.V.x * g + this.V.y * h;
			0.01 > Math.abs(this.lf - this.jf) ? (q = U.Nb(u, -0.2, 0.2), k = Math.abs(u), m = !0) : u <= this.jf ? (q = U.Nb(u - this.jf + 0.005, -0.2, 0), k = this.jf - u,
				m = !0) : u >= this.lf && (q = U.Nb(u - this.lf + 0.005, 0, 0.2), k = u - this.lf, m = !0)
		}
		this.ma = U.kc(r, this.Yh);
		this.ob = (g + p) * this.ma.y - (h + v) * this.ma.x;
		this.pb = l * this.ma.y - n * this.ma.x;
		r = R.C(0, 0);
		v = this.ma.x * g + this.ma.y * h;
		k = Math.max(k, Math.abs(v));
		p = 0;
		m ? (m = this.Zb, l = this.$b, n = this.Ld, g = this.Md, this.ga.j.x = m + l + n * this.ob * this.ob + g * this.pb * this.pb, this.ga.j.y = n * this.ob * this.jb + g * this.pb * this.kb, this.ga.k.x = this.ga.j.y, this.ga.k.y = m + l + n * this.jb * this.jb + g * this.kb * this.kb, this.ga.xi(r, -v, -q)) : (m = this.Zb, l = this.$b, n = this.Ld,
			g = this.Md, q = m + l + n * this.ob * this.ob + g * this.pb * this.pb, r.x = 0 != q ? -v / q : 0, r.y = 0);
		q = r.x * this.ma.x + r.y * this.V.x;
		m = r.x * this.ma.y + r.y * this.V.y;
		v = r.x * this.ob + r.y * this.jb;
		r = r.x * this.pb + r.y * this.kb;
		b.x -= this.Zb * q;
		b.y -= this.Zb * m;
		d -= this.Ld * v;
		e.x += this.$b * q;
		e.y += this.$b * m;
		f += this.Md * r;
		a.n.O = d;
		c.n.O = f;
		a.Vb();
		c.Vb();
		return 0.005 >= k && p <= Dc
	};
	var Xe = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.ok = R.C(0, 0);
		this.type = X.AC;
		this.ok.Set(1, 0);
		this.Vj = !1;
		this.Cv = this.au = 0;
		this.cl = !1;
		this.Fl = this.ru = 0
	};
	rc(Xe,
		Pe);
	Xe.prototype.xc = function (a, c, b, d) {
		this.P = a;
		this.R = c;
		this.Jb = this.P.Hd(b);
		this.Kb = this.R.Hd(b);
		this.ok = this.P.Pr(d)
	};
	Xe.prototype.rf = function () {
		return new We(this)
	};
	var Ye = function (a) {
		X.call(this, a);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.qe = R.C(0, 0);
		this.Yh = R.C(0, 0);
		this.V = R.C(0, 0);
		this.ma = R.C(0, 0);
		this.ga = new Kc;
		this.I = new Jc(0, 0, 0);
		this.ha.K(a.Jb);
		this.ja.K(a.Kb);
		this.qe.K(a.ok);
		this.Yh.x = -this.qe.y;
		this.Yh.y = this.qe.x;
		this.BE = a.dh;
		this.I.la();
		this.Qa = this.he = 0;
		this.jf = a.au;
		this.lf = a.Cv;
		this.mu =
			a.ru;
		this.zn = a.Fl;
		this.ng = a.Vj;
		this.$i = a.cl;
		this.Fa = X.Zd;
		this.V.la();
		this.ma.la()
	};
	rc(Ye, X);
	Ye.prototype.gm = function () {
		var a = this.Y,
		c = this.Z,
		b = a.Io(this.ha),
		d = c.Io(this.ja),
		c = d.x - b.x,
		b = d.y - b.y,
		a = a.Qr(this.qe);
		return a.x * c + a.y * b
	};
	Ye.prototype.sf = function (a) {
		var c = this.Y,
		b = this.Z,
		d,
		e = 0;
		this.Wg.K(c.zj());
		this.Xg.K(b.zj());
		var f = c.we();
		b.we();
		d = c.H.q;
		var g = this.ha.x - this.Wg.x,
		h = this.ha.y - this.Wg.y,
		e = d.j.x * g + d.k.x * h,
		h = d.j.y * g + d.k.y * h,
		g = e;
		d = b.H.q;
		var m = this.ja.x - this.Xg.x,
		l = this.ja.y - this.Xg.y,
		e = d.j.x *
			m + d.k.x * l,
		l = d.j.y * m + d.k.y * l,
		m = e;
		d = b.n.F.x + m - c.n.F.x - g;
		e = b.n.F.y + l - c.n.F.y - h;
		this.Zb = c.M;
		this.$b = b.M;
		this.Ld = c.U;
		this.Md = b.U;
		this.V.K(U.kc(f.q, this.qe));
		this.jb = (d + g) * this.V.y - (e + h) * this.V.x;
		this.kb = m * this.V.y - l * this.V.x;
		this.he = this.Zb + this.$b + this.Ld * this.jb * this.jb + this.Md * this.kb * this.kb;
		this.he > Number.MIN_VALUE && (this.he = 1 / this.he);
		this.ma.K(U.kc(f.q, this.Yh));
		this.ob = (d + g) * this.ma.y - (e + h) * this.ma.x;
		this.pb = m * this.ma.y - l * this.ma.x;
		f = this.Zb;
		g = this.$b;
		h = this.Ld;
		m = this.Md;
		this.ga.j.x = f + g + h * this.ob *
			this.ob + m * this.pb * this.pb;
		this.ga.j.y = h * this.ob + m * this.pb;
		this.ga.j.z = h * this.ob * this.jb + m * this.pb * this.kb;
		this.ga.k.x = this.ga.j.y;
		this.ga.k.y = h + m;
		this.ga.k.z = h * this.jb + m * this.kb;
		this.ga.wa.x = this.ga.j.z;
		this.ga.wa.y = this.ga.k.z;
		this.ga.wa.z = f + g + h * this.jb * this.jb + m * this.kb * this.kb;
		this.ng ? (d = this.V.x * d + this.V.y * e, 0.01 > Math.abs(this.lf - this.jf) ? this.Fa = X.Ni : d <= this.jf ? this.Fa != X.Kg && (this.Fa = X.Kg, this.I.z = 0) : d >= this.lf ? this.Fa != X.gd && (this.Fa = X.gd, this.I.z = 0) : (this.Fa = X.Zd, this.I.z = 0)) : this.Fa = X.Zd;
		!1 == this.$i && (this.Qa = 0);
		a.mi ? (this.I.x *= a.Lc, this.I.y *= a.Lc, this.Qa *= a.Lc, a = this.I.x * this.ma.x + (this.Qa + this.I.z) * this.V.x, d = this.I.x * this.ma.y + (this.Qa + this.I.z) * this.V.y, e = this.I.x * this.ob + this.I.y + (this.Qa + this.I.z) * this.jb, f = this.I.x * this.pb + this.I.y + (this.Qa + this.I.z) * this.kb, c.u.x -= this.Zb * a, c.u.y -= this.Zb * d, c.J -= this.Ld * e, b.u.x += this.$b * a, b.u.y += this.$b * d, b.J += this.Md * f) : (this.I.la(), this.Qa = 0)
	};
	Ye.prototype.Ye = function (a) {
		var c = this.Y,
		b = this.Z,
		d = c.u,
		e = c.J,
		f = b.u,
		g = b.J,
		h = 0,
		m = 0,
		l = 0,
		n = 0;
		this.$i &&
		this.Fa != X.Ni && (n = this.he * (this.zn - (this.V.x * (f.x - d.x) + this.V.y * (f.y - d.y) + this.kb * g - this.jb * e)), h = this.Qa, a = a.Ja * this.mu, this.Qa = U.Nb(this.Qa + n, -a, a), n = this.Qa - h, h = n * this.V.x, m = n * this.V.y, l = n * this.jb, n *= this.kb, d.x -= this.Zb * h, d.y -= this.Zb * m, e -= this.Ld * l, f.x += this.$b * h, f.y += this.$b * m, g += this.Md * n);
		l = this.ma.x * (f.x - d.x) + this.ma.y * (f.y - d.y) + this.pb * g - this.ob * e;
		m = g - e;
		this.ng && this.Fa != X.Zd ? (a = this.V.x * (f.x - d.x) + this.V.y * (f.y - d.y) + this.kb * g - this.jb * e, h = this.I.Gc(), a = this.ga.wm(new Jc(0, 0, 0), -l, -m, -a),
			this.I.oh(a), this.Fa == X.Kg ? this.I.z = Math.max(this.I.z, 0) : this.Fa == X.gd && (this.I.z = Math.min(this.I.z, 0)), l = -l - (this.I.z - h.z) * this.ga.wa.x, m = -m - (this.I.z - h.z) * this.ga.wa.y, m = this.ga.Wk(R.C(0, 0), l, m), m.x += h.x, m.y += h.y, this.I.x = m.x, this.I.y = m.y, a.x = this.I.x - h.x, a.y = this.I.y - h.y, a.z = this.I.z - h.z, h = a.x * this.ma.x + a.z * this.V.x, m = a.x * this.ma.y + a.z * this.V.y, l = a.x * this.ob + a.y + a.z * this.jb, n = a.x * this.pb + a.y + a.z * this.kb) : (a = this.ga.Wk(R.C(0, 0), -l, -m), this.I.x += a.x, this.I.y += a.y, h = a.x * this.ma.x, m = a.x * this.ma.y,
			l = a.x * this.ob + a.y, n = a.x * this.pb + a.y);
		d.x -= this.Zb * h;
		d.y -= this.Zb * m;
		e -= this.Ld * l;
		f.x += this.$b * h;
		f.y += this.$b * m;
		g += this.Md * n;
		c.u.K(d);
		c.J = e;
		b.u.K(f);
		b.J = g
	};
	Ye.prototype.Xe = function () {
		var a = this.Y,
		c = this.Z,
		b = a.n.F,
		d = a.n.O,
		e = c.n.F,
		f = c.n.O,
		g,
		h = 0,
		m = 0,
		l = 0,
		n = h = g = 0,
		k = 0,
		m = !1,
		p = 0,
		q = sc.Pk(d),
		r = sc.Pk(f);
		g = q;
		var k = this.ha.x - this.Wg.x,
		v = this.ha.y - this.Wg.y,
		h = g.j.x * k + g.k.x * v,
		v = g.j.y * k + g.k.y * v,
		k = h;
		g = r;
		r = this.ja.x - this.Xg.x;
		l = this.ja.y - this.Xg.y;
		h = g.j.x * r + g.k.x * l;
		l = g.j.y * r + g.k.y * l;
		r = h;
		g = e.x + r - b.x - k;
		h = e.y + l - b.y - v;
		if (this.ng) {
			this.V =
				U.kc(q, this.qe);
			this.jb = (g + k) * this.V.y - (h + v) * this.V.x;
			this.kb = r * this.V.y - l * this.V.x;
			var u = this.V.x * g + this.V.y * h;
			0.01 > Math.abs(this.lf - this.jf) ? (p = U.Nb(u, -0.2, 0.2), n = Math.abs(u), m = !0) : u <= this.jf ? (p = U.Nb(u - this.jf + 0.005, -0.2, 0), n = this.jf - u, m = !0) : u >= this.lf && (p = U.Nb(u - this.lf + 0.005, 0, 0.2), n = u - this.lf, m = !0)
		}
		this.ma = U.kc(q, this.Yh);
		this.ob = (g + k) * this.ma.y - (h + v) * this.ma.x;
		this.pb = r * this.ma.y - l * this.ma.x;
		q = new Jc(0, 0, 0);
		v = this.ma.x * g + this.ma.y * h;
		r = f - d - this.BE;
		n = Math.max(n, Math.abs(v));
		k = Math.abs(r);
		m ? (m =
				this.Zb, l = this.$b, g = this.Ld, h = this.Md, this.ga.j.x = m + l + g * this.ob * this.ob + h * this.pb * this.pb, this.ga.j.y = g * this.ob + h * this.pb, this.ga.j.z = g * this.ob * this.jb + h * this.pb * this.kb, this.ga.k.x = this.ga.j.y, this.ga.k.y = g + h, this.ga.k.z = g * this.jb + h * this.kb, this.ga.wa.x = this.ga.j.z, this.ga.wa.y = this.ga.k.z, this.ga.wa.z = m + l + g * this.jb * this.jb + h * this.kb * this.kb, this.ga.wm(q, -v, -r, -p)) : (m = this.Zb, l = this.$b, g = this.Ld, h = this.Md, p = g * this.ob + h * this.pb, u = g + h, this.ga.j.Set(m + l + g * this.ob * this.ob + h * this.pb * this.pb, p, 0), this.ga.k.Set(p,
				u, 0), p = this.ga.Wk(R.C(0, 0), -v, -r), q.x = p.x, q.y = p.y, q.z = 0);
		p = q.x * this.ma.x + q.z * this.V.x;
		m = q.x * this.ma.y + q.z * this.V.y;
		v = q.x * this.ob + q.y + q.z * this.jb;
		q = q.x * this.pb + q.y + q.z * this.kb;
		b.x -= this.Zb * p;
		b.y -= this.Zb * m;
		d -= this.Ld * v;
		e.x += this.$b * p;
		e.y += this.$b * m;
		f += this.Md * q;
		a.n.O = d;
		c.n.O = f;
		a.Vb();
		c.Vb();
		return 0.005 >= n && k <= Dc
	};
	var Ze = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.ok = R.C(0, 0);
		this.type = X.BC;
		this.ok.Set(1, 0);
		this.dh = 0;
		this.Vj = !1;
		this.Cv = this.au = 0;
		this.cl = !1;
		this.Fl = this.ru = 0
	};
	rc(Ze,
		Pe);
	Ze.prototype.xc = function (a, c, b, d) {
		this.P = a;
		this.R = c;
		this.Jb = this.P.Hd(b);
		this.Kb = this.R.Hd(b);
		this.ok = this.P.Pr(d);
		this.dh = this.R.Td() - this.P.Td()
	};
	Ze.prototype.rf = function () {
		return new Ye(this)
	};
	var af = function (a) {
		X.call(this, a);
		this.Wh = R.C(0, 0);
		this.Xh = R.C(0, 0);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.xb = R.C(0, 0);
		this.yb = R.C(0, 0);
		this.Gf = this.Y.Ba.sE;
		this.Wh.x = a.Zp.x - this.Gf.H.position.x;
		this.Wh.y = a.Zp.y - this.Gf.H.position.y;
		this.Xh.x = a.$p.x - this.Gf.H.position.x;
		this.Xh.y = a.$p.y - this.Gf.H.position.y;
		this.ha.K(a.Jb);
		this.ja.K(a.Kb);
		this.ac = a.Qe;
		this.ul = a.Rt + this.ac * a.St;
		this.Dy = Math.min(a.Fy, this.ul - this.ac * $e);
		this.Ey = Math.min(a.Gy, (this.ul - $e) / this.ac);
		this.Vg = this.Ug = this.I = 0
	};
	rc(af, X);
	af.prototype.sf = function (a) {
		var c = this.Y,
		b = this.Z,
		d;
		d = c.H.q;
		var e = this.ha.x - c.n.S.x,
		f = this.ha.y - c.n.S.y,
		g = d.j.x * e + d.k.x * f,
		f = d.j.y * e + d.k.y * f,
		e = g;
		d = b.H.q;
		var h = this.ja.x - b.n.S.x,
		m = this.ja.y - b.n.S.y,
		g = d.j.x * h + d.k.x * m,
		m = d.j.y * h + d.k.y * m,
		h = g;
		d = b.n.F.x + h;
		var g = b.n.F.y + m,
		l = this.Gf.H.position.x + this.Xh.x,
		n = this.Gf.H.position.y +
			this.Xh.y;
		this.xb.Set(c.n.F.x + e - (this.Gf.H.position.x + this.Wh.x), c.n.F.y + f - (this.Gf.H.position.y + this.Wh.y));
		this.yb.Set(d - l, g - n);
		d = this.xb.Eg();
		g = this.yb.Eg();
		0.005 < d ? this.xb.Vd(1 / d) : this.xb.la();
		0.005 < g ? this.yb.Vd(1 / g) : this.yb.la();
		0 < this.ul - d - this.ac * g ? (this.ou = X.Zd, this.I = 0) : this.ou = X.gd;
		d < this.Dy ? (this.ju = X.Zd, this.Ug = 0) : this.ju = X.gd;
		g < this.Ey ? (this.ku = X.Zd, this.Vg = 0) : this.ku = X.gd;
		d = e * this.xb.y - f * this.xb.x;
		g = h * this.yb.y - m * this.yb.x;
		this.xn = c.M + c.U * d * d;
		this.yn = b.M + b.U * g * g;
		this.Iq = this.xn + this.ac *
			this.ac * this.yn;
		this.xn = 1 / this.xn;
		this.yn = 1 / this.yn;
		this.Iq = 1 / this.Iq;
		a.mi ? (this.I *= a.Lc, this.Ug *= a.Lc, this.Vg *= a.Lc, a = (-this.I - this.Ug) * this.xb.x, d = (-this.I - this.Ug) * this.xb.y, g = (-this.ac * this.I - this.Vg) * this.yb.x, l = (-this.ac * this.I - this.Vg) * this.yb.y, c.u.x += c.M * a, c.u.y += c.M * d, c.J += c.U * (e * d - f * a), b.u.x += b.M * g, b.u.y += b.M * l, b.J += b.U * (h * l - m * g)) : this.Vg = this.Ug = this.I = 0
	};
	af.prototype.Ye = function () {
		var a = this.Y,
		c = this.Z,
		b;
		b = a.H.q;
		var d = this.ha.x - a.n.S.x,
		e = this.ha.y - a.n.S.y,
		f = b.j.x * d + b.k.x * e,
		e = b.j.y * d +
			b.k.y * e,
		d = f;
		b = c.H.q;
		var g = this.ja.x - c.n.S.x,
		h = this.ja.y - c.n.S.y,
		f = b.j.x * g + b.k.x * h,
		h = b.j.y * g + b.k.y * h,
		g = f,
		m = f = b = 0,
		l = 0;
		b = l = b = l = m = f = b = 0;
		this.ou == X.gd && (b = a.u.x + -a.J * e, f = a.u.y + a.J * d, m = c.u.x + -c.J * h, l = c.u.y + c.J * g, b =  - (this.xb.x * b + this.xb.y * f) - this.ac * (this.yb.x * m + this.yb.y * l), l = this.Iq * -b, b = this.I, this.I = Math.max(0, this.I + l), l = this.I - b, b = -l * this.xb.x, f = -l * this.xb.y, m = -this.ac * l * this.yb.x, l = -this.ac * l * this.yb.y, a.u.x += a.M * b, a.u.y += a.M * f, a.J += a.U * (d * f - e * b), c.u.x += c.M * m, c.u.y += c.M * l, c.J += c.U * (g * l - h * m));
		this.ju ==
		X.gd && (b = a.u.x + -a.J * e, f = a.u.y + a.J * d, b =  - (this.xb.x * b + this.xb.y * f), l = -this.xn * b, b = this.Ug, this.Ug = Math.max(0, this.Ug + l), l = this.Ug - b, b = -l * this.xb.x, f = -l * this.xb.y, a.u.x += a.M * b, a.u.y += a.M * f, a.J += a.U * (d * f - e * b));
		this.ku == X.gd && (m = c.u.x + -c.J * h, l = c.u.y + c.J * g, b =  - (this.yb.x * m + this.yb.y * l), l = -this.yn * b, b = this.Vg, this.Vg = Math.max(0, this.Vg + l), l = this.Vg - b, m = -l * this.yb.x, l = -l * this.yb.y, c.u.x += c.M * m, c.u.y += c.M * l, c.J += c.U * (g * l - h * m))
	};
	af.prototype.Xe = function () {
		var a = this.Y,
		c = this.Z,
		b,
		d = this.Gf.H.position.x + this.Wh.x,
		e = this.Gf.H.position.y + this.Wh.y,
		f = this.Gf.H.position.x + this.Xh.x,
		g = this.Gf.H.position.y + this.Xh.y,
		h = 0,
		m = 0,
		l = 0,
		n = 0,
		k = b = 0,
		p = 0,
		q = 0,
		r = k = q = b = k = b = 0;
		this.ou == X.gd && (b = a.H.q, h = this.ha.x - a.n.S.x, m = this.ha.y - a.n.S.y, k = b.j.x * h + b.k.x * m, m = b.j.y * h + b.k.y * m, h = k, b = c.H.q, l = this.ja.x - c.n.S.x, n = this.ja.y - c.n.S.y, k = b.j.x * l + b.k.x * n, n = b.j.y * l + b.k.y * n, l = k, b = a.n.F.x + h, k = a.n.F.y + m, p = c.n.F.x + l, q = c.n.F.y + n, this.xb.Set(b - d, k - e), this.yb.Set(p - f, q - g), b = this.xb.Eg(), k = this.yb.Eg(), 0.005 < b ? this.xb.Vd(1 / b) : this.xb.la(), 0.005 < k ? this.yb.Vd(1 /
				k) : this.yb.la(), b = this.ul - b - this.ac * k, r = Math.max(r, -b), b = U.Nb(b + 0.005, -0.2, 0), q = -this.Iq * b, b = -q * this.xb.x, k = -q * this.xb.y, p = -this.ac * q * this.yb.x, q = -this.ac * q * this.yb.y, a.n.F.x += a.M * b, a.n.F.y += a.M * k, a.n.O += a.U * (h * k - m * b), c.n.F.x += c.M * p, c.n.F.y += c.M * q, c.n.O += c.U * (l * q - n * p), a.Vb(), c.Vb());
		this.ju == X.gd && (b = a.H.q, h = this.ha.x - a.n.S.x, m = this.ha.y - a.n.S.y, k = b.j.x * h + b.k.x * m, m = b.j.y * h + b.k.y * m, h = k, b = a.n.F.x + h, k = a.n.F.y + m, this.xb.Set(b - d, k - e), b = this.xb.Eg(), 0.005 < b ? (this.xb.x *= 1 / b, this.xb.y *= 1 / b) : this.xb.la(),
			b = this.Dy - b, r = Math.max(r, -b), b = U.Nb(b + 0.005, -0.2, 0), q = -this.xn * b, b = -q * this.xb.x, k = -q * this.xb.y, a.n.F.x += a.M * b, a.n.F.y += a.M * k, a.n.O += a.U * (h * k - m * b), a.Vb());
		this.ku == X.gd && (b = c.H.q, l = this.ja.x - c.n.S.x, n = this.ja.y - c.n.S.y, k = b.j.x * l + b.k.x * n, n = b.j.y * l + b.k.y * n, l = k, p = c.n.F.x + l, q = c.n.F.y + n, this.yb.Set(p - f, q - g), k = this.yb.Eg(), 0.005 < k ? (this.yb.x *= 1 / k, this.yb.y *= 1 / k) : this.yb.la(), b = this.Ey - k, r = Math.max(r, -b), b = U.Nb(b + 0.005, -0.2, 0), q = -this.yn * b, p = -q * this.yb.x, q = -q * this.yb.y, c.n.F.x += c.M * p, c.n.F.y += c.M * q, c.n.O +=
			c.U * (l * q - n * p), c.Vb());
		return 0.005 > r
	};
	var $e = 1,
	bf = function () {
		Pe.call(this);
		this.Zp = R.C(0, 0);
		this.$p = R.C(0, 0);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.type = X.CC;
		this.Zp.Set(-1, 1);
		this.$p.Set(1, 1);
		this.Jb.Set(-1, 0);
		this.Kb.Set(1, 0);
		this.Gy = this.St = this.Fy = this.Rt = 0;
		this.Qe = 1;
		this.Cs = !0
	};
	rc(bf, Pe);
	bf.prototype.xc = function (a, c, b, d, e, f, g) {
		void 0 === g && (g = 0);
		this.P = a;
		this.R = c;
		this.Zp.K(b);
		this.$p.K(d);
		this.Jb = this.P.Hd(e);
		this.Kb = this.R.Hd(f);
		a = e.x - b.x;
		b = e.y - b.y;
		this.Rt = Math.sqrt(a * a + b * b);
		b = f.x - d.x;
		d = f.y -
			d.y;
		this.St = Math.sqrt(b * b + d * d);
		this.Qe = g;
		g = this.Rt + this.Qe * this.St;
		this.Fy = g - this.Qe * $e;
		this.Gy = (g - $e) / this.Qe
	};
	bf.prototype.rf = function () {
		return new af(this)
	};
	var cf = function (a) {
		X.call(this, a);
		this.xe = new sc;
		this.jm = new sc;
		this.km = new sc;
		this.lm = new sc;
		this.Wc = new Jc(0, 0, 0);
		this.eg = R.C(0, 0);
		this.bh = R.C(0, 0);
		this.ha = R.C(0, 0);
		this.ja = R.C(0, 0);
		this.I = new Jc(0, 0, 0);
		this.X = new Kc;
		this.ha.K(a.Jb);
		this.ja.K(a.Kb);
		this.Bn = a.dh;
		this.I.la();
		this.Qa = 0;
		this.Gq = a.$t;
		this.pu = a.Bv;
		this.zE = a.Hy;
		this.zn = a.Fl;
		this.ng =
			a.Vj;
		this.$i = a.cl;
		this.Fa = X.Zd
	};
	rc(cf, X);
	cf.prototype.Fo = function () {
		return this.Z.n.O - this.Y.n.O - this.Bn
	};
	cf.prototype.sf = function (a) {
		var c = this.Y,
		b = this.Z,
		d,
		e = 0;
		d = c.H.q;
		var f = this.ha.x - c.n.S.x,
		g = this.ha.y - c.n.S.y,
		e = d.j.x * f + d.k.x * g,
		g = d.j.y * f + d.k.y * g,
		f = e;
		d = b.H.q;
		var h = this.ja.x - b.n.S.x,
		m = this.ja.y - b.n.S.y,
		e = d.j.x * h + d.k.x * m,
		m = d.j.y * h + d.k.y * m,
		h = e;
		d = c.M;
		var e = b.M,
		l = c.U,
		n = b.U;
		this.X.j.x = d + e + g * g * l + m * m * n;
		this.X.k.x = -g * f * l - m * h * n;
		this.X.wa.x = -g * l - m * n;
		this.X.j.y = this.X.k.x;
		this.X.k.y = d + e + f * f * l + h * h * n;
		this.X.wa.y =
			f * l + h * n;
		this.X.j.z = this.X.wa.x;
		this.X.k.z = this.X.wa.y;
		this.X.wa.z = l + n;
		this.he = 1 / (l + n);
		this.$i || (this.Qa = 0);
		if (this.ng) {
			var k = b.n.O - c.n.O - this.Bn;
			Math.abs(this.pu - this.Gq) < 2 * Dc ? this.Fa = X.Ni : k <= this.Gq ? (this.Fa != X.Kg && (this.I.z = 0), this.Fa = X.Kg) : k >= this.pu ? (this.Fa != X.gd && (this.I.z = 0), this.Fa = X.gd) : (this.Fa = X.Zd, this.I.z = 0)
		} else
			this.Fa = X.Zd;
		a.mi ? (this.I.x *= a.Lc, this.I.y *= a.Lc, this.Qa *= a.Lc, a = this.I.x, k = this.I.y, c.u.x -= d * a, c.u.y -= d * k, c.J -= l * (f * k - g * a + this.Qa + this.I.z), b.u.x += e * a, b.u.y += e * k, b.J += n * (h *
				k - m * a + this.Qa + this.I.z)) : (this.I.la(), this.Qa = 0)
	};
	cf.prototype.Ye = function (a) {
		var c = this.Y,
		b = this.Z,
		d = 0,
		e = d = 0,
		f = 0,
		g = 0,
		h = 0,
		m = c.u,
		l = c.J,
		n = b.u,
		k = b.J,
		p = c.M,
		q = b.M,
		r = c.U,
		v = b.U;
		this.$i && this.Fa != X.Ni && (e = this.he *  - (k - l - this.zn), f = this.Qa, g = a.Ja * this.zE, this.Qa = U.Nb(this.Qa + e, -g, g), e = this.Qa - f, l -= r * e, k += v * e);
		if (this.ng && this.Fa != X.Zd) {
			a = c.H.q;
			e = this.ha.x - c.n.S.x;
			f = this.ha.y - c.n.S.y;
			d = a.j.x * e + a.k.x * f;
			f = a.j.y * e + a.k.y * f;
			e = d;
			a = b.H.q;
			g = this.ja.x - b.n.S.x;
			h = this.ja.y - b.n.S.y;
			d = a.j.x * g + a.k.x * h;
			h = a.j.y * g + a.k.y * h;
			g =
				d;
			a = n.x + -k * h - m.x - -l * f;
			var u = n.y + k * g - m.y - l * e;
			this.X.wm(this.Wc, -a, -u,  - (k - l));
			this.Fa == X.Ni ? this.I.oh(this.Wc) : this.Fa == X.Kg ? (d = this.I.z + this.Wc.z, 0 > d && (this.X.Wk(this.bh, -a, -u), this.Wc.x = this.bh.x, this.Wc.y = this.bh.y, this.Wc.z = -this.I.z, this.I.x += this.bh.x, this.I.y += this.bh.y, this.I.z = 0)) : this.Fa == X.gd && (d = this.I.z + this.Wc.z, 0 < d && (this.X.Wk(this.bh, -a, -u), this.Wc.x = this.bh.x, this.Wc.y = this.bh.y, this.Wc.z = -this.I.z, this.I.x += this.bh.x, this.I.y += this.bh.y, this.I.z = 0));
			m.x -= p * this.Wc.x;
			m.y -= p * this.Wc.y;
			l -= r * (e * this.Wc.y - f * this.Wc.x + this.Wc.z);
			n.x += q * this.Wc.x;
			n.y += q * this.Wc.y;
			k += v * (g * this.Wc.y - h * this.Wc.x + this.Wc.z)
		} else
			a = c.H.q, e = this.ha.x - c.n.S.x, f = this.ha.y - c.n.S.y, d = a.j.x * e + a.k.x * f, f = a.j.y * e + a.k.y * f, e = d, a = b.H.q, g = this.ja.x - b.n.S.x, h = this.ja.y - b.n.S.y, d = a.j.x * g + a.k.x * h, h = a.j.y * g + a.k.y * h, g = d, this.X.Wk(this.eg,  - (n.x + -k * h - m.x - -l * f),  - (n.y + k * g - m.y - l * e)), this.I.x += this.eg.x, this.I.y += this.eg.y, m.x -= p * this.eg.x, m.y -= p * this.eg.y, l -= r * (e * this.eg.y - f * this.eg.x), n.x += q * this.eg.x, n.y += q * this.eg.y, k += v *
			(g * this.eg.y - h * this.eg.x);
		c.u.K(m);
		c.J = l;
		b.u.K(n);
		b.J = k
	};
	cf.prototype.Xe = function () {
		var a = 0,
		c,
		b = this.Y,
		d = this.Z,
		e = 0,
		f = c = 0,
		g = 0,
		h = 0;
		if (this.ng && this.Fa != X.Zd) {
			var a = d.n.O - b.n.O - this.Bn,
			m = 0;
			this.Fa == X.Ni ? (a = U.Nb(a - this.Gq, -Ec, Ec), m = -this.he * a, e = Math.abs(a)) : this.Fa == X.Kg ? (a -= this.Gq, e = -a, a = U.Nb(a + Dc, -Ec, 0), m = -this.he * a) : this.Fa == X.gd && (e = a -= this.pu, a = U.Nb(a - Dc, 0, Ec), m = -this.he * a);
			b.n.O -= b.U * m;
			d.n.O += d.U * m;
			b.Vb();
			d.Vb()
		}
		c = b.H.q;
		m = this.ha.x - b.n.S.x;
		a = this.ha.y - b.n.S.y;
		f = c.j.x * m + c.k.x * a;
		a = c.j.y * m + c.k.y *
			a;
		m = f;
		c = d.H.q;
		var l = this.ja.x - d.n.S.x,
		n = this.ja.y - d.n.S.y,
		f = c.j.x * l + c.k.x * n,
		n = c.j.y * l + c.k.y * n,
		l = f,
		g = d.n.F.x + l - b.n.F.x - m,
		h = d.n.F.y + n - b.n.F.y - a,
		k = g * g + h * h;
		c = Math.sqrt(k);
		var f = b.M,
		p = d.M,
		q = b.U,
		r = d.U;
		k > 0.05 * 0.05 && (k = 1 / (f + p), g = k * -g, h = k * -h, b.n.F.x -= 0.5 * f * g, b.n.F.y -= 0.5 * f * h, d.n.F.x += 0.5 * p * g, d.n.F.y += 0.5 * p * h, g = d.n.F.x + l - b.n.F.x - m, h = d.n.F.y + n - b.n.F.y - a);
		this.jm.j.x = f + p;
		this.jm.k.x = 0;
		this.jm.j.y = 0;
		this.jm.k.y = f + p;
		this.km.j.x = q * a * a;
		this.km.k.x = -q * m * a;
		this.km.j.y = -q * m * a;
		this.km.k.y = q * m * m;
		this.lm.j.x = r * n * n;
		this.lm.k.x =
			-r * l * n;
		this.lm.j.y = -r * l * n;
		this.lm.k.y = r * l * l;
		this.xe.Uf(this.jm);
		this.xe.so(this.km);
		this.xe.so(this.lm);
		this.xe.xi(df, -g, -h);
		g = df.x;
		h = df.y;
		b.n.F.x -= b.M * g;
		b.n.F.y -= b.M * h;
		b.n.O -= b.U * (m * h - a * g);
		d.n.F.x += d.M * g;
		d.n.F.y += d.M * h;
		d.n.O += d.U * (l * h - n * g);
		b.Vb();
		d.Vb();
		return 0.005 >= c && e <= Dc
	};
	var df = R.C(0, 0),
	Cc = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.type = X.bl;
		this.Jb.la();
		this.Kb.la();
		this.Fl = this.Hy = this.Bv = this.$t = this.dh = 0;
		this.cl = this.Vj = !1
	};
	rc(Cc, Pe);
	Cc.prototype.xc = function (a, c, b) {
		this.P =
			a;
		this.R = c;
		this.Jb = this.P.Hd(b);
		this.Kb = this.R.Hd(b);
		this.dh = this.R.Td() - this.P.Td()
	};
	Cc.prototype.rf = function () {
		return new cf(this)
	};
	var ff = function (a) {
		X.call(this, a);
		this.gf = R.C(0, 0);
		this.hf = R.C(0, 0);
		this.I = new Jc(0, 0, 0);
		this.X = new Kc;
		this.gf.K(a.Jb);
		this.hf.K(a.Kb);
		this.Bn = a.dh
	};
	rc(ff, X);
	ff.prototype.sf = function (a) {
		var c,
		b = 0,
		d = this.Y,
		e = this.Z;
		c = d.H.q;
		var f = this.gf.x - d.n.S.x,
		g = this.gf.y - d.n.S.y,
		b = c.j.x * f + c.k.x * g,
		g = c.j.y * f + c.k.y * g,
		f = b;
		c = e.H.q;
		var h = this.hf.x - e.n.S.x,
		m = this.hf.y - e.n.S.y,
		b = c.j.x * h +
			c.k.x * m,
		m = c.j.y * h + c.k.y * m,
		h = b;
		c = d.M;
		var b = e.M,
		l = d.U,
		n = e.U;
		this.X.j.x = c + b + g * g * l + m * m * n;
		this.X.k.x = -g * f * l - m * h * n;
		this.X.wa.x = -g * l - m * n;
		this.X.j.y = this.X.k.x;
		this.X.k.y = c + b + f * f * l + h * h * n;
		this.X.wa.y = f * l + h * n;
		this.X.j.z = this.X.wa.x;
		this.X.k.z = this.X.wa.y;
		this.X.wa.z = l + n;
		a.mi ? (this.I.x *= a.Lc, this.I.y *= a.Lc, this.I.z *= a.Lc, d.u.x -= c * this.I.x, d.u.y -= c * this.I.y, d.J -= l * (f * this.I.y - g * this.I.x + this.I.z), e.u.x += b * this.I.x, e.u.y += b * this.I.y, e.J += n * (h * this.I.y - m * this.I.x + this.I.z)) : this.I.la()
	};
	ff.prototype.Ye = function () {
		var a,
		c = 0,
		b = this.Y,
		d = this.Z,
		e = b.u,
		f = b.J,
		g = d.u,
		h = d.J,
		m = b.M,
		l = d.M,
		n = b.U,
		k = d.U;
		a = b.H.q;
		var p = this.gf.x - b.n.S.x,
		q = this.gf.y - b.n.S.y,
		c = a.j.x * p + a.k.x * q,
		q = a.j.y * p + a.k.y * q,
		p = c;
		a = d.H.q;
		var r = this.hf.x - d.n.S.x,
		v = this.hf.y - d.n.S.y,
		c = a.j.x * r + a.k.x * v,
		v = a.j.y * r + a.k.y * v,
		r = c;
		a = new Jc(0, 0, 0);
		this.X.wm(a,  - (g.x - h * v - e.x + f * q),  - (g.y + h * r - e.y - f * p),  - (h - f));
		this.I.oh(a);
		e.x -= m * a.x;
		e.y -= m * a.y;
		f -= n * (p * a.y - q * a.x + a.z);
		g.x += l * a.x;
		g.y += l * a.y;
		h += k * (r * a.y - v * a.x + a.z);
		b.J = f;
		d.J = h
	};
	ff.prototype.Xe = function () {
		var a,
		c = 0,
		b = this.Y,
		d = this.Z;
		a =
			b.H.q;
		var e = this.gf.x - b.n.S.x,
		f = this.gf.y - b.n.S.y,
		c = a.j.x * e + a.k.x * f,
		f = a.j.y * e + a.k.y * f,
		e = c;
		a = d.H.q;
		var g = this.hf.x - d.n.S.x,
		h = this.hf.y - d.n.S.y,
		c = a.j.x * g + a.k.x * h,
		h = a.j.y * g + a.k.y * h,
		g = c;
		a = b.M;
		var c = d.M,
		m = b.U,
		l = d.U,
		n = d.n.F.x + g - b.n.F.x - e,
		k = d.n.F.y + h - b.n.F.y - f,
		p = d.n.O - b.n.O - this.Bn,
		q = Math.sqrt(n * n + k * k),
		r = Math.abs(p);
		0.05 < q && (m *= 1, l *= 1);
		this.X.j.x = a + c + f * f * m + h * h * l;
		this.X.k.x = -f * e * m - h * g * l;
		this.X.wa.x = -f * m - h * l;
		this.X.j.y = this.X.k.x;
		this.X.k.y = a + c + e * e * m + g * g * l;
		this.X.wa.y = e * m + g * l;
		this.X.j.z = this.X.wa.x;
		this.X.k.z =
			this.X.wa.y;
		this.X.wa.z = m + l;
		var v = new Jc(0, 0, 0);
		this.X.wm(v, -n, -k, -p);
		b.n.F.x -= a * v.x;
		b.n.F.y -= a * v.y;
		b.n.O -= m * (e * v.y - f * v.x + v.z);
		d.n.F.x += c * v.x;
		d.n.F.y += c * v.y;
		d.n.O += l * (g * v.y - h * v.x + v.z);
		b.Vb();
		d.Vb();
		return 0.005 >= q && r <= Dc
	};
	var gf = function () {
		Pe.call(this);
		this.Jb = R.C(0, 0);
		this.Kb = R.C(0, 0);
		this.type = X.EC;
		this.dh = 0
	};
	rc(gf, Pe);
	gf.prototype.xc = function (a, c, b) {
		this.P = a;
		this.R = c;
		this.Jb.K(this.P.Hd(b));
		this.Kb.K(this.R.Hd(b));
		this.dh = this.R.Td() - this.P.Td()
	};
	gf.prototype.rf = function () {
		return new ff(this)
	};
	var re = [new Qc, new Qc],
	Ee = [new Qc, new Qc],
	Fe = [new Qc, new Qc],
	se = R.C(0, 0),
	xe = R.C(0, 0),
	ye = R.C(0, 0),
	Be = R.C(0, 0),
	ze = R.C(0, 0),
	Ae = R.C(0, 0),
	Ce = R.C(0, 0),
	De = R.C(0, 0),
	Ud = 0,
	ce = 0,
	de = 0,
	ae = 0,
	be = 0,
	Vd = new rd,
	Wd = new bd,
	Xd = new tc,
	Yd = new tc,
	$d = new md,
	Zd = new cd;
	vc.mF = new tc;
	wc.Ww = new wc;
	new function () {
		this.position = R.C(0, 0);
		this.fA = R.C(0, 0);
		this.Od = R.C(0, 0);
		this.id = new Pc
	};
	yc.mH = new tc;
	yc.wz = new Lc;
	yc.xz = new Lc;
	var Td = new sd,
	pe = new td,
	qe = new oe
}
function hf(a, c, b, d, e, f) {
	return (b + 0.1 >= a && a >= e - 0.1 || b - 0.1 <= a && a <= e + 0.1) && (d + 0.1 >= c && c >= f - 0.1 || d - 0.1 <= c && c <= f + 0.1) && (0.1 < Math.abs(e - b) ? 0.1 > Math.abs((f - d) / (e - b) * (a - b) + d - c) : 0.1 > Math.abs(a - b))
}
function jf(a, c) {
	var b = R,
	d = kf(a),
	e = [],
	f,
	g,
	h,
	m,
	l,
	n,
	k,
	p,
	q;
	l = 0;
	for (n = d.length; l < n; l++) {
		g = d[l];
		f = [];
		f.length = g.length;
		k = q = 0;
		for (p = g.length; k < p; k++)
			h = g[k], m = g[(k + 1) % p], q += h.x * m.y - h.y * m.x, f[k] = b.C(h.x, h.y);
		q = Math.abs(q / 2);
		q >= 0.001 * c && e.push(f)
	}
	return e
}
function kf(a) {
	var c = [],
	b = 0,
	d = 0,
	e = 0,
	f = 0,
	g = 0,
	h = g = 0,
	m = 0,
	l = 0,
	n = 0,
	f = 0,
	k,
	p,
	q,
	r,
	v,
	u = f = b = 0,
	y = 0,
	e = [],
	m = [],
	F = !1,
	H = [],
	J = [];
	for (J.push(a); J.length; ) {
		c = J[0];
		d = c.length;
		F = !0;
		for (b = 0; b < d; b++)
			if (l = b, n = b < d - 1 ? b + 1 : b + 1 - d, f = b < d - 2 ? b + 2 : b + 2 - d, a = c[l], k = c[n], f = c[f], f = a.x * k.y + k.x * f.y + f.x * a.y - a.y * k.x - k.y * f.x - f.y * a.x, 0 > f) {
				F = !1;
				m = 1E9;
				for (e = 0; e < d; e++)
					if (e !== l && e !== n) {
						b = e;
						f = e < d - 1 ? e + 1 : 0;
						p = c[b];
						q = c[f];
						h = a.x;
						r = a.y;
						var A = k.x,
						C = k.y,
						g = p.x;
						p = p.y;
						var I = q.x;
						q = q.y;
						var D = A - h,
						P = C - r,
						L = I - g,
						t = q - p,
						L = (L * (p - r) - t * (g - h)) / (P * L - D * t),
						D = h + L * D,
						P = r + L * P,
						h = hf(A, C, h, r, D, P),
						g = hf(D, P, g, p, I, q);
						if (r = h && g ? R.C(D, P) : null)
							g = k.x - r.x, h = k.y - r.y, g = g * g + h * h, g < m && (y = b, u = f, v = r, m = g)
					}
				if (1E9 === m)
					return [];
				e = [];
				m = [];
				b = y;
				f = u;
				p = c[b];
				q = c[f];
				0.1 > Math.abs(q.x - v.x) && 0.1 > Math.abs(q.y - v.y) || e.push(v);
				0.1 > Math.abs(p.x - v.x) && 0.1 > Math.abs(p.y - v.y) || m.push(v);
				y = -1;
				for (u = l; ; ) {
					if (u !== f)
						e.push(c[u]);
					else {
						if (0 > y || y >= d)
							return [];
						hf(q.x, q.y, c[y].x, c[y].y, a.x, a.y) || e.push(c[u]);
						break
					}
					y = u;
					0 > u - 1 ? u = d - 1 : u--
				}
				e.reverse();
				y = -1;
				for (u = n; ; ) {
					if (u !== b)
						m.push(c[u]);
					else {
						if (0 > y || y >= d)
							return [];
						u !== b || hf(p.x,
							p.y, c[y].x, c[y].y, k.x, k.y) || m.push(c[u]);
						break
					}
					y = u;
					u + 1 > d - 1 ? u = 0 : u++
				}
				J.push(e, m);
				J.shift();
				break
			}
		F && H.push(J.shift())
	}
	return H
}
function lf(a) {
	for (var c = 0; 4E3 > c; c++)
		R.wh.push(new R(0, 0));
	this.c = a;
	this.ke = new yc(R.C(0, 10), !0);
	this.jA = 10;
	this.Nt = -1;
	a = new wc;
	a.ba = this;
	a.uo = function (a) {
		this.ba.c.rz(a.Yb.Ya().Hg.D, a.Rb.Ya().Hg.D)
	};
	this.ke.xw(a);
	a = new xc;
	a.ba = this;
	a.Gj = function (a, c) {
		if (this.ba.IB)
			return !0;
		var e = a.Ya().Hg.D.type,
		f = c.Ya().Hg.D.type,
		g = e.ea.YA;
		return g && g.contains(f) ? !1 : (g = f.ea.YA) && g.contains(e) ? !1 : !0
	};
	this.ke.ww(a);
	this.vF = 0;
	this.po = 8;
	this.Tn = 3;
	this.IB = !0
}
(function () {
	function a() {}

	var c = R,
	b = V,
	d = Ac,
	e = W,
	f = zc,
	g = Bc,
	h = Cc,
	m = lf.prototype;
	m.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	m.rb.prototype.Ca = s();
	m.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c;
		this.ke = this.ba.ke
	};
	var l = m.Za.prototype;
	l.Ca = function () {
		this.ut = 0 !== this.$[0];
		this.jx = this.$[1];
		this.Nu = 0 !== this.$[2];
		this.cg = this.$[3];
		this.Ng = this.$[4];
		this.eh = this.$[5];
		this.kk = this.$[6];
		this.Kj = this.$[7];
		this.Nj = 0 !== this.$[8];
		this.enabled = 0 !== this.$[9];
		this.body = null;
		this.D.Ta();
		this.nq = this.D.x;
		this.oq = this.D.y;
		this.Kd = this.D.L;
		this.Kt = this.Ot = 0;
		this.pz = this.Mt = !1;
		this.It = null;
		this.Jt = -1;
		this.Oe ? (this.Oe.length = 0, this.Jf.length = 0, this.Mh.clear()) : (this.Oe = [], this.Jf = [], this.Mh = new ea);
		var a = this;
		this.Re || (this.Hn = function (b) {
			a.Mn(b)
		});
		this.c.Wo(this.Hn)
	};
	l.iz = function () {
		this.D.Ta();
		this.xp();
		this.It = this.D.Pb;
		this.Jt = this.D.fa
	};
	l.Kl = function () {
		this.Fp();
		this.Jf.length = 0;
		this.Mh.clear();
		this.body && (this.ke.Ao(this.body), this.body = null);
		this.c.sz(this.Hn)
	};
	l.Zc = function () {
		var a = {
			e : this.enabled,
			im : this.ut,
			pr : this.Nu,
			d : this.cg,
			fr : this.Ng,
			re : this.eh,
			ld : this.kk,
			ad : this.Kj,
			b : this.Nj,
			mcj : this.Jf
		};
		if (this.enabled) {
			var b = c.C(0, 0);
			b.K(this.body.yj());
			a.vx = b.x;
			a.vy = b.y;
			a.om = this.body.Eo()
		}
		return a
	};
	l.Ad = function (a) {
		this.Fp();
		this.Jf.length = 0;
		this.Mh.clear();
		this.body && (this.ke.Ao(this.body), this.body = null);
		this.enabled = a.e;
		this.ut = a.im;
		this.Nu = a.pr;
		this.cg = a.d;
		this.Ng = a.fr;
		this.eh = a.re;
		this.kk = a.ld;
		this.Kj = a.ad;
		this.Nj = a.b;
		this.nq = this.D.x;
		this.oq = this.D.y;
		this.Kd = this.D.L;
		this.Ot = this.D.width;
		this.Kt =
			this.D.height;
		this.enabled && (this.xp(), this.body.Ej(c.C(a.vx, a.vy)), this.body.qm(a.om), 0 === a.vx && 0 === a.vy && 0 === a.om || this.body.dd(!0), this.Jf = a.mcj)
	};
	l.Gg = function () {
		this.enabled && this.Tu();
		this.ba.Nt = this.c.hi - 1
	};
	l.Mn = function (a) {
		var b,
		c,
		d,
		e = a.uid;
		d = b = 0;
		for (c = this.Jf.length; b < c; b++)
			this.Jf[d] = this.Jf[b], d < this.Oe.length && (this.Oe[d] = this.Oe[b]), this.Jf[b].Mb[1] == e ? this.ke.Bo(this.Oe[b]) : d++;
		this.Jf.length = d;
		d < this.Oe.length && (this.Oe.length = d);
		this.Mh.remove(a)
	};
	l.Fp = function () {
		var a,
		b;
		a = 0;
		for (b =
				this.Oe.length; a < b; a++)
			this.ke.Bo(this.Oe[a]);
		this.Oe.length = 0
	};
	l.Tu = function () {
		var a,
		b,
		c;
		a = 0;
		for (b = this.Jf.length; a < b; a++)
			switch (c = this.Jf[a], c.type) {
			case 0:
				this.jC(c.Mb[0], c.Mb[1], c.Mb[2], c.Mb[3], c.Mb[4]);
				break;
			case 1:
				this.lC(c.Mb[0], c.Mb[1]);
				break;
			case 2:
				this.kC(c.Mb[0], c.Mb[1], c.Mb[2], c.Mb[3])
			}
	};
	l.ux = function () {
		this.body && (this.Fp(), this.ke.Ao(this.body), this.body = null, this.D.ea.Be = null)
	};
	var n = [];
	l.xp = function () {
		if (this.enabled) {
			var a = this.D,
			g = !1,
			h = null,
			l = null,
			m,
			u,
			y,
			F,
			H,
			J,
			A,
			C,
			I,
			D,
			P,
			L,
			t;
			if (this.body) {
				g =
					!0;
				h = c.C(0, 0);
				h.K(this.body.yj());
				l = this.body.Eo();
				C = this.Mh.kh();
				m = 0;
				for (u = C.length; m < u; m++)
					I = C[m].ea.Be.Hg, I.Fp();
				this.ux()
			}
			I = new d;
			I.cg = this.cg;
			I.Ng = this.Ng;
			I.eh = this.eh;
			m = new b;
			m.type = this.ut ? 0 : 2;
			a.Ta();
			m.position.x = 0.02 * a.Wb.ej();
			m.position.y = 0.02 * a.Wb.fj();
			m.L = a.L;
			m.Vs = this.Nu;
			m.kk = this.kk;
			m.Kj = this.Kj;
			m.Nj = this.Nj;
			C = this.D.Oa && !this.D.Oa.gk();
			this.body = this.ke.Ir(m);
			this.body.Hg = this;
			m = this.jx;
			C || this.D.ii || 0 !== this.jx || (m = 1);
			u = Math.max(Math.abs(a.width), 1);
			y = Math.max(Math.abs(a.height), 1);
			D = 0 > a.width;
			P = 0 > a.height;
			if (0 === m)
				if (a.ii)
					for (L = a.Wb.ej() - a.x, A = a.Wb.fj() - a.y, a.bH(n), C = [], m = 0, u = n.length; m < u; ++m) {
						D = n[m];
						P = D.eF;
						if (D.ah) {
							if (!D.ah.vp) {
								H = D.ah.Ec;
								F = D.ah.nf;
								for (y = 0; y < F; ++y)
									C.push(c.C(H[2 * y], H[2 * y + 1]));
								y = D.id & 3758096384;
								(-2147483648 === y || 1073741824 === y || 536870912 === y || y & -2147483648 && y & 1073741824 && y & 536870912) && C.reverse();
								D.ah.vp = jf(C, (P.right - P.left) * (P.bottom - P.top));
								y = 0;
								for (F = C.length; y < F; ++y)
									c.wc(C[y]);
								C.length = 0
							}
							y = 0;
							for (F = D.ah.vp.length; y < F; ++y) {
								t = D.ah.vp[y];
								H = 0;
								for (J = t.length; H <
									J; ++H)
									C.push(c.C(0.02 * (P.left + t[H].x - L), 0.02 * (P.top + t[H].y - A)));
								I.shape = new e;
								I.shape.rm(C, C.length);
								this.body.Lk(I);
								H = 0;
								for (J = C.length; H < J; ++H)
									c.wc(C[H]);
								C.length = 0
							}
						} else
							C.push(c.C(0.02 * (P.left - L), 0.02 * (P.top - A))), C.push(c.C(0.02 * (P.right - L), 0.02 * (P.top - A))), C.push(c.C(0.02 * (P.right - L), 0.02 * (P.bottom - A))), C.push(c.C(0.02 * (P.left - L), 0.02 * (P.bottom - A))), I.shape = new e, I.shape.rm(C, C.length), this.body.Lk(I);
						y = 0;
						for (F = C.length; y < F; ++y)
							c.wc(C[y]);
						C.length = 0
					}
				else {
					m = a.L;
					a.L = 0;
					a.ka();
					a.Ta();
					L = a.Wb.ej() -
						a.x;
					A = a.Wb.fj() - a.y;
					a.L = m;
					a.ka();
					a.Oa.Oj(D ? -u : u, P ? -y : y, 0);
					H = a.Oa.Ec;
					F = a.Oa.nf;
					C = [];
					C.length = F;
					for (m = 0; m < F; m++)
						C[m] = c.C(H[2 * m] - L, H[2 * m + 1] - A);
					D !== P && C.reverse();
					L = jf(C, u * y);
					for (m = 0; m < F; m++)
						c.wc(C[m]);
					if (L.length)
						for (m = 0, u = L.length; m < u; m++) {
							C = L[m];
							y = 0;
							for (F = C.length; y < F; y++)
								A = C[y], A.x *= 0.02, A.y *= 0.02;
							I.shape = new e;
							I.shape.rm(C, C.length);
							this.body.Lk(I);
							y = 0;
							for (F = C.length; y < F; y++)
								c.wc(C[y])
						}
					else
						I.shape = new e, I.shape.Po(0.01 * u, 0.01 * y), this.body.Lk(I)
				}
			else
				1 === m ? (I.shape = new e, I.shape.Po(0.01 * u, 0.01 * y)) :
				I.shape = new f(0.01 * Math.min(u, y)), this.body.Lk(I);
			a.ea.Be = this.body;
			this.Ot = a.width;
			this.Kt = a.height;
			if (g)
				for (this.body.Ej(h), this.body.qm(l), c.wc(h), this.Tu(), C = this.Mh.kh(), m = 0, u = C.length; m < u; m++)
					I = C[m].ea.Be.Hg, I.Tu();
			n.length = 0
		}
	};
	l.tc = function () {
		if (this.enabled) {
			var a = this.D,
			b;
			0 === this.ba.vF ? b = this.c.ji / 60 : (b = this.c.$j(this.D), b > 1 / 30 && (b = 1 / 30));
			this.c.hi > this.ba.Nt && 0 < this.c.ji && (this.ke.vh(b, this.ba.po, this.ba.Tn), this.ke.Pv(), this.ba.Nt = this.c.hi);
			if (this.pz || a.width !== this.Ot || a.height !== this.Kt ||
				a.Pb !== this.It || a.fa !== this.Jt || a.ii && a.ez)
				this.xp(), this.pz = !1, this.It = a.Pb, this.Jt = a.fa, a.ii && a.ez && (a.ez = !1);
			b = a.L !== this.Kd;
			if (a.x !== this.nq || a.y !== this.oq) {
				a.Ta();
				var d = a.Wb.ej(),
				e = a.Wb.fj(),
				f = d - this.nq,
				g = e - this.oq;
				this.body.js(c.C(0.02 * d, 0.02 * e));
				this.body.Ej(c.C(f, g));
				this.Mt = !0;
				this.body.dd(!0)
			} else
				this.Mt && (this.Mt = !1, this.body.Ej(c.C(0, 0)), this.body.js(c.C(0.02 * a.Wb.ej(), 0.02 * a.Wb.fj())));
			b && (this.body.vi(a.L), this.body.dd(!0));
			d = this.body.H.position;
			b = d.x / 0.02;
			d = d.y / 0.02;
			e = this.body.Td();
			if (b !== a.x || d !== a.y || e !== a.L)
				if (a.x = b, a.y = d, a.L = e, a.ka(), a.Ta(), b = a.Wb.ej() - a.x, d = a.Wb.fj() - a.y, 0 !== b || 0 !== d)
					a.x -= b, a.y -= d, a.ka();
			this.nq = a.x;
			this.oq = a.y;
			this.Kd = a.L
		}
	};
	l.Up = function (a) {
		return -1 !== a && this.D.Og ? 0 === a && this.body ? (this.body.H.position.x + this.body.zj().x) / 0.02 : this.D.Og(a, !0) : this.D.x
	};
	l.Vp = function (a) {
		return -1 !== a && this.D.Og ? 0 === a && this.body ? (this.body.H.position.y + this.body.zj().y) / 0.02 : this.D.Og(a, !1) : this.D.y
	};
	m.B = new(s());
	a.prototype.zg = function (a, b, d) {
		if (this.enabled) {
			var e = this.Up(d);
			d = this.Vp(d);
			this.body.zg(c.C(a, b), c.C(0.02 * e, 0.02 * d))
		}
	};
	a.prototype.to = function (a) {
		this.enabled && this.body.to(Ca(a))
	};
	a.prototype.qm = function (a) {
		this.enabled && (this.body.qm(Ca(a)), this.body.dd(!0))
	};
	l.jC = function (a, b, d, e, f) {
		if (this.enabled && (b = this.c.Ri(b)) && b != this.D && b.ea.Be) {
			b.ea.Be.Hg.Mh.add(this.D);
			var h = this.Up(a);
			a = this.Vp(a);
			var l;
			b.Og ? (l = b.Og(d, !0), d = b.Og(d, !1)) : (l = b.x, d = b.y);
			var m = h - l,
			n = a - d,
			J = new g;
			J.xc(this.body, b.ea.Be, c.C(0.02 * h, 0.02 * a), c.C(0.02 * l, 0.02 * d));
			J.length = 0.02 * Math.sqrt(m *
					m + n * n);
			J.Cp = e;
			J.Rp = f;
			this.Oe.push(this.ke.zo(J))
		}
	};
	l.lC = function (a, b) {
		if (this.enabled) {
			var d = this.c.Ri(b);
			if (d && d != this.D && d.ea.Be) {
				d.ea.Be.Hg.Mh.add(this.D);
				var e = this.Up(a),
				f = this.Vp(a),
				g = new h;
				g.xc(this.body, d.ea.Be, c.C(0.02 * e, 0.02 * f));
				this.Oe.push(this.ke.zo(g))
			}
		}
	};
	l.kC = function (a, b, d, e) {
		if (this.enabled && (b = this.c.Ri(b)) && b != this.D && b.ea.Be) {
			b.ea.Be.Hg.Mh.add(this.D);
			var f = this.Up(a);
			a = this.Vp(a);
			var g = new h;
			g.xc(this.body, b.ea.Be, c.C(0.02 * f, 0.02 * a));
			g.Vj = !0;
			g.$t = Ca(d);
			g.Bv = Ca(e);
			this.Oe.push(this.ke.zo(g))
		}
	};
	a.prototype.dB = function (a) {
		if (a !== this.ba.jA) {
			this.ke.hs(c.C(0, a));
			this.ba.jA = a;
			var b,
			d = this.ba.In.kh();
			a = 0;
			for (b = d.length; a < b; a++)
				d[a].ea.Be && d[a].ea.Be.dd(!0)
		}
	};
	a.prototype.Hb = function (a) {
		this.enabled && 0 === a ? (this.ux(), this.enabled = !1) : this.enabled || 1 !== a || (this.enabled = !0, this.xp())
	};
	m.A = new a;
	m.W = new(s())
})();
function mf(a) {
	this.c = a
}
(function () {
	function a() {}

	var c = mf.prototype;
	c.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c
	};
	var b = c.Za.prototype;
	b.Ca = function () {
		this.qd = null;
		this.Nq = -1;
		this.mode = this.Kd = this.nr = this.Gl = this.ci = this.Sn = 0;
		var a = this;
		this.Re || (this.Hn = function (b) {
			a.Mn(b)
		});
		this.c.Wo(this.Hn)
	};
	b.Zc = function () {
		return {
			uid : this.qd ? this.qd.uid : -1,
			pa : this.Sn,
			pd : this.ci,
			msa : this.Gl,
			tsa : this.nr,
			lka : this.Kd,
			m : this.mode
		}
	};
	b.Ad = function (a) {
		this.Nq =
			a.uid;
		this.Sn = a.pa;
		this.ci = a.pd;
		this.Gl = a.msa;
		this.nr = a.tsa;
		this.Kd = a.lka;
		this.mode = a.m
	};
	b.Gg = function () {
		this.qd = -1 === this.Nq ? null : this.c.Ri(this.Nq);
		this.Nq = -1
	};
	b.Mn = function (a) {
		this.qd == a && (this.qd = null)
	};
	b.Kl = function () {
		this.qd = null;
		this.c.sz(this.Hn)
	};
	b.tc = s();
	b.jo = function () {
		if (this.qd) {
			this.Kd !== this.D.L && (this.Gl = Fa(this.Gl + (this.D.L - this.Kd)));
			var a = this.D.x,
			b = this.D.y;
			if (3 === this.mode || 4 === this.mode) {
				var c = Na(this.D.x, this.D.y, this.qd.x, this.qd.y);
				if (c > this.ci || 4 === this.mode && c < this.ci)
					b =
						Ia(this.qd.x, this.qd.y, this.D.x, this.D.y), a = this.qd.x + Math.cos(b) * this.ci, b = this.qd.y + Math.sin(b) * this.ci
			} else
				a = this.qd.x + Math.cos(this.qd.L + this.Sn) * this.ci, b = this.qd.y + Math.sin(this.qd.L + this.Sn) * this.ci;
			this.Kd = c = Fa(this.Gl + (this.qd.L - this.nr));
			0 !== this.mode && 1 !== this.mode && 3 !== this.mode && 4 !== this.mode || this.D.x === a && this.D.y === b || (this.D.x = a, this.D.y = b, this.D.ka());
			0 !== this.mode && 2 !== this.mode || this.D.L === c || (this.D.L = c, this.D.ka())
		}
	};
	c.B = new(s());
	a.prototype.Oo = function (a, b) {
		if (a) {
			var c = a.Nx(this.D);
			c && (this.qd = c, this.Sn = Ia(c.x, c.y, this.D.x, this.D.y) - c.L, this.ci = Na(c.x, c.y, this.D.x, this.D.y), this.Kd = this.Gl = this.D.L, this.nr = c.L, this.mode = b)
		}
	};
	c.A = new a;
	c.W = new(s())
})();
function nf(a) {
	this.c = a
}
(function () {
	function a() {}

	function c() {}

	var b = nf.prototype;
	b.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	b.rb.prototype.Ca = s();
	b.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c;
		this.Vc = 0
	};
	var d = b.Za.prototype,
	e = 2 * Math.PI,
	f = Math.PI / 2,
	g = 3 * Math.PI / 2;
	d.Ca = function () {
		this.lc = 1 === this.$[0];
		this.Fn = this.$[1];
		this.Iv = this.$[2];
		this.bi = this.$[3];
		this.bi += Math.random() * this.$[4];
		0 === this.bi ? this.Vc = 0 : (this.Vc = this.$[5] / this.bi * e, this.Vc += Math.random() * this.$[6] / this.bi * e);
		this.te = this.$[7];
		this.te +=
		Math.random() * this.$[8];
		this.Qe = this.ck = this.ab = 0;
		this.init()
	};
	d.Zc = function () {
		return {
			i : this.Vc,
			a : this.lc,
			mv : this.Fn,
			w : this.Iv,
			p : this.bi,
			mag : this.te,
			iv : this.ab,
			iv2 : this.ck,
			r : this.Qe,
			lkv : this.Le,
			lkv2 : this.gn
		}
	};
	d.Ad = function (a) {
		this.Vc = a.i;
		this.lc = a.a;
		this.Fn = a.mv;
		this.Iv = a.w;
		this.bi = a.p;
		this.te = a.mag;
		this.ab = a.iv;
		this.ck = a.iv2 || 0;
		this.Qe = a.r;
		this.Le = a.lkv;
		this.gn = a.lkv2 || 0
	};
	d.init = function () {
		switch (this.Fn) {
		case 0:
			this.ab = this.D.x;
			break;
		case 1:
			this.ab = this.D.y;
			break;
		case 2:
			this.ab = this.D.width;
			this.Qe =
				this.D.height / this.D.width;
			break;
		case 3:
			this.ab = this.D.width;
			break;
		case 4:
			this.ab = this.D.height;
			break;
		case 5:
			this.ab = this.D.L;
			this.te = Ca(this.te);
			break;
		case 6:
			this.ab = this.D.opacity;
			break;
		case 7:
			this.ab = 0;
			break;
		case 8:
			this.ab = this.D.x,
			this.ck = this.D.y
		}
		this.Le = this.ab;
		this.gn = this.ck
	};
	d.ni = function (a) {
		a %= e;
		switch (this.Iv) {
		case 0:
			return Math.sin(a);
		case 1:
			return a <= f ? a / f : a <= g ? 1 - 2 * (a - f) / Math.PI : (a - g) / f - 1;
		case 2:
			return 2 * a / e - 1;
		case 3:
			return -2 * a / e + 1;
		case 4:
			return a < Math.PI ? -1 : 1
		}
		return 0
	};
	d.tc = function () {
		var a =
			this.c.$j(this.D);
		if (this.lc && 0 !== a) {
			0 === this.bi ? this.Vc = 0 : (this.Vc += a / this.bi * e, this.Vc %= e);
			switch (this.Fn) {
			case 0:
				this.D.x !== this.Le && (this.ab += this.D.x - this.Le);
				this.D.x = this.ab + this.ni(this.Vc) * this.te;
				this.Le = this.D.x;
				break;
			case 1:
				this.D.y !== this.Le && (this.ab += this.D.y - this.Le);
				this.D.y = this.ab + this.ni(this.Vc) * this.te;
				this.Le = this.D.y;
				break;
			case 2:
				this.D.width = this.ab + this.ni(this.Vc) * this.te;
				this.D.height = this.D.width * this.Qe;
				break;
			case 3:
				this.D.width = this.ab + this.ni(this.Vc) * this.te;
				break;
			case 4:
				this.D.height = this.ab + this.ni(this.Vc) * this.te;
				break;
			case 5:
				this.D.L !== this.Le && (this.ab = Fa(this.ab + (this.D.L - this.Le)));
				this.D.L = Fa(this.ab + this.ni(this.Vc) * this.te);
				this.Le = this.D.L;
				break;
			case 6:
				this.D.opacity = this.ab + this.ni(this.Vc) * this.te / 100;
				0 > this.D.opacity ? this.D.opacity = 0 : 1 < this.D.opacity && (this.D.opacity = 1);
				break;
			case 8:
				this.D.x !== this.Le && (this.ab += this.D.x - this.Le),
				this.D.y !== this.gn && (this.ck += this.D.y - this.gn),
				this.D.x = this.ab + Math.cos(this.D.L) * this.ni(this.Vc) * this.te,
				this.D.y =
					this.ck + Math.sin(this.D.L) * this.ni(this.Vc) * this.te,
				this.Le = this.D.x,
				this.gn = this.D.y
			}
			this.D.ka()
		}
	};
	d.Ty = function (a, b) {
		switch (this.Fn) {
		case 2:
			this.ab *= b.width / a.width;
			this.Qe = b.height / b.width;
			break;
		case 3:
			this.ab *= b.width / a.width;
			break;
		case 4:
			this.ab *= b.height / a.height
		}
	};
	a.prototype.rh = w("lc");
	b.B = new a;
	c.prototype.Cj = function (a) {
		this.lc = 1 === a
	};
	b.A = new c;
	b.W = new(s())
})();
function of(a) {
	this.c = a
}
(function () {
	function a() {}

	function c() {}

	function b() {}

	var d = of.prototype;
	d.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	d.rb.prototype.Ca = s();
	d.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c;
		this.Pj = this.ib = this.sb = 0
	};
	var e = d.Za.prototype;
	e.Ca = function () {
		this.Tl = this.$[0];
		this.Pu = this.$[1];
		this.enabled = 0 !== this.$[2]
	};
	e.Zc = function () {
		return {
			dx : this.sb,
			dy : this.ib,
			cancelStep : this.Pj,
			enabled : this.enabled,
			stepMode : this.Tl,
			pxPerStep : this.Pu
		}
	};
	e.Ad = function (a) {
		this.sb = a.dx;
		this.ib = a.dy;
		this.Pj = a.cancelStep;
		this.enabled = a.enabled;
		this.Tl = a.stepMode;
		this.Pu = a.pxPerStep
	};
	e.kt = function () {
		return Math.sqrt(this.sb * this.sb + this.ib * this.ib)
	};
	e.Nc = function () {
		return Math.atan2(this.ib, this.sb)
	};
	e.step = function (a, b, c) {
		if (0 !== a || 0 !== b) {
			var d = this.D.x,
			e = this.D.y,
			n,
			k = Math.round(Math.sqrt(a * a + b * b) / this.Pu);
			0 === k && (k = 1);
			var p;
			for (p = 1; p <= k; p++)
				if (n = p / k, this.D.x = d + a * n, this.D.y = e + b * n, this.D.ka(), this.c.trigger(c, this.D), 1 === this.Pj) {
					p--;
					n = p / k;
					this.D.x = d + a * n;
					this.D.y = e + b * n;
					this.D.ka();
					break
				} else if (2 === this.Pj)
					break
		}
	};
	e.tc = function () {
		var a = this.c.$j(this.D),
		b = this.sb * a,
		a = this.ib * a;
		0 === this.sb && 0 === this.ib || !this.enabled || (this.Pj = 0, 0 === this.Tl ? (this.D.x += b, this.D.y += a) : 1 === this.Tl ? this.step(b, a, of.prototype.B.LA) : 2 === this.Tl ? (this.step(b, 0, of.prototype.B.ew), this.Pj = 0, this.step(0, a, of.prototype.B.fw)) : 3 === this.Tl && (this.step(0, a, of.prototype.B.fw), this.Pj = 0, this.step(b, 0, of.prototype.B.ew)), this.D.ka())
	};
	a.prototype.LA = x(!0);
	a.prototype.ew = x(!0);
	a.prototype.fw = x(!0);
	d.B = new a;
	c.prototype.xm = function () {
		this.ib =
			this.sb = 0
	};
	c.prototype.um = function (a, b) {
		var c;
		switch (a) {
		case 0:
			c = this.Nc();
			this.sb = Math.cos(c) * b;
			this.ib = Math.sin(c) * b;
			break;
		case 1:
			this.sb = b;
			break;
		case 2:
			this.ib = b
		}
	};
	c.prototype.Hb = function (a) {
		this.enabled = 1 === a
	};
	d.A = new c;
	b.prototype.sb = function (a) {
		a.ta(this.sb)
	};
	b.prototype.ib = function (a) {
		a.ta(this.ib)
	};
	d.W = new b
})();
function pf(a) {
	this.c = a;
	this.lv = this.ir = this.co = this.kv = 0
}
(function () {
	function a() {}

	var c = pf.prototype;
	c.rb = function (a) {
		this.ba = a;
		this.c = a.c
	};
	c.rb.prototype.Ca = s();
	c.Za = function (a, b) {
		this.type = a;
		this.ba = a.ba;
		this.D = b;
		this.c = a.c
	};
	var b = c.Za.prototype;
	b.Ca = function () {
		this.enabled = 0 !== this.$[0]
	};
	b.Zc = function () {
		return {
			smg : this.ba.kv,
			ss : this.ba.co,
			se : this.ba.ir,
			smd : this.ba.lv
		}
	};
	b.Ad = function (a) {
		this.ba.kv = a.smg;
		this.ba.co = a.ss;
		this.ba.ir = a.se;
		this.ba.lv = a.smd
	};
	b.tc = s();
	b.jo = function () {
		if (this.enabled) {
			var a = this.ba.In.kh(),
			b = 0,
			c = 0,
			g,
			h,
			m,
			l = 0;
			g = 0;
			for (h = a.length; g <
				h; g++) {
				a : {
					m = a[g];
					for (var n = void 0, k = void 0, p = void 0, n = 0, k = m.Ia.length; n < k; ++n)
						if (p = m.Ia[n], p.ba instanceof pf) {
							m = p;
							break a
						}
					m = null
				}
				m && m.enabled && (b += a[g].x, c += a[g].y, ++l)
			}
			a = this.D.T.Fb;
			h = this.c.Ke.Cb;
			m = g = 0;
			h >= this.ba.co && h < this.ba.ir && (g = this.ba.kv * Math.min(this.c.ji, 1), 0 === this.ba.lv && (g *= 1 - (h - this.ba.co) / (this.ba.ir - this.ba.co)), h = 2 * Math.random() * Math.PI, m = Math.random() * g, g = Math.cos(h) * m, m *= Math.sin(h));
			a.cv(b / l + g);
			a.dv(c / l + m)
		}
	};
	a.prototype.Hb = function (a) {
		this.enabled = 0 !== a
	};
	c.A = new a
})();
function gc() {
	return [null, "logo", [[ic, !0, !1, !1, !1, !1, !1, !1, !1, !1], [hc, !0, !1, !1, !1, !1, !1, !1, !1, !1], [jc, !0, !1, !1, !1, !1, !1, !1, !1, !1], [kc, !1, !0, !0, !0, !0, !0, !0, !0, !0], [E, !1, !0, !0, !0, !0, !0, !0, !0, !1], [lc, !0, !1, !1, !1, !1, !1, !1, !1, !1], [mc, !0, !1, !1, !1, !1, !1, !1, !1, !1]], [["t0", E, !1, [], 0, 0, null, [["Default", 5, !1, 1, 0, !1, 5241556733897616, [["images/wall-sheet0.png", 3671, 0, 0, 479, 256, 1, 0.5031315088272095, 0.5, [], [-0.4989561438560486, -0.4921875, 0.4926934838294983, -0.4921875, 0.4947804808616638, 0.4960939884185791, -0.5031315088272095,
									0.5], 0]]]], [], !1, !1, 0xba382b57df02e, [], null], ["t1", E, !1, [0xcfd5b39514399, 7872425142956112], 3, 0, null, [["Default", 10, !0, 1, 0, !1, 0xd9bf6cbdcd219, [["images/sprite-sheet0.png", 924626, 1721, 1, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [-0.346875011920929, -0.1849145293235779, 0.121874988079071, -0.1849145293235779, 0.121874988079071, 0.3503654599189758, -0.346875011920929, 0.3503654599189758], 0], ["images/sprite-sheet0.png", 924626, 997, 1279, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [0.121874988079071,
									-0.1849145293235779, 0.1187499761581421, 0.3503654599189758, -0.346875011920929, 0.3503654599189758, -0.346875011920929, -0.1849145293235779], 0], ["images/sprite-sheet0.png", 924626, 1319, 1279, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [0.121874988079071, -0.1849145293235779, 0.121874988079071, 0.3503654599189758, -0.346875011920929, 0.3503654599189758, -0.346875011920929, -0.1849145293235779], 0], ["images/sprite-sheet0.png", 924626, 1641, 1279, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [0.121874988079071,
									-0.1849145293235779, 0.121874988079071, 0.3503654599189758, -0.346875011920929, 0.3503654599189758, -0.346875011920929, -0.1849145293235779], 0], ["images/sprite-sheet0.png", 924626, 1, 1292, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [0.121874988079071, -0.1849155426025391, 0.121874988079071, 0.3503654599189758, -0.346875011920929, 0.3503654599189758, -0.346875011920929, -0.1849145293235779], 0], ["images/sprite-sheet1.png", 41254, 0, 0, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [0.112500011920929, -0.2019465267658234,
									0.153124988079071, 0.3114344477653503, -0.3406250178813934, 0.3722624778747559, -0.2718750238418579, -0.1727495193481445], 0], ["images/sprite-sheet2.png", 41021, 0, 0, 320, 411, 1, 0.503125011920929, 0.5012165307998657, [], [-0.2781250178813934, -0.1776155233383179, 0.112500011920929, -0.2019465267658234, 0.09999996423721313, 0.3454984426498413, -0.34375, 0.3746954798698425], 0], ["images/sprite-sheet0.png", 924626, 335, 853, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [-0.2978717088699341, -0.1873485445976257, 0.1124622821807861,
									-0.1824815273284912, 0.112461268901825, 0.3308994770050049, -0.3343467116355896, 0.3746954798698425], 0], ["images/sprite-sheet0.png", 924626, 666, 866, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [0.1519762873649597, -0.1873475313186646, 0.1215803027153015, 0.2968364953994751, -0.3161097168922424, 0.3600974678993225, -0.3039517104625702, -0.1313875317573547], 0], ["images/sprite-sheet0.png", 924626, 997, 866, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [-0.2917926907539368, -0.1703165173530579, 0.1428562998771668,
									-0.1265215277671814, 0.08814626932144165, 0.3381994962692261, -0.3039517104625702, 0.3503654599189758], 0], ["images/sprite-sheet0.png", 924626, 1328, 866, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [-0.2462007105350494, -0.2068125307559967, 0.1215803027153015, -0.1897805333137512, 0.1854103207588196, 0.2384424805641174, -0.2978727221488953, 0.2627744674682617], 0], ["images/sprite-sheet0.png", 924626, 1659, 866, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [0.1094222664833069, -0.1995135247707367, 0.1428562998771668,
									0.3041354417800903, -0.3130697011947632, 0.3576644659042358, -0.2796347141265869, -0.1824825406074524], 0], ["images/sprite-sheet0.png", 924626, 335, 1266, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [-0.2583587169647217, -0.1167885363101959, 0.1124622821807861, -0.1824815273284912, 0.1215803027153015, 0.2846714854240418, -0.2978727221488953, 0.2968364953994751], 0], ["images/sprite-sheet0.png", 924626, 666, 1279, 329, 411, 1, 0.4893617033958435, 0.5012165307998657, [], [-0.2613987028598785, -0.1192215383052826, 0.173252284526825,
									-0.1192215383052826, 0.145896315574646, 0.2895374894142151, -0.3252277076244354, 0.3138684630393982], 0]]], ["jump", 10, !0, 1, 0, !1, 9202073169674296, [["images/sprite-sheet0.png", 924626, 861, 427, 332, 437, 1, 0.5, 0.5011441707611084, [], [-0.1837350130081177, -0.2791761755943298, 0.2771090269088745, -0.2906181812286377, 0.2740960121154785, 0.249427855014801, -0.162651002407074, 0.2425628304481506], 0], ["images/sprite-sheet0.png", 924626, 1195, 427, 332, 437, 1, 0.5, 0.5011441707611084, [], [-0.1837350130081177, -0.2196791768074036, 0.2620480060577393,
									-0.2219671607017517, 0.210843026638031, 0.2425628304481506, -0.1867470145225525, 0.2608698010444641], 0], ["images/sprite-sheet0.png", 924626, 1529, 427, 332, 437, 1, 0.5, 0.5011441707611084, [], [-0.1837350130081177, -0.260869175195694, 0.2409639954566956, -0.2151031792163849, 0.1927710175514221, 0.2951938509941101, -0.1927709877490997, 0.2654458284378052], 0], ["images/sprite-sheet0.png", 924626, 1, 853, 332, 437, 1, 0.5, 0.5011441707611084, [], [-0.1837350130081177, -0.2219681739807129, 0.1385539770126343, -0.2265441715717316, 0.1927710175514221,
									0.2402748465538025, -0.1867470145225525, 0.2608698010444641], 0]]], ["fall", 10, !0, 1, 0, !1, 8204312172716089, [["images/sprite-sheet0.png", 924626, 1, 1, 428, 424, 1, 0.4439252316951752, 0.4929245412349701, [], [0.05607476830482483, -0.3160375356674194, 0.2616817653179169, -0.1957545280456543, 0.05607476830482483, 0.2688674628734589, -0.1331772208213806, 0.1933964788913727], 0], ["images/sprite-sheet0.png", 924626, 431, 1, 428, 424, 1, 0.4439252316951752, 0.5, [], [0.05607476830482483, -0.1933960020542145, 0.3411217629909515, -0.1037740111351013,
									0.05607476830482483, 0.2712259888648987, -0.1471962332725525, 0.2004719972610474], 0], ["images/sprite-sheet0.png", 924626, 861, 1, 428, 424, 1, 0.4439252316951752, 0.5, [], [0.09345778822898865, -0.2028299868106842, 0.2897197902202606, -0.01650899648666382, -0.1565422415733337, 0.2099059820175171, -0.2616822123527527, 0], 0], ["images/sprite-sheet0.png", 924626, 1291, 1, 428, 424, 1, 0.4439252316951752, 0.5, [], [0.05607476830482483, -0.1886790096759796, 0.292055755853653, -0.1037740111351013, 0.05607476830482483, 0.2688680291175842,
									-0.2102802246809006, 0.09198099374771118], 0], ["images/sprite-sheet0.png", 924626, 1, 427, 428, 424, 1, 0.4439252316951752, 0.5, [], [-0.02570122480392456, -0.2264150083065033, 0.2570097744464874, -0.1981129944324493, 0.05607476830482483, 0.2665089964866638, -0.1401872336864471, 0.1933959722518921], 0], ["images/sprite-sheet0.png", 924626, 431, 427, 428, 424, 1, 0.4439252316951752, 0.5, [], [0.05607476830482483, -0.3254719972610474, 0.2616817653179169, -0.2028299868106842, 0.05607476830482483, 0.261792004108429, -0.1612152457237244,
									0.1438680291175842], 0]]]], [["CustomMovement", of, 991689399536527], ["Sine", nf, 6820178876389254], ["Physics", lf, 0xfb17689fb819f]], !1, !1, 0x97a76985ae434, [], null], ["t2", lc, !1, [], 0, 0, null, null, [], !1, !1, 0xb8b170cecb9f0, [], null, [1]], ["t3", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 0x6c964c4330f97, [["images/branchleft-sheet0.png", 313571, 1, 1, 584, 535, 1, 0.5, 0.4990654289722443, [], [0.1932560205459595, -0.3719624280929565, 0.08668398857116699, -0.1024914383888245, -0.02473598718643189, -0.1010734438896179, -0.06783199310302734,
									-0.3663554191589356], 0]]], ["hit", 15, !1, 1, 0, !1, 5359520243767749, [["images/branchleft-sheet0.png", 313571, 587, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4654205739498138, -0.1462090611457825, 0.1327105462551117, 0.1696749329566956, 0.1607475578784943], 0], ["images/branchleft-sheet0.png", 313571, 1143, 1, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.2504674196243286, -0.2635380625724793, 0.2523363828659058, -0.1046930551528931, -0.05420559644699097],
								0], ["images/branchleft-sheet0.png", 313571, 1, 538, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.3068590760231018, 0.2971963882446289, -0.4151624739170075, 4.172325134277344E-7, -0.06317707896232605, -0.1495325863361359], 0], ["images/branchleft-sheet0.png", 313571, 557, 538, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.4747663736343384, -0.158845067024231, 0.1439254283905029, 0.1209389567375183, 0.08224338293075562], 0], ["images/branchleft-sheet0.png", 313571, 1113, 538, 554, 535,
								1, 0.5018050670623779, 0.5009346008300781, [], [0.1371839046478272, 0.01121437549591065, 0.3935019373893738, 4.172325134277344E-7, 0.3465699553489685, 0.3420563936233521], 0], ["images/branchleft-sheet0.png", 313571, 1, 1075, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.4728974103927612, -0.1732850670814514, 0.1588783860206604, 0.1317689418792725, 0.1196264028549194], 0], ["images/branchleft-sheet0.png", 313571, 557, 1075, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793,
									0.4747663736343384, -0.1425990760326386, 0.1271023750305176, 0.1660649180412293, 0.1551403999328613], 0], ["images/branchleft-sheet0.png", 313571, 1113, 1075, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.3943923711776733, 0.007219910621643066, 0.1009343862533569, 0.2310469150543213, 0.2224293947219849], 0], ["images/branchleft-sheet1.png", 37191, 0, 0, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.4766353964805603, -0.1516240537166596, 0.1364483833312988, 0.1552349328994751,
									0.1439254283905029], 0], ["images/branchleft-sheet2.png", 36919, 0, 0, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [-0.00180506706237793, 0.4598134160041809, -0.1462090611457825, 0.1308413743972778, 0.1732849478721619, 0.1626163721084595], 0]]]], [["Bullet", O, 786733925520009]], !1, !1, 0x8b16afb5aa14c, [], null], ["t4", hc, !1, [], 0, 0, null, null, [], !1, !1, 6475156076506481, [], null, []], ["t5", E, !1, [], 1, 0, null, [["hit", 15, !1, 1, 0, !1, 7018142978090627, [["images/branchleft-sheet0.png", 313571, 587, 1, 554, 535, 1, 0.5018050670623779,
								0.4990654289722443, [], [-0.00180506706237793, 0.4654205739498138, -0.00180506706237793, -0.164486438035965, 0.1714799404144287, 0.1607475578784943], 0], ["images/branchright-sheet0.png", 343863, 1, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.2523365914821625, -0.2635380625724793, 0.2542055547237396, -0.00180506706237793, -0.2261674404144287], 0], ["images/branchright-sheet0.png", 343863, 557, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.3068590760231018, 0.2990655601024628,
									-0.4151624739170075, 0.00186958909034729, -0.08844807744026184, 0.108411580324173], 0], ["images/branchright-sheet0.png", 343863, 1113, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4766355454921722, -0.2075820565223694, -0.01308342814445496, 0.1425989270210266, 0.1327105462551117], 0], ["images/branchright-sheet0.png", 343863, 1, 538, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [0.08303195238113403, 0.003738552331924439, 0.3935019373893738, 0.00186958909034729, 0.3465699553489685,
									0.3439255654811859], 0], ["images/branchright-sheet0.png", 343863, 557, 538, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4747665822505951, -0.1732850670814514, 0.1607475578784943, 0.1317689418792725, 0.1214955747127533], 0], ["images/branchright-sheet0.png", 343863, 1113, 538, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4766355454921722, -0.08122807741165161, -0.1121494174003601, 0.1660649180412293, 0.1570095717906952], 0], ["images/branchright-sheet0.png",
								343863, 1, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.3962615430355072, -0.1083030700683594, 0.06168255209922791, 0.2310469150543213, 0.2242985665798187], 0], ["images/branchright-sheet0.png", 343863, 557, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4785045683383942, -0.1516240537166596, 0.1383175551891327, 0.1552349328994751, 0.1457946002483368], 0], ["images/branchright-sheet0.png", 343863, 1113, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443,
								[], [-0.00180506706237793, 0.4616825878620148, -0.09025305509567261, -0.09158843755722046, 0.1732849478721619, 0.1644855439662933], 0]]], ["Default", 5, !1, 1, 0, !1, 721568505497296, [["images/branchleft-sheet0.png", 313571, 1, 1, 584, 535, 1, 0.5, 0.5009346008300781, [], [-0.04965698719024658, -0.3787516057491303, 0.1643840074539185, -0.3796296119689941, 0.1027399897575378, -0.1279726028442383, -0.006848990917205811, -0.1310715973377228], 0]]]], [["Bullet", O, 0x3f76634698fce]], !1, !1, 0xdfc48353a0d1a, [], null], ["t6", E, !1, [], 1, 0, null,
				[["Default", 5, !1, 1, 0, !1, 0xeea15e8fe208d, [["images/distancecheck-sheet0.png", 16421, 0, 0, 250, 250, 1, 0.5, 0.5, [], [0.2120000123977661, -0.5, 0.1039999723434448, 0.4480000138282776, -0.06000000238418579, 0.4359999895095825, -0.01600000262260437, -0.5], 0]]]], [["Bullet", O, 8985578245021803]], !1, !1, 0xa1314b09b46cb, [], null], ["t7", E, !1, [], 0, 0, null, [["Default", 5, !1, 1, 0, !1, 7584812938627904, [["images/sprite2-sheet0.png", 155, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 1]]]], [], !1, !1, 7755028506581115, [], null], ["t8", E, !1, [], 2, 0, null, [["Default",
						5, !1, 1, 0, !1, 5197678234457464, [["images/sprite3-sheet0.png", 2019, 0, 0, 162, 264, 1, 0.5, 0.5, [], [], 1]]]], [["Anchor", pc, 5749254377145142], ["ScrollTo", pf, 0xf30ef606c758c]], !1, !1, 8297117826784161, [], null], ["t9", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 0xfcf99c0f28aa3, [["images/bgcloud-sheet0.png", 78486, 0, 0, 359, 519, 1, 0.4986072480678558, 0.5009633898735046, [], [0.1699167788028717, 0.2273606061935425, -0.1754872500896454, 0.1348745822906494, -0.2284122407436371, -0.2793833911418915], 0]]]], [["Bullet", O, 0x542f9376cd9f2]],
				!1, !1, 9071683487558914, [], null], ["t10", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 0xc543a94385ba0, [["images/cloudfront-sheet0.png", 30006, 0, 0, 233, 333, 1, 0.5021459460258484, 0.4984984993934631, [], [0.1244640350341797, -0.006006509065628052, -0.1158799529075623, 0.09609651565551758, -0.1716739535331726, -0.09309351444244385], 0]]]], [["Bullet", O, 0xfecc3ecd85612]], !1, !1, 8870755616995957, [], null], ["t11", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 5600593619676825, [["images/bgcloud-sheet0.png", 78486, 0, 0, 359, 519, 1, 0.4986072480678558,
								0.5009633898735046, [], [0.1699167788028717, 0.2273606061935425, -0.1754872500896454, 0.1348745822906494, -0.2284122407436371, -0.2793833911418915], 0]]]], [["Bullet", O, 7099037619997627]], !1, !1, 5800945714672477, [], null], ["t12", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 5362042085672522, [["images/wall-sheet0.png", 3671, 0, 0, 479, 256, 1, 0.5031315088272095, 0.5, [], [-0.4989561438560486, -0.4921875, 0.4926934838294983, -0.4921875, 0.4947804808616638, 0.4960939884185791, -0.5031315088272095, 0.5], 0]]]], [["Anchor", pc, 0xe17ab4ace13b3]],
				!1, !1, 9019025082396772, [], null], ["t13", E, !1, [4689411545222129], 2, 0, null, [["fly", 20, !0, 1, 0, !1, 8286184847207546, [["images/bird-sheet0.png", 21117, 1, 1, 105, 79, 1, 0.4952380955219269, 0.5063291192054749, [], [0.3619048893451691, -0.3797471225261688, 0.09523889422416687, 0.3291139006614685, -0.4285714030265808, -0.01265811920166016], 0], ["images/bird-sheet0.png", 21117, 108, 1, 105, 79, 1, 0.4952380955219269, 0.5063291192054749, [], [-0.02857109904289246, 0.3670888543128967, -0.4952380955219269, -0.03797411918640137, 0.485713928937912,
									-0.2658221125602722], 0], ["images/bird-sheet0.png", 21117, 1, 82, 105, 79, 1, 0.4952380955219269, 0.5063291192054749, [], [0.380952924489975, -0.3417721390724182, 0.009523898363113403, 0.3670888543128967, -0.4666666984558106, -0.01265811920166016], 0], ["images/bird-sheet0.png", 21117, 108, 82, 105, 79, 1, 0.4952380955219269, 0.5063291192054749, [], [0.05714288353919983, 0.3797468543052673, -0.4666666984558106, -0.01265811920166016, 0.3523809015750885, -0.3037971258163452], 0], ["images/bird-sheet0.png", 21117, 1, 163, 105, 79, 1, 0.4952380955219269,
								0.5063291192054749, [], [0.438095897436142, -0.1898741126060486, 0.104761928319931, 0.2911388874053955, -0.4476190805435181, -0.01265811920166016], 0], ["images/bird-sheet0.png", 21117, 108, 163, 105, 79, 1, 0.4952380955219269, 0.5063291192054749, [], [0.2952379286289215, -0.3037971258163452, -0.07619008421897888, 0.3417719006538391, -0.4666666090488434, -0.151899129152298], 0]]], ["Default", 12, !1, 1, 0, !1, 6181709814997332, [["images/bird-sheet1.png", 3072, 0, 0, 90, 75, 1, 0.5, 0.4933333396911621, [], [-0.4222221970558167, -0.2266663312911987,
									0.3527780175209045, -0.0533333420753479, 0.2111110091209412, 0.493333637714386], 0]]]], [["Bullet", O, 733455629682954], ["Bullet2", O, 7983194799332214]], !1, !1, 6704926096104944, [], null], ["t14", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 7162566781132658, [["images/birdscare-sheet0.png", 168, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 3]]]], [["Pin", mf, 9889028705510240]], !1, !1, 0xf2fa32bab529d, [], null], ["t15", E, !1, [0xfd134269bfe0a], 2, 0, null, [["fly", 20, !0, 1, 0, !1, 0x57b2af87e5610, [["images/bird2-sheet0.png", 25100, 1, 1, 79, 105, 1, 0.4936708807945252,
								0.5047619342803955, [], [0.4177221059799194, -0.276189923286438, 0.1012651324272156, 0.4952380657196045, -0.2784808874130249, -0.314285933971405], 0], ["images/bird2-sheet0.png", 25100, 82, 1, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.4303790926933289, -0.1238099336624146, -0.2784808874130249, 0.4000000357627869, -0.1012658774852753, -0.4095240235328674], 0], ["images/bird2-sheet0.png", 25100, 163, 1, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.4050630927085877, -0.3428569436073303, 0.01265811920166016,
									0.4666670560836792, -0.2911399006843567, -0.3333339393138886], 0], ["images/bird2-sheet0.png", 25100, 1, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.3037971258163452, -0.3523809313774109, 0.01265811920166016, 0.4666670560836792, -0.3164559006690979, -0.2857149243354797], 0], ["images/bird2-sheet0.png", 25100, 82, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.2911391258239746, -0.3999999165534973, 0.01265811920166016, 0.4476190805435181, -0.3417719006538391, -0.04761892557144165], 0], ["images/bird2-sheet0.png",
								25100, 163, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.01265811920166016, 0.4285710453987122, -0.1645568907260895, -0.2571429312229157, 0.4683541059494019, -0.3428569436073303], 0]]], ["Default", 12, !1, 1, 0, !1, 5920084764618374, [["images/bird2-sheet1.png", 3078, 0, 0, 90, 75, 1, 0.5, 0.5066666603088379, [], [-0.01388901472091675, 0.4933333396911621, -0.4666666090488434, -0.01333364844322205, 0.3777779936790466, -0.3599996566772461], 0]]]], [["Bullet", O, 0x92b51bbdb911c], ["Bullet2", O, 0x3abd7aa82f349]], !1, !1, 9808162095061682,
				[], null], ["t16", E, !1, [], 0, 0, null, [["Default", 5, !1, 1, 0, !1, 6776545662024618, [["images/sprite4-sheet0.png", 11275, 0, 0, 386, 165, 1, 0.5, 0.5030303001403809, [], [-0.4145078063011169, -0.3030303120613098, 0, -0.1575753092765808, 0.4689120054244995, -0.4303030073642731, 0.4533680081367493, -0.006060302257537842, 0.2616580128669739, -0.06060630083084106, 0, 0.4727277159690857, -0.2435230016708374, -0.1030302941799164, -0.1243520081043243, -0.006060302257537842], 0]]]], [], !1, !1, 0xf9bb3ff3d8a8a, [], null], ["t17", E, !1, [], 1, 0, null,
				[["Animation2", 5, !1, 1, 0, !1, 0x72cb96f62e1b, [["images/sprite5-sheet0.png", 15711, 0, 0, 453, 250, 1, 0.5011037588119507, 0.5, [], [], 0]]]], [["Bullet", O, 0x5484056cb8bf1]], !1, !1, 9823635574929094, [], null], ["t18", E, !1, [0xcc82fdd90d1d5], 1, 0, null, [["fly", 20, !0, 1, 0, !1, 4978840957442598, [["images/bird2-sheet0.png", 25100, 163, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.278481125831604, -0.3333329558372498, 0.392405092716217, -0.009523928165435791, 0.1518990993499756, 0.2285710573196411, 0.01265811920166016, 0.4285710453987122,
									-0.2025318741798401, 0.2761900424957275, -0.3037979006767273, -0.009523928165435791, -0.1645568907260895, -0.2571429312229157, 0.01265811920166016, -0.4666669368743897], 0], ["images/bird2-sheet0.png", 25100, 82, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.2658231258392334, -0.3238099217414856, 0.3544301390647888, -0.009523928165435791, 0.126582145690918, 0.2095240950584412, 0.01265811920166016, 0.4476190805435181, -0.2151898741722107, 0.2857140898704529, -0.3291139006614685, -0.009523928165435791, -0.1772148907184601,
									-0.2666669487953186, 0.01265811920166016, -0.3523809313774109], 0], ["images/bird2-sheet0.png", 25100, 1, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.3037971258163452, -0.3523809313774109, 0.3037971258163452, -0.009523928165435791, 0.2151901125907898, 0.2761900424957275, 0.01265811920166016, 0.4666670560836792, -0.2405058741569519, 0.304762065410614, -0.3670888841152191, -0.009523928165435791, -0.1898738741874695, -0.2761909365653992, 0.01265811920166016, -0.3523809313774109], 0], ["images/bird2-sheet0.png",
								25100, 1, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.3037971258163452, -0.3523809313774109, 0.3037971258163452, -0.009523928165435791, 0.2151901125907898, 0.2761900424957275, 0.01265811920166016, 0.4666670560836792, -0.2405058741569519, 0.304762065410614, -0.3670888841152191, -0.009523928165435791, -0.1898738741874695, -0.2761909365653992, 0.01265811920166016, -0.3523809313774109], 0], ["images/bird2-sheet0.png", 25100, 82, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.2658231258392334, -0.3238099217414856,
									0.3544301390647888, -0.009523928165435791, 0.126582145690918, 0.2095240950584412, 0.01265811920166016, 0.4476190805435181, -0.2151898741722107, 0.2857140898704529, -0.3291139006614685, -0.009523928165435791, -0.1772148907184601, -0.2666669487953186, 0.01265811920166016, -0.3523809313774109], 0], ["images/bird2-sheet0.png", 25100, 163, 108, 79, 105, 1, 0.4936708807945252, 0.5047619342803955, [], [0.278481125831604, -0.3333329558372498, 0.392405092716217, -0.009523928165435791, 0.1518990993499756, 0.2285710573196411, 0.01265811920166016,
									0.4285710453987122, -0.2025318741798401, 0.2761900424957275, -0.3037979006767273, -0.009523928165435791, -0.1645568907260895, -0.2571429312229157, 0.01265811920166016, -0.4666669368743897], 0]]], ["Default", 12, !1, 1, 0, !1, 5920438918784435, [["images/bird2-sheet1.png", 3078, 0, 0, 90, 75, 1, 0.5, 0.5066666603088379, [], [0.3888890147209168, -0.01333364844322205, 0.2666670083999634, 0.2133333683013916, -0.01388901472091675, 0.4933333396911621, -0.2888889908790588, 0.2400003671646118, -0.4666666090488434, -0.01333364844322205, -0.1777780055999756,
									-0.1199996471405029, 0, -0.4533336758613586, 0.3777779936790466, -0.3599996566772461], 0]]]], [["Bullet", O, 5624193977707043]], !1, !1, 0xd8db2b5d06b18, [], null], ["t19", E, !1, [], 2, 0, null, [["Animation2", 5, !1, 1, 0, !1, 7414321724570876, [["images/branchright2-sheet0.png", 124352, 1, 1, 584, 535, 1, 0.5, 0.4990654289722443, [], [0.04965698719024658, 0.3787515461444855, -0.1643840074539185, 0.3796295821666718, -0.1027399897575378, 0.1279725730419159, 0.006848990917205811, 0.1310715973377228], 0]]], ["hit", 15, !1, 1, 0, !1, 6490432481807989,
						[["images/branchright2-sheet0.png", 124352, 1173, 1, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [0.1696749329566956, -0.1607475876808167, 0.1714799404144287, -0.00186958909034729, -0.00180506706237793, 0.1644864082336426, -0.08122706413269043, 0.06355142593383789, -0.08122706413269043, -0.00186958909034729, -0.1462090611457825, -0.1327106058597565, -0.00180506706237793, -0.4654206037521362], 0], ["images/branchright-sheet0.png", 343863, 1, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793,
									0.2523365914821625, -0.2635380625724793, 0.2542055547237396, -0.2689530849456787, 0.00186958909034729, -0.1570400595664978, -0.1420564353466034, -0.00180506706237793, -0.2224294245243073, 0.03429591655731201, -0.01869142055511475, 0.02888095378875732, 0.00186958909034729, 0.02527093887329102, 0.01121458411216736], 0], ["images/branchright-sheet0.png", 343863, 557, 1, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, -0.164486438035965, -0.3068590760231018, 0.2990655601024628, -0.4151624739170075,
									0.00186958909034729, -0.256318062543869, -0.2448594272136688, -0.00180506706237793, -0.2523364424705505, -0.08844807744026184, 0.108411580324173, -0.1119130551815033, 0.00186958909034729, -0.08664306998252869, -0.1046724319458008], 0], ["images/branchright2-sheet0.png", 124352, 1, 538, 554, 535, 1, 0.5018050670623779, 0.5009346008300781, [], [0.1425989270210266, -0.1327106058597565, 0.1389889121055603, -0.00186958909034729, 0.06498193740844727, 0.05046737194061279, -0.00180506706237793, 0.1831774115562439, -0.09747305512428284,
									0.08037340641021729, -0.158845067024231, -0.1457946002483368, -0.00180506706237793, -0.476635605096817], 0], ["images/branchright-sheet0.png", 343863, 1, 538, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, -0.2728974223136902, 0.07220190763473511, -0.09345844388008118, 0.06137192249298096, 0.00186958909034729, 0.1155239343643189, 0.1401865780353546, -0.00180506706237793, -0.3551404476165772, 0.1660649180412293, -0.1551404297351837, 0.3935019373893738, 0.00186958909034729, 0.3465699553489685, 0.3439255654811859],
								0], ["images/branchright-sheet0.png", 343863, 557, 538, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4747665822505951, -0.1732850670814514, 0.1607475578784943, -0.1371840536594391, 0.00186958909034729, -0.1028880774974823, -0.08598142862319946, -0.00180506706237793, -0.1887854337692261, 0.05415195226669312, -0.03925243020057678, 0.1317689418792725, 0.00186958909034729, 0.1317689418792725, 0.1214955747127533], 0], ["images/branchright-sheet0.png", 343863, 1113, 538, 554, 535, 1, 0.5018050670623779,
								0.4990654289722443, [], [-0.00180506706237793, 0.4766355454921722, -0.1425990760326386, 0.1289715468883514, -0.07581207156181335, 0.00186958909034729, -0.08122706413269043, -0.06355142593383789, -0.00180506706237793, -0.164486438035965, 0.09205794334411621, -0.07850444316864014, 0.1660649180412293, 0.00186958909034729, 0.1660649180412293, 0.1570095717906952], 0], ["images/branchright-sheet0.png", 343863, 1, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.3962615430355072, -0.05956706404685974,
									0.00186958909034729, -0.00180506706237793, -0.3476634323596954, 0.1028879284858704, -0.08971941471099854, 0.2220219373703003, 0.00186958909034729, 0.2310469150543213, 0.2242985665798187], 0], ["images/branchright-sheet0.png", 343863, 557, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4785045683383942, -0.1516240537166596, 0.1383175551891327, -0.1498190760612488, 0.00186958909034729, -0.09205806255340576, -0.07476642727851868, -0.00180506706237793, -0.1775704324245453, 0.08122694492340088,
									-0.06728944182395935, 0.1444039344787598, 0.00186958909034729, 0.1552349328994751, 0.1457946002483368], 0], ["images/branchright-sheet0.png", 343863, 1113, 1075, 554, 535, 1, 0.5018050670623779, 0.4990654289722443, [], [-0.00180506706237793, 0.4616825878620148, -0.1462090611457825, 0.1327105462551117, -0.08303207159042358, 0.00186958909034729, -0.08122706413269043, -0.06355142593383789, -0.00180506706237793, -0.164486438035965, 0.1714799404144287, 0.00186958909034729, 0.1732849478721619, 0.1644855439662933], 0]]], ["Default", 5,
						!1, 1, 0, !1, 9967042059145988, [["images/branchright2-sheet0.png", 124352, 587, 1, 584, 535, 1, 0.5, 0.4990654289722443, [], [-0.006848990917205811, 0.1310715973377228, 0.1027399897575378, 0.1279725730419159, 0.1643840074539185, 0.3796295821666718, -0.04965698719024658, 0.3787515461444855], 0]]]], [["Bullet", O, 0xc0fbc3a3ed277], ["Anchor", pc, 9047969080437576]], !1, !1, 5848485070723676, [], null], ["t20", E, !1, [], 2, 0, null, [["Default", 5, !1, 1, 0, !1, 9423616804433700, [["images/sprite6-sheet0.png", 28405, 0, 0, 310, 606, 1, 0.5, 0.5, [], [0.2225810289382935,
									0, 0.2290319800376892, 0.3613860011100769, -0.2322579920291901, 0], 0]]]], [["Bullet", O, 8101523586805878], ["Sine", nf, 7803881546214948]], !1, !1, 0x7cef4137bebc0, [], null], ["t21", E, !1, [], 0, 0, null, [["Default", 5, !1, 1, 0, !1, 8465423165888946, [["images/birdscare-sheet0.png", 168, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 3]]]], [], !1, !1, 6459677023802671, [], null], ["t22", E, !1, [], 2, 0, null, [["Default", 5, !1, 1, 0, !1, 5116435395016321, [["images/sprite7-sheet0.png", 3716, 0, 0, 271, 118, 1, 0.5018450021743774, 0.5, [], [-0.003690004348754883, -0.2288140058517456,
									0.4575650095939636, -0.4067797064781189, 0.431734025478363, 0, 0.2398520112037659, -0.09321999549865723, -0.003690004348754883, 0.110168993473053, -0.4132840931415558, 0.2966099977493286, -0.4538744986057282, 0], 0]]]], [["Anchor", pc, 9427250988009794], ["Sine", nf, 0x84ccad51bb5b7]], !1, !1, 0xaf44c101d0c1a, [], null], ["t23", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 8141232196467478, [["images/sprite8-sheet0.png", 9376, 0, 0, 316, 266, 1, 0.5, 0.5037593841552734, [], [], 0]]]], [["Sine", nf, 81116586680205]], !1, !1, 9249798526614712, [],
				null], ["t24", kc, !1, [], 1, 0, ["images/spritefont.png", 6389, 0], null, [["Anchor", pc, 9385026551930108]], !1, !1, 8838041239886618, [], null], ["t25", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 9482114149715264, [["images/meters-sheet0.png", 168, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 3]]]], [["Bullet", O, 4645290545829865]], !1, !1, 6519825252654862, [], null], ["t26", E, !1, [], 1, 0, null, [["Default", 4, !0, 1, 0, !1, 0x95883e3db1ee, [["images/endscreen-sheet0.png", 199945, 1, 1, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [], 0], ["images/endscreen-sheet0.png",
								199945, 853, 1, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [-0.414117693901062, -0.396333247423172, -0.00117647647857666, -0.5007052421569824, 0.4011765122413635, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet0.png", 199945, 1, 712, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4011765122413635, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet0.png",
								199945, 853, 712, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4011765122413635, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet1.png", 212492, 1, 1, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4011765122413635, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet1.png", 212492, 853, 1, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4011765122413635,
									-0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet1.png", 212492, 1, 712, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4035295248031616, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0], ["images/endscreen-sheet1.png", 212492, 853, 712, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4035295248031616, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402,
									0.3808177709579468], 0], ["images/endscreen-sheet2.png", 77550, 0, 0, 850, 709, 1, 0.5011764764785767, 0.5007052421569824, [], [0.4011765122413635, -0.3836392462253571, 0.4082355499267578, 0.3906907439231873, -0.4023529887199402, 0.3808177709579468], 0]]]], [["CustomMovement", of, 0xae1b47ec79080]], !1, !1, 0x39c2b4655c15e, [], null], ["t27", kc, !1, [], 2, 0, ["images/endscore.png", 122023, 0], null, [["Pin", mf, 9022721393185624], ["Sine", nf, 7239906276650368]], !1, !1, 6831827575789391, [], null], ["t28", E, !1, [], 2, 0, null, [["Default", 5, !1, 1,
						0, !1, 6306878611073131, [["images/sprite8-sheet0.png", 9376, 0, 0, 316, 266, 1, 0.5, 0.5037593841552734, [], [], 0]]]], [["Sine", nf, 8771744390109187], ["Pin", mf, 6574624383677815]], !1, !1, 5787673712918244, [], null], ["t29", kc, !1, [], 2, 0, ["images/endscore.png", 122023, 0], null, [["Pin", mf, 9582610928529938], ["Sine", nf, 7236694956421008]], !1, !1, 8736507783689802, [], null], ["t30", ic, !1, [], 0, 0, null, null, [], !1, !1, 0xfa6502133890e, [], null, [0, 0, 1, 1, 600, 600, 1E4, 1, 5E3, 1]], ["t31", mc, !1, [], 0, 0, null, null, [], !1, !1, 5484799276522196, [], null,
				[]], ["t32", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 5869435385426516, [["images/nutka-sheet0.png", 4781, 0, 0, 95, 145, 1, 0.5052631497383118, 0.5034482479095459, [], [], 0]]]], [["Anchor", pc, 5257719012147917]], !1, !1, 6836927250400724, [], null], ["t33", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 435350424201264, [["images/sprite10-sheet0.png", 19035, 0, 0, 800, 480, 1, 0.5, 0.5, [], [0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5], 1]]]], [["Anchor", pc, 370596408309219]], !1, !1, 0x47f51b505d854, [], null], ["t34", jc, !1, [], 0, 0, null, null, [], !1, !1,
				6132345883980231, [], null, []], ["t35", E, !1, [], 2, 0, null, [["Default", 5, !1, 1, 0, !1, 0xb990d584d6ab5, [["images/sprite11-sheet0.png", 155, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 4]]]], [["Anchor", pc, 6478840717986376], ["Fade", qc, 7413313290333615]], !1, !1, 0x7d389ada06398, [], null], ["t36", E, !1, [], 0, 0, null, [["Default", 5, !1, 1, 0, !1, 0x75801bacb01a7, [["images/meters-sheet0.png", 168, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 3]]]], [], !1, !1, 0xd98d119711c9e, [], null], ["t37", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 7254287645935227, [["images/meters-sheet0.png",
								168, 0, 0, 250, 250, 1, 0.5, 0.5, [], [], 3]]]], [["Anchor", pc, 0x8282de7a52be8]], !1, !1, 9460973519825952, [], null], ["t38", E, !1, [], 1, 0, null, [["Default", 5, !1, 1, 0, !1, 0x5ad84caa3f300, [["images/silver-sheet0.png", 6456, 0, 0, 395, 56, 1, 0.501265823841095, 0.5, [], [-0.4683544337749481, -0.2678571343421936, 0.4632911086082459, -0.25, 0.4784809947013855, 0, 0.4658227562904358, 0.2678571343421936, -0.4683544337749481, 0.2678571343421936], 0]]]], [["Anchor", pc, 0xe3411b7266831]], !1, !1, 526299981867135, [], null], ["t39", E, !1, [], 0, 0, null, [["Default",
						5, !1, 1, 0, !1, 5459865659423086, [["images/sprite12-sheet0.png", 11924, 0, 0, 640, 960, 1, 0.5, 0.5, [], [], 1]]]], [], !1, !1, 9616035680092164, [], null]], [], [["Layout 1", 720, 1280, !1, "Event sheet 1", 827304368502551, [["Layer 2", 0, 0x8c416fdf7e411, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [[[373, 639, 0, 722, 1298, 0, 0, 1, 0.5, 0.5, 0, 0, []], 8, 5, [], [[0, 0, 1, 1, 1], [0]], [0, "Default", 0, 0]], [[108, 1050, 0, 367.4694519042969, 531.244140625, 0, -1.570796370506287, 1, 0.4986072480678558, 0.5009633898735046, 0, 0, []], 9, 10, [], [[400, 0, 0, 0, 1, 0]], [0, "Default",
									0, 0]], [[139, 205, 0, 367.4694519042969, 531.244140625, 0, -1.570796370506287, 1, 0.4986072480678558, 0.5009633898735046, 0, 0, []], 9, 16, [], [[400, 0, 0, 0, 1, 0]], [0, "Default", 0, 0]], [[-517, 623, 0, 600, 1649, 0, 0, 1, 0.5, 0.5, 0, 0, []], 36, 32, [], [], [0, "Default", 0, 1]], [[1297, 682, 0, 824, 1517, 0, 0, 1, 0.5, 0.5, 0, 0, []], 37, 33, [], [[1, 2, 0, 0, 1]], [0, "Default", 0, 1]]], []], ["Layer 1", 1, 533566945819349, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [[[533, 613, 0, 326, 495, 0, -1.570796370506287, 1, 0.5021459460258484, 0.4984984993934631, 0, 0, []], 10, 11, [], [[420, 0,
										0, 0, 1, 0]], [0, "Default", 0, 0]]], []], ["Layer 0", 2, 5993520271787214, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [[[86, 6, 0, 231, 90, 0, 0, 1, 0, 0, 0, 0, []], 24, 20, [], [[0, 2, 0, 0, 1]], [32, 34, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@\u00b0+=*$\u00a3\u20ac<>", "0", 1.8, 1, 0, 0, 0, 0, -18, 0]], [[-564, 273, 0, 446.6904602050781, 409.2113342285156, 0, -1.570796370506287, 1, 0.5, 0.4990654289722443, 0, 0, []], 3, 4, [], [[700, 0, 0, 0, 1, 1]], [0, "Default", 0, 1]], [[31.44709014892578, 709.9976196289062, 0, -93, 1978, 0,
									0, 1, 0.5031315088272095, 0.5, 0, 0, []], 0, 0, [], [], [0, "Default", 0, 1]], [[688.526123046875, 537, 0, 93, 1745, 0, 0, 1, 0.5031315088272095, 0.5, 0, 0, []], 12, 8, [], [[1, 2, 0, 0, 1]], [0, "Default", 0, 1]], [[115, -155, 0, 245.5999450683594, 315.4424133300781, 0, 0, 1, 0.503125011920929, 0.5012165307998657, 0, 0, []], 1, 2, [[0], [1]], [[0, 5, 1], [0, 1, 0, 3, 0, 0, 0, 130, 0], [0, 0, 0, 70, 0, 0, 0, 0.01, 0, 0]], [0, "Default", 0, 1]], [[97, -129, 0, 458, 436, 0, 0, 1, 0.5, 0.5, 0, 0, []], 14, 9, [], [[]], [0, "Default", 0, 1]], [[-708, 72, 0, 58.79795837402344, 48.9983024597168, 0, -1.570796370506287,
									1, 0.5, 0.4933333396911621, 0, 0, []], 13, 1, [[0]], [[700, 0, 0, 0, 1, 1], [444, 1111, -50, 0, 1, 0]], [0, "Default", 0, 1]], [[1482, -155, 0, 60.35892868041992, 50.29910659790039, 0, -1.570796370506287, 1, 0.5, 0.5066666603088379, 0, 0, []], 15, 14, [[0]], [[700, 0, 0, 0, 1, 1], [444, 1111, 0, 0, 1, 0]], [0, "Default", 0, 1]], [[1237, -213, 0, 449.0208129882813, -419.5728149414063, 0, -1.570796370506287, 1, 0.5, 0.5009346008300781, 0, 0, []], 5, 7, [], [[700, 0, 0, 0, 1, 1]], [0, "Default", 0, 1]], [[495, 521, 0, 502.2664794921875, 460.124267578125, 0, -1.570796370506287, 1, 0.5, 0.4990654289722443,
									0, 0, []], 19, 15, [], [[700, 0, 0, 0, 1, 0], [1, 2, 0, 0, 1]], [0, "Default", 0, 0]]], []], ["ui", 3, 6284098078625199, !0, [255, 255, 255], !0, 0, 0, 1, !1, 1, 0, 0, [[[360, 728, 0, 282.68798828125, 552.6093139648438, 0, -1.570796370506287, 1, 0.5, 0.5, 0, 0, []], 20, 12, [], [[700, 0, 0, 0, 1, 0], [1, 2, 0, 2, 0, 0, 0, 9, 0]], [0, "Default", 0, 0]], [[307, 414, 0, 3653, 20, 0, 0, 1, 0.5, 0.5, 0, 0, []], 21, 13, [], [], [0, "Default", 0, 1]], [[367, 1105, 0, 237.9046478271484, 200.2615051269531, 0, 0, 1, 0.5, 0.5037593841552734, 0, 0, []], 23, 17, [], [[0, 2, 0, 1, 0, 0, 0, 12, 0]], [0, "Default", 0, 1]], [[542, 113,
									0, 398.1874694824219, 364.7779235839844, 0, -1.208542227745056, 1, 0.5, 0.4990654289722443, 0, 0, []], 19, 19, [], [[700, 0, 0, 0, 1, 0], [1, 2, 0, 0, 1]], [0, "Default", 0, 0]], [[436, 202, 0, 703.1375122070312, 644.1414184570312, 0, -1.44330358505249, 1, 0.5, 0.4990654289722443, 0, 0, []], 19, 18, [], [[700, 0, 0, 0, 1, 0], [1, 2, 0, 0, 1]], [0, "Default", 0, 0]], [[-2238, 0, 0, 250, 250, 0, 1.570796370506287, 1, 0.5, 0.5, 0, 0, []], 25, 21, [], [[2, 0, 0, 0, 1, 0]], [0, "Default", 0, 1]], [[365, 1644, 0, 656.086669921875, 547.25341796875, 0, 0, 1, 0.5011764764785767, 0.5007052421569824,
									0, 0, []], 26, 22, [], [[0, 5, 1]], [0, "Default", 0, 0]], [[-188, 1595, 0, 1123, 389, 0, 0, 1, 0, 0, 0, 0, []], 27, 23, [], [[], [1, 5, 0, 1, 0, 0, 0, 1, 0]], [61, 64, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@\u00b0+=*$\u00a3\u20ac<>", "0", 1.8, 1, 1, 0, 0, 0, -50, 0]], [[367, 2006, 0, 237.9049987792969, 200.2619934082031, 0, 0, 1, 0.5, 0.5037593841552734, 0, 0, []], 28, 24, [], [[1, 0, 0, 4, 0, 0, 0, 50, 0], []], [1, "Default", 0, 1]], [[95, 1718, 0, 581, 198, 0, 0.05274521186947823, 1, 0, 0, 0, 0, []], 29, 25, [], [[], [0, 6, 0, 0.3, 0, 0, 0, 100, 0]],
								[61, 64, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@\u00b0+=*$\u00a3\u20ac<>", "Best:222", 0.8, 1, 1, 0, 0, 0, -12, 0]], [[602, 1216, 0, 86.19544982910156, 131.5614776611328, 0, 0, 1, 0.5052631497383118, 0.5034482479095459, 0, 0, []], 32, 28, [], [[1, 1, 0, 0, 1]], [0, "Default", 0, 1]], [[241, 1254, 0, 309.381591796875, 43.8616943359375, 0, 0, 1, 0.501265823841095, 0.5, 0, 0, []], 38, 34, [], [[0, 2, 0, 0, 1]], [0, "Default", 0, 1]]], []], ["Layer 3", 4, 0x73e3806760499, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [[[379.3314208984375,
									648.9990234375, 0, 825, 1329, 0, 3.141592741012573, 1, 0.5, 0.5, 0, 0, []], 33, 29, [], [[0, 0, 1, 1, 1]], [0, "Default", 0, 1]], [[360, 680, 0, 1044, 1545, 0, 0, 1, 0.5, 0.5, 0, 0, []], 35, 31, [], [[0, 0, 1, 1, 1], [1, 0, 0, 0.5, 1]], [0, "Default", 0, 1]]], []]], [], []], ["logo", 720, 1280, !1, "Event sheet 2", 0xdc69d8f5a0b33, [["Layer 0", 0, 8456410227638161, !0, [80, 166, 211], !1, 0, 0, 1, !1, 1, 0, 0, [[[368, 664, 0, 495.4367980957031, 875.2942504882812, 0, 0, 1, 0.5, 0.5, 0, 0, []], 39, 35, [], [], [0, "Default", 0, 1]], [[348, 624, 0, 825, 1329, 0, 3.141592741012573, 1, 0.5, 0.5, 0, 0, []], 33, 36,
								[], [[0, 0, 1, 1, 1]], [0, "Default", 0, 1]]], []]], [], []]], [["Event sheet 1", [[1, "dead", 0, 0, !1, !1, 930733432150587, !1], [1, "goup", 0, 0, !1, !1, 5167829616349288, !1], [1, "lastBranchY", 0, 0, !1, !1, 7846748610709952, !1], [1, "shithelpSound", 0, 0, !1, !1, 6281271620096943, !1], [1, "tempWeb", 0, 0, !1, !1, 0x41abfb1632974, !1], [1, "maxRand", 0, 1.5, !1, !1, 8651269823349407, !1], [1, "start", 0, 0, !1, !1, 69148278928956, !1], [1, "RandomSide", 0, 0, !1, !1, 4967099688830654, !1], [0, null, !1, null, 7452224004422171, [[2, lc.prototype.B.No, null, 1, !1, !1, !1, 0x4fcacafd2939f,
								!1], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x9741c7114b7b5, !1, [[10, 0], [8, 0], [7, [0, 0]]]], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x7ff4f5a40bd41, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6564331422532431, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 5730336203980605, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[1, E.prototype.A.tf, null, 8066795044069574, !1, [[10, 0], [7, [0, 1]]]], [1, E.prototype.A.We, null, 0xae603a2f3a9a6, !1, [[1, [2, "jump"]], [3, 1]]], [1, of.prototype.A.um, "CustomMovement",
								6816506904651737, !1, [[3, 0], [0, [0, 2600]]]], [1, E.prototype.A.Aw, null, 0x5f6ec6fd0fa85, !1, [[3, 0]]], [30, ic.prototype.A.Play, null, 0x5bfaa03aeda8d, !1, [[2, ["jump 2 (without delay)", !1]], [3, 0], [0, [0, 12]], [1, [2, ""]]]]]], [0, null, !1, null, 0xdfe4df4c3fd8e, [[2, lc.prototype.B.No, null, 1, !1, !1, !1, 5390938372281164, !1], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 5644245328733099, !1, [[10, 0], [8, 0], [7, [0, 0]]]], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xf3e57ec4a6199, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1,
								8185478328704814, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x944af82454e0a, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[1, E.prototype.A.tf, null, 9464834875743014, !1, [[10, 0], [7, [0, 1]]]], [1, E.prototype.A.We, null, 7477484322259695, !1, [[1, [2, "jump"]], [3, 1]]], [1, of.prototype.A.um, "CustomMovement", 7383040247000932, !1, [[3, 0], [0, [0, -2600]]]], [1, E.prototype.A.Aw, null, 9249470817891780, !1, [[3, 1]]], [30, ic.prototype.A.Play, null, 7075136017589547, !1, [[2, ["jump 2 (without delay)", !1]], [3, 0], [0,
										[0, 12]], [1, [2, ""]]]]]], [0, null, !1, null, 5809291575683493, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 0x8b40065e4aba1, !1, [[4, 0]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x57d6c7a59aa0d, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.tf, null, 6440826973360329, !1, [[10, 0], [7, [0, 0]]]], [1, E.prototype.A.tf, null, 807209219131476, !1, [[10, 1], [7, [3, [21, 1, !1, null, 1]]]]], [1, of.prototype.A.xm, "CustomMovement", 817652425168568, !1], [1, of.prototype.A.um, "CustomMovement", 8348185339069908, !1, [[3, 0], [0, [0, 0]]]], [1, E.prototype.A.We,
								null, 7920522732024606, !1, [[1, [2, "Default"]], [3, 1]]], [30, ic.prototype.A.Play, null, 5864137555875829, !1, [[2, ["jump 1 (without delay)", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]]], [[0, null, !1, null, 8999125677931454, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xc629cc06053fc, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x6301340b2f00d, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 0xdadfa4c38fca7, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 7033732322256838,
								[[1, E.prototype.B.vc, null, 0, !1, !1, !1, 9644808440939636, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0xfc4b39bfa5b21, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 689167177423226, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 83]]]]]]]]], [0, null, !1, null, 96059777755638, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 7126685137007488, !1, [[4, 12]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 7270193900637492, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.tf, null, 755980976566756, !1,
								[[10, 0], [7, [0, 0]]]], [1, E.prototype.A.We, null, 0xcc9f385c3e9f, !1, [[1, [2, "Default"]], [3, 1]]], [1, of.prototype.A.xm, "CustomMovement", 4512868723096483, !1], [1, E.prototype.A.tf, null, 0x78899eff6e9ab, !1, [[10, 1], [7, [3, [21, 1, !1, null, 1]]]]], [30, ic.prototype.A.Play, null, 0x8e89a75ad1eeb, !1, [[2, ["jump 1 (without delay)", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]]], [[0, null, !1, null, 0xacbefd9d1f5f5, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x702e33a6155a5, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 8691463298576995,
										!1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 9452865166762148, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 0xafd98f512b393, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x60823bcfdecfb, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 7420391905071103, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 0x96bb5e03b3813, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 83]]]]]]]]], [0, null, !1, null, 7456651725563467, [[-1, B.prototype.B.xj, null, 0, !1,
								!1, !1, 0x8e8d8ede2eb9b, !1, [[0, [19, B.prototype.W.random, [[1, 0.5], [23, "maxRand"]]]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6218846691118746, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 796365203606485, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.Fj, null, 627080299449939, !1, [[11, "RandomSide"], [7, [19, B.prototype.W.floor, [[19, B.prototype.W.random, [[0, 1], [0, 3]]]]]]]], [4, hc.prototype.A.CallFunction, null, 0xd78fa565f8010, !1, [[1, [2, "Gen"]], [13]]]]], [0, null, !1, null, 0x4078d88aa9446,
						[[-1, B.prototype.B.xj, null, 0, !1, !1, !1, 0xbf48d4ac1014a, !1, [[0, [19, B.prototype.W.random, [[0, 2], [0, 5]]]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0xc76bae24d9204, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 5437526024563343, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.ph, null, 7538689387302288, !1, [[4, 9], [5, [0, 0]], [0, [19, B.prototype.W.random, [[0, 0], [0, 700]]]], [0, [0, 1500]]]], [9, O.prototype.A.Hb, "Bullet", 9033435419662400, !1, [[3, 1]]]]], [0, null, !1, null, 7866499885290795, [[-1,
								B.prototype.B.xj, null, 0, !1, !1, !1, 0x4f4c429a55c14, !1, [[0, [19, B.prototype.W.random, [[0, 1], [0, 6]]]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6349283271419422, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6358222037030244, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.ph, null, 0x7e85ca2d4703e, !1, [[4, 10], [5, [0, 1]], [0, [19, B.prototype.W.random, [[0, 0], [0, 700]]]], [0, [0, 1500]]]], [10, O.prototype.A.Hb, "Bullet", 0x3e6d98fc259c1, !1, [[3, 1]]]]], [0, null, !1, null, 5445772018323441, [[3, E.prototype.B.Ag,
								null, 0, !1, !1, !1, 0x7d04fa710098, !1, [[8, 2], [0, [0, -90]]]]], [[3, E.prototype.A.Ob, null, 5923546482485594, !1]]], [0, null, !1, null, 0x6ef279ce63cfc, [[5, E.prototype.B.Ag, null, 0, !1, !1, !1, 8917518119565263, !1, [[8, 2], [0, [0, -90]]]]], [[5, E.prototype.A.Ob, null, 7367822210012557, !1]]], [0, null, !1, null, 5380841990383775, [[19, E.prototype.B.Ag, null, 0, !1, !1, !1, 4811117493623353, !1, [[8, 2], [0, [0, -90]]]]], [[19, E.prototype.A.Ob, null, 578636402482631, !1]]], [0, null, !1, null, 7316685230593091, [[13, E.prototype.B.Ag, null, 0, !1, !1, !1, 8763887109372815,
								!1, [[8, 2], [0, [0, -90]]]]], [[13, E.prototype.A.Ob, null, 6718882672394851, !1]]], [0, null, !1, null, 7909911077070444, [[20, E.prototype.B.Ag, null, 0, !1, !1, !1, 8698294782306782, !1, [[8, 2], [0, [0, -140]]]]], [[20, E.prototype.A.Ob, null, 647024852490013, !1]]], [0, null, !1, null, 9608654494703296, [[15, E.prototype.B.Ag, null, 0, !1, !1, !1, 5350361493814741, !1, [[8, 2], [0, [0, -90]]]]], [[15, E.prototype.A.Ob, null, 4866546244649342, !1]]], [0, null, !1, null, 6273230811052782, [[9, E.prototype.B.Ag, null, 0, !1, !1, !1, 528680337512242, !1, [[8, 2], [0, [0,
											-190]]]]], [[9, E.prototype.A.Ob, null, 9516561489551542, !1]]], [0, null, !1, null, 4965922521834725, [[10, E.prototype.B.Ag, null, 0, !1, !1, !1, 8336010288456949, !1, [[8, 2], [0, [0, -190]]]]], [[10, E.prototype.A.Ob, null, 8025536627361315, !1]]], [0, null, !1, null, 0x47a697a9429d6, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 5310783821052725, !1, [[1, [2, "Gen"]]]]], [], [[0, null, !1, null, 0x3ad81489d2fb5, [[-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 9706373135592164, !1, [[11, "RandomSide"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.ph, null, 6813568414127564,
										!1, [[4, 3], [5, [0, 2]], [0, [0, 200]], [0, [0, 1500]]]], [1, E.prototype.A.dw, null, 5339270844743262, !1]]], [0, null, !1, null, 7792813932295017, [[-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6199750923882763, !1, [[11, "RandomSide"], [8, 0], [7, [0, 2]]]]], [[-1, B.prototype.A.ph, null, 8573770408611437, !1, [[4, 5], [5, [0, 2]], [0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 166]]], [0, [0, 1500]]]], [1, E.prototype.A.dw, null, 7771630967075588, !1]]]]], [0, null, !1, null, 7795955640028718, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 9274143053831872, !1]], [[1, E.prototype.A.ye,
								null, 0xd520687cff7f, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 10]]]]], [14, mf.prototype.A.Oo, "Pin", 0x58f298d11c251, !1, [[4, 1], [3, 0]]], [21, E.prototype.A.ye, null, 0x66da73c13971a, !1, [[0, [20, 0, E.prototype.W.Hc, !1, null]]]]]], [0, null, !1, null, 5568249996257664, [[13, E.prototype.B.uh, null, 0, !1, !1, !0, 0x73cc5f09d139c, !1, [[4, 14]]]], [[13, O.prototype.A.rw, "Bullet", 8153503630045142, !1, [[0, [0, 1222]]]], [13, E.prototype.A.We, null, 0xd514b11c3f26a, !1, [[1, [2, "fly"]], [3, 1]]], [13, E.prototype.A.vi, null, 0x82eb1a081d170, !1,
								[[0, [19, B.prototype.W.random, [[0, 320], [0, 330]]]]]], [4, hc.prototype.A.CallFunction, null, 719076416798846, !1, [[1, [2, "birdsLeft"]], [13]]]]], [0, null, !1, null, 7919343022315819, [[15, E.prototype.B.uh, null, 0, !1, !1, !0, 0xfd545da358123, !1, [[4, 14]]]], [[15, O.prototype.A.rw, "Bullet", 5858849393390159, !1, [[0, [0, 2222]]]], [15, E.prototype.A.We, null, 9739473989701524, !1, [[1, [2, "fly"]], [3, 1]]], [15, E.prototype.A.vi, null, 9906065418822988, !1, [[0, [19, B.prototype.W.random, [[0, 230], [0, 240]]]]]], [4, hc.prototype.A.CallFunction,
								null, 0x9ee0220928c11, !1, [[1, [2, "birdsRight"]], [13]]]]], [0, null, !1, null, 0x79e6b9f82ed8c, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 400857013618657, !1, [[1, [2, "birdsLeft"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 6393158383408034, !1, [[4, 13], [7, [0, 0]], [3, 0]]]], [[13, E.prototype.A.tf, null, 9712791873902572, !1, [[10, 0], [7, [0, 1]]]], [13, O.prototype.A.Hb, "Bullet", 8959867403623634, !1, [[3, 0]]], [13, O.prototype.A.Hb, "Bullet2", 0x56d5c6d60c7f9, !1, [[3, 1]]], [13, E.prototype.A.We, null, 8960146755784566, !1, [[1, [2, "fly"]], [3, 1]]],
							[13, E.prototype.A.vi, null, 5124808376718973, !1, [[0, [19, B.prototype.W.random, [[0, 320], [0, 330]]]]]]], [[0, null, !1, null, 5442782645642819, [[30, ic.prototype.B.Rr, null, 0, !1, !0, !1, 0x57c160356fbd2, !1, [[1, [2, "bird"]]]]], [[30, ic.prototype.A.Play, null, 9138936123254564, !1, [[2, ["11660 flying away bird", !1]], [3, 0], [0, [0, 4]], [1, [2, "bird"]]]]]]]], [0, null, !1, null, 8704531536278716, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 7206334482339568, !1, [[1, [2, "birdsRight"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 9618129446355E3, !1,
								[[4, 15], [7, [0, 0]], [3, 0]]]], [[15, E.prototype.A.tf, null, 6294967389869774, !1, [[10, 0], [7, [0, 1]]]], [15, O.prototype.A.Hb, "Bullet", 667226981631923, !1, [[3, 0]]], [15, O.prototype.A.Hb, "Bullet2", 0x74085564fa7cb, !1, [[3, 1]]], [15, E.prototype.A.We, null, 6056437615408842, !1, [[1, [2, "fly"]], [3, 1]]], [15, E.prototype.A.vi, null, 0x407329259e3db, !1, [[0, [19, B.prototype.W.random, [[0, 220], [0, 230]]]]]]], [[0, null, !1, null, 7863819566132721, [[30, ic.prototype.B.Rr, null, 0, !1, !0, !1, 7883135627669518, !1, [[1, [2, "bird2"]]]]], [[30, ic.prototype.A.Play,
										null, 5287547799482898, !1, [[2, ["11660 flying away bird", !1]], [3, 0], [0, [0, 4]], [1, [2, "bird2"]]]]]]]], [0, null, !1, null, 0xc912eb8c68998, [[-1, B.prototype.B.xj, null, 0, !1, !1, !1, 5692162009202603, !1, [[0, [19, B.prototype.W.random, [[0, 6], [0, 19]]]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0xdfbbf1f19ca1a, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 7394102727514101, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.ph, null, 0x7f75ccc4bfb01, !1, [[4, 13], [5, [0, 2]], [0, [4, [20, 0, E.prototype.W.Hc,
												!1, null], [0, 68]]], [0, [0, 1500]]]], [-1, B.prototype.A.ph, null, 4982681498377186, !1, [[4, 13], [5, [0, 2]], [0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 68]]], [0, [4, [0, 1500], [19, B.prototype.W.random, [[0, 70], [0, 150]]]]]]], [-1, B.prototype.A.ph, null, 0xc94aac40ba4e8, !1, [[4, 13], [5, [0, 2]], [0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 68]]], [0, [4, [0, 1650], [19, B.prototype.W.random, [[0, 80], [0, 150]]]]]]]]], [0, null, !1, null, 0x92acb7f1efb1, [[-1, B.prototype.B.xj, null, 0, !1, !1, !1, 0xbc38762daacf7, !1, [[0, [19, B.prototype.W.random, [[0,
													5], [0, 16]]]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6985576333030157, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 8532722816443455, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.ph, null, 8895025324008279, !1, [[4, 15], [5, [0, 2]], [0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 68]]], [0, [4, [0, 1550], [19, B.prototype.W.random, [[0, 80], [0, 150]]]]]]], [-1, B.prototype.A.ph, null, 520764184389565, !1, [[4, 15], [5, [0, 2]], [0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 68]]], [0, [4, [0, 1700], [19, B.prototype.W.random,
												[[0, 80], [0, 150]]]]]]], [-1, B.prototype.A.Yf, null, 7227495016229433, !1, [[0, [19, B.prototype.W.random, [[1, 0.2], [0, 1]]]]]]]], [0, null, !1, null, 4726539449370565, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 8085266638328371, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 864933002051738, !1, [[4, 3], [7, [0, 0]], [3, 0]]]], [[3, O.prototype.A.Hb, "Bullet", 8124096994622846, !1, [[3, 0]]]]], [0, null, !1, null, 21934351298555, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 677781261462945, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi,
								null, 0, !0, !1, !1, 5247232611641358, !1, [[4, 5], [7, [0, 0]], [3, 0]]]], [[5, O.prototype.A.Hb, "Bullet", 0x70c1d620ae1f, !1, [[3, 0]]]]], [0, null, !1, null, 0x77c70ca47e2be, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 8329334616866267, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 0xecf2fb9225e13, !1, [[4, 13], [7, [0, 0]], [3, 0]]], [13, E.prototype.B.vc, null, 0, !1, !1, !1, 0xc920cdfece871, !1, [[10, 0], [8, 0], [7, [0, 0]]]]], [[13, O.prototype.A.Hb, "Bullet", 9440443398832660, !1, [[3, 0]]]]], [0, null, !1, null, 0xf621a85be57c1, [[4, hc.prototype.B.le,
								null, 2, !1, !1, !1, 34185209834834, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 0x4beb81e05c512, !1, [[4, 15], [7, [0, 0]], [3, 0]]], [15, E.prototype.B.vc, null, 0, !1, !1, !1, 6382279314096255, !1, [[10, 0], [8, 0], [7, [0, 0]]]]], [[15, O.prototype.A.Hb, "Bullet", 0x6f233e175aed1, !1, [[3, 0]]]]], [0, null, !1, null, 4967496497002172, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 0xe54103ed1b8a7, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 5789167885936827, !1, [[4, 10], [7, [0, 0]], [3, 0]]]], [[10, O.prototype.A.Hb,
								"Bullet", 0x3e4f82f185ecd, !1, [[3, 0]]]]], [0, null, !1, null, 7450590348746191, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 6623976014439421, !1, [[1, [2, "DeadStop"]]]], [-1, B.prototype.B.qi, null, 0, !0, !1, !1, 5072445705890283, !1, [[4, 9], [7, [0, 0]], [3, 0]]]], [[9, O.prototype.A.Hb, "Bullet", 9756965115838036, !1, [[3, 0]]]]], [0, null, !1, null, 8994542088196263, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 6982314992679162, !1, [[4, 3]]]], [[4, hc.prototype.A.CallFunction, null, 0xb534469eb91cd, !1, [[1, [2, "fall"]], [13]]], [3, E.prototype.A.vw, null, 6511541677310752,
								!1, [[3, 0]]], [-1, B.prototype.A.Fj, null, 8374177766772068, !1, [[11, "dead"], [7, [0, 1]]]], [3, E.prototype.A.We, null, 7090050700114217, !1, [[1, [2, "hit"]], [3, 1]]], [4, hc.prototype.A.CallFunction, null, 0xbfc7bbfb78335, !1, [[1, [2, "DeadStop"]], [13]]], [25, O.prototype.A.Hb, "Bullet", 4817886939810788, !1, [[3, 0]]], [30, ic.prototype.A.Play, null, 8999062285829107, !1, [[2, ["hit", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]], [4, hc.prototype.A.CallFunction, null, 7089832321667825, !1, [[1, [2, "restart"]], [13]]]]], [0, null, !1, null, 5230162425284142,
						[[1, E.prototype.B.uh, null, 0, !1, !1, !0, 5485151859317753, !1, [[4, 5]]]], [[4, hc.prototype.A.CallFunction, null, 9953376158199432, !1, [[1, [2, "fall"]], [13]]], [5, E.prototype.A.vw, null, 0xab140704353ff, !1, [[3, 0]]], [-1, B.prototype.A.Fj, null, 0xbf853a0f89cef, !1, [[11, "dead"], [7, [0, 1]]]], [5, E.prototype.A.We, null, 7554096174489345, !1, [[1, [2, "hit"]], [3, 1]]], [4, hc.prototype.A.CallFunction, null, 0x7df634c46ac21, !1, [[1, [2, "DeadStop"]], [13]]], [25, O.prototype.A.Hb, "Bullet", 964331881112562, !1, [[3, 0]]], [30, ic.prototype.A.Play,
								null, 9095069783831112, !1, [[2, ["hit", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]], [4, hc.prototype.A.CallFunction, null, 0x6bc4bf61e5369, !1, [[1, [2, "restart"]], [13]]]]], [0, null, !1, null, 6303483692597952, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 4089378522034, !1, [[1, [2, "fall"]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 8009243293391557, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, of.prototype.A.Hb, "CustomMovement", 0xd266d0f9bcd94, !1, [[3, 0]]], [1, nf.prototype.A.Cj, "Sine", 5257167017386555, !1, [[3, 0]]], [1, E.prototype.A.We, null,
								9881535483995714, !1, [[1, [2, "fall"]], [3, 1]]], [1, lf.prototype.A.dB, "Physics", 7857373393567854, !1, [[0, [0, 75]]]], [1, lf.prototype.A.Hb, "Physics", 6868939284776065, !1, [[3, 1]]], [30, ic.prototype.A.Play, null, 7380671115935859, !1, [[2, ["06081 man falling 2", !1]], [3, 0], [0, [0, -4]], [1, [2, ""]]]]], [[0, null, !1, null, 0x5d11efad0825a, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 7252812268757857, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xb9f7e7aa4924e, !1, [[10, 0], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye,
										null, 0xe5f93b41ba0c4, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 8288612305579348, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 370684675632431, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 4959105036075033, !1, [[10, 0], [8, 0], [7, [0, 1]]]]], [[1, E.prototype.A.ye, null, 5087276712190627, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 0x7267d7c70889d, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xdc1506378febd, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [1, E.prototype.B.vc,
										null, 0, !1, !1, !1, 0xc6c6f180d348a, !1, [[10, 0], [8, 0], [7, [0, 1]]]]], [[1, E.prototype.A.ye, null, 8637376695264369, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 951085763276318, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 7138310760301018, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [1, E.prototype.B.vc, null, 0, !1, !1, !1, 6014801485220704, !1, [[10, 0], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 7263245444149026, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 83]]]]]]]]], [0, null, !1, null, 0xfa543d841c1e7, [[-1, B.prototype.B.xj,
								null, 0, !1, !1, !1, 0xb5246fe2319a6, !1, [[0, [0, 5]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x79c0b5293b865, !1, [[11, "maxRand"], [8, 4], [7, [1, 0.5]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 9452381156099868, !1, [[11, "start"], [8, 0], [7, [0, 1]]]]], [[-1, B.prototype.A.lB, null, 590288265894931, !1, [[11, "maxRand"], [7, [1, 0.1]]]]]], [0, null, !1, null, 0xc6bed0fe0c84b, [[2, lc.prototype.B.Vk, null, 1, !1, !1, !1, 9518736506416072, !1, [[4, 23]]], [23, nf.prototype.B.rh, "Sine", 0, !1, !0, !1, 0x8f21f95e5bd74, !1]], [[23, nf.prototype.A.Cj, "Sine", 0xfcf9014b6288b,
								!1, [[3, 1]]], [1, lf.prototype.A.Hb, "Physics", 9802154639874488, !1, [[3, 1]]], [-1, B.prototype.A.Yf, null, 5535564655769042, !1, [[0, [1, 0.2]]]], [30, ic.prototype.A.Play, null, 5044547556728377, !1, [[2, ["jump 1 (without delay)", !1]], [3, 0], [0, [0, -4]], [1, [2, ""]]]], [23, E.prototype.A.Ob, null, 8294543694004689, !1], [32, E.prototype.A.Xf, null, 39821092445822, !1, [[3, 0]]], [38, E.prototype.A.Xf, null, 6437378346380794, !1, [[3, 0]]]]], [0, null, !1, null, 707766807829824, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 8538837183769, !1, [[4, 21]]]],
						[[21, E.prototype.A.Ob, null, 0xde3fc613e9fac, !1], [1, E.prototype.A.Cw, null, 6274171602477588, !1, [[0, [0, 300]]]], [-1, B.prototype.A.Fj, null, 0x8ec9fb3a00158, !1, [[11, "start"], [7, [0, 1]]]], [1, nf.prototype.A.Cj, "Sine", 4917820402164582, !1, [[3, 1]]], [20, O.prototype.A.Hb, "Bullet", 8223805893167955, !1, [[3, 1]]], [9, O.prototype.A.Hb, "Bullet", 8487001484357185, !1, [[3, 1]]], [10, O.prototype.A.Hb, "Bullet", 0xba548d302e4a, !1, [[3, 1]]], [19, O.prototype.A.Hb, "Bullet", 958628578227954, !1, [[3, 1]]], [24, kc.prototype.A.Xf, null, 445879452831737,
								!1, [[3, 1]]], [25, O.prototype.A.Hb, "Bullet", 9034987130939788, !1, [[3, 1]]]]], [0, null, !1, null, 0x86611278a8dcd, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 0x84a4cf30fb020, !1, [[1, [2, "restart"]]]]], [[-1, B.prototype.A.Yf, null, 6062477857143397, !1, [[0, [0, 1]]]], [-1, B.prototype.A.Fj, null, 0x77b69f2bd6d7c, !1, [[11, "goup"], [7, [0, 1]]]]]], [0, null, !1, null, 7399649948176291, [[-1, B.prototype.B.xj, null, 0, !1, !1, !1, 9566133422779936, !1, [[0, [1, 0.5]]]]], [[24, kc.prototype.A.vm, null, 6548782550005704, !1, [[7, [19, B.prototype.W.floor, [[20,
													25, E.prototype.W.Hj, !1, null]]]]]]]], [0, null, !1, null, 9554411243648364, [[26, E.prototype.B.Ag, null, 0, !1, !1, !1, 8304574621936849, !1, [[8, 4], [0, [0, 765]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x3ec963b3e9b87, !1, [[11, "goup"], [8, 0], [7, [0, 1]]]]], [[29, nf.prototype.A.Cj, "Sine", 687041786131509, !1, [[3, 0]]], [26, E.prototype.A.Cw, null, 9200905964953080, !1, [[0, [5, [20, 26, E.prototype.W.Hj, !1, null], [0, 40]]]]], [26, E.prototype.A.jB, null, 4629710064100496, !1, [[3, 0]]], [-1, B.prototype.A.Yf, null, 0xd532cda2851b5, !1, [[0, [1, 0.8]]]],
							[27, kc.prototype.A.vm, null, 7440239627645338, !1, [[7, [19, B.prototype.W.floor, [[20, 25, E.prototype.W.Hj, !1, null]]]]]], [27, kc.prototype.A.Xf, null, 0xaea38afb49f1d, !1, [[3, 1]]], [-1, B.prototype.A.Yf, null, 0x7726f6662d09d, !1, [[0, [1, 0.5]]]], [28, E.prototype.A.Xf, null, 0x6f7e6811942e6, !1, [[3, 1]]], [32, E.prototype.A.Xf, null, 0xd462dbae625fa, !1, [[3, 1]]], [29, kc.prototype.A.Xf, null, 0xaf3bcf6e86932, !1, [[3, 1]]], [4, hc.prototype.A.CallFunction, null, 0xa7b744ddc613c, !1, [[1, [2, "high"]], [13]]]]], [0, null, !1, null, 0xeddb8f1fb74d,
						[[26, E.prototype.B.Ag, null, 0, !1, !1, !1, 9541111871052308, !1, [[8, 3], [0, [0, 765]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6703274743253635, !1, [[11, "shithelpSound"], [8, 0], [7, [0, 0]]]]], [[-1, B.prototype.A.Fj, null, 0xd06df87526b8f, !1, [[11, "shithelpSound"], [7, [0, 2]]]], [30, ic.prototype.A.Play, null, 531824774792358, !1, [[2, ["ground_impact", !1]], [3, 0], [0, [0, 0]], [1, [2, ""]]]]]], [0, null, !1, null, 0x97fe214eed9d7, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 0x4b3e9c93b4868, !1]], [[27, mf.prototype.A.Oo, "Pin", 7134198236264368, !1,
								[[4, 26], [3, 0]]], [29, mf.prototype.A.Oo, "Pin", 5144958385299196, !1, [[4, 26], [3, 0]]], [28, mf.prototype.A.Oo, "Pin", 0x67b56fb0e9630, !1, [[4, 26], [3, 0]]], [26, E.prototype.A.kB, null, 929625524212173, !1]], [[0, null, !1, null, 9054006132745048, [[30, ic.prototype.B.Rr, null, 0, !1, !0, !1, 580187881341208, !1, [[1, [2, "bg"]]]]], [[30, ic.prototype.A.Play, null, 6400963462764941, !1, [[2, ["bg", !1]], [3, 1], [0, [0, 0]], [1, [2, "bg"]]]]]]]], [0, null, !1, null, 4657312891252641, [[2, lc.prototype.B.Vk, null, 1, !1, !1, !1, 0xd448ba1dfcf4b, !1, [[4, 28]]], [28,
								E.prototype.B.Tr, null, 0, !1, !1, !1, 0xe4de189f2cc1e, !1]], [[-1, B.prototype.A.ow, null, 0xc1a1b76688bc1, !1], [-1, B.prototype.A.qw, null, 0xb5011765207f7, !1]]], [0, null, !1, null, 473752596529589, [[2, lc.prototype.B.Vk, null, 1, !1, !1, !1, 5825377871091216, !1, [[4, 28]]], [28, E.prototype.B.Tr, null, 0, !1, !1, !1, 6680450547392815, !1]], [[-1, B.prototype.A.ow, null, 0x9d7bb840d15be, !1], [-1, B.prototype.A.qw, null, 5714378884295013, !1]]], [0, null, !1, null, 596113355982642, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 398301796617816, !1], [31, mc.prototype.B.Mo,
								null, 0, !1, !0, !1, 8034969771448474, !1, [[1, [2, "scoreeeee"]]]]], [[31, mc.prototype.A.ym, null, 0xf1a408f375e10, !1, [[1, [2, "scoreeeee"]], [7, [0, 0]]]], [-1, B.prototype.A.Yf, null, 8466689300912668, !1, [[0, [0, 1]]]], [29, kc.prototype.A.vm, null, 6961854266866446, !1, [[7, [10, [2, "Best:"], [20, 31, mc.prototype.W.Ur, !0, null, [[2, "scoreeeee"]]]]]]]]], [0, null, !1, null, 8426657176542642, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 796314570162965, !1], [31, mc.prototype.B.Mo, null, 0, !1, !1, !1, 0xf69abae159132, !1, [[1, [2, "scoreeeee"]]]]], [[-1,
								B.prototype.A.Yf, null, 7085404289917246, !1, [[0, [1, 0.5]]]], [29, kc.prototype.A.vm, null, 0x78e48bda99776, !1, [[7, [10, [2, "Best:"], [20, 31, mc.prototype.W.Ur, !0, null, [[2, "scoreeeee"]]]]]]], [-1, B.prototype.A.Yf, null, 862896211217926, !1, [[0, [0, 1]]]], [-1, B.prototype.A.Fj, null, 0x4477fe3bd9c48, !1, [[11, "tempWeb"], [7, [19, B.prototype.W["int"], [[20, 31, mc.prototype.W.Ur, !0, null, [[2, "scoreeeee"]]]]]]]]]], [0, null, !1, null, 0x633dacf396323, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 0xf2b3027119058, !1], [31, mc.prototype.B.Mo, null,
								0, !1, !0, !1, 0x538d20c1f5f6f, !1, [[1, [2, "s"]]]]], [[31, mc.prototype.A.ym, null, 0x889f042268f50, !1, [[1, [2, "s"]], [7, [0, 1]]]]]], [0, null, !1, null, 0x98b3c4ecc0616, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 346747242580487, !1], [31, mc.prototype.B.Mo, null, 0, !1, !1, !1, 0xf248237577663, !1, [[1, [2, "s"]]]]], [], [[0, null, !1, null, 8961703883035586, [[31, mc.prototype.B.xo, null, 0, !1, !1, !1, 861506800203318, !1, [[1, [2, "s"]], [8, 0], [0, [0, 1]]]]], [[32, E.prototype.A.Ro, null, 0xd23b8e05fd67b, !1, [[0, [0, 100]]]], [30, ic.prototype.A.Qo, null, 8323265123070606,
										!1, [[0, [0, 0]]]]]], [0, null, !1, null, 0x5a949ac0caf31, [[31, mc.prototype.B.xo, null, 0, !1, !1, !1, 5067380813312126, !1, [[1, [2, "s"]], [8, 0], [0, [0, 0]]]]], [[32, E.prototype.A.Ro, null, 6441910256859474, !1, [[0, [0, 50]]]], [30, ic.prototype.A.Qo, null, 0xb5efcfd871015, !1, [[0, [0, -100]]]]]]]], [0, null, !1, null, 9623494092576760, [[2, lc.prototype.B.Vk, null, 1, !1, !1, !1, 0xc04813cb2b73a, !1, [[4, 32]]], [32, E.prototype.B.Tr, null, 0, !1, !1, !1, 9739678185560400, !1]], [[4, hc.prototype.A.CallFunction, null, 5261035128552603, !1, [[1, [2, "snd"]], [13]]]]],
					[0, null, !1, null, 0xd5abaa4d9df53, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 5397237946140847, !1, [[1, [2, "snd"]]]]], [], [[0, null, !1, null, 0xc15bc99bcf8d1, [[31, mc.prototype.B.xo, null, 0, !1, !1, !1, 0x5e43cc41c398a, !1, [[1, [2, "s"]], [8, 0], [0, [0, 0]]]]], [[32, E.prototype.A.Ro, null, 0x7189a6b7a15e5, !1, [[0, [0, 100]]]], [30, ic.prototype.A.Qo, null, 0x9ef009a693c34, !1, [[0, [0, 0]]]], [-1, B.prototype.A.Yf, null, 0x69865d9c2fbf2, !1, [[0, [1, 0.1]]]], [31, mc.prototype.A.ym, null, 0x9765b3caa4c85, !1, [[1, [2, "s"]], [7, [0, 1]]]]]], [0, null, !1, null,
								0x5bdb3547bba23, [[31, mc.prototype.B.xo, null, 0, !1, !1, !1, 8205539205541111, !1, [[1, [2, "s"]], [8, 0], [0, [0, 1]]]]], [[32, E.prototype.A.Ro, null, 0xf65b7da9fbab3, !1, [[0, [0, 50]]]], [30, ic.prototype.A.Qo, null, 70604570371812, !1, [[0, [0, -100]]]], [-1, B.prototype.A.Yf, null, 8834886299054187, !1, [[0, [1, 0.1]]]], [31, mc.prototype.A.ym, null, 9718053134484448, !1, [[1, [2, "s"]], [7, [0, 0]]]]]]]], [0, null, !1, null, 7237295496545951, [[4, hc.prototype.B.le, null, 2, !1, !1, !1, 8693690731786754, !1, [[1, [2, "high"]]]], [-1, B.prototype.B.Xa, null, 0,
								!1, !1, !1, 0x3f9b031d83589, !1, [[11, "tempWeb"], [8, 2], [7, [19, B.prototype.W.floor, [[20, 25, E.prototype.W.Hj, !1, null]]]]]]], [[31, mc.prototype.A.ym, null, 0x7fa76dc713edd, !1, [[1, [2, "scoreeeee"]], [7, [19, B.prototype.W["int"], [[19, B.prototype.W.floor, [[20, 25, E.prototype.W.Hj, !1, null]]]]]]]], [29, kc.prototype.A.vm, null, 0xa938d6ec759ab, !1, [[7, [10, [2, "Best:"], [19, B.prototype.W.floor, [[20, 25, E.prototype.W.Hj, !1, null]]]]]]], [29, nf.prototype.A.Cj, "Sine", 5293235861974524, !1, [[3, 1]]]]], [0, null, !1, null, 9228901468527864,
						[[34, jc.prototype.B.Jo, null, 0, !1, !1, !1, 0x408cd212600b5, !1, [[3, 0]]]], [[33, E.prototype.A.Xf, null, 0xbda3056e8c563, !1, [[3, 0]]]]], [0, null, !1, null, 0x7f639ed6a4c11, [[34, jc.prototype.B.Jo, null, 0, !1, !1, !1, 0x9f136ff0b3f1f, !1, [[3, 1]]]], [[33, E.prototype.A.Xf, null, 9293367551294780, !1, [[3, 1]]]]], [0, null, !1, null, 7038439907028015, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 6340353234339859, !1, [[4, 36]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 726520729229994, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.tf, null, 0x6433134c5dd57,
								!1, [[10, 0], [7, [0, 0]]]], [1, E.prototype.A.tf, null, 5685575543631772, !1, [[10, 1], [7, [3, [21, 1, !1, null, 1]]]]], [1, of.prototype.A.xm, "CustomMovement", 7134946757122772, !1], [1, of.prototype.A.um, "CustomMovement", 675993151394441, !1, [[3, 0], [0, [0, 0]]]], [1, E.prototype.A.We, null, 8505383736817099, !1, [[1, [2, "Default"]], [3, 1]]], [30, ic.prototype.A.Play, null, 9595530380208294, !1, [[2, ["jump 1 (without delay)", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]]], [[0, null, !1, null, 0x3fad4d536474c, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x84af44c24a48f,
										!1, [[10, 1], [8, 0], [7, [0, -1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 7448335270398181, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 0xed852ed0f2def, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 5504650283389861, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0x977f68cf4901e, !1, [[10, 1], [8, 0], [7, [0, 1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x55070621b7a6d, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 7518594994784657, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null],
													[0, 83]]]]]]]]], [0, null, !1, null, 5581247936949372, [[1, E.prototype.B.uh, null, 0, !1, !1, !0, 0xe53186d6b1229, !1, [[4, 37]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 5671274509889524, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.tf, null, 6066129232412151, !1, [[10, 0], [7, [0, 0]]]], [1, E.prototype.A.We, null, 0xefc7cf0b4a259, !1, [[1, [2, "Default"]], [3, 1]]], [1, of.prototype.A.xm, "CustomMovement", 5544756753339266, !1], [1, E.prototype.A.tf, null, 0xac71fb1081722, !1, [[10, 1], [7, [3, [21, 1, !1, null, 1]]]]], [30, ic.prototype.A.Play,
								null, 9959752613978456, !1, [[2, ["jump 1 (without delay)", !1]], [3, 0], [0, [0, -4]], [1, [2, "hit"]]]]], [[0, null, !1, null, 7335489161536452, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xd4932731fee6f, !1, [[10, 1], [8, 0], [7, [0, -1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 0x5d6d7689d2b15, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 7826338786203793, !1, [[0, [4, [20, 0, E.prototype.W.Hc, !1, null], [0, 83]]]]]]], [0, null, !1, null, 5185900514363215, [[1, E.prototype.B.vc, null, 0, !1, !1, !1, 0xc78e489b2b119, !1, [[10, 1], [8, 0], [7,
												[0, 1]]]], [-1, B.prototype.B.Xa, null, 0, !1, !1, !1, 6044368804895391, !1, [[11, "dead"], [8, 0], [7, [0, 0]]]]], [[1, E.prototype.A.ye, null, 0xa01f8e417a921, !1, [[0, [5, [20, 12, E.prototype.W.Hc, !1, null], [0, 83]]]]]]]]]]], ["Event sheet 2", [[0, null, !1, null, 0x85229e99e4378, [[-1, B.prototype.B.ti, null, 1, !1, !1, !1, 899031390784224, !1]], [[-1, B.prototype.A.Yf, null, 8990458061246755, !1, [[0, [1, 1.5]]]], [-1, B.prototype.A.DA, null, 9326986554165366, !1, [[6, "Layout 1"]]]]], [0, null, !1, null, 5643054066022189, [[34, jc.prototype.B.Jo, null, 0, !1,
								!1, !1, 0x450118ac7196e, !1, [[3, 0]]]], [[33, E.prototype.A.Xf, null, 362834159036202, !1, [[3, 0]]]]], [0, null, !1, null, 8549608751165746, [[34, jc.prototype.B.Jo, null, 0, !1, !1, !1, 9778851920387996, !1, [[3, 1]]]], [[33, E.prototype.A.Xf, null, 995935992053489, !1, [[3, 1]]]]]]]], "media/", !0, 720, 1280, 3, !0, !0, !1, "1.0.0.0", !0, !1, 1, 1, 37, !0, !1, 1, []]
};