var b = b || {}; b.p = b.p || {}; b.c = {}; p = window; p = Object.prototype; delete window._p; b.rb = function(a) { return document.createElement(a) }; b.ka = function(a, c, d, e) { a.addEventListener(c, d, e) }; b.Gx = "undefined" !== typeof require && require("fs"); b.wz = function(a, c) { if (a) if (a instanceof Array) for (var d = 0, e = a.length; d < e && !1 !== c.call(void 0, a[d], d); d++); else for (d in a) if (!1 === c.call(void 0, a[d], d)) break }; b.Ju = function(a) { if (!a) return b.log("invalid URL"), !1; var c = a.indexOf("://"); if ( - 1 == c) return ! 1; c = a.indexOf("/", c + 3); return ( - 1 == c ? a: a.substring(0, c)) != location.origin }; b.async = { xw: function(a) { var c = this.rz; if (!c.ou) { var d = c.length, e = c.KA, f = c.qA, g = f.fc, h = f.lz, k = f.ov, f = f.uZ; if (a) { if (c.ou = a, g) return g.call(h, a) } else { var m = Array.apply(null, arguments).slice(1), n = m.length; 0 == n ? m = null: 1 == n && (m = m[0]); e[this.index] = m; c.count--; k && k.call(f, m, d - c.count, d); 0 == c.count && g && g.apply(h, [null, e]) } } }, ix: function() {}, UW: function(a, c, d) { var e = b.async; if (void 0 !== d)"function" == typeof c && (c = { ov: c }), c.fc = d || c.fc; else if (void 0 !== c)"function" == typeof c && (c = { fc: c }); else if (void 0 !== a) c = {}; else throw "arguments error!"; var f = (d = a instanceof Array) ? a.length: Object.keys(a).length; if (0 == f) c.fc && c.fc.call(c.lz, null); else { var g = { length: f, count: f, qA: c, KA: d ? [] : {} }; b.wz(a, function(a, d) { if (g.ou) return ! 1; var f = c.fc || c.ov ? e.xw.bind({ rz: g, index: d }) : e.ix; a(f, d) }) } }, map: function(a, c, d) { var e = this, f = arguments.length; "function" == typeof c && (c = { Nu: c }); if (3 === f) c.fc = d || c.fc; else if (2 > f) throw "arguments error!"; "function" == typeof c && (c = { Nu: c }); if (void 0 !== d) c.fc = d || c.fc; else if (void 0 === a) throw "arguments error!"; var g = (f = a instanceof Array) ? a.length: Object.keys(a).length; if (0 === g) c.fc && c.fc.call(c.lz, null); else { var h = { length: g, count: g, qA: c, KA: f ? [] : {} }; b.wz(a, function(a, d) { if (h.ou) return ! 1; var f = c.fc ? e.xw.bind({ rz: h, index: d }) : e.ix; c.Nu.call(c.gL, a, d, f) }) } } }; b.path = { join: function() { for (var a = arguments.length, c = "", d = 0; d < a; d++) c = (c + ("" == c ? "": "/") + arguments[d]).replace(/(\/|\\\\)$/, ""); return c }, Hg: function(a) { return (a = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(a)) ? a[1] : null }, YV: function(a) { if (a) { var c = a.lastIndexOf("."); if ( - 1 !== c) return a.substring(0, c) } return a }, GI: function(a, c) { var d = a.indexOf("?"); 0 < d && (a = a.substring(0, d)); d = /(\/|\\\\)([^(\/|\\\\)]+)$/g.exec(a.replace(/(\/|\\\\)$/, "")); if (!d) return null; d = d[2]; return c && a.substring(a.length - c.length).toLowerCase() == c.toLowerCase() ? d.substring(0, d.length - c.length) : d }, dirname: function(a) { return a.replace(/((.*)(\/|\\|\\\\))?(.*?\..*$)?/, "$2") }, mz: function(a, c) { c = c || ""; var d = a.indexOf("?"), e = ""; 0 < d && (e = a.substring(d), a = a.substring(0, d)); d = a.lastIndexOf("."); return 0 > d ? a + c + e: a.substring(0, d) + c + e }, $o: function(a, c, d) { if (0 == c.indexOf(".")) return this.mz(a, c); var e = a.indexOf("?"), f = ""; d = d ? this.Hg(a) : ""; 0 < e && (f = a.substring(e), a = a.substring(0, e)); e = a.lastIndexOf("/"); return a.substring(0, 0 >= e ? 0 : e + 1) + c + d + f } }; b.D = { Kx: {}, xo: {}, KG: {}, $g: {}, Jp: "", CI: "", sd: {}, rp: function() { return window.XMLHttpRequest ? new window.XMLHttpRequest: new ActiveXObject("MSXML2.XMLHTTP") }, vx: function(a) { var c = a[0], d = a[1], e = a[2], f = ["", null, null]; if (1 === a.length) f[1] = c instanceof Array ? c: [c]; else if (2 === a.length)"function" == typeof d ? (f[1] = c instanceof Array ? c: [c], f[2] = d) : (f[0] = c || "", f[1] = d instanceof Array ? d: [d]); else if (3 === a.length) f[0] = c || "", f[1] = d instanceof Array ? d: [d], f[2] = e; else throw "arguments error to load js!"; return f }, uL: function(a, c, d) { var e = this, f = e.Kx, g = e.vx(arguments); - 1 < navigator.userAgent.indexOf("Trident/5") ? e.Px(g[0], g[1], 0, g[2]) : b.async.map(g[1], function(a, c, d) { a = b.path.join(g[0], a); if (f[a]) return d(null); e.yw(a, !1, d) }, g[2]) }, lA: function(a, c, d) { var e = this.PG(), f = this.vx(arguments); this.uL(f[0], f[1], function(a) { if (a) throw a; e.parentNode.removeChild(e); if (f[2]) f[2]() }) }, yw: function(a, c, d) { var e = document, f = b.rb("script"); f.async = c; f.src = a; this.Kx[a] = !0; b.ka(f, "load", function() { this.removeEventListener("load", arguments.callee, !1); d() }, !1); b.ka(f, "error", function() { d("Load " + a + " failed!") }, !1); e.body.appendChild(f) }, Px: function(a, c, d, e) { if (d >= c.length) e && e(); else { var f = this; f.yw(b.path.join(a, c[d]), !1, function(g) { if (g) return e(g); f.Px(a, c, d + 1, e) }) } }, PG: function() { var a = document, c = a.getElementById("cocos2d_loadJsImg"); if (!c) { c = b.rb("img"); b.Rx && (c.src = b.Rx); a = a.getElementById(b.Va.Jc.id); a.style.backgroundColor = "black"; a.parentNode.appendChild(c); var d = getComputedStyle ? getComputedStyle(a) : a.currentStyle; d || (d = { width: a.width, height: a.height }); c.style.left = a.offsetLeft + (parseFloat(d.width) - c.width) / 2 + "px"; c.style.top = a.offsetTop + (parseFloat(d.height) - c.height) / 2 + "px"; c.style.position = "absolute" } return c }, yp: function(a, c) { if (b.Gx) require("fs").gX(a, function(a, d) { a ? c(a) : c(null, d.toString()) }); else { var d = this.rp(), e = "load " + a + " failed!"; d.open("GET", a, !0); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (d.setRequestHeader("Accept-Charset", "utf-8"), d.onreadystatechange = function() { 4 == d.readyState && 200 == d.status ? c(null, d.responseText) : c(e) }) : (d.overrideMimeType && d.overrideMimeType("text/plain; charset\x3dutf-8"), d.onload = function() { 4 == d.readyState && 200 == d.status ? c(null, d.responseText) : c(e) }); d.send(null) } }, Qx: function(a) { if (b.Gx) return require("fs").hX(a).toString(); var c = this.rp(); c.open("GET", a, !1); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? c.setRequestHeader("Accept-Charset", "utf-8") : c.overrideMimeType && c.overrideMimeType("text/plain; charset\x3dutf-8"); c.send(null); return 4 == !c.readyState || 200 != c.status ? null: c.responseText }, mA: function(a, c) { this.yp(a, function(d, e) { try { d ? c(d) : c(null, JSON.parse(e)) } catch(f) { throw "load json [" + a + "] failed : " + f; } }) }, uw: function(a) { return null != /(\.png)|(\.jpg)|(\.bmp)|(\.jpeg)|(\.gif)/.exec(a) }, Wl: function(a, c, d) { var e = !0; void 0 !== d ? e = null == c.Ju ? e: c.Ju: void 0 !== c && (d = c); var f = new Image; e && "file://" != location.origin && (f.crossOrigin = "Anonymous"); b.ka(f, "load", function() { this.removeEventListener("load", arguments.callee, !1); this.removeEventListener("error", arguments.callee, !1); d && d(null, f) }); b.ka(f, "error", function() { this.removeEventListener("error", arguments.callee, !1); d && d("load image failed") }); f.src = a; return f }, QG: function(a, c, d) { var e = this, f = null; (c = a.type) ? (c = "." + c.toLowerCase(), f = a.src ? a.src: a.name + c) : (f = a, c = b.path.Hg(f)); var g = e.sd[f]; if (g) return d(null, g); g = e.xo[c.toLowerCase()]; if (!g) return b.error("loader for [" + c + "] not exists!"), d(); c = e.HK(g.op ? g.op() : e.Jp, f); g.load(c, f, a, function(a, c) { a ? (b.log(a), e.sd[f] = null, delete e.sd[f], d()) : (e.sd[f] = c, d(null, c)) }) }, HK: function(a, c) { var d = this.KG, e = b.path; if (void 0 !== a && void 0 === c) { c = a; var f = e.Hg(c), f = f ? f.toLowerCase() : ""; a = (f = this.xo[f]) ? f.op ? f.op() : this.Jp: this.Jp } c = b.path.join(a || "", c); if (c.match(/[\/(\\\\)]lang[\/(\\\\)]/i)) { if (d[c]) return d[c]; e = e.Hg(c) || ""; c = d[c] = c.substring(0, c.length - e.length) + "_" + b.Aa.language + e } return c }, load: function(a, c, d) { if (void 0 !== d)"function" == typeof c && (c = { ov: c }); else if (void 0 !== c)"function" == typeof c && (d = c, c = {}); else if (void 0 !== a) c = {}; else throw "arguments error!"; c.fc = function(a, c) { a && b.log(a); d && d(c) }; a instanceof Array || (a = [a]); c.Nu = this.QG; c.gL = this; b.async.map(a, c) }, Bx: function(a, c) { var d = this.$g, e = [], f; for (f in a) { var g = a[f]; d[f] = g; e.push(g) } this.load(e, c) }, TV: function(a, c) { var d = this, e = d.Yc(a); e ? d.Bx(e.filenames, c) : d.load(a, function(a) { d.Bx(a[0].filenames, c) }) }, Mg: function(a, c) { if (a && c) { if ("string" == typeof a) return this.xo[a.trim().toLowerCase()] = c; for (var d = 0, e = a.length; d < e; d++) this.xo["." + a[d].trim().toLowerCase()] = c } }, Yc: function(a) { return this.sd[a] || this.sd[this.$g[a]] }, Pf: function(a) { var c = this.sd, d = this.$g; delete c[a]; delete c[d[a]]; delete d[a] }, nX: function() { var a = this.sd, c = this.$g, d; for (d in a) delete a[d]; for (d in c) delete c[d] } }; (function() { function a() { b.I && b.Va.lg && b.I.dispatchEvent(b.Va.lg); b.Va.bl && (window.cancelAnimationFrame(b.Va.bl), b.Va.Ao()) } function c() { b.I && b.Va.kg && b.I.dispatchEvent(b.Va.kg) } var d = window, e, f; "undefined" !== typeof document.hidden ? (e = "hidden", f = "visibilitychange") : "undefined" !== typeof document.mozHidden ? (e = "mozHidden", f = "mozvisibilitychange") : "undefined" !== typeof document.msHidden ? (e = "msHidden", f = "msvisibilitychange") : "undefined" !== typeof document.webkitHidden && (e = "webkitHidden", f = "webkitvisibilitychange"); e ? b.ka(document, f, function() { document[e] ? c() : a() }, !1) : (b.ka(d, "blur", c, !1), b.ka(d, "focus", a, !1)); - 1 < navigator.userAgent.indexOf("MicroMessenger") && (d.onfocus = function() { a() }); "onpageshow" in window && "onpagehide" in window && (b.ka(d, "pagehide", c, !1), b.ka(d, "pageshow", a, !1)); f = d = null })(); b.log = b.warn = b.error = b.assert = function() {}; b.sz = function(a, c) { for (var d = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], e = null, f = 0; f < d.length; ++f) { try { e = a.getContext(d[f], c) } catch(g) {} if (e) break } return e }; b.BG = function(a, c) { b.Ya = 0; b.wb = 1; b.Aa = {}; var d = b.Aa; d.KC = "en"; d.oP = "zh"; d.pP = "fr"; d.sP = "it"; d.qP = "de"; d.zP = "es"; d.yP = "ru"; d.uP = "ko"; d.tP = "ja"; d.rP = "hu"; d.xP = "pt"; d.nP = "ar"; d.vP = "no"; d.wP = "pl"; d.nD = "Windows"; d.Nv = "iOS"; d.Ov = "OS X"; d.lD = "UNIX"; d.kD = "Linux"; d.jD = "Android"; d.mD = "Unknown"; d.FQ = 0; d.AP = 1; d.BP = 2; d.lO = 3; d.jP = 4; d.iP = 5; d.uO = 6; d.DP = 7; d.ZO = 8; d.gQ = 9; d.GQ = 10; d.HQ = 11; d.PC = 100; d.eC = 101; d.OB = "wechat"; d.KB = "androidbrowser"; d.Zp = "ie"; d.LB = "qqbrowser"; d.vv = "mqqbrowser"; d.MB = "ucbrowser"; d.wO = "360browser"; d.xO = "baiduboxapp"; d.uv = "baidubrowser"; d.yO = "maxthon"; d.$p = "opera"; d.zO = "miuibrowser"; d.$j = "firefox"; d.aq = "safari"; d.Yp = "chrome"; d.NB = "unknown"; d.zV = !1; var e = [d.uv, d.$p, d.$j, d.Yp, d.aq], f = [d.uv, d.$p, d.$j, d.Yp, d.aq, d.MB, d.LB, d.vv, d.Zp], g = window, h = g.navigator, k = document.documentElement, m = h.userAgent.toLowerCase(); d.Kf = -1 != m.indexOf("mobile") || -1 != m.indexOf("android"); d.platform = d.Kf ? d.PC: d.eC; var n = h.language, n = (n = n ? n: h.browserLanguage) ? n.split("-")[0] : d.KC; d.language = n; var n = d.NB, r = m.match(/micromessenger|qqbrowser|mqqbrowser|ucbrowser|360browser|baiduboxapp|baidubrowser|maxthon|trident|opera|miuibrowser|firefox/i) || m.match(/chrome|safari/i); r && 0 < r.length && (n = r[0].toLowerCase(), "micromessenger" == n ? n = d.OB: "safari" === n && m.match(/android.*applewebkit/) ? n = d.KB: "trident" == n && (n = d.Zp)); d.Ih = n; d.VH = -1 < f.indexOf(d.Ih); f = parseInt(a[c.hm]); n = b.wb; r = b.rb("Canvas"); b.zl = !0; e = -1 == e.indexOf(d.Ih); if (1 === f || 0 === f && (d.Kf || e) || "file://" == location.origin) n = b.Ya; d.tF = function() { var a = document.createElement("canvas"); a.width = 1; a.height = 1; a = a.getContext("2d"); a.fillStyle = "#000"; a.fillRect(0, 0, 1, 1); a.globalCompositeOperation = "multiply"; a.fillStyle = "#fff"; a.fillRect(0, 0, 1, 1); return 0 === a.getImageData(0, 0, 1, 1).data[0] }; d.wt = d.tF(); n != b.wb || g.WebGLRenderingContext && b.sz(r, { stencil: !0, preserveDrawingBuffer: !0 }) || (0 == f ? n = b.Ya: b.zl = !1); if (n == b.Ya) try { r.getContext("2d") } catch(s) { b.zl = !1 } b.da = n; try { d.Jo = !!new(g.AudioContext || g.webkitAudioContext || g.mozAudioContext) } catch(u) { d.Jo = !1 } try { var t = d.localStorage = g.localStorage; t.setItem("storage", ""); t.removeItem("storage"); t = null } catch(v) { "SECURITY_ERR" !== v.name && "QuotaExceededError" !== v.name || b.warn("Warning: localStorage isn't enabled. Please confirm browser cookie or privacy option"), d.localStorage = function() {} } t = d.Zt = { canvas: !0 }; b.da == b.wb && (t.opengl = !0); void 0 !== k.ontouchstart || h.msPointerEnabled ? t.touches = !0 : void 0 !== k.onmouseup && (t.mouse = !0); void 0 !== k.onkeyup && (t.keyboard = !0); if (g.DeviceMotionEvent || g.DeviceOrientationEvent) t.accelerometer = !0; g = m.match(/(iPad|iPhone|iPod)/i) ? !0 : !1; m = m.match(/android/i) || h.platform.match(/android/i) ? !0 : !1; k = d.mD; - 1 != h.appVersion.indexOf("Win") ? k = d.nD: g ? k = d.Nv: -1 != h.appVersion.indexOf("Mac") ? k = d.Ov: -1 != h.appVersion.indexOf("X11") ? k = d.lD: -1 != h.appVersion.indexOf("Linux") ? k = d.kD: m && (k = d.jD); d.Su = k; d.DT = function() {}; d.ES = function() {}; d.JX = function() {}; d.CS = function() { var a; a = "" + ("isMobile : " + this.Kf + "\r\n"); a += "language : " + this.language + "\r\n"; a += "browserType : " + this.Ih + "\r\n"; a += "capabilities : " + JSON.stringify(this.Zt) + "\r\n"; a += "os : " + this.Su + "\r\n"; a += "platform : " + this.platform + "\r\n"; b.log(a) } }; b.PP = 0; b.QP = 1; b.NP = 2; b.OP = 3; b.Hd = null; b.l = null; b.ra = null; b.PF = null; b.yo = !1; b.Fy = !1; b.Ey = function(a) { var c, d; if (!b.Fy) { b.Fy = !0; var e = window, f = new Date, g = 1E3 / b.Va.Jc[b.Va.Vd.jp]; e.GA = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function(a) { var c = (new Date).getTime(), d = Math.max(0, g - (c - f)), e = window.setTimeout(function() { a() }, d); f = c + d; return e }; e.cancelAnimationFrame = window.cancelAnimationFrame || window.cancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.webkitCancelRequestAnimationFrame || window.msCancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.oCancelAnimationFrame || function(a) { clearTimeout(a) }; var h = b.Ca(a) || b.Ca("#" + a), k; "CANVAS" == h.tagName ? (c = c || h.width, d = d || h.height, k = b.Jh = b.rb("DIV"), a = b.ra = h, a.parentNode.insertBefore(k, a), a.cz(k), k.setAttribute("id", "Cocos2dGameContainer")) : ("DIV" != h.tagName && b.log("Warning: target element is not a DIV or CANVAS"), c = c || h.clientWidth, d = d || h.clientHeight, k = b.Jh = h, a = b.ra = b.Ca(b.rb("CANVAS")), h.appendChild(a)); a.$y("gameCanvas"); a.setAttribute("width", c || 480); a.setAttribute("height", d || 320); a.setAttribute("tabindex", 99); a.style.outline = "none"; h = k.style; h.width = (c || 480) + "px"; h.height = (d || 320) + "px"; h.margin = "0 auto"; h.position = "relative"; h.overflow = "hidden"; k.top = "100%"; b.da == b.wb && (b.l = b.HZ = b.sz(a, { stencil: !0, preserveDrawingBuffer: !0, antialias: !b.Aa.Kf, alpha: !1 })); b.l ? (e.gl = b.l, b.Hd = new b.oC(b.l), b.yo = !0, b.va.CG(), b.ff.$n()) : (b.l = a.getContext("2d"), b.jR = b.l, b.l.translate(0, a.height), b.Hd = b.Cv ? new b.Cv(b.l) : null); b.PF = k; b.log(b.oq); b.yH(); b.Aa.Kf && (c = b.rb("style"), c.type = "text/css", document.body.appendChild(c), c.textContent = "body,canvas,div{ -moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;-webkit-tap-highlight-color:rgba(0,0,0,0);}"); b.view = b.mq.Zr(); b.dA.XL(b.ra); b.Qa = b.ha.Zr(); b.Qa.fv && b.Qa.fv(b.view); b.aa = b.Qa.Ql(); b.OX = new b.Vv; b.ML = new b.vD } }; b.SQ = function() { if (b.da !== b.wb) throw "This feature supports WebGL render mode only."; }; b.Fx = !1; b.yH = function() { b.Fx = !1; b.ra.oncontextmenu = function() { if (!b.Fx) return ! 1 } }; b.Va = { xv: 0, dC: 1, MO: 2, cC: 3, hq: 4, yv: 5, wv: 6, tm: "game_on_hide", ek: "game_on_show", kg: null, lg: null, lR: [], Vd: { nu: "engineDir", tS: "dependencies", gp: "debugMode", oN: "showFPS", jp: "frameRate", id: "id", hm: "renderMode", hL: "jsList", QI: "classReleaseMode" }, cy: !1, Is: !1, $a: !0, bl: null, Jc: null, Ru: null, pW: null, oY: function(a) { this.Jc[this.Vd.jp] = a; this.bl && window.cancelAnimationFrame(this.bl); this.$a = !0; this.Ao() }, Ao: function() { var a = this, c, d = b.Qa; d.DM(a.Jc[a.Vd.oN]); c = function() { a.$a || (d.wL(), a.bl = window.GA(c)) }; window.GA(c); a.$a = !1 }, oM: function(a) { function c() { a && (d.Jc[d.Vd.id] = a); d.cy ? b.zl && (d.uF = setInterval(function() { d.Is && (b.Ey(d.Jc[d.Vd.id]), d.Ao(), d.kg = d.kg || new b.kf(d.tm), d.kg.setUserData(d), d.lg = d.lg || new b.kf(d.ek), d.lg.setUserData(d), d.Ru(), clearInterval(d.uF)) }, 10)) : d.RL(function() { b.zl && (b.Ey(d.Jc[d.Vd.id]), d.Ao(), d.kg = d.kg || new b.kf(d.tm), d.kg.setUserData(d), d.lg = d.lg || new b.kf(d.ek), d.lg.setUserData(d), d.Ru()) }) } var d = this; document.body ? c() : b.ka(window, "load", function() { this.removeEventListener("load", arguments.callee, !1); c() }, !1) }, yG: function() { function a(a) { a[c.nu] = a[c.nu] || "frameworks/cocos2d-html5"; null == a[c.gp] && (a[c.gp] = 0); a[c.jp] = a[c.jp] || 60; null == a[c.hm] && (a[c.hm] = 1); return a } var c = this.Vd; if (document.ccConfig) this.Jc = a(document.ccConfig); else try { for (var d = document.getElementsByTagName("script"), e = 0; e < d.length; e++) { var f = d[e].getAttribute("cocos"); if ("" == f || f) break } var g, h, k; if (e < d.length) { if (g = d[e].src) k = /(.*)\//.exec(g)[0], b.D.Jp = k, g = b.path.join(k, "project.json"); h = b.D.Qx(g) } h || (h = b.D.Qx("project.json")); var m = JSON.parse(h); this.Jc = a(m || {}) } catch(n) { b.log("Failed to read or parse project.json"), this.Jc = a({}) } b.BG(this.Jc, c) }, IG: {}, xx: function(a, c, d) { var e = this.IG; if (e[c]) return null; d = d || ""; var f = [], g = a[c]; if (!g) throw "can not find module [" + c + "]"; c = b.path; for (var h = 0, k = g.length; h < k; h++) { var m = g[h]; if (!e[m]) { var n = c.Hg(m); n ? ".js" == n.toLowerCase() && f.push(c.join(d, m)) : (n = this.xx(a, m, d)) && (f = f.concat(n)); e[m] = 1 } } return f }, RL: function(a) { var c = this, d = c.Jc, e = c.Vd, f = d[e.nu], g = b.D; if (!b.zl) throw "The renderer doesn't support the renderMode " + d[e.hm]; c.cy = !0; var h = d[e.hL] || []; b.oa ? g.lA("", h, function(d) { if (d) throw d; c.Is = !0; a && a() }) : (e = b.path.join(f, "moduleConfig.json"), g.mA(e, function(e, g) { if (e) throw e; var n = d.modules || [], r = g.module, s = []; b.da == b.wb ? n.splice(0, 0, "shaders") : 0 > n.indexOf("core") && n.splice(0, 0, "core"); for (var u = 0, t = n.length; u < t; u++) { var v = c.xx(r, n[u], f); v && (s = s.concat(v)) } s = s.concat(h); b.D.lA(s, function(d) { if (d) throw d; c.Is = !0; a && a() }) })) } }; b.Va.yG(); Function.prototype.bind = Function.prototype.bind || function(a) { var c = this; return function() { var d = Array.prototype.slice.call(arguments); return c.apply(a || null, d) } }; b.c = { qv: "cc.ActionManager.addAction(): action must be non-null", IB: "cocos2d: removeAction: Target not found", pO: "cc.ActionManager.removeActionByTag(): an invalid tag", qO: "cc.ActionManager.removeActionByTag(): target must be non-null", GB: "cc.ActionManager.getActionByTag(): an invalid tag", HB: "cocos2d : getActionByTag(tag \x3d %s): Action not found", TI: "cocos2d: **** WARNING **** CC_ENABLE_PROFILERS is defined. Disable it when you finish profiling (from ccConfig.js)", UI: "Expected 'data' dict, but not found. Config file: %s", VI: "Please load the resource first : %s", jC: "cocos2d: Director: Error in gettimeofday", kC: "cocos2d: Director: unrecognized projection", YO: "cocos2d: Director: unrecognized projection", iC: "cocos2d: Director: Error in gettimeofday", hC: "running scene should not null", Bv: "the scene should not null", qj: "element type is wrong!", ED: "CCSheduler#scheduleCallback. Callback already scheduled. Updating interval from:%s to %s", FD: "cc.scheduler.scheduleCallbackForTarget(): callback_fn should be non-null.", GD: "cc.scheduler.scheduleCallbackForTarget(): target should be non-null.", CD: "cc.Scheduler.pauseTarget():target should be non-null", DD: "cc.Scheduler.resumeTarget():target should be non-null", BD: "cc.Scheduler.isTargetPaused():target should be non-null", WC: "getZOrder is deprecated. Please use getLocalZOrder instead.", gD: "setZOrder is deprecated. Please use setLocalZOrder instead.", UC: "RotationX !\x3d RotationY. Don't know which one to return", VC: "ScaleX !\x3d ScaleY. Don't know which one to return", FP: "An Node can't be added as a child of itself.", GP: "child already added. It can't be added again", RC: "child must be non-null", aD: "removeFromParentAndCleanup is deprecated. Use removeFromParent instead", SC: "boundingBox is deprecated. Use getBoundingBox instead", ZC: "argument tag is an invalid tag", $C: "cocos2d: removeChildByTag(tag \x3d %s): child not found!", YC: "removeAllChildrenWithCleanup is deprecated. Use removeAllChildren instead", hD: "cc.Node.stopActionBy(): argument tag an invalid tag", TC: "cc.Node.getActionByTag(): argument tag is an invalid tag", cD: "resumeSchedulerAndActions is deprecated, please use resume instead.", XC: "pauseSchedulerAndActions is deprecated, please use pause instead.", QC: "Unknown callback function", bD: "child must be non-null", dD: "cc.Node.runAction(): action must be non-null", eD: "callback function must be non-null", fD: "interval must be positive", HP: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", JB: "cc.AtlasNode.updateAtlasValues(): Shall be overridden in subclasses", tO: "", rv: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.", YE: "cc._EventListenerKeyboard.checkAvailable(): Invalid EventListenerKeyboard!", $E: "cc._EventListenerTouchOneByOne.checkAvailable(): Invalid EventListenerTouchOneByOne!", ZE: "cc._EventListenerTouchAllAtOnce.checkAvailable(): Invalid EventListenerTouchAllAtOnce!", XE: "cc._EventListenerAcceleration.checkAvailable(): _onAccelerationEvent must be non-nil", wC: "Invalid parameter.", jn: "Don't call this method if the event is for touch.", yJ: "Invalid scene graph priority!", zJ: "0 priority is forbidden for fixed priority since it's used for scene graph based priority.", DJ: "Invalid listener type!", EJ: "Can't set fixed priority with scene graph based listener.", AJ: "Invalid parameters.", BJ: "listener must be a cc.EventListener object when adding a fixed priority listener", CJ: "The listener has been registered, please don't register it again.", MC: "parameters should not be ending with null in Javascript", NC: "Invalid index in MultiplexLayer switchTo message", OC: "Invalid index in MultiplexLayer switchTo message", LC: "cc.Layer.addLayer(): layer should be non-null", pC: "Resolution not valid", qC: "should set resolutionPolicy", XK: "The touches is more than MAX_TOUCHES, nUnusedIndex \x3d %s", pB: "cc.swap is being modified from original macro, please check usage", bp: "WebGL error %s", rI: "cocos2d: cc.AnimationCache: No animations were found in provided dictionary.", sI: "cc.AnimationCache. Invalid animation format", zI: "cc.AnimationCache.addAnimations(): File could not be found", tI: "cocos2d: cc.AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", uI: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.", vI: "cocos2d: cc.AnimationCache: None of the frames for animation '%s' were found in the cc.SpriteFrameCache. Animation is not being added to the Animation Cache.", wI: "cocos2d: cc.AnimationCache: An animation in your dictionary refers to a frame which is not in the cc.SpriteFrameCache. Some or all of the frames for the animation '%s' may be missing.", xI: "cocos2d: CCAnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.", yI: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.", AI: "cc.AnimationCache.addAnimations(): Invalid texture file name", cE: "cc.Sprite.reorderChild(): this child is not in children list", VD: "cc.Sprite.ignoreAnchorPointForPosition(): it is invalid in cc.Sprite when using SpriteBatchNode", fE: "cc.Sprite.setDisplayFrameWithAnimationName(): Frame not found", gE: "cc.Sprite.setDisplayFrameWithAnimationName(): Invalid frame index", eE: "setDisplayFrame is deprecated, please use setSpriteFrame instead.", OD: "cc.Sprite._updateBlendFunc(): _updateBlendFunc doesn't work when the sprite is rendered using a cc.CCSpriteBatchNode", XD: "cc.Sprite.initWithSpriteFrame(): spriteFrame should be non-null", YD: "cc.Sprite.initWithSpriteFrameName(): spriteFrameName should be non-null", ZD: " is null, please check.", WD: "cc.Sprite.initWithFile(): filename should be non-null", hE: "cc.Sprite.setDisplayFrameWithAnimationName(): animationName must be non-null", dE: "cc.Sprite.reorderChild(): child should be non-null", PD: "cc.Sprite.addChild(): cc.Sprite only supports cc.Sprites as children when using cc.SpriteBatchNode", QD: "cc.Sprite.addChild(): cc.Sprite only supports a sprite using same texture as children when using cc.SpriteBatchNode", RD: "cc.Sprite.addChild(): child should be non-null", jE: "cc.Sprite.texture setter: Batched sprites should use the same texture as the batchnode", cQ: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", aE: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", SD: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", TD: "cc.SpriteBatchNode.addChild(): cc.Sprite is not using the same texture", $D: "Sprite.initWithTexture(): Argument must be non-nil ", iE: "Invalid spriteFrameName", kE: "Invalid argument: cc.Sprite.texture setter expects a CCTexture2D.", dQ: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", bE: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", UD: "cc.SpriteBatchNode.addChild(): child should be non-null", HD: "cc.SpriteBatchNode.addQuadFromSprite(): SpriteBatchNode only supports cc.Sprites as children", JD: "cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from %s to %s.", KD: "cocos2d: WARNING: Not enough memory to resize the atlas", MD: "cc.SpriteBatchNode.addChild(): Child doesn't belong to Sprite", LD: "cc.SpriteBatchNode.addChild(): sprite batch node should contain the child", ID: "cc.SpriteBatchNode.addQuadFromSprite(): child should be non-null", ND: "cc.SpriteBatchNode.addChild():child should be non-null", wN: "cocos2d: WARNING: originalWidth/Height not found on the cc.SpriteFrame. AnchorPoint won't work as expected. Regenrate the .plist", yN: "cocos2d: WARNING: an alias with name %s already exists", vN: "cocos2d: WARNING: Sprite frame: %s has already been added by another source, please fix name conflit", BN: "cocos2d: cc.SpriteFrameCahce: Frame %s not found", xN: "Please load the resource first : %s", zN: "cc.SpriteFrameCache.addSpriteFrames(): plist should be non-null", AN: "Argument must be non-nil", eq: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", UB: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children", QB: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children", TB: "Sprite.initWithTexture(): Argument must be non-nil ", RB: "cc.Sprite.addChild(): child should be non-null", WB: "Invalid spriteFrameName", XB: "Invalid argument: cc.Sprite texture setter expects a CCTexture2D.", YB: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null", VB: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null", SB: "cc.SpriteBatchNode.addChild(): child should be non-null", BE: "cocos2d: Could not open file: %s", bw: "cc.TextureAtlas.insertQuad(): invalid totalQuads", CE: "cc.TextureAtlas.initWithTexture():texture should be non-null", ME: "cc.TextureAtlas.updateQuad(): quad should be non-null", NE: "cc.TextureAtlas.updateQuad(): Invalid index", FE: "cc.TextureAtlas.insertQuad(): Invalid index", GE: "cc.TextureAtlas.insertQuad(): Invalid index + amount", DE: "cc.TextureAtlas.insertQuadFromIndex(): Invalid newIndex", EE: "cc.TextureAtlas.insertQuadFromIndex(): Invalid fromIndex", KE: "cc.TextureAtlas.removeQuadAtIndex(): Invalid index", LE: "cc.TextureAtlas.removeQuadsAtIndex(): index + amount out of bounds", HE: "cc.TextureAtlas.moveQuadsFromIndex(): move is out of bounds", IE: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid newIndex", JE: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid oldIndex", IN: "TextureCache:addPVRTCImage does not support on HTML5", GN: "TextureCache:addPVRTCImage does not support on HTML5", HN: "addPVRImage does not support on HTML5", JN: "cocos2d: Couldn't add UIImage in TextureCache", LN: "cocos2d: '%s' id\x3d%s %s x %s", rB: "cocos2d: '%s' id\x3d HTMLCanvasElement %s x %s", MN: "cocos2d: TextureCache dumpDebugInfo: %s textures, HTMLCanvasElement for %s KB (%s MB)", KN: "cc.Texture.addUIImage(): image should be non-null", sE: "initWithETCFile does not support on HTML5", wE: "initWithPVRFile does not support on HTML5", yE: "initWithPVRTCData does not support on HTML5", oE: "cc.Texture.addImage(): path should be non-null", uE: "cocos2d: cc.Texture2D. Can't create Texture. UIImage is nil", vE: "cocos2d: WARNING: Image (%s x %s) is bigger than the supported %s x %s", AE: "initWithString isn't supported on cocos2d-html5", tE: "initWithETCFile does not support on HTML5", xE: "initWithPVRFile does not support on HTML5", zE: "initWithPVRTCData does not support on HTML5", qE: "bitsPerPixelForFormat: %s, cannot give useful result, it's a illegal pixel format", nE: "cocos2d: cc.Texture2D: Using RGB565 texture since image has no alpha", pE: "cc.Texture.addImage(): path should be non-null", rE: "NSInternalInconsistencyException", Gb: "Missing file: %s", xA: "cc.radiansToDegress() should be called cc.radiansToDegrees()", Pq: "Rect width exceeds maximum margin: %s", Oq: "Rect height exceeds maximum margin: %s", xC: "If program goes here, there should be event in dispatch.", yC: "_inDispatch should be 1 here." }; b.io = function(a) { if (b.ra) { var c = b.RG, d = document; if (!c) { var e = d.createElement("Div"), c = e.style; e.setAttribute("id", "logInfoDiv"); b.ra.parentNode.appendChild(e); e.setAttribute("width", "200"); e.setAttribute("height", b.ra.height); c.zIndex = "99999"; c.position = "absolute"; c.top = "0"; c.left = "0"; c = b.RG = d.createElement("textarea"); d = c.style; c.setAttribute("rows", "20"); c.setAttribute("cols", "30"); c.setAttribute("disabled", !0); e.appendChild(c); d.backgroundColor = "transparent"; d.borderBottom = "1px solid #cccccc"; d.borderRightWidth = "0px"; d.borderLeftWidth = "0px"; d.borderTopWidth = "0px"; d.borderTopStyle = "none"; d.borderRightStyle = "none"; d.borderLeftStyle = "none"; d.padding = "0px"; d.margin = 0 } a = "string" == typeof a ? a: JSON.stringify(a); c.value = c.value + a + "\r\n"; c.scrollTop = c.scrollHeight } }; b.Un = function(a) { if ("object" === typeof a) try { return JSON.stringify(a) } catch(c) { return "" } else return a }; console.log && (b.log = function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, b.Un(arguments[c])); console.log(a) }, b.warn = console.warn ? function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, b.Un(arguments[c])); console.warn(a) }: b.log, b.error = console.error ? function(a) { for (var c = 1; c < arguments.length; c++) a = a.replace(/(%s)|(%d)/, b.Un(arguments[c])); console.error(a) }: b.log, b.assert = function(a, c) { if (!a && c) { for (var d = 2; d < arguments.length; d++) c = c.replace(/(%s)|(%d)/, b.Un(arguments[d])); throw c; } }); var q = b.Va.Jc[b.Va.Vd.gp], x = b.Va; console.log && q === x.dC || (b.log = q == x.hq ? b.io.bind(b) : function() {}); q && q != x.xv && q != x.cC && q != x.wv || (b.warn = function() {}); q != x.hq && q != x.yv && console.warn || (b.warn = b.io.bind(b)); q && q != x.xv ? q != x.hq && q != x.yv && q != x.wv && console.error || (b.error = b.io.bind(b), b.assert = function(a, c) { if (!a && c) { for (var d = 2; d < arguments.length; d++) c = c.replace("%s", arguments[d]); b.io(c) } }) : (b.error = function() {}, b.assert = function() {}); b.D.tL = function(a, c) { var d = this, e = this.rp(), f = "load " + a + " failed!"; e.open("GET", a, !0); /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (e.setRequestHeader("Accept-Charset", "x-user-defined"), e.onreadystatechange = function() { if (4 == e.readyState && 200 == e.status) { var a = b.vw(e.responseBody); c(null, d.Ho(a)) } else c(f) }) : (e.overrideMimeType && e.overrideMimeType("text/plain; charset\x3dx-user-defined"), e.onload = function() { 4 == e.readyState && 200 == e.status ? c(null, d.Ho(e.responseText)) : c(f) }); e.send(null) }; b.D.Ho = function(a) { if (!a) return null; for (var c = new Uint8Array(a.length), d = 0; d < a.length; d++) c[d] = a.charCodeAt(d) & 255; return c }; b.D.UV = function(a) { var c = this.rp(), d = "load " + a + " failed!"; c.open("GET", a, !1); a = null; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { c.setRequestHeader("Accept-Charset", "x-user-defined"); c.send(null); if (200 != c.status) return b.log(d), null; (c = b.vw(c.responseBody)) && (a = this.Ho(c)) } else { c.overrideMimeType && c.overrideMimeType("text/plain; charset\x3dx-user-defined"); c.send(null); if (200 != c.status) return b.log(d), null; a = this.Ho(c.responseText) } return a }; var Uint8Array = Uint8Array || Array; if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) { var y = b.rb("script"); y.type = "text/vbscript"; y.textContent = '\x3c!-- IEBinaryToArray_ByteStr --\x3e\r\nFunction IEBinaryToArray_ByteStr(Binary)\r\n IEBinaryToArray_ByteStr \x3d CStr(Binary)\r\nEnd Function\r\nFunction IEBinaryToArray_ByteStr_Last(Binary)\r\n Dim lastIndex\r\n lastIndex \x3d LenB(Binary)\r\n if lastIndex mod 2 Then\r\n IEBinaryToArray_ByteStr_Last \x3d Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n Else\r\n IEBinaryToArray_ByteStr_Last \x3d ""\r\n End If\r\nEnd Function\r\n'; document.body.appendChild(y); b.vw = function(a) { for (var c = {}, d = 0; 256 > d; d++) for (var e = 0; 256 > e; e++) c[String.fromCharCode(d + 256 * e)] = String.fromCharCode(d) + String.fromCharCode(e); d = IEBinaryToArray_ByteStr(a); a = IEBinaryToArray_ByteStr_Last(a); return d.replace(/[\s\S]/g, function(a) { return c[a] }) + a } }; b = b || {}; b.Rx = ""; b.Ji = ""; b.os = ""; var b = b || {}, B = { id: 0 | 998 * Math.random(), ZK: 0 | 998 * Math.random(), oz: function(a, c, d) { a = a.toString(); var e = a.substring(a.indexOf("(") + 1, a.indexOf(")")), e = e.trim(); for (a = a.substring(a.indexOf("{") + 1, a.lastIndexOf("}")); - 1 != a.indexOf("this._super");) { var f = a.indexOf("this._super"), g = a.indexOf("(", f), h = a.substring(g + 1, a.indexOf(")", g)), h = h.trim(); a = a.substring(0, f) + "ClassManager[" + d + "]." + c + ".call(this" + (h ? ",": "") + a.substring(g + 1) } return Function(e, a) }, oK: function() { return this.id++ }, pK: function() { return this.ZK++ } }; B.oz.LO = B; (function() { var a = /\b_super\b/, c = b.Va.Jc[b.Va.Vd.QI]; c && console.log("release Mode"); b.oa = function() {}; b.oa.extend = function(d) { function e() { this.L = B.pK(); this.ctor && this.ctor.apply(this, arguments) } var f = this.prototype, g = Object.create(f), h = B.oK(); B[h] = f; var k = { writable: !0, enumerable: !1, configurable: !0 }; g.L = null; e.id = h; k.value = h; Object.defineProperty(g, "__pid", k); e.prototype = g; k.value = e; Object.defineProperty(e.prototype, "constructor", k); this.ze && (e.ze = b.d(this.ze)); this.Ae && (e.Ae = b.d(this.Ae)); for (var m = 0, n = arguments.length; m < n; ++m) { var r = arguments[m], s; for (s in r) { var u = "function" === typeof r[s], t = "function" === typeof f[s], v = a.test(r[s]); c && u && t && v ? (k.value = B.oz(r[s], s, h), Object.defineProperty(g, s, k)) : u && t && v ? (k.value = function(a, c) { return function() { var d = this._super; this._super = f[a]; var e = c.apply(this, arguments); this._super = d; return e } } (s, r[s]), Object.defineProperty(g, s, k)) : u ? (k.value = r[s], Object.defineProperty(g, s, k)) : g[s] = r[s]; if (u) { var w, A; if (this.ze && this.ze[s]) { var u = this.ze[s], z; for (z in this.Ae) if (this.Ae[z] == u) { A = z; break } b.k(g, u, r[s], r[A] ? r[A] : g[A], s, A) } if (this.Ae && this.Ae[s]) { u = this.Ae[s]; for (z in this.ze) if (this.ze[z] == u) { w = z; break } b.k(g, u, r[w] ? r[w] : g[w], r[s], w, s) } } } } e.extend = b.oa.extend; e.nV = function(a) { for (var c in a) g[c] = a[c] }; return e } })(); b.k = function(a, c, d, e, f, g) { if (a.__defineGetter__) d && a.__defineGetter__(c, d), e && a.__defineSetter__(c, e); else if (Object.defineProperty) { var h = { enumerable: !1, configurable: !0 }; d && (h.get = d); e && (h.set = e); Object.defineProperty(a, c, h) } else throw Error("browser does not support getters"); if (!f && !g) for (var h = null != d, k = void 0 != e, m = Object.getOwnPropertyNames(a), n = 0; n < m.length; n++) { var r = m[n]; if ((a.__lookupGetter__ ? !a.__lookupGetter__(r) : !Object.getOwnPropertyDescriptor(a, r)) && "function" === typeof a[r]) { var s = a[r]; if (h && s === d && (f = r, !k || g)) break; if (k && s === e && (g = r, !h || f)) break } } a = a.constructor; f && (a.ze || (a.ze = {}), a.ze[f] = c); g && (a.Ae || (a.Ae = {}), a.Ae[g] = c) }; b.d = function(a) { var c = a.constructor ? new a.constructor: {}, d; for (d in a) { var e = a[d]; c[d] = "object" != typeof e || !e || e instanceof b.m || e instanceof HTMLElement ? e: b.d(e) } return c }; b = b || {}; b.p = b.p || {}; b.TR = function() {}; b.lP = { VR: 8, sZ: 9, iT: 13, shift: 16, rS: 17, alt: 18, pause: 19, bS: 20, escape: 27, TW: 33, SW: 34, end: 35, home: 36, left: 37, vZ: 38, right: 39, yS: 40, qV: 45, WO: 46, 0 : 48, 1 : 49, 2 : 50, 3 : 51, 4 : 52, 5 : 53, 6 : 54, 7 : 55, 8 : 56, 9 : 57, a: 65, b: 66, J: 67, P: 68, FS: 69, lT: 70, g: 71, kV: 72, mV: 73, KV: 74, LV: 75, RV: 76, WV: 77, Ap: 78, oW: 79, rW: 80, cX: 81, r: 82, NX: 83, rZ: 84, R: 85, S: 86, FZ: 87, x: 88, y: 89, z: 90, dW: 96, eW: 97, fW: 98, gW: 99, hW: 100, iW: 101, jW: 102, kW: 103, lW: 104, mW: 105, "*": 106, "+": 107, "-": 109, numdel: 110, "/": 111, mT: 112, qT: 113, rT: 114, sT: 115, tT: 116, uT: 117, vT: 118, wT: 119, xT: 120, nT: 121, oT: 122, pT: 123, nW: 144, QX: 145, RX: 186, ",": 186, jT: 187, "\x3d": 187, ";": 188, jS: 188, sS: 189, ".": 190, ZW: 190, BT: 191, jV: 192, "[": 219, qW: 219, "]": 221, gS: 221, UR: 220, quote: 222, dZ: 32 }; b.cP = 0; b.zC = 1; b.AC = 2; b.dP = 3; b.eP = 4; b.BC = 5; b.oU = function(a) { return 8 < a.length && 137 == a[0] && 80 == a[1] && 78 == a[2] && 71 == a[3] && 13 == a[4] && 10 == a[5] && 26 == a[6] && 10 == a[7] ? b.zC: 2 < a.length && (73 == a[0] && 73 == a[1] || 77 == a[0] && 77 == a[1] || 255 == a[0] && 216 == a[1]) ? b.AC: b.BC }; b.oV = function(a, c) { function d() {} d.prototype = c.prototype; a.Rp = c.prototype; a.prototype = new d; a.prototype.constructor = a }; b.WR = function(a, c, d) { var e = arguments.callee.caller; if (e.Rp) return ret = e.Rp.constructor.apply(a, Array.prototype.slice.call(arguments, 1)); for (var f = Array.prototype.slice.call(arguments, 2), g = !1, h = a.constructor; h; h = h.Rp && h.Rp.constructor) if (h.prototype[c] === e) g = !0; else if (g) return h.prototype[c].apply(a, f); if (a[c] === e) return a.constructor.prototype[c].apply(a, f); throw Error("cc.base called from a method of one name to a method of a different name"); }; b.UP = function(a, c) { this.x = a || 0; this.y = c || 0 }; function C(a, c) { return void 0 == a ? { x: 0, y: 0 }: void 0 == c ? { x: a.x, y: a.y }: { x: a, y: c } } b.NL = function(a, c) { return a && c && a.x === c.x && a.y === c.y }; b.bQ = function(a, c) { this.width = a || 0; this.height = c || 0 }; function D(a, c) { return void 0 === a ? { width: 0, height: 0 }: void 0 === c ? { width: a.width, height: a.height }: { width: a, height: c } } b.cZ = function(a, c) { return a && c && a.width == c.width && a.height == c.height }; b.Uv = function(a, c, d, e) { this.x = a || 0; this.y = c || 0; this.width = d || 0; this.height = e || 0 }; function E(a, c, d, e) { return void 0 === a ? { x: 0, y: 0, width: 0, height: 0 }: void 0 === c ? { x: a.x, y: a.y, width: a.width, height: a.height }: { x: a, y: c, width: d, height: e } } b.AA = function(a, c) { return a && c && a.x === c.x && a.y === c.y && a.width === c.width && a.height === c.height }; b.Ns = function(a) { return a && 0 === a.x && 0 === a.y && 0 === a.width && 0 === a.height }; b.iX = function(a, c) { return a && c ? !(a.x >= c.x || a.y >= c.y || a.x + a.width <= c.x + c.width || a.y + a.height <= c.y + c.height) : !1 }; b.em = function(a) { return a.x + a.width }; b.jX = function(a) { return a.x + a.width / 2 }; b.Mj = function(a) { return a.x }; b.fm = function(a) { return a.y + a.height }; b.kX = function(a) { return a.y + a.height / 2 }; b.Nj = function(a) { return a.y }; b.zA = function(a, c) { return c.x >= b.Mj(a) && c.x <= b.em(a) && c.y >= b.Nj(a) && c.y <= b.fm(a) }; b.BA = function(a, c) { var d = a.y + a.height, e = c.x + c.width, f = c.y + c.height; return ! (a.x + a.width < c.x || e < a.x || d < c.y || f < a.y) }; b.mX = function(a, c) { return ! (a.x + a.width < c.x || c.x + c.width < a.x || a.y + a.height < c.y || c.y + c.height < a.y) }; b.Ip = function(a, c) { var d = E(0, 0, 0, 0); d.x = Math.min(a.x, c.x); d.y = Math.min(a.y, c.y); d.width = Math.max(a.x + a.width, c.x + c.width) - d.x; d.height = Math.max(a.y + a.height, c.y + c.height) - d.y; return d }; b.lX = function(a, c) { var d = E(Math.max(b.Mj(a), b.Mj(c)), Math.max(b.Nj(a), b.Nj(c)), 0, 0); d.width = Math.min(b.em(a), b.em(c)) - b.Mj(d); d.height = Math.min(b.fm(a), b.fm(c)) - b.Nj(d); return d }; b.Vv = b.oa.extend({ Yx: null, ks: null, ctor: function() { window.DOMParser ? (this.ks = !0, this.Yx = new DOMParser) : this.ks = !1 }, parse: function(a) { return this.Xx(a) }, Xx: function(a) { var c; this.ks ? c = this.Yx.parseFromString(a, "text/xml") : (c = new ActiveXObject("Microsoft.XMLDOM"), c.async = "false", c.loadXML(a)); return c } }); b.vD = b.Vv.extend({ parse: function(a) { a = this.Xx(a).documentElement; if ("plist" != a.tagName) throw "Not a plist file!"; for (var c = null, d = 0, e = a.childNodes.length; d < e && (c = a.childNodes[d], 1 != c.nodeType); d++); return this.As(c) }, As: function(a) { var c = null, d = a.tagName; if ("dict" == d) c = this.dH(a); else if ("array" == d) c = this.cH(a); else if ("string" == d) if (1 == a.childNodes.length) c = a.firstChild.nodeValue; else for (c = "", d = 0; d < a.childNodes.length; d++) c += a.childNodes[d].nodeValue; else "false" == d ? c = !1 : "true" == d ? c = !0 : "real" == d ? c = parseFloat(a.firstChild.nodeValue) : "integer" == d && (c = parseInt(a.firstChild.nodeValue, 10)); return c }, cH: function(a) { for (var c = [], d = 0, e = a.childNodes.length; d < e; d++) { var f = a.childNodes[d]; 1 == f.nodeType && c.push(this.As(f)) } return c }, dH: function(a) { for (var c = {}, d = null, e = 0, f = a.childNodes.length; e < f; e++) { var g = a.childNodes[e]; 1 == g.nodeType && ("key" == g.tagName ? d = g.firstChild.nodeValue: c[d] = this.As(g)) } return c } }); b.ZH = { load: function(a, c, d, e) { b.D.yp(a, e) } }; b.D.Mg(["txt", "xml", "vsh", "fsh", "atlas"], b.ZH); b.JG = { load: function(a, c, d, e) { b.D.mA(a, e) } }; b.D.Mg(["json", "ExportJson"], b.JG); b.xG = { load: function(a, c, d, e) { b.D.sd[c] = b.D.Wl(a, function(a, d) { if (a) return e(a); b.va.Fa(c); e(null, d) }) } }; b.D.Mg("png jpg bmp jpeg gif ico".split(" "), b.xG); b.rH = { load: function(a, c, d, e) { b.D.sd[c] = b.D.Wl(d.src, function(a, d) { if (a) return e(a); b.va.Fa(c); e(null, d) }) } }; b.D.Mg(["serverImg"], b.rH); b.gH = { load: function(a, c, d, e) { b.D.yp(a, function(a, c) { if (a) return e(a); e(null, b.ML.parse(c)) }) } }; b.D.Mg(["plist"], b.gH); b.NF = { lE: { ".eot": "embedded-opentype", ".ttf": "truetype", ".woff": "woff", ".svg": "svg" }, Ox: function(a, c, d) { var e = document, f = b.path, g = this.lE, h = b.rb("style"); h.type = "text/css"; e.body.appendChild(h); var k = "@font-face { font-family:" + a + "; src:"; if (c instanceof Array) for (var m = 0, n = c.length; m < n; m++) d = f.Hg(c[m]).toLowerCase(), k += "url('" + c[m] + "') format('" + g[d] + "')", k += m == n - 1 ? ";": ","; else k += "url('" + c + "') format('" + g[d] + "');"; h.textContent += k + "};"; c = b.rb("div"); d = c.style; d.fontFamily = a; c.innerHTML = "."; d.position = "absolute"; d.left = "-100px"; d.top = "-100px"; e.body.appendChild(c) }, load: function(a, c, d, e) { c = d.type; a = d.name; c = d.eZ; "string" == typeof d ? (c = b.path.Hg(d), a = b.path.GI(d, c), this.Ox(a, d, c)) : this.Ox(a, c); e(null, !0) } }; b.D.Mg(["font", "eot", "ttf", "woff", "svg"], b.NF); b.PQ = { load: function(a, c, d, e) { b.D.tL(a, e) } }; window.CocosEngine = b.oq = "Cocos2d-JS v3.0 RC2"; b.vk = 0; b.jq = C(0, 0); b.fC = 0.5; b.JO = 1; b.Yv = 1; b.iD = 0; b.Zv = 0; b.eQ = 0; b.fQ = 0; b.XP = 1; b.WP = "-hd"; b.TE = 1; b.Uf = 0; b.$P = 0; b.JC = 0; b.IC = 0; b.tq = 1; b.NO = b.oq + "-canvas"; b.rm = 1; b.Dv = 1; b.Ca = function(a) { var c = this == b ? document: this; if (a = a instanceof HTMLElement ? a: c.querySelector(a)) a.find = a.find || b.Ca, a.Du = a.Du || function(a) { return this.className.match(RegExp("(\\s|^)" + a + "(\\s|$)")) }, a.$y = a.$y || function(a) { this.Du(a) || (this.className && (this.className += " "), this.className += a); return this }, a.aM = a.aM || function(a) { this.Du(a) && (this.className = this.className.replace(a, "")); return this }, a.remove = a.remove || function() { this.parentNode && this.parentNode.removeChild(this); return this }, a.cz = a.cz || function(a) { a.appendChild(this); return this }, a.SL = a.SL || function(a) { a.childNodes[0] ? a.insertBefore(this, a.childNodes[0]) : a.appendChild(this); return this }, a.mm = a.mm || function() { this.style[b.Ca.PN] = b.Ca.translate(this.position) + b.Ca.rotate(this.rotation) + b.Ca.scale(this.scale) + b.Ca.Sj(this.Sj); return this }, a.position = a.position || { x: 0, y: 0 }, a.rotation = a.rotation || 0, a.scale = a.scale || { x: 1, y: 1 }, a.Sj = a.Sj || { x: 0, y: 0 }, a.tZ = function(a, c) { this.position.x = a; this.position.y = c; this.mm(); return this }, a.rotate = function(a) { this.rotation = a; this.mm(); return this }, a.resize = function(a, c) { this.scale.x = a; this.scale.y = c; this.mm(); return this }, a.PY = function(a, c) { this.Sj.x = a; this.Sj.y = c; this.mm(); return this }; return a }; switch (b.Aa.Ih) { case b.Aa.$j: b.Ca.dm = "Moz"; b.Ca.Bj = !0; break; case b.Aa.Yp: case b.Aa.aq: b.Ca.dm = "webkit"; b.Ca.Bj = !0; break; case b.Aa.$p: b.Ca.dm = "O"; b.Ca.Bj = !1; break; case b.Aa.Zp: b.Ca.dm = "ms"; b.Ca.Bj = !1; break; default: b.Ca.dm = "webkit", b.Ca.Bj = !0 } b.Ca.PN = b.Ca.dm + "Transform"; b.Ca.translate = b.Ca.Bj ? function(a) { return "translate3d(" + a.x + "px, " + a.y + "px, 0) " }: function(a) { return "translate(" + a.x + "px, " + a.y + "px) " }; b.Ca.rotate = b.Ca.Bj ? function(a) { return "rotateZ(" + a + "deg) " }: function(a) { return "rotate(" + a + "deg) " }; b.Ca.scale = function(a) { return "scale(" + a.x + ", " + a.y + ") " }; b.Ca.Sj = function(a) { return "skewX(" + -a.x + "deg) skewY(" + a.y + "deg)" }; b.bO = function(a) { return b.Ca(document.createElement(a)) }; b.Ca.zT = function(a) { var c = 0, d = 0; do c += a.offsetLeft, d += a.offsetTop; while (a = a.offsetParent); return { x: c, y: d } }; b.hP = -1; b.PI = Math.PI; b.aP = parseFloat("3.402823466e+38F"); b.bP = parseFloat("1.175494351e-38F"); b.wD = b.PI / 180; b.zv = 180 / b.PI; b.RE = 4294967295; b.pB = function(a, c, d) { if ("object" == typeof d && "undefined" != typeof d.x && "undefined" != typeof d.y) { var e = d[a]; d[a] = d[c]; d[c] = e } else b.log(b.c.pB) }; b.SV = function(a, c, d) { return a + (c - a) * d }; b.dX = function() { return 16777215 * Math.random() }; b.fX = function() { return 2 * (Math.random() - 0.5) }; b.eX = Math.random; b.Gg = function(a) { return a * b.wD }; b.wA = function(a) { return a * b.zv }; b.xA = function(a) { b.log(b.c.xA); return a * b.zv }; b.Ak = Number.MAX_VALUE - 1; b.kc = b.iD ? 1 : 770; b.jc = 771; b.pA = function(a) { a.Jb && (a.Jb.wc(), a.Jb.xd()) }; b.hT = function() {}; b.uS = function() {}; b.Ze = function() { b.We += 1 }; b.Nm = 1.192092896E-7; b.Ka = b.tq ? function() { return b.Qa.bh }: function() { return 1 }; b.PL = function(a) { var c = b.Ka(); return C(a.x * c, a.y * c) }; b.OL = function(a) { var c = b.Ka(); return C(a.x / c, a.y / c) }; b.Ds = function(a, c) { var d = b.Ka(); c.x = a.x / d; c.y = a.y / d }; b.rN = function(a) { var c = b.Ka(); return D(a.width * c, a.height * c) }; b.qN = function(a) { var c = b.Ka(); return D(a.width / c, a.height / c) }; b.Iy = function(a, c) { var d = b.Ka(); c.width = a.width / d; c.height = a.height / d }; b.Hp = b.tq ? function(a) { var c = b.Ka(); return E(a.x / c, a.y / c, a.width / c, a.height / c) }: function(a) { return a }; b.gm = b.tq ? function(a) { var c = b.Ka(); return E(a.x * c, a.y * c, a.width * c, a.height * c) }: function(a) { return a }; b.ONE = 1; b.ZERO = 0; b.SRC_ALPHA = 770; b.SRC_ALPHA_SATURATE = 776; b.SRC_COLOR = 768; b.DST_ALPHA = 772; b.DST_COLOR = 774; b.ONE_MINUS_SRC_ALPHA = 771; b.ONE_MINUS_SRC_COLOR = 769; b.ONE_MINUS_DST_ALPHA = 773; b.DST_COLOR = 775; b.ONE_MINUS_DST_COLOR = 775; b.ONE_MINUS_CONSTANT_ALPHA = 32772; b.ONE_MINUS_CONSTANT_COLOR = 32770; b.bp = function() { if (b.hm == b.wb) { var a = b.l.getError(); a && b.log(b.c.bp, a) } }; b.RO = 0; b.PO = 1; b.SO = 2; b.QO = 3; b.OO = 2; b.DQ = 0; b.Lc = 1; b.cr = 2; b.dr = 4; b.gn = b.Lc | b.cr | b.dr; b.gP = 0; b.lc = 0; b.Ck = 1; b.Dk = 2; b.EQ = 3; b.sQ = 0; b.oQ = 1; b.qQ = 2; b.AQ = 3; b.yQ = 4; b.lQ = 5; b.uQ = 6; b.wQ = 7; b.nQ = 8; b.Wq = "ShaderPositionTextureColor"; b.ZP = "ShaderPositionTextureColorAlphaTest"; b.Wv = "ShaderPositionColor"; b.Xv = "ShaderPositionTexture"; b.zD = "ShaderPositionTexture_uColor"; b.yD = "ShaderPositionTextureA8Color"; b.AD = "ShaderPosition_uColor"; b.xD = "ShaderPositionLengthTextureColor"; b.tQ = "CC_PMatrix"; b.pQ = "CC_MVMatrix"; b.rQ = "CC_MVPMatrix"; b.BQ = "CC_Time"; b.zQ = "CC_SinTime"; b.mQ = "CC_CosTime"; b.vQ = "CC_Random01"; b.xQ = "CC_Texture0"; b.kQ = "CC_alpha_value"; b.mO = "a_color"; b.nO = "a_position"; b.oO = "a_texCoord"; b.kP = 32; b.KO = 3233828865; b.IQ = 3233828866; b.EP = 8801; b.YP = 8802; b.UO = 8803; b = b || {}; b.p = b.p || {}; b.p.gr = function() { b.color = function(a, d, e, f, g, h) { return void 0 === a ? new b.ad(0, 0, 0, 255, g, h) : "string" === typeof a ? (a = b.Uz(a), new b.ad(a.r, a.g, a.b, a.a)) : "object" === typeof a ? new b.ad(a.r, a.g, a.b, a.a, a.Xo, a.offset) : new b.ad(a, d, e, f, g, h) }; b.ad = function(a, d, e, f, g, h) { this.Bb = g || new ArrayBuffer(b.ad.BYTES_PER_ELEMENT); this.Na = h || 0; g = this.Bb; h = this.Na; var k = Uint8Array.BYTES_PER_ELEMENT; this.Ms = new Uint8Array(g, h, 1); this.Ur = new Uint8Array(g, h + k, 1); this.vr = new Uint8Array(g, h + 2 * k, 1); this.pr = new Uint8Array(g, h + 3 * k, 1); this.Ms[0] = a || 0; this.Ur[0] = d || 0; this.vr[0] = e || 0; this.pr[0] = f || 255 }; b.ad.BYTES_PER_ELEMENT = 4; var a = b.ad.prototype; a.lG = function() { return this.Ms[0] }; a.DH = function(a) { this.Ms[0] = 0 > a ? 0 : a }; a.bG = function() { return this.Ur[0] }; a.AH = function(a) { this.Ur[0] = 0 > a ? 0 : a }; a.VF = function() { return this.vr[0] }; a.tH = function(a) { this.vr[0] = 0 > a ? 0 : a }; a.RF = function() { return this.pr[0] }; a.sH = function(a) { this.pr[0] = 0 > a ? 0 : a }; b.k(a, "r", a.lG, a.DH); b.k(a, "g", a.bG, a.AH); b.k(a, "b", a.VF, a.tH); b.k(a, "a", a.RF, a.sH); b.Sa = function(a, d, e, f) { this.Bb = e || new ArrayBuffer(b.Sa.BYTES_PER_ELEMENT); this.Na = f || 0; this.Bh = new Float32Array(this.Bb, this.Na, 1); this.Ch = new Float32Array(this.Bb, this.Na + 4, 1); this.Bh[0] = a || 0; this.Ch[0] = d || 0 }; b.Sa.BYTES_PER_ELEMENT = 8; Object.defineProperties(b.Sa.prototype, { x: { get: function() { return this.Bh[0] }, set: function(a) { this.Bh[0] = a }, enumerable: !0 }, y: { get: function() { return this.Ch[0] }, set: function(a) { this.Ch[0] = a }, enumerable: !0 } }); b.Yd = function(a, d, e, f, g) { this.Bb = f || new ArrayBuffer(b.Yd.BYTES_PER_ELEMENT); this.Na = g || 0; f = this.Bb; g = this.Na; this.Bh = new Float32Array(f, g, 1); this.Bh[0] = a || 0; this.Ch = new Float32Array(f, g + Float32Array.BYTES_PER_ELEMENT, 1); this.Ch[0] = d || 0; this.Rt = new Float32Array(f, g + 2 * Float32Array.BYTES_PER_ELEMENT, 1); this.Rt[0] = e || 0 }; b.Yd.BYTES_PER_ELEMENT = 12; Object.defineProperties(b.Yd.prototype, { x: { get: function() { return this.Bh[0] }, set: function(a) { this.Bh[0] = a }, enumerable: !0 }, y: { get: function() { return this.Ch[0] }, set: function(a) { this.Ch[0] = a }, enumerable: !0 }, z: { get: function() { return this.Rt[0] }, set: function(a) { this.Rt[0] = a }, enumerable: !0 } }); b.Xf = function(a, d, e, f) { this.Bb = e || new ArrayBuffer(b.Xf.BYTES_PER_ELEMENT); this.Na = f || 0; this.Gt = new Float32Array(this.Bb, this.Na, 1); this.Kt = new Float32Array(this.Bb, this.Na + 4, 1); this.Gt[0] = a || 0; this.Kt[0] = d || 0 }; b.Xf.BYTES_PER_ELEMENT = 8; Object.defineProperties(b.Xf.prototype, { R: { get: function() { return this.Gt[0] }, set: function(a) { this.Gt[0] = a }, enumerable: !0 }, S: { get: function() { return this.Kt[0] }, set: function(a) { this.Kt[0] = a }, enumerable: !0 } }); b.Nq = function(a, d, e, f, g, h) { this.Bb = g || new ArrayBuffer(b.Nq.BYTES_PER_ELEMENT); this.Na = h || 0; g = this.Bb; h = b.Sa.BYTES_PER_ELEMENT; this.kj = a ? new b.Sa(a.x, a.y, g, 0) : new b.Sa(0, 0, g, 0); this.nj = d ? new b.Sa(d.x, d.y, g, h) : new b.Sa(0, 0, g, h); this.pi = e ? new b.Sa(e.x, e.y, g, 2 * h) : new b.Sa(0, 0, g, 2 * h); this.ri = f ? new b.Sa(f.x, f.y, g, 3 * h) : new b.Sa(0, 0, g, 3 * h) }; b.Nq.BYTES_PER_ELEMENT = 32; b.VP = function(a, d, e, f) { this.wa = a || new b.Yd(0, 0, 0); this.xa = d || new b.Yd(0, 0, 0); this.ya = e || new b.Yd(0, 0, 0); this.za = f || new b.Yd(0, 0, 0) }; Object.defineProperties(b.Nq.prototype, { ya: { get: function() { return this.kj }, set: function(a) { this.kj.x = a.x; this.kj.y = a.y }, enumerable: !0 }, za: { get: function() { return this.nj }, set: function(a) { this.nj.x = a.x; this.nj.y = a.y }, enumerable: !0 }, wa: { get: function() { return this.pi }, set: function(a) { this.pi.x = a.x; this.pi.y = a.y }, enumerable: !0 }, xa: { get: function() { return this.ri }, set: function(a) { this.ri.x = a.x; this.ri.y = a.y }, enumerable: !0 } }); b.Ed = function(a, d, e, f, g) { this.Bb = f || new ArrayBuffer(b.Ed.BYTES_PER_ELEMENT); this.Na = g || 0; f = this.Bb; g = this.Na; var h = b.Yd.BYTES_PER_ELEMENT; this.pj = a ? new b.Yd(a.x, a.y, a.z, f, g) : new b.Yd(0, 0, 0, f, g); this.Qk = d ? b.color(d.r, d.g, d.b, d.a, f, g + h) : b.color(0, 0, 0, 0, f, g + h); this.th = e ? new b.Xf(e.R, e.S, f, g + h + b.ad.BYTES_PER_ELEMENT) : new b.Xf(0, 0, f, g + h + b.ad.BYTES_PER_ELEMENT) }; b.Ed.BYTES_PER_ELEMENT = 24; Object.defineProperties(b.Ed.prototype, { e: { get: function() { return this.pj }, set: function(a) { var d = this.pj; d.x = a.x; d.y = a.y; d.z = a.z }, enumerable: !0 }, j: { get: function() { return this.Qk }, set: function(a) { var d = this.Qk; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: !0 }, f: { get: function() { return this.th }, set: function(a) { this.th.R = a.R; this.th.S = a.S }, enumerable: !0 } }); b.Xa = function(a, d, e, f, g, h) { this.Bb = g || new ArrayBuffer(b.Xa.BYTES_PER_ELEMENT); this.Na = h || 0; g = this.Bb; h = this.Na; var k = b.Ed.BYTES_PER_ELEMENT; this.kj = a ? new b.Ed(a.e, a.j, a.f, g, h) : new b.Ed(null, null, null, g, h); this.pi = d ? new b.Ed(d.e, d.j, d.f, g, h + k) : new b.Ed(null, null, null, g, h + k); this.nj = e ? new b.Ed(e.e, e.j, e.f, g, h + 2 * k) : new b.Ed(null, null, null, g, h + 2 * k); this.ri = f ? new b.Ed(f.e, f.j, f.f, g, h + 3 * k) : new b.Ed(null, null, null, g, h + 3 * k) }; b.Xa.BYTES_PER_ELEMENT = 96; Object.defineProperties(b.Xa.prototype, { ya: { get: function() { return this.kj }, set: function(a) { var d = this.kj; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, wa: { get: function() { return this.pi }, set: function(a) { var d = this.pi; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, za: { get: function() { return this.nj }, set: function(a) { var d = this.nj; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, xa: { get: function() { return this.ri }, set: function(a) { var d = this.ri; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, Xo: { get: function() { return this.Bb }, enumerable: !0 } }); b.UE = function() { return new b.Xa }; b.ew = function(a) { if (!a) return b.UE(); var d = a.ya, e = a.wa, f = a.za; a = a.xa; return { ya: { e: { x: d.e.x, y: d.e.y, z: d.e.z }, j: { r: d.j.r, g: d.j.g, b: d.j.b, a: d.j.a }, f: { R: d.f.R, S: d.f.S } }, wa: { e: { x: e.e.x, y: e.e.y, z: e.e.z }, j: { r: e.j.r, g: e.j.g, b: e.j.b, a: e.j.a }, f: { R: e.f.R, S: e.f.S } }, za: { e: { x: f.e.x, y: f.e.y, z: f.e.z }, j: { r: f.j.r, g: f.j.g, b: f.j.b, a: f.j.a }, f: { R: f.f.R, S: f.f.S } }, xa: { e: { x: a.e.x, y: a.e.y, z: a.e.z }, j: { r: a.j.r, g: a.j.g, b: a.j.b, a: a.j.a }, f: { R: a.f.R, S: a.f.S } } } }; b.CQ = function(a) { if (!a) return []; for (var d = [], e = 0; e < a.length; e++) d.push(b.ew(a[e])); return d }; b.Xd = function(a, d, e, f, g) { this.Bb = f || new ArrayBuffer(b.Xd.BYTES_PER_ELEMENT); this.Na = g || 0; f = this.Bb; g = this.Na; var h = b.Sa.BYTES_PER_ELEMENT; this.pj = a ? new b.Sa(a.x, a.y, f, g) : new b.Sa(0, 0, f, g); this.Qk = d ? b.color(d.r, d.g, d.b, d.a, f, g + h) : b.color(0, 0, 0, 0, f, g + h); this.th = e ? new b.Xf(e.R, e.S, f, g + h + b.ad.BYTES_PER_ELEMENT) : new b.Xf(0, 0, f, g + h + b.ad.BYTES_PER_ELEMENT) }; b.Xd.BYTES_PER_ELEMENT = 20; Object.defineProperties(b.Xd.prototype, { e: { get: function() { return this.pj }, set: function(a) { this.pj.x = a.x; this.pj.y = a.y }, enumerable: !0 }, j: { get: function() { return this.Qk }, set: function(a) { var d = this.Qk; d.r = a.r; d.g = a.g; d.b = a.b; d.a = a.a }, enumerable: !0 }, f: { get: function() { return this.th }, set: function(a) { this.th.R = a.R; this.th.S = a.S }, enumerable: !0 } }); b.Ra = function(a, d, e, f, g) { this.Bb = f || new ArrayBuffer(b.Ra.BYTES_PER_ELEMENT); this.Na = g || 0; f = this.Bb; g = this.Na; var h = b.Xd.BYTES_PER_ELEMENT; this.jw = a ? new b.Xd(a.e, a.j, a.f, f, g) : new b.Xd(null, null, null, f, g); this.qw = d ? new b.Xd(d.e, d.j, d.f, f, g + h) : new b.Xd(null, null, null, f, g + h); this.tw = e ? new b.Xd(e.e, e.j, e.f, f, g + 2 * h) : new b.Xd(null, null, null, f, g + 2 * h) }; b.Ra.BYTES_PER_ELEMENT = 60; Object.defineProperties(b.Ra.prototype, { a: { get: function() { return this.jw }, set: function(a) { var d = this.jw; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, b: { get: function() { return this.qw }, set: function(a) { var d = this.qw; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 }, J: { get: function() { return this.tw }, set: function(a) { var d = this.tw; d.e = a.e; d.j = a.j; d.f = a.f }, enumerable: !0 } }) }; b.p.Gq = function() { var a = b.color; a.vG = function() { return a(255, 255, 255) }; a.wG = function() { return a(255, 255, 0) }; a.XF = function() { return a(0, 0, 255) }; a.dG = function() { return a(0, 255, 0) }; a.mG = function() { return a(255, 0, 0) }; a.gG = function() { return a(255, 0, 255) }; a.WF = function() { return a(0, 0, 0) }; a.kG = function() { return a(255, 127, 0) }; a.cG = function() { return a(166, 166, 166) }; b.k(a, "WHITE", a.vG); b.k(a, "YELLOW", a.wG); b.k(a, "BLUE", a.XF); b.k(a, "GREEN", a.dG); b.k(a, "RED", a.mG); b.k(a, "MAGENTA", a.gG); b.k(a, "BLACK", a.WF); b.k(a, "ORANGE", a.kG); b.k(a, "GRAY", a.cG); b.cb.CF = function() { return new b.cb(b.ONE, b.ZERO) }; b.cb.kF = function() { return new b.cb(b.ONE, b.ONE_MINUS_SRC_ALPHA) }; b.cb.jF = function() { return new b.cb(b.SRC_ALPHA, b.ONE_MINUS_SRC_ALPHA) }; b.cb.iF = function() { return new b.cb(b.SRC_ALPHA, b.ONE) }; b.k(b.cb, "DISABLE", b.cb.CF); b.k(b.cb, "ALPHA_PREMULTIPLIED", b.cb.kF); b.k(b.cb, "ALPHA_NON_PREMULTIPLIED", b.cb.jF); b.k(b.cb, "ADDITIVE", b.cb.iF) }; b.ad = function(a, c, d, e) { this.r = a || 0; this.g = c || 0; this.b = d || 0; this.a = e || 255 }; b.color = function(a, c, d, e) { return void 0 === a ? { r: 0, g: 0, b: 0, a: 255 }: "string" === typeof a ? b.Uz(a) : "object" === typeof a ? { r: a.r, g: a.g, b: a.b, a: a.a || 255 }: { r: a, g: c, b: d, a: e || 255 } }; b.hS = function(a, c) { return a.r === c.r && a.g === c.g && a.b === c.b }; b.FB = function() { this.timestamp = this.z = this.y = this.x = 0 }; b.Sa = function(a, c) { this.x = a || 0; this.y = c || 0 }; b.Yd = function(a, c, d) { this.x = a || 0; this.y = c || 0; this.z = d || 0 }; b.Xf = function(a, c) { this.R = a || 0; this.S = c || 0 }; b.cb = function(a, c) { this.src = a; this.Y = c }; b.XR = function() { return new b.cb(b.ONE, b.ZERO) }; b.Uz = function(a) { a = a.replace(/^#?/, "0x"); a = parseInt(a); return b.color(a >> 16, (a >> 8) % 256, a % 256) }; b.iS = function(a) { var c = a.r.toString(16), d = a.g.toString(16), e = a.b.toString(16); return "#" + (16 > a.r ? "0" + c: c) + (16 > a.g ? "0" + d: d) + (16 > a.b ? "0" + e: e) }; b.cn = 0; b.Yg = 1; b.$v = 2; b.Ek = 0; b.VE = 1; b.fw = 2; b.KQ = b.oa.extend({ Ui: null, Gl: null, or: 0, ctor: function() { this.Ui = {}; this.Gl = {}; this.or = 2 << (0 | 10 * Math.random()) }, dF: function() { this.or++; return "key_" + this.or }, AY: function(a, c) { if (null != c) { var d = this.dF(); this.Ui[d] = c; this.Gl[d] = a } }, CL: function(a) { if (null == a) return null; var c = this.Ui, d; for (d in c) if (c[d] === a) return this.Gl[d]; return null }, CZ: function(a) { return this.CL(a) }, cM: function(a) { if (null != a) { var c = this.Ui, d; for (d in c) if (c[d] === a) { delete this.Gl[d]; delete c[d]; break } } }, BX: function(a) { if (null != a) for (var c = 0; c < a.length; c++) this.cM(a[c]) }, pI: function() { var a = [], c = this.Ui, d; for (d in c) a.push(c[d]); return a }, tX: function() { this.Ui = {}; this.Gl = {} }, count: function() { return this.pI().length } }); b.Fv = function() { this.fontName = "Arial"; this.fontSize = 12; this.textAlign = b.Yg; this.verticalAlign = b.Ek; this.fillStyle = b.color(255, 255, 255, 255); this.boundingHeight = this.boundingWidth = 0; this.lv = !1; this.strokeStyle = b.color(255, 255, 255, 255); this.lineWidth = 1; this.kB = !1; this.shadowBlur = this.shadowOffsetY = this.shadowOffsetX = 0; this.shadowOpacity = 1 }; b.da === b.wb && (b.assert("function" === typeof b.p.gr, b.c.Gb, "CCTypesWebGL.js"), b.p.gr(), delete b.p.gr); b.assert("function" === typeof b.p.Gq, b.c.Gb, "CCTypesPropertyDefine.js"); b.p.Gq(); delete b.p.Gq; b.hQ = []; b.iQ = {}; b.mq = b.oa.extend({ VQ: null, oc: null, Ai: null, tg: null, sc: null, Ve: null, Ts: !1, ur: !0, dh: 1, Mt: "", Qs: null, O: 1, Ux: 1, ma: 1, Vx: 1, Oi: 0, ts: 5, he: null, ry: null, vy: null, uy: null, sy: null, ty: null, al: !1, QQ: !1, zR: null, zx: null, Ax: null, vR: !1, Er: null, og: null, Sr: 1, kn: !1, Ex: !0, ctor: function() { var a = document, c = b.Rf, d = b.Cd; this.og = b.Jh.parentNode === a.body ? a.documentElement: b.Jh.parentNode; this.oc = D(0, 0); this.fs(); var a = b.ra.width, e = b.ra.height; this.Ai = D(a, e); this.tg = D(a, e); this.sc = E(0, 0, a, e); this.Ve = E(0, 0, a, e); this.Er = { left: 0, top: 0 }; this.Mt = "Cocos2dHTML5"; a = b.Aa; this.vJ(a.Su == a.Nv || a.Su == a.Ov); b.di && b.di.ga(this.Ve); this.ry = new b.yc(c.sm, d.pq); this.vy = new b.yc(c.tD, d.SHOW_ALL); this.uy = new b.yc(c.sm, d.zq); this.sy = new b.yc(c.sm, d.Mm); this.ty = new b.yc(c.sm, d.qq); this.zx = b.ra; this.Ax = b.l }, Rs: function() { var a = this.tg.width, c = this.tg.height; this.Qs && (this.fs(), this.Qs.call()); 0 < a && this.Lp(a, c, this.he) }, fM: function(a) { a ? this.kn || (this.kn = !0, a = this.Rs.bind(this), b.ka(window, "resize", a, !1)) : this.kn && (this.kn = !0, a = this.Rs.bind(this), window.removeEventListener("resize", a, !1)) }, MY: function(a) { if ("function" == typeof a || null == a) this.Qs = a }, fs: function() { var a = this.oc; a.width = this.og.clientWidth; a.height = this.og.clientHeight }, LQ: function() { var a = this.tg.width, c = this.tg.height; 0 < a && this.Lp(a, c, this.he) }, MH: function() { if (this.Ex) { var a = { "user-scalable": "no", "maximum-scale": "1.0", "initial-scale": "1.0" }, c = document.getElementsByName("viewport"), d; 0 == c.length ? (c = b.rb("meta"), c.name = "viewport", c.content = "", document.head.appendChild(c)) : c = c[0]; if (b.Aa.Kf && b.Aa.Ih == b.Aa.$j) c.content = "initial-scale:1"; else { d = c.content; for (var e in a) RegExp(e).test(d) || (d += ("" == d ? "": ",") + e + "\x3d" + a[e]); c.content = d } } }, By: function() { var a = b.Ka(); this.ma = this.O = a }, oy: function() { this.O = this.Ux; this.ma = this.Vx }, MQ: function() {}, WK: function() { this.al = !0 }, lI: function(a) { this.Ex = a }, vJ: function(a) { this.Ts = a ? !0 : !1 }, EV: function() { return this.Ts }, gT: function(a) { this.ur = a ? !0 : !1 }, tV: function() { return this.ur }, end: function() {}, BV: function() { return null != this.zx && null != this.Ax }, qY: function(a) { this.Sr = a; b.Qa.Op(b.Qa.kh) }, oZ: function() {}, uY: function() {}, bY: function(a, c) { this.Er = { left: a, top: c } }, RT: function() { return this.Er }, iU: function() { return D(this.oc.width, this.oc.height) }, pY: function(a, c) { this.oc.width = a; this.oc.height = c; this.og.style.width = a + "px"; this.og.style.height = c + "px"; this.Rs(); b.Qa.Op(b.Qa.kh) }, cS: function() {}, Pl: function() { return D(this.Ve.width, this.Ve.height) }, Au: function() { return C(this.Ve.x, this.Ve.y) }, $R: function() { return ! 0 }, KU: function() { return this.he }, XM: function(a) { if (a instanceof b.yc) this.he = a; else { var c = b.yc; a === c.pq && (this.he = this.ry); a === c.SHOW_ALL && (this.he = this.vy); a === c.zq && (this.he = this.uy); a === c.Mm && (this.he = this.sy); a === c.qq && (this.he = this.ty) } }, Lp: function(a, c, d) { if (isNaN(a) || 0 == a || isNaN(c) || 0 == c) b.log(b.c.pC); else { this.XM(d); var e = this.he; if (e) { e.Wh(this); var f = this.oc.width, g = this.oc.height; b.Aa.Kf && this.MH(this.oc.width, this.oc.height); this.fs(); if (d != this.he || a != this.tg.width || c != this.tg.height || f != this.oc.width || g != this.oc.height) this.Ai = D(a, c), this.tg = D(a, c), a = e.apply(this, this.Ai), a.scale && 2 == a.scale.length && (this.O = a.scale[0], this.ma = a.scale[1]), a.viewport && (a = this.sc = a.viewport, c = this.Ve, c.width = b.ra.width / this.O, c.height = b.ra.height / this.ma, c.x = -a.x / this.O, c.y = -a.y / this.ma), a = b.Qa, b.aa.width = a.ab.width = this.Ve.width, b.aa.height = a.ab.height = this.Ve.height, e.Vh(this), b.da == b.wb && (a.yi(), a.ZA()), this.Ux = this.O, this.Vx = this.ma, b.gC && b.gC.oR(), b.di && b.di.ga(this.Ve) } else b.log(b.c.qC) } }, su: function() { return D(this.Ai.width, this.Ai.height) }, lN: function(a, c, d, e) { var f = this.Sr, g = this.O, h = this.ma; b.l.viewport(a * g * f + this.sc.x * f, c * h * f + this.sc.y * f, d * g * f, e * h * f) }, OY: function(a, c, d, e) { var f = this.Sr, g = this.O, h = this.ma; b.l.scissor(a * g * f + this.sc.x * f, c * h * f + this.sc.y * f, d * g * f, e * h * f) }, GV: function() { var a = b.l; return a.isEnabled(a.SCISSOR_TEST) }, OU: function() { var a = b.l, c = this.O, d = this.ma, a = a.getParameter(a.SCISSOR_BOX); return E((a[0] - this.sc.x) / c, (a[1] - this.sc.y) / d, a[2] / c, a[3] / d) }, $Y: function(a) { null != a && 0 < a.length && (this.Mt = a) }, eV: function() { return this.Mt }, fV: function() { return this.sc }, Lz: function() { return this.O }, Mz: function() { return this.ma }, ZT: function() { return this.dh }, cu: function(a, c, d) { return { x: this.dh * (a - d.left), y: this.dh * (d.top + d.height - c) } }, xF: function(a, c) { var d = this.sc; a.x = (this.dh * (a.x - c.left) - d.x) / this.O; a.y = (this.dh * (c.top + c.height - a.y) - d.y) / this.ma }, Cn: function(a) { for (var c = this.sc, d = this.O, e = this.ma, f, g, h, k = 0; k < a.length; k++) f = a[k], g = f.Qb, h = f.Qe, f.et((g.x - c.x) / d, (g.y - c.y) / e), f.bj((h.x - c.x) / d, (h.y - c.y) / e) } }); b.mq.Zr = function() { this.ao || (this.ao = this.ao || new b.mq, this.ao.WK()); return this.ao }; b.Rf = b.oa.extend({ Wh: function() {}, apply: function() {}, Vh: function() {}, it: function(a, c, d) { var e = a.og; b.view.ur && b.Aa.Kf && e == document.documentElement && b.screen.EI(e); var e = b.ra, f = b.Jh; f.style.width = e.style.width = c + "px"; f.style.height = e.style.height = d + "px"; f = a.dh = 1; a.Ts && (f = a.dh = window.devicePixelRatio || 1); e.width = c * f; e.height = d * f; a = document.body; var g; a && (g = a.style) && (g.paddingTop = g.paddingTop || "0px", g.paddingRight = g.paddingRight || "0px", g.paddingBottom = g.paddingBottom || "0px", g.paddingLeft = g.paddingLeft || "0px", g.borderTop = g.borderTop || "0px", g.borderRight = g.borderRight || "0px", g.borderBottom = g.borderBottom || "0px", g.borderLeft = g.borderLeft || "0px", g.marginTop = g.marginTop || "0px", g.marginRight = g.marginRight || "0px", g.marginBottom = g.marginBottom || "0px", g.marginLeft = g.marginLeft || "0px") }, px: function() { document.body.insertBefore(b.Jh, document.body.firstChild); var a = document.body.style; a.width = window.innerWidth + "px"; a.height = window.innerHeight + "px"; a.overflow = "hidden"; a = b.Jh.style; a.position = "fixed"; a.left = a.top = "0px"; document.body.scrollTop = 0 } }); b.Cd = b.oa.extend({ Ss: { scale: [1, 1], viewport: null }, Nk: function(a, c, d, e, f, g) { 2 > Math.abs(a - d) && (d = a); 2 > Math.abs(c - e) && (e = c); a = E(Math.round((a - d) / 2), Math.round((c - e) / 2), d, e); b.da == b.Ya && b.l.translate(a.x, a.y + e); this.Ss.scale = [f, g]; this.Ss.viewport = a; return this.Ss }, Wh: function() {}, apply: function() { return { scale: [1, 1] } }, Vh: function() {} }); (function() { var a = b.Rf.extend({ apply: function(a) { this.it(a, a.oc.width, a.oc.height) } }), c = b.Rf.extend({ apply: function(a, c) { var d = a.oc.width, e = a.oc.height, f = b.Jh.style, r = c.width, s = c.height, u = d / r, t = e / s, v, w; u < t ? (v = d, w = s * u) : (v = r * t, w = e); r = Math.round((d - v) / 2); w = Math.round((e - w) / 2); this.it(a, d - 2 * r, e - 2 * w); f.marginLeft = r + "px"; f.marginRight = r + "px"; f.marginTop = w + "px"; f.marginBottom = w + "px" } }); a.extend({ Wh: function(a) { this._super(a); a.og = document.documentElement }, apply: function(a) { this._super(a); this.px() } }); c.extend({ Wh: function(a) { this._super(a); a.og = document.documentElement }, apply: function(a, c) { this._super(a, c); this.px() } }); var d = b.Rf.extend({ apply: function(a) { this.it(a, b.ra.width, b.ra.height) } }); b.Rf.sm = new a; b.Rf.tD = new c; b.Rf.RP = new d; var a = b.Cd.extend({ apply: function(a, c) { var d = b.ra.width, e = b.ra.height; return this.Nk(d, e, d, e, d / c.width, e / c.height) } }), c = b.Cd.extend({ apply: function(a, c) { var d = b.ra.width, e = b.ra.height, f = c.width, r = c.height, s = d / f, u = e / r, t = 0, v, w; s < u ? (t = s, v = d, w = r * t) : (t = u, v = f * t, w = e); return this.Nk(d, e, v, w, t, t) } }), d = b.Cd.extend({ apply: function(a, c) { var d = b.ra.width, e = b.ra.height, f = c.width, r = c.height, s = d / f, u = e / r, t, v, w; s < u ? (t = u, v = f * t, w = e) : (t = s, v = d, w = r * t); return this.Nk(d, e, v, w, t, t) } }), e = b.Cd.extend({ apply: function(a, c) { var d = b.ra.width, e = b.ra.height, f = e / c.height; return this.Nk(d, e, d, e, f, f) }, Vh: function(a) { b.Qa.ab = a.Pl() } }), f = b.Cd.extend({ apply: function(a, c) { var d = b.ra.width, e = b.ra.height, f = d / c.width; return this.Nk(d, e, d, e, f, f) }, Vh: function(a) { b.Qa.ab = a.Pl() } }); b.Cd.pq = new a; b.Cd.SHOW_ALL = new c; b.Cd.zq = new d; b.Cd.Mm = new e; b.Cd.qq = new f })(); b.yc = b.oa.extend({ An: null, Bn: null, ctor: function(a, c) { this.BM(a); this.CM(c) }, Wh: function(a) { this.An.Wh(a); this.Bn.Wh(a) }, apply: function(a, c) { this.An.apply(a, c); return this.Bn.apply(a, c) }, Vh: function(a) { this.An.Vh(a); this.Bn.Vh(a) }, BM: function(a) { a instanceof b.Rf && (this.An = a) }, CM: function(a) { a instanceof b.Cd && (this.Bn = a) } }); b.yc.pq = 0; b.yc.zq = 1; b.yc.SHOW_ALL = 2; b.yc.Mm = 3; b.yc.qq = 4; b.yc.SE = 5; b.screen = { Lo: !1, Gs: null, Et: "", ng: null, LF: [["requestFullscreen", "exitFullscreen", "fullscreenchange", "fullscreenEnabled", "fullscreenElement"], ["requestFullScreen", "exitFullScreen", "fullScreenchange", "fullScreenEnabled", "fullScreenElement"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitIsFullScreen", "webkitCurrentFullScreenElement"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozfullscreenchange", "mozFullScreen", "mozFullScreenElement"], ["msRequestFullscreen", "msExitFullscreen", "MSFullscreenChange", "msFullscreenEnabled", "msFullscreenElement"]], ga: function() { this.ng = {}; var a, c, d = this.LF, e; a = 0; for (l = d.length; a < l; a++) if ((c = d[a]) && c[1] in document) { a = 0; for (e = c.length; a < e; a++) this.ng[d[0][a]] = c[a]; break } this.Lo = void 0 != this.ng.requestFullscreen; this.Et = "ontouchstart" in window ? "touchstart": "mousedown" }, fullScreen: function() { return this.Lo && document[this.ng.fullscreenEnabled] }, HA: function(a, c) { if (this.Lo) { a = a || document.documentElement; a[this.ng.requestFullscreen](); if (c) { var d = this.ng.CT; this.Gs && document.removeEventListener(d, this.Gs); this.Gs = c; b.ka(document, d, c, !1) } return a[this.ng.requestFullscreen]() } }, kT: function() { return this.Lo ? document[this.ng.exitFullscreen]() : !0 }, EI: function(a, c) { function d() { f.HA(a, c); e.removeEventListener(f.Et, d) } a = a || document.body; var e = b.ra || a, f = this; this.HA(a, c); b.ka(e, this.Et, d) } }; b.screen.ga(); b.di = { tB: C(0, 0), uB: C(0, 0), top: C(0, 0), Wt: C(0, 0), iz: C(0, 0), bottom: C(0, 0), Zo: C(0, 0), left: C(0, 0), right: C(0, 0), width: 0, height: 0, ga: function(a) { var c = this.width = a.width, d = this.height = a.height, e = a.x; a = a.y; var f = a + d, g = e + c; this.tB.x = e; this.tB.y = f; this.uB.x = g; this.uB.y = f; this.top.x = e + c / 2; this.top.y = f; this.Wt.x = e; this.Wt.y = a; this.iz.x = g; this.iz.y = a; this.bottom.x = e + c / 2; this.bottom.y = a; this.Zo.x = e + c / 2; this.Zo.y = a + d / 2; this.left.x = e; this.left.y = a + d / 2; this.right.x = g; this.right.y = a + d / 2 } }; b.OE = -90; b.PE = 90; b.QE = 180; b.jQ = 0; b.dA = { Wi: !1, Ix: !1, ay: C(0, 0), iH: C(0, 0), by: [], Hs: 0, Ag: [], Ft: {}, Oi: 0, ts: 5, mn: !1, nn: 1 / 30, lw: 1, Zg: 0, qr: null, ln: null, tG: function() { for (var a = this.Oi, c = 0; c < this.ts; c++) { if (! (a & 1)) return this.Oi |= 1 << c, c; a >>= 1 } return - 1 }, pH: function(a) { 0 > a || a >= this.ts || (a = ~ (1 << a), this.Oi &= a) }, pg: null, Bu: function(a) { for (var c, d, e, f = [], g = this.Ft, h = 0, k = a.length; h < k; h++) c = a[h], e = c.ce, d = g[e], null == d && (d = this.tG(), -1 == d ? b.log(b.c.XK, d) : (c = this.Ag[d] = c, g[e] = d, f.push(c))); 0 < f.length && (this.pg.Cn(f), a = new b.Dd(f), a.jg = b.Dd.ii.Xp, b.I.dispatchEvent(a)) }, Cu: function(a) { for (var c, d, e = [], f = this.Ag, g = 0, h = a.length; g < h; g++) c = a[g], d = c.ce, d = this.Ft[d], null != d && f[d] && (f[d].et(c.Qb), f[d].bj(c.Qe), e.push(f[d])); 0 < e.length && (this.pg.Cn(e), a = new b.Dd(e), a.jg = b.Dd.ii.yq, b.I.dispatchEvent(a)) }, sp: function(a) { a = this.Nz(a); 0 < a.length && (this.pg.Cn(a), a = new b.Dd(a), a.jg = b.Dd.ii.nq, b.I.dispatchEvent(a)) }, Tz: function(a) { a = this.Nz(a); 0 < a.length && (this.pg.Cn(a), a = new b.Dd(a), a.jg = b.Dd.ii.dq, b.I.dispatchEvent(a)) }, Nz: function(a) { for (var c, d, e, f = [], g = this.Ag, h = this.Ft, k = 0, m = a.length; k < m; k++) c = a[k], e = c.ce, d = h[e], null != d && g[d] && (g[d].et(c.Qb), g[d].bj(c.Qe), f.push(g[d]), this.pH(d), delete h[e]); return f }, oe: function(a) { var c = document.documentElement, d = window, e = null, e = "function" === typeof a.getBoundingClientRect ? a.getBoundingClientRect() : a instanceof HTMLCanvasElement ? { left: 0, top: 0, width: a.width, height: a.height }: { left: 0, top: 0, width: parseInt(a.style.width), height: parseInt(a.style.height) }; return { left: e.left + d.pageXOffset - c.clientLeft, top: e.top + d.pageYOffset - c.clientTop, width: e.width, height: e.height } }, uK: function(a) { for (var c = null, d = this.by, e = a.ce, f = d.length - 1; 0 <= f; f--) if (d[f].ce == e) { c = d[f]; break } c || (c = a); return c }, WM: function(a) { for (var c = !1, d = this.by, e = a.ce, f = d.length - 1; 0 <= f; f--) if (d[f].ce == e) { d[f] = a; c = !0; break } c || (50 >= d.length ? d.push(a) : (d[this.Hs] = a, this.Hs = (this.Hs + 1) % 50)) }, Ol: function(a, c, d) { var e = this.ay; a = this.pg.cu(a, c, d); c = new b.ar(a.x, a.y); c.bj(e.x, e.y); e.x = a.x; e.y = a.y; return c }, vj: function(a, c, d) { var e = this.iH; this.pg.xF(a, c); c = new b.tb(d); c.MM(a.x, a.y); c.CH(e.x, e.y); e.x = a.x; e.y = a.y; return c }, yj: function(a, c) { if (null != a.pageX) return { x: a.pageX, y: a.pageY }; c.left -= document.body.scrollLeft; c.top -= document.body.scrollTop; return { x: a.clientX, y: a.clientY } }, qp: function(a, c) { for (var d = [], e = this.pg, f, g, h = this.ay, k = a.changedTouches.length, m = 0; m < k; m++) if (f = a.changedTouches[m]) { var n; n = b.Aa.$j === b.Aa.Ih ? e.cu(f.pageX, f.pageY, c) : e.cu(f.clientX, f.clientY, c); null != f.identifier ? (f = new b.ar(n.x, n.y, f.identifier), g = this.uK(f).Oh(), f.bj(g.x, g.y), this.WM(f)) : (f = new b.ar(n.x, n.y), f.bj(h.x, h.y)); h.x = n.x; h.y = n.y; d.push(f) } return d }, XL: function(a) { if (!this.Ix) { var c = this.pg = b.view, d = this, e = "touches" in b.Aa.Zt; "mouse" in b.Aa.Zt && (b.ka(window, "mousedown", function() { d.Wi = !0 }, !1), b.ka(window, "mouseup", function(c) { var f = d.Wi; d.Wi = !1; if (f) { var f = d.oe(a), g = d.yj(c, f); b.zA(new b.Uv(f.left, f.top, f.width, f.height), g) || (e || d.sp([d.Ol(g.x, g.y, f)]), f = d.vj(g, f, b.tb.br), f.ai(c.button), b.I.dispatchEvent(f)) } }, !1), b.ka(a, "mousedown", function(c) { d.Wi = !0; var f = d.oe(a), g = d.yj(c, f); e || d.Bu([d.Ol(g.x, g.y, f)]); f = d.vj(g, f, b.tb.Av); f.ai(c.button); b.I.dispatchEvent(f); c.stopPropagation(); c.preventDefault(); a.focus() }, !1), b.ka(a, "mouseup", function(c) { d.Wi = !1; var f = d.oe(a), g = d.yj(c, f); e || d.sp([d.Ol(g.x, g.y, f)]); f = d.vj(g, f, b.tb.br); f.ai(c.button); b.I.dispatchEvent(f); c.stopPropagation(); c.preventDefault() }, !1), b.ka(a, "mousemove", function(c) { var f = d.oe(a), g = d.yj(c, f); e || d.Cu([d.Ol(g.x, g.y, f)]); f = d.vj(g, f, b.tb.Lv); d.Wi ? f.ai(c.button) : f.ai(null); b.I.dispatchEvent(f); c.stopPropagation(); c.preventDefault() }, !1), b.ka(a, "mousewheel", function(c) { var e = d.oe(a), f = d.yj(c, e), e = d.vj(f, e, b.tb.Vq); e.ai(c.button); e.fB(0, c.wheelDelta); b.I.dispatchEvent(e); c.stopPropagation(); c.preventDefault() }, !1), b.ka(a, "DOMMouseScroll", function(c) { var e = d.oe(a), f = d.yj(c, e), e = d.vj(f, e, b.tb.Vq); e.ai(c.button); e.fB(0, -120 * c.detail); b.I.dispatchEvent(e); c.stopPropagation(); c.preventDefault() }, !1)); if (window.navigator.msPointerEnabled) { var f = { MSPointerDown: d.Bu, MSPointerMove: d.Cu, MSPointerUp: d.sp, MSPointerCancel: d.Tz }, g; for (g in f)(function(c, e) { b.ka(a, c, function(c) { var f = d.oe(a); f.left -= document.documentElement.scrollLeft; f.top -= document.documentElement.scrollTop; e.call(d, [d.Ol(c.clientX, c.clientY, f)]); c.stopPropagation() }, !1) })(g, f[g]) } e && (b.ka(a, "touchstart", function(c) { if (c.changedTouches) { var e = d.oe(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.Bu(d.qp(c, e)); c.stopPropagation(); c.preventDefault(); a.focus() } }, !1), b.ka(a, "touchmove", function(c) { if (c.changedTouches) { var e = d.oe(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.Cu(d.qp(c, e)); c.stopPropagation(); c.preventDefault() } }, !1), b.ka(a, "touchend", function(c) { if (c.changedTouches) { var e = d.oe(a); e.left -= document.body.scrollLeft; e.top -= document.body.scrollTop; d.sp(d.qp(c, e)); c.stopPropagation(); c.preventDefault() } }, !1), b.ka(a, "touchcancel", function(e) { if (e.changedTouches) { var f = d.oe(a); f.left -= document.body.scrollLeft; f.top -= document.body.scrollTop; c.Tz(d.qp(e, f)); e.stopPropagation(); e.preventDefault() } }, !1)); this.ky(); this.jy(); this.Ix = !0 } }, ky: function() {}, jy: function() {}, update: function(a) { this.Zg > this.nn && (this.Zg -= this.nn, b.I.dispatchEvent(new b.vC(this.qr))); this.Zg += a } }; var p = b.dA; p.SX = function(a) { this.mn !== a && (this.mn = a, a = b.Qa.Ig(), this.mn ? (this.Zg = 0, a.bv(this)) : (this.Zg = 0, a.nm(this))) }; p.TX = function(a) { this.nn !== a && (this.nn = a) }; p.ky = function() { b.ka(b.ra, "keydown", function(a) { b.I.dispatchEvent(new b.Ev(a.keyCode, !0)); a.stopPropagation(); a.preventDefault() }, !1); b.ka(b.ra, "keyup", function(a) { b.I.dispatchEvent(new b.Ev(a.keyCode, !1)); a.stopPropagation(); a.preventDefault() }, !1) }; p.jy = function() { var a = window; this.qr = new b.FB; this.ln = a.DeviceMotionEvent || a.DeviceOrientationEvent; b.Aa.Ih == b.Aa.vv && (this.ln = window.DeviceOrientationEvent); b.ka(a, this.ln == a.DeviceMotionEvent ? "devicemotion": "deviceorientation", this.bJ.bind(this), !1) }; p.bJ = function(a) { var c = window; if (this.mn) { var d = this.qr; if (this.ln == window.DeviceMotionEvent) { var e = a.accelerationIncludingGravity; d.x = this.lw * e.x * 0.1; d.y = this.lw * e.y * 0.1; d.z = 0.1 * e.z } else d.x = a.gamma / 90 * 0.981, d.y = 0.981 * -(a.beta / 90), d.z = a.alpha / 90 * 0.981; d.timestamp = a.timeStamp || Date.now(); a = d.x; c.orientation === b.PE ? (d.x = -d.y, d.y = a) : c.orientation === b.OE ? (d.x = d.y, d.y = -a) : c.orientation === b.QE && (d.x = -d.x, d.y = -d.y) } }; delete p; b.sO = function(a, c, d, e, f, g) { this.a = a; this.b = c; this.J = d; this.P = e; this.Z = f; this.$ = g }; b.MR = function(a, c, d, e, f, g) { return { a: a, b: c, J: d, P: e, Z: f, $: g } }; b.vA = function(a, c) { return { x: c.a * a.x + c.J * a.y + c.Z, y: c.b * a.x + c.P * a.y + c.$ } }; b.vg = function(a, c, d) { return { x: d.a * a + d.J * c + d.Z, y: d.b * a + d.P * c + d.$ } }; b.bZ = function(a, c) { return { width: c.a * a.width + c.J * a.height, height: c.b * a.width + c.P * a.height } }; b.NR = function() { return { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 } }; b.LR = function() { return { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 } }; b.Xu = function(a, c) { var d = b.Nj(a), e = b.Mj(a), f = b.em(a), g = b.fm(a), h = b.vg(e, d, c), d = b.vg(f, d, c), e = b.vg(e, g, c), k = b.vg(f, g, c), f = Math.min(h.x, d.x, e.x, k.x), g = Math.max(h.x, d.x, e.x, k.x), m = Math.min(h.y, d.y, e.y, k.y), h = Math.max(h.y, d.y, e.y, k.y); return E(f, m, g - f, h - m) }; b.jH = function(a, c) { var d = b.Nj(a), e = b.Mj(a), f = b.em(a), g = b.fm(a), h = b.vg(e, d, c), d = b.vg(f, d, c), e = b.vg(e, g, c), k = b.vg(f, g, c), f = Math.min(h.x, d.x, e.x, k.x), g = Math.max(h.x, d.x, e.x, k.x), m = Math.min(h.y, d.y, e.y, k.y), h = Math.max(h.y, d.y, e.y, k.y); a.x = f; a.y = m; a.width = g - f; a.height = h - m; return a }; b.mI = function(a, c, d) { return { a: a.a, b: a.b, J: a.J, P: a.P, Z: a.Z + a.a * c + a.J * d, $: a.$ + a.b * c + a.P * d } }; b.PR = function(a, c, d) { return { a: a.a * c, b: a.b * c, J: a.J * d, P: a.P * d, Z: a.Z, $: a.$ } }; b.OR = function(a, c) { var d = Math.sin(c), e = Math.cos(c); return { a: a.a * e + a.J * d, b: a.b * e + a.P * d, J: a.J * e - a.a * d, P: a.P * e - a.b * d, Z: a.Z, $: a.$ } }; b.Eh = function(a, c) { return { a: a.a * c.a + a.b * c.J, b: a.a * c.b + a.b * c.P, J: a.J * c.a + a.P * c.J, P: a.J * c.b + a.P * c.P, Z: a.Z * c.a + a.$ * c.J + c.Z, $: a.Z * c.b + a.$ * c.P + c.$ } }; b.KR = function(a, c) { return a.a === c.a && a.b === c.b && a.J === c.J && a.P === c.P && a.Z === c.Z && a.$ === c.$ }; b.az = function(a) { var c = 1 / (a.a * a.P - a.b * a.J); return { a: c * a.P, b: -c * a.b, J: -c * a.J, P: c * a.a, Z: c * (a.J * a.$ - a.P * a.Z), $: c * (a.b * a.Z - a.a * a.$) } }; b.Sv = parseFloat("1.192092896e-07F"); b.Uu = function(a) { return C( - a.x, -a.y) }; b.Jj = function(a, c) { return C(a.x + c.x, a.y + c.y) }; b.uc = function(a, c) { return C(a.x - c.x, a.y - c.y) }; b.Kg = function(a, c) { return C(a.x * c, a.y * c) }; b.tA = function(a, c) { return b.Kg(b.Jj(a, c), 0.5) }; b.Kj = function(a, c) { return a.x * c.x + a.y * c.y }; b.EL = function(a, c) { return a.x * c.y - a.y * c.x }; b.Gp = function(a) { return C( - a.y, a.x) }; b.JW = function(a) { return C(a.y, -a.x) }; b.IW = function(a, c) { return b.Kg(c, b.Kj(a, c) / b.Kj(c, c)) }; b.KW = function(a, c) { return C(a.x * c.x - a.y * c.y, a.x * c.y + a.y * c.x) }; b.QW = function(a, c) { return C(a.x * c.x + a.y * c.y, a.y * c.x - a.x * c.y) }; b.rA = function(a) { return b.Kj(a, a) }; b.zW = function(a, c) { return b.rA(b.uc(a, c)) }; b.Tu = function(a) { return Math.sqrt(b.rA(a)) }; b.yW = function(a, c) { return b.Tu(b.uc(a, c)) }; b.Td = function(a) { return b.Kg(a, 1 / b.Tu(a)) }; b.AW = function(a) { return C(Math.cos(a), Math.sin(a)) }; b.PW = function(a) { return Math.atan2(a.y, a.x) }; b.cp = function(a, c, d) { if (c > d) { var e = c; c = d; d = e } return a < c ? c: a < d ? a: d }; b.vW = function(a, c, d) { return C(b.cp(a.x, c.x, d.x), b.cp(a.y, c.y, d.y)) }; b.BW = function(a) { return C(a.width, a.height) }; b.xW = function(a, c) { return C(c(a.x), c(a.y)) }; b.GW = function(a, c, d) { return b.Jj(b.Kg(a, 1 - d), b.Kg(c, d)) }; b.DW = function(a, c, d) { return a.x - d <= c.x && c.x <= a.x + d && a.y - d <= c.y && c.y <= a.y + d ? !0 : !1 }; b.wW = function(a, c) { return C(a.x * c.x, a.y * c.y) }; b.uW = function(a, c) { var d = b.Td(a), e = b.Td(c), d = Math.atan2(d.x * e.y - d.y * e.x, b.Kj(d, e)); return Math.abs(d) < b.Sv ? 0 : d }; b.tW = function(a, c) { var d = Math.acos(b.Kj(b.Td(a), b.Td(c))); return Math.abs(d) < b.Sv ? 0 : d }; b.LW = function(a, c, d) { a = b.uc(a, c); var e = Math.cos(d); d = Math.sin(d); var f = a.x; a.x = f * e - a.y * d + c.x; a.y = f * d + a.y * e + c.y; return a }; b.sA = function(a, c, d, e, f) { if (a.x == c.x && a.y == c.y || d.x == e.x && d.y == e.y) return ! 1; var g = c.x - a.x; c = c.y - a.y; var h = e.x - d.x; e = e.y - d.y; var k = a.x - d.x; a = a.y - d.y; d = e * g - h * c; f.x = h * a - e * k; f.y = g * a - c * k; if (0 == d) return 0 == f.x || 0 == f.y ? !0 : !1; f.x /= d; f.y /= d; return ! 0 }; b.NW = function(a, c, d, e) { var f = C(0, 0); return b.sA(a, c, d, e, f) && 0 <= f.x && 1 >= f.x && 0 <= f.y && 1 >= f.y ? !0 : !1 }; b.FW = function(a, c, d, e) { var f = C(0, 0); return b.sA(a, c, d, e, f) ? (d = C(0, 0), d.x = a.x + f.x * (c.x - a.x), d.y = a.y + f.x * (c.y - a.y), d) : C(0, 0) }; b.MW = function(a, c) { return null != a && null != c ? a.x == c.x && a.y == c.y: !1 }; b.RW = function(a) { a.x = 0; a.y = 0 }; b.EW = function(a, c) { a.x = c.x; a.y = c.y }; b.FL = function(a, c) { a.x *= c; a.y *= c }; b.OW = function(a, c) { a.x -= c.x; a.y -= c.y }; b.sW = function(a, c) { a.x += c.x; a.y += c.y }; b.HW = function(a) { b.FL(a, 1 / Math.sqrt(a.x * a.x + a.y * a.y)) }; b.DZ = function(a, c, d, e, f) { f += e; if (! (1 >= f)) { c *= 0.5; for (var g, h = f - 1, k = e; k < f; k++) { g = 2 * k; var m = C(a[2 * k], a[2 * k + 1]), n; if (0 === k) n = b.Gp(b.Td(b.uc(m, C(a[2 * (k + 1)], a[2 * (k + 1) + 1])))); else if (k === h) n = b.Gp(b.Td(b.uc(C(a[2 * (k - 1)], a[2 * (k - 1) + 1]), m))); else { n = C(a[2 * (k - 1)], a[2 * (k - 1) + 1]); var r = C(a[2 * (k + 1)], a[2 * (k + 1) + 1]), s = b.Td(b.uc(r, m)), u = b.Td(b.uc(n, m)), t = Math.acos(b.Kj(s, u)); n = t < b.Gg(70) ? b.Gp(b.Td(b.tA(s, u))) : t < b.Gg(170) ? b.Td(b.tA(s, u)) : b.Gp(b.Td(b.uc(r, n))) } n = b.Kg(n, c); d[2 * g] = m.x + n.x; d[2 * g + 1] = m.y + n.y; d[2 * (g + 1)] = m.x - n.x; d[2 * (g + 1) + 1] = m.y - n.y } for (k = 0 == e ? 0 : e - 1; k < h; k++) g = 2 * k, a = g + 2, c = new b.Sa(d[2 * g], d[2 * g + 1]), f = new b.Sa(d[2 * (g + 1)], d[2 * (g + 1) + 1]), g = new b.Sa(d[2 * a], d[2 * a]), e = new b.Sa(d[2 * (a + 1)], d[2 * (a + 1) + 1]), c = !b.UN(c.x, c.y, e.x, e.y, f.x, f.y, g.x, g.y), !c.Ul && (0 > c.value || 1 < c.value) && (c.Ul = !0), c.Ul && (d[2 * a] = e.x, d[2 * a + 1] = e.y, d[2 * (a + 1)] = g.x, d[2 * (a + 1) + 1] = g.y) } }; b.UN = function(a, c, d, e, f, g, h, k) { if (a == d && c == e || f == h && g == k) return { Ul: !1, value: 0 }; d -= a; e -= c; f -= a; g -= c; h -= a; k -= c; a = Math.sqrt(d * d + e * e); d /= a; e /= a; c = f * d + g * e; g = g * d - f * e; f = c; c = h * d + k * e; k = k * d - h * e; h = c; return g == k ? { Ul: !1, value: 0 }: { Ul: !0, value: (h + (f - h) * k / (k - g)) / a } }; b.EZ = function(a) { for (var c = 0, d = a.length; c < d; c++) { var e = a[(c + 1) % d]; if (0 < b.EL(b.uc(e, a[c]), b.uc(a[(c + 2) % d], e))) return ! 1 } return ! 0 }; b.IO = function(a, c) { c[2] = c[3] = c[6] = c[7] = c[8] = c[9] = c[11] = c[14] = 0; c[10] = c[15] = 1; c[0] = a.a; c[4] = a.J; c[12] = a.Z; c[1] = a.b; c[5] = a.P; c[13] = a.$ }; b.fP = function(a, c) { c.a = a[0]; c.J = a[4]; c.Z = a[12]; c.b = a[1]; c.P = a[5]; c.$ = a[13] }; b.ar = b.oa.extend({ Qb: null, Qe: null, ce: 0, Ny: !1, wl: null, ctor: function(a, c, d) { this.Qb = C(a || 0, c || 0); this.ce = d || 0 }, Oh: function() { return { x: this.Qb.x, y: this.Qb.y } }, kK: function() { return this.Qb.x }, lK: function() { return this.Qb.y }, FU: function() { return { x: this.Qe.x, y: this.Qe.y } }, SU: function() { return { x: this.wl.x, y: this.wl.y } }, WJ: function() { return b.uc(this.Qb, this.Qe) }, jK: function() { return { x: this.Qb.x, y: this.Qb.y } }, GU: function() { return { x: this.Qe.x, y: this.Qe.y } }, TU: function() { return { x: this.wl.x, y: this.wl.y } }, mU: function() { return this.ce }, nU: function() { return this.ce }, VY: function(a, c, d) { this.Qe = this.Qb; this.Qb = C(c || 0, d || 0); this.ce = a; this.Ny || (this.wl = C(this.Qb), this.Ny = !0) }, et: function(a, c) { void 0 === c ? (this.Qb.x = a.x, this.Qb.y = a.y) : (this.Qb.x = a, this.Qb.y = c) }, bj: function(a, c) { this.Qe = void 0 === c ? C(a.x, a.y) : C(a || 0, c || 0) } }); b.eb = b.oa.extend({ Bg: 0, ih: !1, Cc: null, Zs: function(a) { this.Cc = a }, ctor: function(a) { this.Bg = a }, FK: function() { return this.Bg }, stopPropagation: function() { this.ih = !0 }, IV: function() { return this.ih }, ST: function() { return this.Cc } }); b.eb.dn = 0; b.eb.ji = 1; b.eb.ei = 2; b.eb.ki = 3; b.eb.ak = 4; b.kf = b.eb.extend({ Qr: null, Yy: null, ctor: function(a) { b.eb.prototype.ctor.call(this, b.eb.ak); this.Qr = a }, setUserData: function(a) { this.Yy = a }, getUserData: function() { return this.Yy }, dU: function() { return this.Qr } }); b.tb = b.eb.extend({ lx: 0, sw: 0, me: 0, Hc: 0, Js: 0, Ks: 0, xy: 0, yy: 0, ctor: function(a) { b.eb.prototype.ctor.call(this, b.eb.ki); this.lx = a }, fB: function(a, c) { this.xy = a; this.yy = c }, PU: function() { return this.xy }, QU: function() { return this.yy }, MM: function(a, c) { this.me = a; this.Hc = c }, Oh: function() { return { x: this.me, y: this.Hc } }, jK: function() { return { x: this.me, y: b.view.Ai.height - this.Hc } }, CH: function(a, c) { this.Js = a; this.Ks = c }, WJ: function() { return { x: this.me - this.Js, y: this.Hc - this.Ks } }, XT: function() { return this.me - this.Js }, YT: function() { return this.Hc - this.Ks }, ai: function(a) { this.sw = a }, KT: function() { return this.sw }, kK: function() { return this.me }, lK: function() { return this.Hc } }); b.tb.NONE = 0; b.tb.Av = 1; b.tb.br = 2; b.tb.Lv = 3; b.tb.Vq = 4; b.tb.FO = 0; b.tb.HO = 2; b.tb.GO = 1; b.tb.AO = 3; b.tb.BO = 4; b.tb.CO = 5; b.tb.DO = 6; b.tb.EO = 7; b.Dd = b.eb.extend({ jg: 0, Ag: null, ctor: function(a) { b.eb.prototype.ctor.call(this, b.eb.dn); this.Ag = a || [] }, cU: function() { return this.jg }, $U: function() { return this.Ag }, sR: function(a) { this.jg = a }, uR: function(a) { this.Ag = a } }); b.Dd.CP = 5; b.Dd.ii = { Xp: 0, yq: 1, nq: 2, dq: 3 }; b.G = b.oa.extend({ ws: null, Bg: 0, Me: null, pd: !1, mg: 0, Sc: null, $a: !1, Ri: !0, ctor: function(a, c, d) { this.ws = d; this.Bg = a || 0; this.Me = c || "" }, dt: function(a) { this.$a = a }, gR: function() { return this.$a }, sl: function(a) { this.pd = a }, HG: function() { return this.pd }, eR: function() { return this.Bg }, bR: function() { return this.Me }, $s: function(a) { this.mg = a }, aR: function() { return this.mg }, tl: function(a) { this.Sc = a }, cR: function() { return this.Sc }, Eg: function() { return null != this.ws }, d: function() { return null }, Mp: function(a) { this.Ri = a }, isEnabled: function() { return this.Ri }, Zu: function() {}, Pf: function() {} }); b.G.SE = 0; b.G.li = 1; b.G.en = 2; b.G.ji = 3; b.G.ki = 4; b.G.ei = 5; b.G.ak = 6; b.Fk = b.G.extend({ ll: null, ctor: function(a, c) { this.ll = c; var d = this; b.G.prototype.ctor.call(this, b.G.ak, a, function(a) { null != d.ll && d.ll(a) }) }, Eg: function() { return b.G.prototype.Eg.call(this) && null != this.ll }, d: function() { return new b.Fk(this.Me, this.ll) } }); b.Fk.create = function(a, c) { return new b.Fk(a, c) }; b.ag = b.G.extend({ Cp: null, Fp: null, Dp: null, Ep: null, ctor: function() { var a = this; b.G.prototype.ctor.call(this, b.G.ki, b.ag.fb, function(c) { var d = b.tb; switch (c.lx) { case d.Av: a.Cp && a.Cp(c); break; case d.br: a.Fp && a.Fp(c); break; case d.Lv: a.Dp && a.Dp(c); break; case d.Vq: a.Ep && a.Ep(c) } }) }, d: function() { var a = new b.ag; a.Cp = this.Cp; a.Fp = this.Fp; a.Dp = this.Dp; a.Ep = this.Ep; return a }, Eg: function() { return ! 0 } }); b.ag.fb = "__cc_mouse"; b.ag.create = function() { return new b.ag }; b.ye = b.G.extend({ xi: null, Tj: !1, cf: null, Uh: null, Th: null, Sh: null, ctor: function() { b.G.prototype.ctor.call(this, b.G.li, b.ye.fb, null); this.xi = [] }, QY: function(a) { this.Tj = a }, d: function() { var a = new b.ye; a.cf = this.cf; a.Uh = this.Uh; a.Th = this.Th; a.Sh = this.Sh; a.Tj = this.Tj; return a }, Eg: function() { return this.cf ? !0 : (b.log(b.c.$E), !1) } }); b.ye.fb = "__cc_touch_one_by_one"; b.ye.create = function() { return new b.ye }; b.xe = b.G.extend({ am: null, cm: null, Ij: null, bm: null, ctor: function() { b.G.prototype.ctor.call(this, b.G.en, b.xe.fb, null) }, d: function() { var a = new b.xe; a.am = this.am; a.cm = this.cm; a.Ij = this.Ij; a.bm = this.bm; return a }, Eg: function() { return null == this.am && null == this.cm && null == this.Ij && null == this.bm ? (b.log(b.c.ZE), !1) : !0 } }); b.xe.fb = "__cc_touch_all_at_once"; b.xe.create = function() { return new b.xe }; b.G.create = function(a) { b.assert(a && a.event, b.c.wC); var c = a.event; delete a.event; var d = null; c === b.G.li ? d = new b.ye: c === b.G.en ? d = new b.xe: c === b.G.ki ? d = new b.ag: c === b.G.ak ? (d = new b.Fk(a.FJ, a.Yt), delete a.FJ, delete a.Yt) : c === b.G.ji ? d = new b.$f: c === b.G.ei && (d = new b.Zf(a.Yt), delete a.Yt); for (var e in a) d[e] = a[e]; return d }; b.qz = function(a) { var c, d = a.length, e = Array(d); for (c = 0; c < d; c += 1) e[c] = a[c]; return e }; b.aF = b.oa.extend({ ld: null, qd: null, Sz: 0, ctor: function() { this.ld = []; this.qd = [] }, size: function() { return this.ld.length + this.qd.length }, empty: function() { return 0 === this.ld.length && 0 === this.qd.length }, push: function(a) { 0 == a.mg ? this.qd.push(a) : this.ld.push(a) }, SI: function() { this.qd.length = 0 }, RI: function() { this.ld.length = 0 }, clear: function() { this.qd.length = 0; this.ld.length = 0 }, fU: function() { return this.ld }, NU: function() { return this.qd } }); b.jn = function(a) { var c = b.eb, d = a.Bg; if (d === c.ei) return b.Zf.fb; if (d === c.ak) return a.Qr; if (d === c.ji) return b.$f.fb; if (d === c.ki) return b.ag.fb; d === c.dn && b.log(b.c.jn); return "" }; b.I = { kq: 0, qm: 1, dk: 2, TO: 3, Jd: {}, pl: {}, Oe: {}, mo: {}, yx: {}, lj: [], Rk: [], gh: 0, Ri: !1, Sx: 0, GG: [b.Va.tm, b.Va.ek], Bo: function(a) { null != this.Oe[a.L] && this.Rk.push(a); a = a.s; for (var c = 0, d = a.length; c < d; c++) this.Bo(a[c]) }, Lj: function(a, c) { var d = this.Oe[a.L], e, f; if (d) for (e = 0, f = d.length; e < f; e++) d[e].dt(!0); if (!0 === c) for (d = a.s, e = 0, f = d.length; e < f; e++) this.Lj(d[e], !0) }, Qf: function(a, c) { var d = this.Oe[a.L], e, f; if (d) for (e = 0, f = d.length; e < f; e++) d[e].dt(!1); this.Bo(a); if (!0 === c) for (d = a.s, e = 0, f = d.length; e < f; e++) this.Qf(d[e], !0) }, ow: function(a) { 0 === this.gh ? this.qx(a) : this.lj.push(a) }, qx: function(a) { var c = a.Me, d = this.Jd[c]; d || (d = new b.aF, this.Jd[c] = d); d.push(a); 0 == a.mg ? (this.qh(c, this.dk), c = a.Sc, null == c && b.log(b.c.yJ), this.oF(c, a), c.Re && this.Qf(c)) : this.qh(c, this.qm) }, bs: function(a) { return this.Jd[a] }, bI: function() { if (0 != this.Rk.length) { for (var a = this.Rk, c, d, e = this.Oe, f = 0, g = a.length; f < g; f++) if (c = e[a[f].L]) for (var h = 0, k = c.length; h < k; h++)(d = c[h]) && this.qh(d.Me, this.dk); this.Rk.length = 0 } }, ly: function(a) { if (a) for (var c, d = 0; d < a.length;) c = a[d], c.sl(!1), null != c.Sc && (this.Ew(c.Sc, c), c.tl(null)), 0 === this.gh ? b.Wc(a, c) : ++d }, mh: function(a) { var c = this.Jd[a]; if (c) { var d = c.ld; this.ly(c.qd); this.ly(d); delete this.pl[a]; this.gh || (c.clear(), delete this.Jd[a]) } for (var d = this.lj, e, c = 0; c < d.length;)(e = d[c]) && e.Me == a ? b.Wc(d, e) : ++c }, lt: function(a) { var c = this.kq, d = this.pl; d[a] && (c = d[a]); c != this.kq && (d[a] = this.kq, c & this.qm && this.RH(a), c & this.dk && ((c = b.Qa.Ib) ? this.TH(a, c) : d[a] = this.dk)) }, TH: function(a, c) { var d = this.bs(a); if (d) { var e = d.qd; e && 0 !== e.length && (this.Sx = 0, this.mo = {}, this.Nt(c, !0), d.qd.sort(this.QH)) } }, QH: function(a, c) { var d = b.I.mo; return d[c.Sc.L] - d[a.Sc.L] }, RH: function(a) { if (a = this.Jd[a]) { var c = a.ld; if (c && 0 !== c.length) { c.sort(this.SH); for (var d = 0, e = c.length; d < e && !(0 <= c[d].mg);)++d; a.Sz = d } } }, SH: function(a, c) { return a.mg - c.mg }, xs: function(a) { if (a = this.Jd[a]) { var c = a.ld, d = a.qd, e, f; if (d) for (e = 0; e < d.length;) f = d[e], f.pd ? ++e: b.Wc(d, f); if (c) for (e = 0; e < c.length;) f = c[e], f.pd ? ++e: b.Wc(c, f); d && 0 === d.length && a.SI(); c && 0 === c.length && a.RI() } }, So: function(a) { var c = this.gh; b.assert(0 < c, b.c.xC); a.Bg == b.eb.dn ? (this.xs(b.ye.fb), this.xs(b.xe.fb)) : this.xs(b.jn(a)); if (! (1 < c)) { b.assert(1 == c, b.c.yC); a = this.Jd; var c = this.pl, d; for (d in a) a[d].empty() && (delete c[d], delete a[d]); d = this.lj; if (0 !== d.length) { a = 0; for (c = d.length; a < c; a++) this.qx(d[a]); this.lj.length = 0 } } }, $G: function(a, c) { if (!a.HG) return ! 1; var d = c.event, e = c.QA; d.Zs(a.Sc); var f = !1, g, h = d.jg, k = b.Dd.ii; h == k.Xp ? a.cf && (f = a.cf(e, d)) && a.pd && a.xi.push(e) : 0 < a.xi.length && -1 != (g = a.xi.indexOf(e)) && (f = !0, h === k.yq && a.Uh ? a.Uh(e, d) : h === k.nq ? (a.Th && a.Th(e, d), a.pd && a.xi.splice(g, 1)) : h === k.dq && (a.Sh && a.Sh(e, d), a.pd && a.xi.splice(g, 1))); return d.ih ? (b.I.So(d), !0) : f && a.pd && a.Tj ? (c.zL && c.touches.splice(e, 1), !0) : !1 }, FF: function(a) { this.lt(b.ye.fb); this.lt(b.xe.fb); var c = this.bs(b.ye.fb), d = this.bs(b.xe.fb); if (null != c || null != d) { var e = a.Ag, f = b.qz(e), g = { event: a, zL: c && d, touches: f, QA: null }; if (c) for (var h = 0; h < e.length; h++) if (g.QA = e[h], this.Jr(c, this.$G, g), a.ih) return; if (d && 0 < f.length && (this.Jr(d, this.aH, { event: a, touches: f }), a.ih)) return; this.So(a) } }, aH: function(a, c) { if (!a.pd) return ! 1; var d = b.Dd.ii, e = c.event, f = c.touches, g = e.jg; e.Zs(a.Sc); g == d.Xp && a.am ? a.am(f, e) : g == d.yq && a.cm ? a.cm(f, e) : g == d.nq && a.Ij ? a.Ij(f, e) : g == d.dq && a.bm && a.bm(f, e); return e.ih ? (b.I.So(e), !0) : !1 }, oF: function(a, c) { var d = this.Oe[a.L]; d || (d = [], this.Oe[a.L] = d); d.push(c) }, Ew: function(a, c) { var d = this.Oe[a.L]; d && (b.Wc(d, c), 0 === d.length && delete this.Oe[a.L]) }, Jr: function(a, c, d) { var e = !1, f = a.ld, g = a.qd, h = 0, k; if (f && 0 !== f.length) for (; h < a.Sz; ++h) if (k = f[h], k.isEnabled() && !k.$a && k.pd && c(k, d)) { e = !0; break } if (g && !e) for (a = 0; a < g.length; a++) if (k = g[a], k.isEnabled() && !k.$a && k.pd && c(k, d)) { e = !0; break } if (f && !e) for (; h < f.length && (k = f[h], !k.isEnabled() || k.$a || !k.pd || !c(k, d)); ++h); }, qh: function(a, c) { var d = this.pl; d[a] = null == d[a] ? c: c | d[a] }, Nt: function(a, c) { var d = a.s, e = 0, f = d.length, g = this.yx, h = this.Oe; if (0 < f) { for (var k; e < f; e++) if ((k = d[e]) && 0 > k.Ia) this.Nt(k, !1); else break; null != h[a.L] && (g[a.of] || (g[a.of] = []), g[a.of].push(a.L)); for (; e < f; e++)(k = d[e]) && this.Nt(k, !1) } else null != h[a.L] && (g[a.of] || (g[a.of] = []), g[a.of].push(a.L)); if (c) { var d = [], m; for (m in g) d.push(m); d.sort(this.UH); m = d.length; k = this.mo; for (e = 0; e < m; e++) for (f = g[d[e]], h = 0; h < f.length; h++) k[f[h]] = ++this.Sx; this.yx = {} } }, UH: function(a, c) { return a - c }, addListener: function(a, c) { b.assert(a && c, b.c.AJ); if (! (a instanceof b.G)) b.assert("number" !== typeof c, b.c.BJ), a = b.G.create(a); else if (a.pd) { b.log(b.c.CJ); return } a.Eg() && ("number" == typeof c ? 0 == c ? b.log(b.c.zJ) : (a.tl(null), a.$s(c), a.sl(!0), a.dt(!1), this.ow(a)) : (a.tl(c), a.$s(0), a.sl(!0), this.ow(a))) }, Tt: function(a, c) { var d = b.Fk.create(a, c); this.addListener(d, 1); return d }, removeListener: function(a) { if (null != a) { var c, d = this.Jd, e; for (e in d) { var f = d[e], g = f.ld; (c = this.my(f.qd, a)) ? this.qh(a.Me, this.dk) : (c = this.my(g, a)) && this.qh(a.Me, this.qm); f.empty() && (delete this.pl[a.Me], delete d[e]); if (c) break } if (!c) for (c = this.lj, d = 0, e = c.length; d < e; d++) if (f = c[d], f == a) { b.Wc(c, f); break } } }, my: function(a, c) { if (null == a) return ! 1; for (var d = 0, e = a.length; d < e; d++) { var f = a[d]; if (f == c) return f.sl(!1), null != f.Sc && (this.Ew(f.Sc, f), f.tl(null)), 0 == this.gh && b.Wc(a, f), !0 } return ! 1 }, EA: function(a, c) { if (a instanceof b.m) { delete this.mo[a.L]; b.Wc(this.Rk, a); var d = this.Oe[a.L]; if (d) { for (var e = b.qz(d), d = 0; d < e.length; d++) this.removeListener(e[d]); e.length = 0; e = this.lj; for (d = 0; d < e.length;) { var f = e[d]; f.Sc == a ? (f.tl(null), f.sl(!1), e.splice(d, 1)) : ++d } if (!0 === c) for (e = a.s, d = 0, f = e.length; d < f; d++) this.EA(e[d], !0) } } else a == b.G.li ? this.mh(b.ye.fb) : a == b.G.en ? this.mh(b.xe.fb) : a == b.G.ki ? this.mh(b.ag.fb) : a == b.G.ei ? this.mh(b.Zf.fb) : a == b.G.ji ? this.mh(b.$f.fb) : b.log(b.c.DJ) }, zX: function(a) { this.mh(a) }, sX: function() { var a = this.Jd, c = this.GG, d; for (d in a) - 1 === c.indexOf(d) && this.mh(d) }, HY: function(a, c) { if (null != a) { var d = this.Jd, e; for (e in d) { var f = d[e].ld; if (f && -1 != f.indexOf(a)) { null != a.Sc && b.log(b.c.EJ); a.mg !== c && (a.$s(c), this.qh(a.Me, this.qm)); break } } } }, Mp: function(a) { this.Ri = a }, isEnabled: function() { return this.Ri }, dispatchEvent: function(a) { if (this.Ri) { this.bI(); this.gh++; if (!a || !a.FK) throw "event is undefined"; if (a.Bg == b.eb.dn) this.FF(a); else { var c = b.jn(a); this.lt(c); c = this.Jd[c]; null != c && this.Jr(c, this.XG, a); this.So(a) } this.gh-- } }, XG: function(a, c) { c.Zs(a.Sc); a.ws(c); return c.ih }, xS: function(a, c) { var d = new b.kf(a); d.setUserData(c); this.dispatchEvent(d) } }; b.vC = b.eb.extend({ kw: null, ctor: function(a) { b.eb.prototype.ctor.call(this, b.eb.ei); this.kw = a } }); b.Ev = b.eb.extend({ ms: 0, Hx: !1, ctor: function(a, c) { b.eb.prototype.ctor.call(this, b.eb.ji); this.ms = a; this.Hx = c } }); b.Zf = b.G.extend({ oo: null, ctor: function(a) { this.oo = a; var c = this; b.G.prototype.ctor.call(this, b.G.ei, b.Zf.fb, function(a) { c.oo(a.kw, a) }) }, Eg: function() { b.assert(this.oo, b.c.XE); return ! 0 }, d: function() { return new b.Zf(this.oo) } }); b.Zf.fb = "__cc_acceleration"; b.Zf.create = function(a) { return new b.Zf(a) }; b.$f = b.G.extend({ Zl: null, $l: null, ctor: function() { var a = this; b.G.prototype.ctor.call(this, b.G.ji, b.$f.fb, function(c) { c.Hx ? a.Zl && a.Zl(c.ms, c) : a.$l && a.$l(c.ms, c) }) }, d: function() { var a = new b.$f; a.Zl = this.Zl; a.$l = this.$l; return a }, Eg: function() { return null == this.Zl && null == this.$l ? (b.log(b.c.YE), !1) : !0 } }); b.$f.fb = "__cc_keyboard"; b.$f.create = function() { return new b.$f }; b.p.fr = function() { var a = b.m.prototype; a.Py = null; a.st = null; a.es = null; a.ti = null; a.ctor = function() { this.gs(); var a = new b.re; a.Sd[2] = a.Sd[3] = a.Sd[6] = a.Sd[7] = a.Sd[8] = a.Sd[9] = a.Sd[11] = a.Sd[14] = 0; a.Sd[10] = a.Sd[15] = 1; this.Py = a; this.es = 0; this.st = new b.re }; a.W = function() { ! 1 === this.Ff && (this.Ff = this.bo = !0) }; a.Ba = function() { if (this.Gc) { var a = b.l, d, e = b.ZI; e.stack.push(e.top); b.MV(this.st, e.top); e.top = this.st; var f = this.zj; f && f.fF && f.HI(); this.transform(); var g = this.s; if (g && 0 < g.length) { var h = g.length; this.vc(); for (d = 0; d < h; d++) if (g[d] && 0 > g[d].Ia) g[d].Ba(); else break; for (this.na(a); d < h; d++) g[d] && g[d].Ba() } else this.na(a); this.arrivalOrder = 0; f && f.fF && f.nI(this); e.top = e.stack.pop() } }; a.transform = function() { var a = this.Py, d = b.ZI.top, e = this.Yl(), f = a.Sd; f[0] = e.a; f[4] = e.J; f[12] = e.Z; f[1] = e.b; f[5] = e.P; f[13] = e.$; f[14] = this.Wo; b.rL(d, d, a); null == this.ti || null != this.zj && this.zj.fA() || (a = this.lb.x, d = this.lb.y, 0 !== a || 0 !== d ? (b.Yv || (a |= 0, d |= 0), b.pL(a, d, 0), this.ti.nA(), b.pL( - a, -d, 0)) : this.ti.nA()) }; a.Xe = a.hG }; b.p.Fq = function() { var a = b.m.prototype; b.k(a, "x", a.sK, a.UM); b.k(a, "y", a.tK, a.VM); b.k(a, "width", a.Ie, a.Bf); b.k(a, "height", a.fh, a.Af); b.k(a, "anchorX", a.TF, a.Ws); b.k(a, "anchorY", a.UF, a.Xs); b.k(a, "skewX", a.AK, a.aN); b.k(a, "skewY", a.BK, a.bN); b.k(a, "zIndex", a.iK, a.aB); b.k(a, "vertexZ", a.JK, a.jN); b.k(a, "rotation", a.xK, a.YM); b.k(a, "rotationX", a.yK, a.ZM); b.k(a, "rotationY", a.zK, a.$M); b.k(a, "scale", a.Kz, a.Og); b.k(a, "scaleX", a.Lz, a.Qp); b.k(a, "scaleY", a.Mz, a.gv); b.k(a, "children", a.SJ); b.k(a, "childrenCount", a.TJ); b.k(a, "parent", a.getParent, a.bB); b.k(a, "visible", a.fL, a.te); b.k(a, "running", a.dL); b.k(a, "ignoreAnchor", a.bL, a.Gu); b.k(a, "actionManager", a.mp, a.RA); b.k(a, "scheduler", a.Ig, a.eB); b.k(a, "shaderProgram", a.xu, a.hv); b.k(a, "glServerState", a.cK, a.KM); b.k(a, "opacity", a.wj, a.Ga); b.k(a, "opacityModifyRGB", a.Dj, a.Ng); b.k(a, "cascadeOpacity", a.hA, a.VA); b.k(a, "color", a.Nh, a.V); b.k(a, "cascadeColor", a.gA, a.UA) }; b.Mv = -1; b.$u = 1; b.m = b.oa.extend({ Ia: 0, of: 0, Wo: 0, yf: 0, oh: 0, O: 1, ma: 1, ja: null, ie: 0, je: 0, s: null, Gc: !0, Ab: null, lb: null, v: null, Re: !1, Db: null, rf: !1, tag: b.Mv, userData: null, userObject: null, Ff: !0, bo: !0, Ce: !0, Ok: null, wR: null, wh: null, Dx: null, bc: !1, Jb: null, arrivalOrder: 0, Fd: null, rd: null, YQ: null, Cx: !1, Ik: !1, on: null, gg: null, ls: !1, $i: 0, zo: 0, Mc: "Node", jt: !1, Xi: "", sa: 255, Md: 255, Q: null, ac: null, $d: !1, De: !1, yR: !1, fR: 0, gs: function() { this.Ab = C(0, 0); this.lb = C(0, 0); this.v = D(0, 0); this.ja = C(0, 0); this.s = []; this.wh = { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 }; var a = b.Qa; this.Fd = a.mp(); this.rd = a.Ig(); this.Cx = !0; this.on = { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 }; b.bC && (this.gg = new b.bC(this)); this.Md = this.sa = 255; this.Q = b.color(255, 255, 255, 255); this.ac = b.color(255, 255, 255, 255); this.De = this.$d = !1 }, ga: function() { ! 1 === this.Cx && this.gs(); return ! 0 }, Gd: function(a, c) { if (a && 0 !== a.length) { var d, e = a.length, f; d = b.m.bd; switch (c) { case d.se: for (d = 0; d < e; d++)(f = a[d]) && f.se(); break; case d.vd: for (d = 0; d < e; d++)(f = a[d]) && f.vd(); break; case d.Hj: for (d = 0; d < e; d++)(f = a[d]) && f.Hj(); break; case d.If: for (d = 0; d < e; d++)(f = a[d]) && f.If(); break; case d.$c: for (d = 0; d < e; d++)(f = a[d]) && f.$c(); break; case d.Nf: for (d = 0; d < e; d++)(f = a[d]) && f.Nf(); break; case d.vc: for (d = 0; d < e; d++)(f = a[d]) && f.vc(); break; default: b.assert(0, b.c.QC) } } }, W: null, dc: function(a) { for (var c in a) this[c] = a[c] }, AK: function() { return this.ie }, aN: function(a) { this.ie = a; this.W() }, BK: function() { return this.je }, bN: function(a) { this.je = a; this.W() }, aB: function(a) { this.Ia = a; this.Db && this.Db.im(this, a); b.I.Bo(this) }, Ay: function(a) { this.Ia = a }, iK: function() { return this.Ia }, hV: function() { b.log(b.c.WC); return this.Ia }, aZ: function(a) { b.log(b.c.gD); this.aB(a) }, sY: function(a) { this.of != a && (this.of = a, b.I.Bo(this)) }, kU: function() { return this.of }, JK: function() { return this.Wo }, jN: function(a) { this.Wo = a }, xK: function() { this.yf !== this.oh && b.log(b.c.UC); return this.yf }, YM: function(a) { this.yf = this.oh = a; this.$i = 0.017453292519943295 * this.yf; this.zo = 0.017453292519943295 * this.oh; this.W() }, yK: function() { return this.yf }, ZM: function(a) { this.yf = a; this.$i = 0.017453292519943295 * this.yf; this.W() }, zK: function() { return this.oh }, $M: function(a) { this.oh = a; this.zo = 0.017453292519943295 * this.oh; this.W() }, Kz: function() { this.O !== this.ma && b.log(b.c.VC); return this.O }, Og: function(a, c) { this.O = a; this.ma = c || 0 === c ? c: a; this.W() }, Lz: function() { return this.O }, Qp: function(a) { this.O = a; this.W() }, Mz: function() { return this.ma }, gv: function(a) { this.ma = a; this.W() }, Ma: function(a, c) { var d = this.ja; void 0 === c ? (d.x = a.x, d.y = a.y) : (d.x = a, d.y = c); this.W() }, EU: function() { return C(this.ja) }, sK: function() { return this.ja.x }, UM: function(a) { this.ja.x = a; this.W() }, tK: function() { return this.ja.y }, VM: function(a) { this.ja.y = a; this.W() }, TJ: function() { return this.s.length }, SJ: function() { return this.s }, fL: function() { return this.Gc }, te: function(a) { this.Gc != a && (this.Gc = a) && this.W() }, FT: function() { return C(this.Ab) }, Qj: function(a, c) { var d = this.Ab; if (void 0 === c) { if (a.x === d.x && a.y === d.y) return; d.x = a.x; d.y = a.y } else { if (a === d.x && c === d.y) return; d.x = a; d.y = c } var e = this.lb, f = this.v; e.x = f.width * d.x; e.y = f.height * d.y; this.W() }, $Q: function() { return this.Ab }, zy: function(a) { var c = a.x; a = a.y; this.Ab.x !== c && (this.Ab.x = c, this.lb.x = this.v.width * c); this.Ab.y !== a && (this.Ab.y = a, this.lb.y = this.v.height * a); this.W() }, TF: function() { return this.Ab.x }, Ws: function(a) { this.Ab.x !== a && (this.Ab.x = a, this.lb.x = this.v.width * a, this.W()) }, UF: function() { return this.Ab.y }, Xs: function(a) { this.Ab.y !== a && (this.Ab.y = a, this.lb.y = this.v.height * a, this.W()) }, qu: function() { return C(this.lb) }, Ie: function() { return this.v.width }, Bf: function(a) { this.v.width = a; this.lb.x = a * this.Ab.x; this.W() }, fh: function() { return this.v.height }, Af: function(a) { this.v.height = a; this.lb.y = a * this.Ab.y; this.W() }, ud: function() { return D(this.v) }, wd: function(a, c) { var d = this.v; if (void 0 === c) { if (a.width === d.width && a.height === d.height) return; d.width = a.width; d.height = a.height } else { if (a === d.width && c === d.height) return; d.width = a; d.height = c } var e = this.lb, f = this.Ab; e.x = d.width * f.x; e.y = d.height * f.y; this.W() }, dL: function() { return this.Re }, getParent: function() { return this.Db }, bB: function(a) { this.Db = a }, bL: function() { return this.rf }, Gu: function(a) { a != this.rf && (this.rf = a, this.W()) }, yu: function() { return this.tag }, gB: function(a) { this.tag = a }, PM: function(a) { this.Xi = a }, getName: function() { return this.Xi }, getUserData: function() { return this.userData }, setUserData: function(a) { this.userData = a }, cV: function() { return this.userObject }, YY: function(a) { this.userObject != a && (this.userObject = a) }, zU: function() { return this.arrivalOrder }, RM: function(a) { if (NaN == this.arrivalOrder) debugger; this.arrivalOrder = a }, mp: function() { this.Fd || (this.Fd = b.Qa.mp()); return this.Fd }, RA: function(a) { this.Fd != a && (this.km(), this.Fd = a) }, Ig: function() { this.rd || (this.rd = b.Qa.Ig()); return this.rd }, eB: function(a) { this.rd != a && (this.Tp(), this.rd = a) }, YR: function() { b.log(b.c.SC); return this.RJ() }, RJ: function() { return b.jH(E(0, 0, this.v.width, this.v.height), this.Xe()) }, If: function() { this.km(); this.Tp(); b.I.EA(this); this.Gd(this.s, b.m.bd.If) }, Od: function(a) { var c = this.s; if (null != c) for (var d = 0; d < c.length; d++) { var e = c[d]; if (e && e.tag == a) return e } return null }, PT: function(a) { if (!a) return b.log("Invalid name"), null; for (var c = this.s, d = 0, e = c.length; d < e; d++) if (c[d].Xi == a) return c[d]; return null }, N: function(a, c, d) { c = void 0 === c ? a.Ia: c; var e, f = !1; switch (typeof d) { case "undefined": d = void 0; e = a.Xi; break; case "string": e = d; d = void 0; break; case "number": f = !0, e = "" } b.assert(a, b.c.RC); b.assert(null === a.Db, "child already added. It can't be added again"); this.kI(a, c, d, e, f) }, kI: function(a, c, d, e, f) { this.s || (this.s = []); this.DG(a, c); f ? a.gB(d) : a.PM(e); a.bB(this); a.RM(b.$u++); this.Re && (a.se(), this.ls && a.Hj()); this.$d && this.jx(); this.De && this.kx() }, hc: function(a) { this.Db && (null == a && (a = !0), this.Db.removeChild(this, a)) }, AX: function(a) { b.log(b.c.aD); this.hc(a) }, removeChild: function(a, c) { 0 !== this.s.length && (null == c && (c = !0), -1 < this.s.indexOf(a) && this.BF(a, c), this.W()) }, xX: function(a, c) { a === b.Mv && b.log(b.c.ZC); var d = this.Od(a); null == d ? b.log(b.c.$C, a) : this.removeChild(d, c) }, qX: function(a) { b.log(b.c.YC); this.df(a) }, df: function(a) { var c = this.s; if (null != c) { null == a && (a = !0); for (var d = 0; d < c.length; d++) { var e = c[d]; e && (this.Re && (e.Nf(), e.vd()), a && e.If(), e.parent = null) } this.s.length = 0 } }, BF: function(a, c) { this.Re && (a.Nf(), a.vd()); c && a.If(); a.parent = null; b.Wc(this.s, a) }, DG: function(a, c) { this.bc = !0; this.s.push(a); a.Ay(c) }, im: function(a, c) { b.assert(a, b.c.bD); this.bc = !0; a.arrivalOrder = b.$u; b.$u++; a.Ay(c); this.W() }, vc: function() { if (this.bc) { var a = this.s, c = a.length, d, e, f; for (d = 1; d < c; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.Ia < a[e].Ia) a[e + 1] = a[e]; else if (f.Ia === a[e].Ia && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.bc = !1 } }, na: function() {}, vB: function() { null != this.Db && (this.Db.vB(), this.Db.transform()) }, se: function() { this.ls = !1; this.Re = !0; this.Gd(this.s, b.m.bd.se); this.Oj() }, Hj: function() { this.ls = !0; this.Gd(this.s, b.m.bd.Hj) }, Nf: function() { this.Gd(this.s, b.m.bd.Nf) }, vd: function() { this.Re = !1; this.pause(); this.Gd(this.s, b.m.bd.vd) }, Kc: function(a) { b.assert(a, b.c.dD); this.actionManager.jI(a, this, !this.Re); return a }, km: function() { this.actionManager && this.actionManager.DA(this) }, kv: function(a) { this.actionManager.CA(a) }, fZ: function(a) { a === b.fi ? b.log(b.c.hD) : this.actionManager.ZL(a, this) }, Bz: function(a) { return a === b.fi ? (b.log(b.c.TC), null) : this.actionManager.Bz(a, this) }, wU: function() { return this.actionManager.BL(this) }, rM: function() { this.sM(0) }, sM: function(a) { this.scheduler.bv(this, a, !this.Re) }, AB: function() { this.scheduler.nm(this) }, av: function(a, c, d, e) { c = c || 0; b.assert(a, b.c.eD); b.assert(0 <= c, b.c.fD); d = null == d ? b.Ak: d; this.scheduler.qM(this, a, c, d, e || 0, !this.Re) }, PX: function(a, c) { this.av(a, 0, 0, c) }, xB: function(a) { a && this.scheduler.zB(this, a) }, Tp: function() { this.scheduler.yB(this) }, KX: function() { b.log(b.c.cD); this.Oj() }, Oj: function() { this.scheduler.Qf(this); this.actionManager && this.actionManager.Qf(this); b.I.Qf(this) }, YW: function() { b.log(b.c.XC); this.pause() }, pause: function() { this.scheduler.Lj(this); this.actionManager && this.actionManager.Lj(this); b.I.Lj(this) }, UX: function(a) { this.on = a; this.Ik = this.Ff = !0 }, rK: function() { this.bo && (this.Dx = b.az(this.Xe()), this.bo = !1); return this.Dx }, VW: function() { return this.rK() }, vu: function() { for (var a = this.Xe(), c = this.Db; null != c; c = c.parent) a = b.Eh(a, c.Xe()); return a }, Bp: function() { return this.vu() }, Rz: function() { return b.az(this.vu()) }, JZ: function() { return this.Rz() }, du: function(a) { return b.vA(a, this.Rz()) }, pz: function(a) { a = a || C(0, 0); return b.vA(a, this.vu()) }, XI: function(a) { return b.uc(this.du(a), this.lb) }, kS: function(a) { a = a || C(0, 0); return this.pz(b.Jj(a, this.lb)) }, TQ: function(a) { a = this.pz(a); return b.Qa.YI(a) }, lS: function(a) { return this.du(a.Oh()) }, mS: function(a) { a = a.Oh(); a = b.Qa.WI(a); return this.XI(a) }, update: function(a) { this.gg && !this.gg.yV() && this.gg.Ba(a) }, $c: function() { this.Gd(this.s, b.m.bd.$c) }, Zu: function() {}, Pf: function() {}, UJ: function(a) { return this.gg.UJ(a) }, BR: function(a) { this.gg.add(a) }, yX: function(a) { return this.gg.remove(a) }, rX: function() { this.gg.oX() }, zj: null, ctor: null, Ba: null, transform: null, Yl: function() { return this.Xe() }, Xe: null, aj: function() { if (!1 === this.Ce) { this.Ce = !0; var a = this.Ok; a && a != this && a.aj() } }, Ys: function(a) { if (this.Ok != a) { this.Ok = a; for (var c = this.s, d = 0, e = c.length; d < e; d++) c[d].Ys(a) } }, ru: function() { this.ti || (this.ti = new b.bk); return this.ti }, lU: function() { return this.zj }, tY: function(a) { this.zj = a }, xu: function() { return this.Jb }, hv: function(a) { this.Jb = a }, cK: function() { return this.es }, KM: function(a) { this.es = a }, JT: function() { var a = E(0, 0, this.v.width, this.v.height), c = this.Bp(), a = b.Xu(a, this.Bp()); if (!this.s) return a; for (var d = this.s, e = 0; e < d.length; e++) { var f = d[e]; f && f.Gc && (f = f.Zk(c)) && (a = b.Ip(a, f)) } return a }, Zk: function(a) { var c = E(0, 0, this.v.width, this.v.height); a = null == a ? this.Xe() : b.Eh(this.Xe(), a); c = b.Xu(c, a); if (!this.s) return c; for (var d = this.s, e = 0; e < d.length; e++) { var f = d[e]; f && f.Gc && (f = f.Zk(a)) && (c = b.Ip(c, f)) } return c }, hG: function() { if (this.Ff) { var a = this.ja.x, c = this.ja.y, d = this.lb.x, e = -d, f = this.lb.y, g = -f, h = this.O, k = this.ma; this.rf && (a += d, c += f); var m = 1, n = 0, r = 1, s = 0; if (0 !== this.yf || 0 !== this.oh) m = Math.cos( - this.$i), n = Math.sin( - this.$i), r = Math.cos( - this.zo), s = Math.sin( - this.zo); var u = this.ie || this.je; u || 0 === d && 0 === f || (a += r * e * h + -n * g * k, c += s * e * h + m * g * k); var t = this.wh; t.a = r * h; t.b = s * h; t.J = -n * k; t.P = m * k; t.Z = a; t.$ = c; u && (t = b.Eh({ a: 1, b: Math.tan(b.Gg(this.je)), J: Math.tan(b.Gg(this.ie)), P: 1, Z: 0, $: 0 }, t), 0 !== d || 0 !== f) && (t = b.mI(t, e, g)); this.Ik && (t = b.Eh(t, this.on), this.Ik = !1); this.wh = t; this.Ff = !1 } return this.wh }, Eb: function() {}, wj: function() { return this.Md }, YJ: function() { return this.sa }, Ga: function(a) { this.sa = this.Md = a; var c = 255, d = this.Db; d && d.cascadeOpacity && (c = d.sa); this.kb(c); this.Q.a = this.ac.a = a }, kb: function(a) { this.sa = this.Md * a / 255; if (this.De) { a = this.s; for (var c = 0; c < a.length; c++) { var d = a[c]; d && d.kb(this.sa) } } }, hA: function() { return this.De }, VA: function(a) { this.De !== a && ((this.De = a) ? this.kx() : this.EF()) }, kx: function() { var a = 255, c = this.Db; c && c.cascadeOpacity && (a = c.sa); this.kb(a) }, EF: function() { this.sa = this.Md; for (var a = this.s, c = 0; c < a.length; c++) { var d = a[c]; d && d.kb(255) } }, Nh: function() { var a = this.ac; return b.color(a.r, a.g, a.b, a.a) }, pp: function() { var a = this.Q; return b.color(a.r, a.g, a.b, a.a) }, V: function(a) { var c = this.Q, d = this.ac; c.r = d.r = a.r; c.g = d.g = a.g; c.b = d.b = a.b; a = (a = this.Db) && a.cascadeColor ? a.pp() : b.color.WHITE; this.sb(a) }, sb: function(a) { var c = this.Q, d = this.ac; c.r = 0 | d.r * a.r / 255; c.g = 0 | d.g * a.g / 255; c.b = 0 | d.b * a.b / 255; if (this.$d) for (a = this.s, d = 0; d < a.length; d++) { var e = a[d]; e && e.sb(c) } }, gA: function() { return this.$d }, UA: function(a) { this.$d !== a && ((this.$d = a) ? this.jx() : this.DF()) }, jx: function() { var a; a = (a = this.Db) && a.cascadeColor ? a.pp() : b.color.WHITE; this.sb(a) }, DF: function() { var a = this.Q, c = this.ac; a.r = c.r; a.g = c.g; a.b = c.b; for (var a = this.s, c = b.color.WHITE, d = 0; d < a.length; d++) { var e = a[d]; e && e.sb(c) } }, Ng: function() {}, Dj: function() { return ! 1 } }); b.m.create = function() { return new b.m }; b.m.bd = { se: 1, vd: 2, If: 3, Hj: 4, $c: 5, Nf: 6, vc: 7 }; b.da === b.Ya ? (p = b.m.prototype, p.ctor = function() { this.gs() }, p.W = function() { this.aj(); ! 1 === this.Ff && (this.Ff = this.bo = !0) }, p.Ba = function(a) { if (this.Gc) { a = a || b.l; var c, d = this.s, e; a.save(); this.transform(a); var f = d.length; if (0 < f) { this.vc(); for (c = 0; c < f; c++) if (e = d[c], 0 > e.Ia) e.Ba(a); else break; for (this.na(a); c < f; c++) d[c].Ba(a) } else this.na(a); this.Ce = !1; this.arrivalOrder = 0; a.restore() } }, p.transform = function(a) { a = a || b.l; var c = b.view, d = this.Xe(); a.transform(d.a, d.J, d.b, d.P, d.Z * c.O, -d.$ * c.ma) }, p.Xe = function() { if (this.Ff) { var a = this.wh; a.Z = this.ja.x; a.$ = this.ja.y; var c = 1, d = 0; this.yf && (c = Math.cos(this.$i), d = Math.sin(this.$i)); a.a = a.P = c; a.b = -d; a.J = d; var e = this.O, f = this.ma, g = this.lb.x, h = this.lb.y, k = 1E-6 > e && -1E-6 < e ? 1E-6: e, m = 1E-6 > f && -1E-6 < f ? 1E-6: f; if (this.ie || this.je) { var n = Math.tan( - this.ie * Math.PI / 180), r = Math.tan( - this.je * Math.PI / 180); Infinity === n && (n = 99999999); Infinity === r && (r = 99999999); var s = h * n * k, u = g * r * m; a.a = c + -d * r; a.b = c * n + -d; a.J = d + c * r; a.P = d * n + c; a.Z += c * s + -d * u; a.$ += d * s + c * u } if (1 !== e || 1 !== f) a.a *= k, a.J *= k, a.b *= m, a.P *= m; a.Z += c * -g * k + -d * h * m; a.$ -= d * -g * k + c * h * m; this.rf && (a.Z += g, a.$ += h); this.Ik && (this.wh = b.Eh(a, this.on), this.Ik = !1); this.Ff = !1 } return this.wh }, p = null) : (b.assert("function" === typeof b.p.fr, b.c.Gb, "BaseNodesWebGL.js"), b.p.fr(), delete b.p.fr); b.assert("function" === typeof b.p.Fq, b.c.Gb, "BaseNodesPropertyDefine.js"); b.p.Fq(); delete b.p.Fq; b.m.JP = 0; b.m.LP = 1; b.m.KP = 2; b.m.MP = 3; b.m.IP = 4; b.hf = b.m.extend({ textureAtlas: null, quadsToDraw: 0, Ti: 0, Jx: 0, Ke: 0, de: 0, ah: null, Da: !1, t: null, Yn: !1, Mc: "AtlasNode", ctor: function(a, c, d, e) { b.m.prototype.ctor.call(this); this.ah = b.color.WHITE; this.t = { src: b.kc, Y: b.jc }; this.Yn = !1; void 0 !== e && this.VK(a, c, d, e) }, Vj: function() { b.log(b.c.JB) }, Nh: function() { return this.Da ? this.ah: b.m.prototype.Nh.call(this) }, Ng: function(a) { var c = this.color; this.Da = a; this.color = c }, Dj: function() { return this.Da }, Ml: function() { return this.t }, $h: function(a, c) { this.t = void 0 === c ? a: { src: a, Y: c } }, hB: function(a) { this.textureAtlas = a }, Oz: function() { return this.textureAtlas }, IU: function() { return this.quadsToDraw }, JY: function(a) { this.quadsToDraw = a }, vh: null, mb: null, Ht: null, Pk: null, VK: function(a, c, d, e) { if (!a) throw "cc.AtlasNode.initWithTileFile(): title should not be null"; a = b.va.cc(a); return this.ia(a, c, d, e) }, ia: null, hs: function(a, c, d, e) { this.Ke = c; this.de = d; this.Da = !0; this.mb = a; if (!this.mb) return b.log(b.c.rv), !1; this.vh = this.mb; this.wn(); this.quadsToDraw = e; return ! 0 }, is: function(a, c, d, e) { this.Ke = c; this.de = d; this.ah = b.color.WHITE; this.Da = !0; this.t.src = b.kc; this.t.Y = b.jc; c = this.ac; this.Pk = new Float32Array([c.r / 255, c.g / 255, c.b / 255, this.Md / 255]); this.textureAtlas = new b.mf; this.textureAtlas.ia(a, e); if (!this.textureAtlas) return b.log(b.c.rv), !1; this.yh(); this.Wy(); this.wn(); this.quadsToDraw = e; this.shaderProgram = b.ff.Of(b.zD); this.Ht = b.l.getUniformLocation(this.shaderProgram.Iz(), "u_color"); return ! 0 }, na: null, Lr: function(a) { a = a || b.l; b.pA(this); b.Ph(this.t.src, this.t.Y); this.Ht && this.Pk && (a.uniform4fv(this.Ht, this.Pk), this.textureAtlas.vz(this.quadsToDraw)) }, V: null, wH: function(a) { var c = this.ac; if (c.r != a.r || c.g != a.g || c.b != a.b) { c = b.color(a.r, a.g, a.b); this.ah = a; if (this.Da) { var d = this.sa; c.r = c.r * d / 255; c.g = c.g * d / 255; c.b = c.b * d / 255 } b.m.prototype.V.call(this, a); this.fd() } }, fd: function() { var a = this.La(); if (a && this.mb) { var c = this.mb.la; if (c) { var d = a.la, a = E(0, 0, c.width, c.height); d instanceof HTMLCanvasElement ? b.tj(c, this.Q, a, d) : (d = b.tj(c, this.Q, a), a = new b.K, a.Mb(d), a.Fa(), this.Wa(a)) } } }, xH: function(a) { var c = b.color(a.r, a.g, a.b); this.ah = a; var d = this.sa; this.Da && (c.r = c.r * d / 255, c.g = c.g * d / 255, c.b = c.b * d / 255); b.m.prototype.V.call(this, a); a = this.Q; this.Pk = new Float32Array([a.r / 255, a.g / 255, a.b / 255, d / 255]) }, Ga: function() {}, bt: function(a) { b.m.prototype.Ga.call(this, a); this.Da && (this.color = this.ah) }, ct: function(a) { b.m.prototype.Ga.call(this, a); this.Da ? this.color = this.ah: (a = this.Q, this.Pk = new Float32Array([a.r / 255, a.g / 255, a.b / 255, this.sa / 255])) }, La: null, cs: function() { return this.vh }, ds: function() { return this.textureAtlas.texture }, Wa: null, gt: function(a) { this.vh = a }, ht: function(a) { this.textureAtlas.texture = a; this.yh(); this.Wy() }, wn: null, rF: function() { var a = this.texture.ud(); this.Jx = 0 | a.height / this.de; this.Ti = 0 | a.width / this.Ke }, sF: function() { var a = this.texture, c = a.ud(); this.Yn && (c = a.v); this.Jx = 0 | c.height / this.de; this.Ti = 0 | c.width / this.Ke }, yh: function() { this.textureAtlas.texture.Aj() || (this.t.src = b.SRC_ALPHA, this.t.Y = b.ONE_MINUS_SRC_ALPHA) }, Wy: function() { this.Da = this.textureAtlas.texture.Aj() }, at: function(a) { this.Yn = a } }); p = b.hf.prototype; b.da === b.wb ? (p.ia = p.is, p.na = p.Lr, p.V = p.xH, p.Ga = p.ct, p.La = p.ds, p.Wa = p.ht, p.wn = p.sF) : (p.ia = p.hs, p.na = b.m.prototype.na, p.V = p.wH, p.Ga = p.bt, p.La = p.cs, p.Wa = p.gt, p.wn = p.rF, b.Aa.wt || (p.fd = function() { var a, c = this.La(); if (c && this.mb && (a = c.la)) { var d = this.mb.la; if (c = b.va.zu(d)) d = E(0, 0, d.width, d.height), a instanceof HTMLCanvasElement ? b.sj(a, c, this.Q, d, a) : (a = b.sj(a, c, this.Q, d), c = new b.K, c.Mb(a), c.Fa(), this.Wa(c)) } })); b.k(p, "opacity", p.wj, p.Ga); b.k(p, "color", p.Nh, p.V); b.k(p, "texture", p.La, p.Wa); b.hf.create = function(a, c, d, e) { return new b.hf(a, c, d, e) }; b.p.lr = function() { b.K = b.oa.extend({ mR: !0, Yi: null, wf: 0, vf: 0, Xi: "", v: null, af: 0, bf: 0, Xn: !1, Ni: !1, shaderProgram: null, xb: !1, la: null, Ah: null, url: null, qa: null, ctor: function() { this.v = D(0, 0); this.Yi = b.K.tz }, Yu: function() { this.Ah && b.l.deleteTexture(this.Ah); b.D.Pf(this.url) }, Fz: function() { return this.Yi }, Hz: function() { return this.wf }, Gz: function() { return this.vf }, getName: function() { return this.Ah }, ud: function() { return D(this.v.width / b.Ka(), this.v.height / b.Ka()) }, Ie: function() { return this.v.width / b.Ka() }, fh: function() { return this.v.height / b.Ka() }, VJ: function() { return this.v }, mK: function() { return this.af }, NM: function(a) { this.af = a }, nK: function() { return this.bf }, OM: function(a) { this.bf = a }, xu: function() { return this.shaderProgram }, hv: function(a) { this.shaderProgram = a }, Aj: function() { return this.Xn }, NK: function() { return this.Ni }, description: function() { return "\x3ccc.Texture2D | Name \x3d " + this.Xi + " | Dimensions \x3d " + this.wf + " x " + this.vf + " | Coordinates \x3d (" + this.af + ", " + this.bf + ")\x3e" }, YL: function() {}, jL: function(a) { return a }, Xz: function(a, c, d, e, f) { var g = b.K, h = b.l, k = h.RGBA, m = h.UNSIGNED_BYTE, n = d * b.K.gw[c] / 8; 0 === n % 8 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 8) : 0 === n % 4 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 4) : 0 === n % 2 ? h.pixelStorei(h.UNPACK_ALIGNMENT, 2) : h.pixelStorei(h.UNPACK_ALIGNMENT, 1); this.Ah = h.createTexture(); b.qe(this); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MIN_FILTER, h.LINEAR); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_MAG_FILTER, h.LINEAR); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_S, h.CLAMP_TO_EDGE); h.texParameteri(h.TEXTURE_2D, h.TEXTURE_WRAP_T, h.CLAMP_TO_EDGE); switch (c) { case g.zk: k = h.RGBA; break; case g.yk: k = h.RGB; break; case g.Wm: m = h.UNSIGNED_SHORT_4_4_4_4; break; case g.Vm: m = h.UNSIGNED_SHORT_5_5_5_1; break; case g.xk: m = h.UNSIGNED_SHORT_5_6_5; break; case g.Cq: k = h.LUMINANCE_ALPHA; break; case g.Um: k = h.ALPHA; break; case g.Dq: k = h.LUMINANCE; break; default: b.assert(0, b.c.rE) } h.texImage2D(h.TEXTURE_2D, 0, k, d, e, 0, k, m, a); this.v.width = f.width; this.v.height = f.height; this.wf = d; this.vf = e; this.Yi = c; this.af = f.width / d; this.bf = f.height / e; this.Ni = this.Xn = !1; this.shaderProgram = b.ff.Of(b.Xv); return this.xb = !0 }, dJ: function(a) { var c = [0, this.bf, this.af, this.bf, 0, 0, this.af, 0], d = this.wf * this.af, e = this.vf * this.bf; a = [a.x, a.y, 0, d + a.x, a.y, 0, a.x, e + a.y, 0, d + a.x, e + a.y, 0]; b.tc(b.Lc | b.dr); this.Jb.wc(); this.Jb.iB(); b.qe(this); d = b.l; d.vertexAttribPointer(b.lc, 2, d.FLOAT, !1, 0, a); d.vertexAttribPointer(b.Dk, 2, d.FLOAT, !1, 0, c); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, fJ: function(a) { var c = [0, this.bf, this.af, this.bf, 0, 0, this.af, 0]; a = [a.x, a.y, a.x + a.width, a.y, a.x, a.y + a.height, a.x + a.width, a.y + a.height]; b.tc(b.Lc | b.dr); this.Jb.wc(); this.Jb.iB(); b.qe(this); var d = b.l; d.vertexAttribPointer(b.lc, 2, d.FLOAT, !1, 0, a); d.vertexAttribPointer(b.Dk, 2, d.FLOAT, !1, 0, c); d.drawArrays(d.TRIANGLE_STRIP, 0, 4) }, $z: function(a) { if (null == a) return b.log(b.c.uE), !1; var c = a.LK(), d = a.dK(), e = b.bu.il; if (c > e || d > e) return b.log(b.c.vE, c, d, e, e), !1; this.xb = !0; return this.zG(a, c, d) }, Mb: function(a) { a && (this.Ah = b.l.createTexture(), this.la = a) }, fK: function() { return this.la }, cL: function() { return this.xb }, Fa: function() { if (b.yo) { if (!this.la) { var a = b.D.Yc(this.url); if (!a) return; this.Mb(a) } this.la.width && this.la.height && (this.xb = !0, a = b.l, b.qe(this), a.pixelStorei(a.UNPACK_ALIGNMENT, 4), a.texImage2D(a.TEXTURE_2D, 0, a.RGBA, a.RGBA, a.UNSIGNED_BYTE, this.la), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), this.shaderProgram = b.ff.Of(b.Xv), b.qe(null), a = this.la.height, this.wf = this.v.width = this.la.width, this.vf = this.v.height = a, this.Yi = b.K.zk, this.bf = this.af = 1, this.Ni = this.Xn = !1, this.Ub()) } }, Qd: function() { b.log(b.c.AE); return null }, RK: function() { b.log(b.c.tE); return ! 1 }, SK: function() { b.log(b.c.xE); return ! 1 }, TK: function() { b.log(b.c.zE); return ! 1 }, fN: function(a) { var c = b.l; b.assert(this.wf == b.Aq(this.wf) && this.vf == b.Aq(this.vf) || a.WN == c.CLAMP_TO_EDGE && a.XN == c.CLAMP_TO_EDGE, "WebGLRenderingContext.CLAMP_TO_EDGE should be used in NPOT textures"); b.qe(this); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_MIN_FILTER, a.$V); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_MAG_FILTER, a.XV); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_WRAP_S, a.WN); c.texParameteri(c.TEXTURE_2D, c.TEXTURE_WRAP_T, a.XN) }, yM: function() { var a = b.l; b.qe(this); this.Ni ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR); a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST) }, uM: function() { var a = b.l; b.qe(this); this.Ni ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST); a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST) }, generateMipmap: function() { b.assert(this.wf == b.Aq(this.wf) && this.vf == b.Aq(this.vf), "Mimpap texture only works in POT textures"); b.qe(this); b.l.generateMipmap(b.l.TEXTURE_2D); this.Ni = !0 }, EN: function() { return b.K.bF[this.Yi] }, JI: function(a) { a = a || this.Yi; var c = b.K.gw[a]; if (null != c) return c; b.log(b.c.qE, a); return - 1 }, zG: function(a, c, d) { var e = b.K, f = a.getData(), g = null, g = null, h = a.lV(), k = D(a.LK(), a.dK()), m = e.tz, n = a.IT(); h || (8 <= n ? m = e.yk: (b.log(b.c.nE), m = e.xk)); var r = c * d; if (m == e.xk) if (h) for (f = new Uint16Array(c * d), g = a.getData(), n = 0; n < r; ++n) f[n] = (g[n] >> 0 & 255) >> 3 << 11 | (g[n] >> 8 & 255) >> 2 << 5 | (g[n] >> 16 & 255) >> 3 << 0; else for (f = new Uint16Array(c * d), g = a.getData(), n = 0; n < r; ++n) f[n] = (g[n] & 255) >> 3 << 11 | (g[n] & 255) >> 2 << 5 | (g[n] & 255) >> 3 << 0; else if (m == e.Wm) for (f = new Uint16Array(c * d), g = a.getData(), n = 0; n < r; ++n) f[n] = (g[n] >> 0 & 255) >> 4 << 12 | (g[n] >> 8 & 255) >> 4 << 8 | (g[n] >> 16 & 255) >> 4 << 4 | (g[n] >> 24 & 255) >> 4 << 0; else if (m == e.Vm) for (f = new Uint16Array(c * d), g = a.getData(), n = 0; n < r; ++n) f[n] = (g[n] >> 0 & 255) >> 3 << 11 | (g[n] >> 8 & 255) >> 3 << 6 | (g[n] >> 16 & 255) >> 3 << 1 | (g[n] >> 24 & 255) >> 7 << 0; else if (m == e.Um) for (f = new Uint8Array(c * d), g = a.getData(), n = 0; n < r; ++n) f[n] = g >> 24 & 255; if (h && m == e.yk) for (g = a.getData(), f = new Uint8Array(c * d * 3), n = 0; n < r; ++n) f[3 * n] = g >> 0 & 255, f[3 * n + 1] = g >> 8 & 255, f[3 * n + 2] = g >> 16 & 255; this.Xz(f, m, c, d, k); a.getData(); this.Xn = a.DV(); return ! 0 }, Vc: function(a, c) { this.qa || (this.qa = []); this.qa.push({ ne: a, td: c }) }, bM: function(a) { if (this.qa) for (var c = this.qa, d = 0; d < c.length; d++) c[d].td == a && c.splice(d, 1) }, Ub: function() { if (this.qa) { for (var a = this.qa, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } } }) }; b.p.mr = function() { var a = b.mf.prototype; a.Hy = function() { var a = b.l; this.ed[0] = a.createBuffer(); this.ed[1] = a.createBuffer(); this.lh = a.createBuffer(); this.ko() }; a.ko = function() { var a = b.l; a.bindBuffer(a.ARRAY_BUFFER, this.lh); a.bufferData(a.ARRAY_BUFFER, this.Tc, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.ed[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.md, a.STATIC_DRAW) }; a.vz = function(a) { var d; d = 0; if (0 !== a && this.texture && this.texture.xb) { var e = b.l; b.qe(this.texture); b.tc(b.gn); e.bindBuffer(e.ARRAY_BUFFER, this.lh); this.dirty && e.bufferData(e.ARRAY_BUFFER, this.Tc, e.DYNAMIC_DRAW); e.vertexAttribPointer(b.lc, 3, e.FLOAT, !1, 24, 0); e.vertexAttribPointer(b.Ck, 4, e.UNSIGNED_BYTE, !0, 24, 12); e.vertexAttribPointer(b.Dk, 2, e.FLOAT, !1, 24, 16); this.dirty && (this.dirty = !1); e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, this.ed[1]); b.Zv ? e.drawElements(e.TRIANGLE_STRIP, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.md.BYTES_PER_ELEMENT) : e.drawElements(e.TRIANGLES, 6 * a, e.UNSIGNED_SHORT, 6 * d * this.md.BYTES_PER_ELEMENT); b.We++ } } }; b.p.nr = function() { var a = b.va; a.Fa = function(a) { var d = this.pb; b.yo || (d = this.hl); var e = d[a]; e || (e = d[a] = new b.K, e.url = a); e.Fa() }; a.cc = function(a, d, e) { b.assert(a, b.c.pE); var f = this.pb; b.yo || (f = this.hl); var g = f[a] || f[b.D.$g[a]]; if (g) return d && d.call(e), g; b.D.Yc(a) || (b.D.uw(a) ? b.D.load(a, function() { d && d.call(e) }) : b.D.sd[a] = b.D.Wl(a, function(e, f) { if (e) return d ? d(e) : e; b.va.Fa(a); d && d(null, f) })); g = f[a] = new b.K; g.url = a; return g }; delete a }; b.p.Lq = function() { var a = b.K; a.TP = function(a) { b.uD = a }; a.zk = 2; a.yk = 3; a.xk = 4; a.Um = 5; a.Dq = 6; a.Cq = 7; a.Wm = 8; a.Vm = 7; a.Rv = 9; a.Qv = 10; a.pD = a.zk; var c = b.K.bF = {}; c[a.zk] = "RGBA8888"; c[a.yk] = "RGB888"; c[a.xk] = "RGB565"; c[a.Um] = "A8"; c[a.Dq] = "I8"; c[a.Cq] = "AI88"; c[a.Wm] = "RGBA4444"; c[a.Vm] = "RGB5A1"; c[a.Rv] = "PVRTC4"; c[a.Qv] = "PVRTC2"; c = b.K.gw = {}; c[a.zk] = 32; c[a.yk] = 24; c[a.xk] = 16; c[a.Um] = 8; c[a.Dq] = 8; c[a.Cq] = 16; c[a.Wm] = 16; c[a.Vm] = 16; c[a.Rv] = 4; c[a.Qv] = 3; c = b.K.prototype; b.k(c, "name", c.getName); b.k(c, "pixelFormat", c.Fz); b.k(c, "pixelsWidth", c.Hz); b.k(c, "pixelsHeight", c.Gz); b.k(c, "width", c.Ie); b.k(c, "height", c.fh); a.tz = a.pD }; b.p.Mq = function() { var a = b.mf.prototype; b.k(a, "totalQuads", a.Qz); b.k(a, "capacity", a.Cz); b.k(a, "quads", a.Jz, a.cB) }; b.fO = 51; b.iO = 19; b.kO = 18; b.hO = 50; b.eO = 34; b.cO = 35; b.dO = 33; b.gO = 49; b.jO = 17; b.uD = !1; b.da === b.Ya ? b.K = b.oa.extend({ v: null, xb: !1, la: null, qa: null, url: null, ctor: function() { this.v = D(0, 0); this.xb = !1; this.la = null }, Hz: function() { return this.v.width }, Gz: function() { return this.v.height }, ud: function() { var a = b.Ka(); return D(this.v.width / a, this.v.height / a) }, Ie: function() { return this.v.width / b.Ka() }, fh: function() { return this.v.height / b.Ka() }, VJ: function() { return this.v }, Mb: function(a) { a && (this.la = a) }, fK: function() { return this.la }, cL: function() { return this.xb }, Fa: function() { if (!this.xb) { if (!this.la) { var a = b.D.Yc(this.url); if (!a) return; this.Mb(a) } this.xb = !0; a = this.la; this.v.width = a.width; this.v.height = a.height; this.Ub() } }, description: function() { return "\x3ccc.Texture2D | width \x3d " + this.v.width + " height " + this.v.height + "\x3e" }, Xz: function() { return ! 1 }, $z: function() { return ! 1 }, Qd: function() { return ! 1 }, Yu: function() {}, getName: function() { return null }, mK: function() { return 1 }, NM: function() {}, nK: function() { return 1 }, OM: function() {}, Fz: function() { return null }, xu: function() { return null }, hv: function() {}, Aj: function() { return ! 1 }, NK: function() { return ! 1 }, YL: function() {}, jL: function(a) { return a }, dJ: function() {}, fJ: function() {}, RK: function() { b.log(b.c.sE); return ! 1 }, SK: function() { b.log(b.c.wE); return ! 1 }, TK: function() { b.log(b.c.yE); return ! 1 }, fN: function() {}, yM: function() {}, uM: function() {}, generateMipmap: function() {}, EN: function() { return "" }, JI: function() { return - 1 }, Vc: function(a, c) { this.qa || (this.qa = []); this.qa.push({ ne: a, td: c }) }, bM: function(a) { if (this.qa) for (var c = this.qa, d = 0; d < c.length; d++) c[d].td == a && c.splice(d, 1) }, Ub: function() { if (this.qa) { for (var a = this.qa, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } } }) : (b.assert("function" === typeof b.p.lr, b.c.Gb, "TexturesWebGL.js"), b.p.lr(), delete b.p.lr); b.assert("function" === typeof b.p.Lq, b.c.Gb, "TexturesPropertyDefine.js"); b.p.Lq(); delete b.p.Lq; b.va = { pb: {}, Al: {}, Ct: 0 | 1E3 * Math.random(), hl: {}, CG: function() { var a, c = this.hl, d = this.pb; for (a in c) { var e = c[a]; e.Fa(); d[a] = e } this.hl = {} }, FR: function() { b.log(b.c.IN) }, CR: function() { b.log(b.c.GN) }, description: function() { return "\x3cTextureCache | Number of textures \x3d " + this.pb.length + "\x3e" }, lm: function(a) { return this.pb[a] || this.pb[b.D.$g[a]] }, gK: function(a) { for (var c in this.pb) if (this.pb[c] == a) return c; return null }, QF: function() { this.Ct++; return "_textureKey_" + this.Ct }, zu: function(a) { var c = this.gK(a); c || (c = a instanceof HTMLImageElement ? a.src: this.QF()); this.Al[c] || (this.Al[c] = b.rj(a)); return this.Al[c] }, ER: function() { b.log(b.c.HN) }, uX: function() { var a = this.pb, c; for (c in a) a[c] && a[c].Yu(); this.pb = {} }, HX: function(a) { if (a) { var c = this.pb, d; for (d in c) c[d] == a && (c[d].Yu(), delete c[d]) } }, IX: function(a) { null != a && this.pb[a] && delete this.pb[a] }, ZR: function(a, c) { if (c instanceof b.K) this.pb[a] = c; else { var d = new b.K; d.Mb(c); d.Fa(); this.pb[a] = d } }, JR: function(a, c) { b.assert(a, b.c.KN); if (c && this.pb[c]) return this.pb[c]; var d = new b.K; d.$z(a); null != c && null != d ? this.pb[c] = d: b.log(b.c.JN); return d }, DS: function() { var a = 0, c = 0, d = this.pb, e; for (e in d) { var f = d[e]; a++; f.la instanceof HTMLImageElement ? b.log(b.c.LN, e, f.la.src, f.pixelsWidth, f.pixelsHeight) : b.log(b.c.rB, e, f.pixelsWidth, f.pixelsHeight); c += f.pixelsWidth * f.pixelsHeight * 4 } d = this.Al; for (e in d) { var f = d[e], g; for (g in f) { var h = f[g]; a++; b.log(b.c.rB, e, h.width, h.height); c += h.width * h.height * 4 } } b.log(b.c.MN, a, c / 1024, (c / 1048576).toFixed(2)) }, fg: function() { this.pb = {}; this.Al = {}; this.Ct = 0 | 1E3 * Math.random(); this.hl = {} } }; b.da === b.Ya ? (p = b.va, p.Fa = function(a) { var c = this.pb, d = c[a]; d || (d = c[a] = new b.K, d.url = a); d.Fa() }, p.cc = function(a, c, d) { b.assert(a, b.c.oE); var e = this.pb, f = e[a] || e[b.D.$g[a]]; if (f) return c && c.call(d), f; f = e[a] = new b.K; f.url = a; b.D.Yc(a) ? f.Fa() : b.D.uw(a) ? b.D.load(a, function() { c && c.call(d) }) : b.D.sd[a] = b.D.Wl(a, function(d, e) { if (d) return c ? c(d) : d; b.va.Fa(a); c && c(null, e) }); return f }, p = null) : (b.assert("function" === typeof b.p.nr, b.c.Gb, "TexturesWebGL.js"), b.p.nr(), delete b.p.nr); b.mf = b.oa.extend({ dirty: !1, texture: null, md: null, ed: null, Bc: 0, Ec: null, Tc: null, lh: null, od: null, ctor: function(a, c) { this.ed = []; "string" == typeof a ? this.Tl(a, c) : a instanceof b.K && this.ia(a, c) }, Qz: function() { return this.X }, Cz: function() { return this.Bc }, La: function() { return this.texture }, Wa: function(a) { this.texture = a }, XA: function(a) { this.dirty = a }, iA: function() { return this.dirty }, Jz: function() { return this.Ec }, cB: function(a) { this.Ec = a }, UQ: function(a, c) { if (a) for (var d = 0; d < a.length; d++) this.Co(a[d], c + d) }, Co: function(a, c) { var d = this.Ec; d[c] ? (d[c].wa = a.wa, d[c].xa = a.xa, d[c].ya = a.ya, d[c].za = a.za) : d[c] = new b.Xa(a.ya, a.wa, a.za, a.xa, this.Tc, c * b.Xa.BYTES_PER_ELEMENT) }, description: function() { return "\x3ccc.TextureAtlas | totalQuads \x3d" + this.X + "\x3e" }, Gy: function() { if (0 !== this.Bc) for (var a = this.md, c = this.Bc, d = 0; d < c; d++) b.Zv ? (a[6 * d + 0] = 4 * d + 0, a[6 * d + 1] = 4 * d + 0, a[6 * d + 2] = 4 * d + 2, a[6 * d + 3] = 4 * d + 1, a[6 * d + 4] = 4 * d + 3, a[6 * d + 5] = 4 * d + 3) : (a[6 * d + 0] = 4 * d + 0, a[6 * d + 1] = 4 * d + 1, a[6 * d + 2] = 4 * d + 2, a[6 * d + 3] = 4 * d + 3, a[6 * d + 4] = 4 * d + 2, a[6 * d + 5] = 4 * d + 1) }, Hy: function() { var a = b.l; this.ed[0] = a.createBuffer(); this.ed[1] = a.createBuffer(); this.lh = a.createBuffer(); this.ko() }, ko: function() { var a = b.l; a.bindBuffer(a.ARRAY_BUFFER, this.lh); a.bufferData(a.ARRAY_BUFFER, this.Tc, a.DYNAMIC_DRAW); a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this.ed[1]); a.bufferData(a.ELEMENT_ARRAY_BUFFER, this.md, a.STATIC_DRAW) }, Tl: function(a, c) { var d = b.va.cc(a); if (d) return this.ia(d, c); b.log(b.c.BE, a); return ! 1 }, ia: function(a, c) { b.assert(a, b.c.CE); this.Bc = c |= 0; this.X = 0; this.texture = a; this.Ec = []; this.md = new Uint16Array(6 * c); var d = b.Xa.BYTES_PER_ELEMENT; this.Tc = new ArrayBuffer(d * c); this.od = new Uint8Array(this.Tc); if ((!this.Ec || !this.md) && 0 < c) return ! 1; for (var e = this.Ec, f = 0; f < c; f++) e[f] = new b.Xa(null, null, null, null, this.Tc, f * d); this.Gy(); this.Hy(); return this.dirty = !0 }, Up: function(a, c) { b.assert(a, b.c.ME); b.assert(0 <= c && c < this.Bc, b.c.NE); this.X = Math.max(c + 1, this.X); this.Co(a, c); this.dirty = !0 }, Iu: function(a, c) { b.assert(c < this.Bc, b.c.FE); this.X++; if (this.X > this.Bc) b.log(b.c.bw); else { var d = b.Xa.BYTES_PER_ELEMENT, e = c * d, f = (this.X - 1 - c) * d; this.Ec[this.X - 1] = new b.Xa(null, null, null, null, this.Tc, (this.X - 1) * d); this.od.set(this.od.subarray(e, e + f), e + d); this.Co(a, c); this.dirty = !0 } }, sV: function(a, c, d) { d = d || a.length; b.assert(c + d <= this.Bc, b.c.GE); var e = b.Xa.BYTES_PER_ELEMENT; this.X += d; if (this.X > this.Bc) b.log(b.c.bw); else { var f = c * e, g = (this.X - 1 - c - d) * e, h = this.X - 1 - d, k; for (k = 0; k < d; k++) this.Ec[h + k] = new b.Xa(null, null, null, null, this.Tc, (this.X - 1) * e); this.od.set(this.od.subarray(f, f + g), f + e * d); for (k = 0; k < d; k++) this.Co(a[k], c + k); this.dirty = !0 } }, rV: function(a, c) { if (a !== c) { b.assert(0 <= c || c < this.X, b.c.DE); b.assert(0 <= a || a < this.X, b.c.EE); var d = b.Xa.BYTES_PER_ELEMENT, e = this.od, f = e.subarray(a * d, d), g; a > c ? (g = c * d, e.set(e.subarray(g, g + (a - c) * d), g + d), e.set(f, g)) : (g = (a + 1) * d, e.set(e.subarray(g, g + (c - a) * d), g - d), e.set(f, c * d)); this.dirty = !0 } }, dM: function(a) { b.assert(a < this.X, b.c.KE); var c = b.Xa.BYTES_PER_ELEMENT; this.X--; this.Ec.length = this.X; if (a !== this.X) { var d = (a + 1) * c; this.od.set(this.od.subarray(d, d + (this.X - a) * c), d - c) } this.dirty = !0 }, CX: function(a, c) { b.assert(a + c <= this.X, b.c.LE); this.X -= c; if (a !== this.X) { var d = b.Xa.BYTES_PER_ELEMENT, e = (a + c) * d; this.od.set(this.od.subarray(e, e + (this.X - a) * d), a * d) } this.dirty = !0 }, $L: function() { this.X = this.Ec.length = 0 }, qh: function(a) { this.dirty = a }, JA: function(a) { if (a == this.Bc) return ! 0; var c = b.Xa.BYTES_PER_ELEMENT, d = this.Bc; this.X = Math.min(this.X, a); var e = this.Bc = 0 | a, f = this.X; if (null == this.Ec) for (this.Ec = [], this.Tc = new ArrayBuffer(c * e), this.od = new Uint8Array(this.Tc), a = 0; a < e; a++) this.Ec = new b.Xa(null, null, null, null, this.Tc, a * c); else { var g, h, k = this.Ec; if (e > d) { g = []; h = new ArrayBuffer(c * e); for (a = 0; a < f; a++) g[a] = new b.Xa(k[a].ya, k[a].wa, k[a].za, k[a].xa, h, a * c); for (; a < e; a++) g[a] = new b.Xa(null, null, null, null, h, a * c) } else for (f = Math.max(f, e), g = [], h = new ArrayBuffer(c * e), a = 0; a < f; a++) g[a] = new b.Xa(k[a].ya, k[a].wa, k[a].za, k[a].xa, h, a * c); this.od = new Uint8Array(h); this.Ec = g; this.Tc = h } null == this.md ? this.md = new Uint16Array(6 * e) : e > d ? (c = new Uint16Array(6 * e), c.set(this.md, 0), this.md = c) : this.md = this.md.subarray(0, 6 * e); this.Gy(); this.ko(); return this.dirty = !0 }, QK: function(a) { this.X += a }, aW: function(a, c, d) { if (void 0 === d) { if (d = c, c = this.X - a, b.assert(d + (this.X - a) <= this.Bc, b.c.HE), 0 === c) return } else if (b.assert(d + c <= this.X, b.c.IE), b.assert(a < this.X, b.c.JE), a == d) return; var e = b.Xa.BYTES_PER_ELEMENT, f = a * e, g = c * e, h = this.od, k = h.subarray(f, f + g), m = d * e; d < a ? (c = d * e, h.set(h.subarray(c, c + (a - d) * e), c + g)) : (c = (a + c) * e, h.set(h.subarray(c, c + (d - a) * e), f)); h.set(k, m); this.dirty = !0 }, yT: function(a, c) { for (var d = c * b.Xa.BYTES_PER_ELEMENT, e = new Uint8Array(this.Tc, a * b.Xa.BYTES_PER_ELEMENT, d), f = 0; f < d; f++) e[f] = 0 }, jJ: function() { this.vz(this.X) }, nR: function() { var a = b.l; this.ed && (this.ed[0] && a.deleteBuffer(this.ed[0]), this.ed[1] && a.deleteBuffer(this.ed[1])); this.lh && a.deleteBuffer(this.lh) } }); p = b.mf.prototype; b.k(p, "totalQuads", p.Qz); b.k(p, "capacity", p.Cz); b.k(p, "quads", p.Jz, p.cB); b.mf.create = function(a, c) { return new b.mf(a, c) }; b.mf.eu = b.mf.create; b.da === b.wb && (b.assert("function" === typeof b.p.mr, b.c.Gb, "TexturesWebGL.js"), b.p.mr(), delete b.p.mr); b.assert("function" === typeof b.p.Mq, b.c.Gb, "TexturesPropertyDefine.js"); b.p.Mq(); delete b.p.Mq; b.$m = b.m.extend({ Mc: "Scene", ctor: function() { b.m.prototype.ctor.call(this); this.rf = !0; this.Qj(0.5, 0.5); this.wd(b.Qa.Ql()) } }); b.$m.create = function() { return new b.$m }; b.xq = b.$m.extend({ rg: null, Lx: 0, Fr: 0, eo: null, Mc: "LoaderScene", ga: function() { var a = this, c = 200, d = a.pF = b.Pb.create(b.color(32, 32, 32, 255)); d.Ma(b.di.Wt); a.N(d, 0); var e = 24, f = -c / 2 + 100; b.os && (b.D.Wl(b.os, { Ju: !1 }, function(d, e) { c = e.height; a.AG(e, b.di.Zo) }), e = 14, f = -c / 2 - 10); e = a.eo = b.A.create("\u52a0\u8f7d\u4e2d... 0%", "Arial", e); e.Ma(b.Jj(b.di.Zo, C(0, f))); e.V(b.color(180, 180, 180)); d.N(this.eo, 10); return ! 0 }, AG: function(a, c) { var d = new b.K; d.Mb(a); d.Fa(); d = b.B.create(d); d.Og(b.Ka()); d.x = c.x; d.y = c.y; this.pF.N(d, 10) }, se: function() { b.m.prototype.se.call(this); this.av(this.My, 0.3) }, vd: function() { b.m.prototype.vd.call(this); this.eo.ic("\u52a0\u8f7d\u4e2d... 0%") }, UK: function(a, c) { "string" == typeof a && (a = [a]); this.gM = a || []; this.fc = c }, My: function() { var a = this; a.xB(a.My); var c = a.gM; a.Lx = c.length; a.Fr = 0; b.D.load(c, function(c, e) { a.Fr = e }, function() { a.fc && a.fc() }); a.av(a.Xy) }, Xy: function() { var a = this.Fr, c = this.Lx, d; d = Math.min(a / c * 100 | 0, 100); this.eo.ic("\u52a0\u8f7d\u4e2d... " + d + "%"); a >= c && this.xB(this.Xy) } }); b.xq.Wu = function(a, c) { var d = b; d.Xl || (d.Xl = new b.xq, d.Xl.ga()); d.Xl.UK(a, c); b.Qa.OA(d.Xl); return d.Xl }; b.p.wq = function() { var a = b.zb.prototype; a.ez = function() {}; a.wB = function() {}; a.Ba = b.m.prototype.Ba }; b.p.ir = function() { var a = b.Pb.prototype; a.Eo = null; a.pt = null; a.Lt = null; a.Dr = null; a.rt = null; a.qt = null; a.ctor = function(a, d, e) { this.rt = new ArrayBuffer(32); this.qt = new ArrayBuffer(16); var f = this.rt, g = this.qt, h = b.Sa.BYTES_PER_ELEMENT, k = b.ad.BYTES_PER_ELEMENT; this.Eo = [new b.Sa(0, 0, f, 0), new b.Sa(0, 0, f, h), new b.Sa(0, 0, f, 2 * h), new b.Sa(0, 0, f, 3 * h)]; this.pt = [b.color(0, 0, 0, 255, g, 0), b.color(0, 0, 0, 255, g, k), b.color(0, 0, 0, 255, g, 2 * k), b.color(0, 0, 0, 255, g, 3 * k)]; this.Lt = b.l.createBuffer(); this.Dr = b.l.createBuffer(); b.zb.prototype.ctor.call(this); this.t = new b.cb(b.kc, b.jc); b.Pb.prototype.ga.call(this, a, d, e) }; a.wd = function(a, d) { var e = this.Eo; void 0 === d ? (e[1].x = a.width, e[2].y = a.height, e[3].x = a.width, e[3].y = a.height) : (e[1].x = a, e[2].y = d, e[3].x = a, e[3].y = d); this.xr(); b.zb.prototype.wd.call(this, a, d) }; a.Bf = function(a) { var d = this.Eo; d[1].x = a; d[3].x = a; this.xr(); b.zb.prototype.Bf.call(this, a) }; a.Af = function(a) { var d = this.Eo; d[2].y = a; d[3].y = a; this.xr(); b.zb.prototype.Af.call(this, a) }; a.Eb = function() { for (var a = this.Q, d = this.sa, e = this.pt, f = 0; 4 > f; f++) e[f].r = a.r, e[f].g = a.g, e[f].b = a.b, e[f].a = d; this.rw() }; a.na = function(a) { a = a || b.l; b.pA(this); b.tc(b.Lc | b.cr); a.bindBuffer(a.ARRAY_BUFFER, this.Lt); a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, 0, 0); a.bindBuffer(a.ARRAY_BUFFER, this.Dr); a.vertexAttribPointer(b.Ck, 4, a.UNSIGNED_BYTE, !0, 0, 0); b.Ph(this.t.src, this.t.Y); a.drawArrays(a.TRIANGLE_STRIP, 0, 4) }; a.xr = function() { var a = b.l; a.bindBuffer(a.ARRAY_BUFFER, this.Lt); a.bufferData(a.ARRAY_BUFFER, this.rt, a.STATIC_DRAW) }; a.rw = function() { var a = b.l; a.bindBuffer(a.ARRAY_BUFFER, this.Dr); a.bufferData(a.ARRAY_BUFFER, this.qt, a.STATIC_DRAW) } }; b.p.jr = function() { var a = b.Ug.prototype; a.na = b.Pb.prototype.na; a.Eb = function() { var a = this.cg, d = b.Tu(a); if (0 !== d) { var e = Math.sqrt(2), a = C(a.x / d, a.y / d); this.zn && (a = b.Kg(a, 1 / (Math.abs(a.x) + Math.abs(a.y)) * e)); var f = this.sa / 255, d = this.Q, g = this.Bi, d = { r: d.r, g: d.g, b: d.b, a: this.ej * f }, f = { r: g.r, g: g.g, b: g.b, a: this.Ci * f }, h = this.pt, g = h[0], k = h[1], m = h[2], h = h[3]; g.r = f.r + (e + a.x + a.y) / (2 * e) * (d.r - f.r); g.g = f.g + (e + a.x + a.y) / (2 * e) * (d.g - f.g); g.b = f.b + (e + a.x + a.y) / (2 * e) * (d.b - f.b); g.a = f.a + (e + a.x + a.y) / (2 * e) * (d.a - f.a); k.r = f.r + (e - a.x + a.y) / (2 * e) * (d.r - f.r); k.g = f.g + (e - a.x + a.y) / (2 * e) * (d.g - f.g); k.b = f.b + (e - a.x + a.y) / (2 * e) * (d.b - f.b); k.a = f.a + (e - a.x + a.y) / (2 * e) * (d.a - f.a); m.r = f.r + (e + a.x - a.y) / (2 * e) * (d.r - f.r); m.g = f.g + (e + a.x - a.y) / (2 * e) * (d.g - f.g); m.b = f.b + (e + a.x - a.y) / (2 * e) * (d.b - f.b); m.a = f.a + (e + a.x - a.y) / (2 * e) * (d.a - f.a); h.r = f.r + (e - a.x - a.y) / (2 * e) * (d.r - f.r); h.g = f.g + (e - a.x - a.y) / (2 * e) * (d.g - f.g); h.b = f.b + (e - a.x - a.y) / (2 * e) * (d.b - f.b); h.a = f.a + (e - a.x - a.y) / (2 * e) * (d.a - f.a); this.rw() } } }; b.p.Iq = function() { var a = b.Pb.prototype; b.k(a, "width", a.Ie, a.Bf); b.k(a, "height", a.fh, a.Af) }; b.p.Jq = function() { var a = b.Ug.prototype; b.k(a, "startColor", a.DK, a.dN); b.k(a, "endColor", a.ZJ, a.EM); b.k(a, "startOpacity", a.EK, a.eN); b.k(a, "endOpacity", a.$J, a.FM); b.k(a, "vector", a.IK, a.iN) }; b.zb = b.m.extend({ hh: !1, sn: null, Mc: "Layer", ctor: function() { var a = b.m.prototype; a.ctor.call(this); this.rf = !0; a.Qj.call(this, 0.5, 0.5); a.wd.call(this, b.aa) }, ga: function() { this.rf = !0; this.Qj(0.5, 0.5); this.wd(b.aa); this.cascadeColor = this.cascadeOpacity = !1; return ! 0 }, ez: null, wB: null, uV: function() { return this.hh }, Ba: null }); b.zb.create = function() { return new b.zb }; if (b.da === b.Ya) { var F = b.zb.prototype; F.ez = function() { if (!this.hh) { this.hh = this.Ce = !0; this.Ok = this; for (var a = this.s, c = 0, d = a.length; c < d; c++) a[c].Ys(this); this.sn || (this.sn = new b.PB) } }; F.wB = function() { if (this.hh) { this.hh = !1; this.Ce = !0; this.Ok = null; for (var a = this.s, c = 0, d = a.length; c < d; c++) a[c].Ys(null) } }; F.Ba = function(a) { if (this.hh) { a = a || b.l; var c, d = this.s, e = d.length; if (this.Gc && 0 !== e) { var f = this.sn; a.save(); this.transform(a); if (this.Ce) { c = this.Wr(); c.width |= 0; c.height |= 0; var g = f.vn; f.IA(c.width, c.height); g.translate(0 - c.x, c.height + c.y); var h = f.qu(); f.Ma(h.x + c.x, h.y + c.y); this.vc(); b.view.By(); for (c = 0; c < e; c++) d[c].Ba(g); b.view.oy(); this.Ce = !1 } f.Ba(a); this.arrivalOrder = 0; a.restore() } } else b.m.prototype.Ba.call(this, a) }; F.Wr = function() { var a = null; if (!this.s || 0 === this.s.length) return E(0, 0, 10, 10); for (var c = this.s, d = 0; d < c.length; d++) { var e = c[d]; e && e.Gc && (a ? (e = e.Zk()) && (a = b.Ip(a, e)) : a = e.Zk()) } return a }; F = null } else b.assert("function" === typeof b.p.wq, b.c.Gb, "CCLayerWebGL.js"), b.p.wq(), delete b.p.wq; b.Pb = b.zb.extend({ t: null, Mc: "LayerColor", Ml: function() { return this.t }, fS: function(a, c) { this.width = a; this.height = c }, eS: function(a) { this.width = a }, dS: function(a) { this.height = a }, Ng: function() {}, Dj: function() { return ! 1 }, V: function(a) { b.zb.prototype.V.call(this, a); this.Eb() }, Ga: function(a) { b.zb.prototype.Ga.call(this, a); this.Eb() }, cl: !1, ctor: null, ga: function(a, c, d) { b.da !== b.Ya && (this.shaderProgram = b.ff.Of(b.Wv)); var e = b.Qa.Ql(); a = a || b.color(0, 0, 0, 255); c = void 0 === c ? e.width: c; d = void 0 === d ? e.height: d; e = this.Q; e.r = a.r; e.g = a.g; e.b = a.b; e = this.ac; e.r = a.r; e.g = a.g; e.b = a.b; this.Md = this.sa = a.a; a = b.Pb.prototype; a.wd.call(this, c, d); a.Eb.call(this); return ! 0 }, $h: function(a, c) { this.t = void 0 === c ? a: { src: a, Y: c }; b.da === b.Ya && (this.cl = this.t && 1 == this.t.src && 771 == this.t.Y) }, Bf: null, Af: null, Eb: null, sb: function(a) { b.zb.prototype.sb.call(this, a); this.Eb() }, kb: function(a) { b.zb.prototype.kb.call(this, a); this.Eb() }, na: null }); b.Pb.create = function(a, c, d) { return new b.Pb(a, c, d) }; b.da === b.Ya ? (p = b.Pb.prototype, p.ctor = function(a, c, d) { b.zb.prototype.ctor.call(this); this.t = new b.cb(b.kc, b.jc); b.Pb.prototype.ga.call(this, a, c, d) }, p.Bf = b.zb.prototype.Bf, p.Af = b.zb.prototype.Af, p.Eb = function() {}, p.na = function(a) { a = a || b.l; var c = b.view, d = this.Q; a.fillStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + this.sa / 255 + ")"; a.fillRect(0, 0, this.width * c.O, -this.height * c.ma); b.We++ }, p.Ba = function(a) { if (this.hh) { a = a || b.l; var c, d = this.s, e = d.length; if (this.Gc) { var f = this.sn; a.save(); this.transform(a); if (this.Ce) { c = this.Wr(); c.width |= 0; c.height |= 0; var g = f.vn; f.IA(c.width, c.height); var h = f.qu(), k = this.ja; if (this.rf) g.translate(0 - c.x + k.x, c.height + c.y - k.y), f.Ma(h.x + c.x - k.x, h.y + c.y - k.y); else { var m = this.qu(), n = k.x - m.x, k = k.y - m.y; g.translate(0 - c.x + n, c.height + c.y - k); f.Ma(h.x + c.x - n, h.y + c.y - k) } b.view.By(); if (0 < e) { this.vc(); for (c = 0; c < e; c++) if (h = d[c], 0 > h.Ia) h.Ba(g); else break; for (this.na(g); c < e; c++) d[c].Ba(g) } else this.na(g); b.view.oy(); this.Ce = !1 } f.Ba(a); this.arrivalOrder = 0; a.restore() } } else b.m.prototype.Ba.call(this, a) }, p.Wr = function() { var a = E(0, 0, this.v.width, this.v.height), c = this.Bp(), a = b.Xu(a, this.Bp()); if (!this.s || 0 === this.s.length) return a; for (var d = this.s, e = 0; e < d.length; e++) { var f = d[e]; f && f.Gc && (f = f.Zk(c), a = b.Ip(a, f)) } return a }, p = null) : (b.assert("function" === typeof b.p.ir, b.c.Gb, "CCLayerWebGL.js"), b.p.ir(), delete b.p.ir); b.assert("function" === typeof b.p.Iq, b.c.Gb, "CCLayerPropertyDefine.js"); b.p.Iq(); delete b.p.Iq; b.Ug = b.Pb.extend({ Ly: null, Bi: null, ej: 255, Ci: 255, cg: null, zn: !1, Mi: null, Li: null, Mc: "LayerGradient", ctor: function(a, c, d) { b.Pb.prototype.ctor.call(this); this.Ly = b.color(0, 0, 0, 255); this.Bi = b.color(0, 0, 0, 255); this.cg = C(0, -1); this.Ci = this.ej = 255; this.Mi = C(0, 0); this.Li = C(0, 0); b.Ug.prototype.ga.call(this, a, c, d) }, ga: function(a, c, d) { a = a || b.color(0, 0, 0, 255); c = c || b.color(0, 0, 0, 255); d = d || C(0, -1); var e = this.Ly, f = this.Bi; e.r = a.r; e.g = a.g; e.b = a.b; this.ej = a.a; f.r = c.r; f.g = c.g; f.b = c.b; this.Ci = c.a; this.cg = d; this.zn = !0; this.Mi = C(0, 0); this.Li = C(0, 0); b.Pb.prototype.ga.call(this, b.color(a.r, a.g, a.b, 255)); b.Ug.prototype.Eb.call(this); return ! 0 }, wd: function(a, c) { b.Pb.prototype.wd.call(this, a, c); this.Eb() }, Bf: function(a) { b.Pb.prototype.Bf.call(this, a); this.Eb() }, Af: function(a) { b.Pb.prototype.Af.call(this, a); this.Eb() }, DK: function() { return this.ac }, dN: function(a) { this.color = a }, EM: function(a) { this.Bi = a; this.Eb() }, ZJ: function() { return this.Bi }, eN: function(a) { this.ej = a; this.Eb() }, EK: function() { return this.ej }, FM: function(a) { this.Ci = a; this.Eb() }, $J: function() { return this.Ci }, iN: function(a) { this.cg.x = a.x; this.cg.y = a.y; this.Eb() }, IK: function() { return C(this.cg.x, this.cg.y) }, wV: function() { return this.zn }, $X: function(a) { this.zn = a; this.Eb() }, XQ: null, Eb: null }); b.Ug.create = function(a, c, d) { return new b.Ug(a, c, d) }; b.da === b.Ya ? (p = b.Ug.prototype, p.na = function(a) { a = a || b.l; this.cl && (a.globalCompositeOperation = "lighter"); a.save(); var c = this.sa / 255, d = b.view.O, e = b.view.ma, f = this.width * d, g = this.height * e, d = a.createLinearGradient(this.Mi.x * d, this.Mi.y * e, this.Li.x * d, this.Li.y * e), e = this.Q, h = this.Bi; d.addColorStop(0, "rgba(" + Math.round(e.r) + "," + Math.round(e.g) + "," + Math.round(e.b) + "," + (this.ej / 255 * c).toFixed(4) + ")"); d.addColorStop(1, "rgba(" + Math.round(h.r) + "," + Math.round(h.g) + "," + Math.round(h.b) + "," + (this.Ci / 255 * c).toFixed(4) + ")"); a.fillStyle = d; a.fillRect(0, 0, f, -g); 0 != this.pR && a.rotate(this.qR); a.restore(); b.We++ }, p.Eb = function() { var a = this.cg, c = 0.5 * this.width, d = 0.5 * this.height; this.Mi.x = c * -a.x + c; this.Mi.y = d * a.y - d; this.Li.x = c * a.x + c; this.Li.y = d * -a.y - d }, p = null) : (b.assert("function" === typeof b.p.jr, b.c.Gb, "CCLayerWebGL.js"), b.p.jr(), delete b.p.jr); b.assert("function" === typeof b.p.Jq, b.c.Gb, "CCLayerPropertyDefine.js"); b.p.Jq(); delete b.p.Jq; b.Tm = b.zb.extend({ eh: 0, Le: null, Mc: "LayerMultiplex", ctor: function(a) { b.zb.prototype.ctor.call(this); a instanceof Array ? b.Tm.prototype.aA.call(this, a) : b.Tm.prototype.aA.call(this, Array.prototype.slice.call(arguments)) }, aA: function(a) { 0 < a.length && null == a[a.length - 1] && b.log(b.c.MC); this.Le = a; this.eh = 0; this.N(this.Le[this.eh]); return ! 0 }, pZ: function(a) { a >= this.Le.length ? b.log(b.c.NC) : (this.removeChild(this.Le[this.eh], !0), this.eh = a, this.N(this.Le[a])) }, qZ: function(a) { a >= this.Le.length ? b.log(b.c.OC) : (this.removeChild(this.Le[this.eh], !0), this.Le[this.eh] = null, this.eh = a, this.N(this.Le[a])) }, DR: function(a) { a ? this.Le.push(a) : b.log(b.c.LC) } }); b.Tm.create = function() { return new b.Tm(Array.prototype.slice.call(arguments)) }; b.p.kr = function() { var a = b.B.prototype; a.ot = function(a) { this.W(!0); this.Ha(a.pe(), a.qc, a.xj()); this.Ub() }; a.Ng = function(a) { this.Da !== a && (this.Da = a, this.om()) }; a.kb = function(a) { b.m.prototype.kb.call(this, a); this.om() }; a.ctor = function(a, d, e) { b.m.prototype.ctor.call(this); this.xg = !1; this.Oa = C(0, 0); this.le = C(0, 0); this.t = { src: b.kc, Y: b.jc }; this.F = E(0, 0, 0, 0); this.Pa = new b.Xa; this.wo = b.l.createBuffer(); this.T = this.Dc = !0; this.Jy(a, d, e) }; a.$h = function(a, d) { var e = this.t; void 0 === d ? (e.src = a.src, e.Y = a.Y) : (e.src = a, e.Y = d) }; a.ga = function() { if (0 < arguments.length) return this.Tl(arguments[0], arguments[1]); b.m.prototype.ga.call(this); this.dirty = this.ge = !1; this.Da = !0; this.t.src = b.kc; this.t.Y = b.jc; this.texture = null; this.T = !0; this.gb = this.hb = !1; this.anchorY = this.anchorX = 0.5; this.Oa.x = 0; this.Oa.y = 0; this.Je = !1; var a = { r: 255, g: 255, b: 255, a: 255 }; this.Pa.wa.j = a; this.Pa.xa.j = a; this.Pa.ya.j = a; this.Pa.za.j = a; this.Dc = !0; this.Ha(E(0, 0, 0, 0), !1, D(0, 0)); return ! 0 }; a.ia = function(a, d, e) { b.assert(0 != arguments.length, b.c.$D); e = e || !1; if (!b.m.prototype.ga.call(this)) return ! 1; this.ca = null; this.dirty = this.ge = !1; this.Da = !0; this.t.src = b.kc; this.t.Y = b.jc; this.gb = this.hb = !1; this.anchorY = this.anchorX = 0.5; this.Oa.x = 0; this.Oa.y = 0; this.Je = !1; var f = b.color(255, 255, 255, 255), g = this.Pa; g.wa.j = f; g.xa.j = f; g.ya.j = f; g.za.j = f; this.T = f = a.xb; if (!f) return this.nb = e || !1, d && (f = this.F, f.x = d.x, f.y = d.y, f.width = d.width, f.height = d.height), a.Vc(this.Oo, this), !0; d || (d = E(0, 0, a.width, a.height)); a && a.url && (e ? (f = d.x + d.height, g = d.y + d.width) : (f = d.x + d.width, g = d.y + d.height), f > a.width && b.error(b.c.Pq, a.url), g > a.height && b.error(b.c.Oq, a.url)); this.texture = a; this.Ha(d, e); this.batchNode = null; return this.Dc = !0 }; a.Oo = function(a) { if (!this.T) { this.T = !0; var d = this.F; d ? b.Ns(d) && (d.width = a.width, d.height = a.height) : d = E(0, 0, a.width, a.height); this.texture = a; this.Ha(d, this.nb); this.batchNode = this.ca; this.Dc = !0; this.Ub() } }; a.Ha = function(a, d, e) { this.nb = d || !1; this.wd(e || a); this.iv(a); this.Dy(a); a = this.le; this.gb && (a.x = -a.x); this.hb && (a.y = -a.y); var f = this.F; this.Oa.x = a.x + (this.v.width - f.width) / 2; this.Oa.y = a.y + (this.v.height - f.height) / 2; if (this.ca) this.dirty = !0; else { a = 0 + this.Oa.x; d = 0 + this.Oa.y; e = a + f.width; var f = d + f.height, g = this.Pa; g.wa.e = { x: a, y: d, z: 0 }; g.xa.e = { x: e, y: d, z: 0 }; g.ya.e = { x: a, y: f, z: 0 }; g.za.e = { x: e, y: f, z: 0 }; this.Dc = !0 } }; a.$c = function() { if (this.dirty) { var a = this.Pa, d = this.Db; if (!this.Gc || d && d != this.ca && d.xg) a.xa.e = a.ya.e = a.za.e = a.wa.e = { x: 0, y: 0, z: 0 }, this.xg = !0; else { this.xg = !1; var e = this.xh = d && d != this.ca ? b.Eh(this.Yl(), d.xh) : this.Yl(), f = this.F, d = this.Oa.x, g = this.Oa.y, h = d + f.width, k = g + f.height, m = e.Z, n = e.$, r = e.a, s = e.b, u = e.P, t = -e.J, e = d * r - g * t + m, f = d * s + g * u + n, v = h * r - g * t + m, g = h * s + g * u + n, w = h * r - k * t + m, h = h * s + k * u + n, m = d * r - k * t + m, d = d * s + k * u + n, k = this.Wo; b.Yv || (e |= 0, f |= 0, v |= 0, g |= 0, w |= 0, h |= 0, m |= 0, d |= 0); a.wa.e = { x: e, y: f, z: k }; a.xa.e = { x: v, y: g, z: k }; a.ya.e = { x: m, y: d, z: k }; a.za.e = { x: w, y: h, z: k } } this.textureAtlas.Up(a, this.atlasIndex); this.dirty = this.ge = !1 } this.Je && this.Gd(this.s, b.m.bd.$c); b.Uf && b.Hd.gc([C(this.Pa.wa.e.x, this.Pa.wa.e.y), C(this.Pa.xa.e.x, this.Pa.xa.e.y), C(this.Pa.za.e.x, this.Pa.za.e.y), C(this.Pa.ya.e.x, this.Pa.ya.e.y)], 4, !0) }; a.N = function(a, d, e) { b.assert(a, b.c.RD); null == d && (d = a.Ia); null == e && (e = a.tag); if (this.ca) { if (! (a instanceof b.B)) { b.log(b.c.PD); return } a.texture.Ah !== this.textureAtlas.texture.Ah && b.log(b.c.QD); this.ca.appendChild(a); this.bc || this.ft() } b.m.prototype.N.call(this, a, d, e); this.Je = !0 }; a.Ga = function(a) { b.m.prototype.Ga.call(this, a); this.om() }; a.V = function(a) { b.m.prototype.V.call(this, a); this.om() }; a.sb = function(a) { b.m.prototype.sb.call(this, a); this.om() }; a.Pg = function(a) { var d = this; "string" == typeof a && (a = b.ue.Ye(a), b.assert(a, b.c.iE)); d.W(!0); var e = a.wu(); d.le.x = e.x; d.le.y = e.y; e = a.La(); a.T || (d.T = !1, a.Vc(function(a) { d.T = !0; var c = a.La(); c != d.ea && (d.texture = c); d.Ha(a.pe(), a.qc, a.xj()); d.Ub() }, d)); e != d.ea && (d.texture = e); d.nb = a.qc; d.Ha(a.pe(), d.nb, a.xj()) }; a.jA = function(a) { return b.AA(a.pe(), this.F) && a.La().getName() == this.ea.getName() && b.NL(a.wu(), this.le) }; a.cv = function(a) { if (this.ca = a) this.xh = { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 }, this.textureAtlas = this.ca.textureAtlas; else { this.atlasIndex = b.B.sq; this.textureAtlas = null; this.dirty = this.ge = !1; a = this.Oa.x; var d = this.Oa.y, e = a + this.F.width, f = d + this.F.height, g = this.Pa; g.wa.e = { x: a, y: d, z: 0 }; g.xa.e = { x: e, y: d, z: 0 }; g.ya.e = { x: a, y: f, z: 0 }; g.za.e = { x: e, y: f, z: 0 }; this.Dc = !0 } }; a.Wa = function(a) { a && "string" === typeof a ? (a = b.va.cc(a), this.Wa(a), a = a.ud(), this.Ha(E(0, 0, a.width, a.height))) : (b.assert(!a || a instanceof b.K, b.c.kE), this.ca && this.ca.texture != a ? b.log(b.c.jE) : (this.shaderProgram = a ? b.ff.Of(b.Wq) : b.ff.Of(b.Wv), this.ca || this.ea == a || (this.ea = a, this.yh()))) }; a.na = function() { if (this.T) { var a = b.l, d = this.ea; d ? d.xb && (this.Jb.wc(), this.Jb.xd(), b.Ph(this.t.src, this.t.Y), b.iV(0, d), b.tc(b.gn), a.bindBuffer(a.ARRAY_BUFFER, this.wo), this.Dc && (a.bufferData(a.ARRAY_BUFFER, this.Pa.Xo, a.DYNAMIC_DRAW), this.Dc = !1), a.vertexAttribPointer(0, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(1, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.vertexAttribPointer(2, 2, a.FLOAT, !1, 24, 16), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)) : (this.Jb.wc(), this.Jb.xd(), b.Ph(this.t.src, this.t.Y), b.qe(null), b.tc(b.Lc | b.cr), a.bindBuffer(a.ARRAY_BUFFER, this.wo), this.Dc && (b.l.bufferData(b.l.ARRAY_BUFFER, this.Pa.Xo, b.l.STATIC_DRAW), this.Dc = !1), a.vertexAttribPointer(b.lc, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(b.Ck, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); b.We++; if (0 !== b.Uf || this.jt) 1 === b.Uf || this.jt ? (a = this.Pa, b.Hd.gc([C(a.ya.e.x, a.ya.e.y), C(a.wa.e.x, a.wa.e.y), C(a.xa.e.x, a.xa.e.y), C(a.za.e.x, a.za.e.y)], 4, !0)) : 2 === b.Uf && (a = this.Pz(), d = this.qK(), b.Hd.gc([C(d.x, d.y), C(d.x + a.width, d.y), C(d.x + a.width, d.y + a.height), C(d.x, d.y + a.height)], 4, !0)) } }; delete a }; b.p.Kq = function() { var a = b.B.prototype; b.k(a, "opacityModifyRGB", a.Dj, a.Ng); b.k(a, "opacity", a.wj, a.Ga); b.k(a, "color", a.Nh, a.V); b.k(a, "flippedX", a.$K, a.GM); b.k(a, "flippedY", a.aL, a.HM); b.k(a, "offsetX", a.iG); b.k(a, "offsetY", a.jG); b.k(a, "texture", a.La, a.Wa); b.k(a, "textureRectRotated", a.eL); b.k(a, "batchNode", a.QJ, a.cv); b.k(a, "quad", a.vK) }; b.tj = function(a, c, d, e) { e = e || b.rb("canvas"); d = d || E(0, 0, a.width, a.height); var f = e.getContext("2d"); e.width != d.width || e.height != d.height ? (e.width = d.width, e.height = d.height) : f.globalCompositeOperation = "source-over"; f.fillStyle = "rgb(" + c.r + "," + c.g + "," + c.b + ")"; f.fillRect(0, 0, d.width, d.height); f.globalCompositeOperation = "multiply"; f.drawImage(a, d.x, d.y, d.width, d.height, 0, 0, d.width, d.height); f.globalCompositeOperation = "destination-atop"; f.drawImage(a, d.x, d.y, d.width, d.height, 0, 0, d.width, d.height); return e }; b.sj = function(a, c, d, e, f) { e || (e = E(0, 0, a.width, a.height)); a = d.r / 255; var g = d.g / 255; d = d.b / 255; var h = Math.min(e.width, c[0].width), k = Math.min(e.height, c[0].height), m; f ? (m = f.getContext("2d"), m.clearRect(0, 0, h, k)) : (f = b.rb("canvas"), f.width = h, f.height = k, m = f.getContext("2d")); m.save(); m.globalCompositeOperation = "lighter"; var n = m.globalAlpha; 0 < a && (m.globalAlpha = a * n, m.drawImage(c[0], e.x, e.y, h, k, 0, 0, h, k)); 0 < g && (m.globalAlpha = g * n, m.drawImage(c[1], e.x, e.y, h, k, 0, 0, h, k)); 0 < d && (m.globalAlpha = d * n, m.drawImage(c[2], e.x, e.y, h, k, 0, 0, h, k)); 1 > a + g + d && (m.globalAlpha = n, m.drawImage(c[3], e.x, e.y, h, k, 0, 0, h, k)); m.restore(); return f }; b.rj = function(a) { function c() { var c = b.rj, e = a.width, h = a.height; d[0].width = e; d[0].height = h; d[1].width = e; d[1].height = h; d[2].width = e; d[2].height = h; d[3].width = e; d[3].height = h; c.canvas.width = e; c.canvas.height = h; var k = c.canvas.getContext("2d"); k.drawImage(a, 0, 0); c.mv.width = e; c.mv.height = h; for (var k = k.getImageData(0, 0, e, h).data, m = 0; 4 > m; m++) { var n = d[m].getContext("2d"); n.getImageData(0, 0, e, h).data; c.qB.drawImage(a, 0, 0); for (var r = c.qB.getImageData(0, 0, e, h), s = r.data, u = 0; u < k.length; u += 4) s[u] = 0 === m ? k[u] : 0, s[u + 1] = 1 === m ? k[u + 1] : 0, s[u + 2] = 2 === m ? k[u + 2] : 0, s[u + 3] = k[u + 3]; n.putImageData(r, 0, 0) } a.onload = null } if (a.nz) return a.nz; var d = [b.rb("canvas"), b.rb("canvas"), b.rb("canvas"), b.rb("canvas")]; try { c() } catch(e) { a.onload = c } return a.nz = d }; b.rj.canvas = b.rb("canvas"); b.rj.mv = b.rb("canvas"); b.rj.qB = b.rj.mv.getContext("2d"); b.fu = function(a, c) { if (!a) return null; if (!c) return a; var d = b.rb("canvas"); d.width = c.width; d.height = c.height; var e = d.getContext("2d"); e.translate(d.width / 2, d.height / 2); e.rotate( - 1.5707963267948966); e.drawImage(a, c.x, c.y, c.height, c.width, -c.height / 2, -c.width / 2, c.height, c.width); return d }; b.B = b.m.extend({ dirty: !1, atlasIndex: 0, textureAtlas: null, ca: null, ge: null, Je: null, xg: !1, xh: null, t: null, ea: null, F: null, nb: !1, Oa: null, le: null, Da: !1, gb: !1, hb: !1, T: !1, qa: null, lo: null, Mc: "Sprite", Tx: b.color.WHITE, nv: function() { return this.T }, Vc: function(a, c) { this.qa || (this.qa = []); this.qa.push({ ne: a, td: c }) }, Ub: function() { if (this.qa) { for (var a = this.qa, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } }, iA: function() { return this.dirty }, XA: function(a) { this.dirty = a }, eL: function() { return this.nb }, HT: function() { return this.atlasIndex }, WX: function(a) { this.atlasIndex = a }, Pz: function() { return E(this.F.x, this.F.y, this.F.width, this.F.height) }, Oz: function() { return this.textureAtlas }, hB: function(a) { this.textureAtlas = a }, qK: function() { return C(this.Oa) }, iG: function() { return this.Oa.x }, jG: function() { return this.Oa.y }, Ml: function() { return this.t }, $e: function(a) { b.assert(a, b.c.XD); a.T || (this.T = !1, a.Vc(this.ot, this)); var c = b.da === b.Ya ? !1 : a.qc, c = this.ia(a.La(), a.pe(), c); this.Pg(a); return c }, ot: null, pV: function(a) { b.assert(a, b.c.YD); var c = b.ue.Ye(a); b.assert(c, a + b.c.ZD); return this.$e(c) }, zZ: function(a) { this.textureAtlas = a.textureAtlas; this.ca = a }, iv: function(a) { this.F.x = a.x; this.F.y = a.y; this.F.width = a.width; this.F.height = a.height }, vc: function() { if (this.bc) { var a = this.s, c = a.length, d, e, f; for (d = 1; d < c; d++) { f = a[d]; for (e = d - 1; 0 <= e;) { if (f.Ia < a[e].Ia) a[e + 1] = a[e]; else if (f.Ia === a[e].Ia && f.arrivalOrder < a[e].arrivalOrder) a[e + 1] = a[e]; else break; e-- } a[e + 1] = f } this.ca && this.Gd(a, b.m.bd.vc); this.bc = !1 } }, im: function(a, c) { b.assert(a, b.c.dE); - 1 === this.s.indexOf(a) ? b.log(b.c.cE) : c !== a.zIndex && (this.ca && !this.bc && (this.ft(), this.ca.FA(!0)), b.m.prototype.im.call(this, a, c)) }, removeChild: function(a, c) { this.ca && this.ca.Xh(a); b.m.prototype.removeChild.call(this, a, c) }, te: function(a) { b.m.prototype.te.call(this, a); this.dv(!0) }, df: function(a) { var c = this.s, d = this.ca; if (d && null != c) for (var e = 0, f = c.length; e < f; e++) d.Xh(c[e]); b.m.prototype.df.call(this, a); this.Je = !1 }, dv: function(a) { this.dirty = this.ge = a; a = this.s; for (var c, d = a ? a.length: 0, e = 0; e < d; e++) c = a[e], c instanceof b.B && c.dv(!0) }, W: function(a) { b.m.prototype.W.call(this); a || !this.ca || this.ge || (this.Je ? this.dv(!0) : this.dirty = this.ge = !0) }, Gu: function(a) { this.ca ? b.log(b.c.VD) : b.m.prototype.Gu.call(this, a) }, GM: function(a) { this.gb != a && (this.gb = a, this.Ha(this.F, this.nb, this.v), this.W(!0)) }, HM: function(a) { this.hb != a && (this.hb = a, this.Ha(this.F, this.nb, this.v), this.W(!0)) }, $K: function() { return this.gb }, aL: function() { return this.hb }, Ng: null, Dj: function() { return this.Da }, kb: null, iY: function(a, c) { b.assert(a, b.c.hE); var d = b.Fh.np(a); d ? (d = d.$b[c]) ? this.Pg(d.Ye()) : b.log(b.c.gE) : b.log(b.c.fE) }, QJ: function() { return this.ca }, ft: function() { if (!this.bc) { this.bc = !0; for (var a = this.Db; a && a != this.ca;) a.ft(), a = a.parent } }, La: function() { return this.ea }, Pa: null, wo: null, Dc: !1, yn: !1, cl: !1, mb: null, ij: null, Fw: null, ctor: null, Jy: function(a, c, d) { if (void 0 === a) b.B.prototype.ga.call(this); else if ("string" === typeof a)"#" === a[0] ? (a = b.ue.Ye(a.substr(1, a.length - 1)), this.$e(a)) : b.B.prototype.ga.call(this, a, c); else if ("object" === typeof a) if (a instanceof b.K) this.ia(a, c, d); else if (a instanceof b.zc) this.$e(a); else if (a instanceof HTMLImageElement || a instanceof HTMLCanvasElement) c = new b.K, c.Mb(a), c.Fa(), this.ia(c) }, vK: function() { return this.Pa }, $h: null, ga: null, Tl: function(a, c) { b.assert(a, b.c.WD); var d = b.va.lm(a); if (d) { if (!c) { var e = d.ud(); c = E(0, 0, e.width, e.height) } return this.ia(d, c) } d = b.va.cc(a); return this.ia(d, c || E(0, 0, d.v.width, d.v.height)) }, ia: null, Oo: null, Ha: null, $c: null, N: null, om: function() { var a = this.Q, c = this.sa, a = { r: a.r, g: a.g, b: a.b, a: c }; this.Da && (a.r *= c / 255, a.g *= c / 255, a.b *= c / 255); c = this.Pa; c.wa.j = a; c.xa.j = a; c.ya.j = a; c.za.j = a; this.ca && (this.atlasIndex != b.B.sq ? this.textureAtlas.Up(c, this.atlasIndex) : this.dirty = !0); this.Dc = !0 }, Ga: null, V: null, sb: null, Pg: null, hY: function(a) { b.log(b.c.eE); this.Pg(a) }, jA: null, cJ: function() { return b.zc.create(this.ea, b.gm(this.F), this.nb, b.PL(this.le), b.rN(this.v)) }, cv: null, Wa: null, yh: function() { this.ca ? b.log(b.c.OD) : this.ea && this.ea.Aj() ? (this.t.src = b.kc, this.t.Y = b.jc, this.opacityModifyRGB = !0) : (this.t.src = b.SRC_ALPHA, this.t.Y = b.ONE_MINUS_SRC_ALPHA, this.opacityModifyRGB = !1) }, fd: function() { var a, c = this.ea, d = this.ij; c && d.Xj && this.mb && (a = c.la) && (this.yn = !0, a instanceof HTMLCanvasElement && !this.nb && !this.lo ? b.tj(this.mb.la, this.Q, d, a) : (a = b.tj(this.mb.la, this.Q, d), c = new b.K, c.Mb(a), c.Fa(), this.texture = c)) }, Dy: function(a) { a = b.gm(a); var c = this.ca ? this.textureAtlas.texture: this.ea; if (c) { var d = c.pixelsWidth, e = c.pixelsHeight, f, g = this.Pa; this.nb ? (b.vk ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.gb && (e = f, f = a, a = e), this.hb && (e = c, c = d, d = e), g.wa.f.R = c, g.wa.f.S = f, g.xa.f.R = c, g.xa.f.S = a, g.ya.f.R = d, g.ya.f.S = f, g.za.f.R = d, g.za.f.S = a) : (b.vk ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.gb && (e = c, c = d, d = e), this.hb && (e = f, f = a, a = e), g.wa.f.R = c, g.wa.f.S = a, g.xa.f.R = d, g.xa.f.S = a, g.ya.f.R = c, g.ya.f.S = f, g.za.f.R = d, g.za.f.S = f); this.Dc = !0 } }, na: null }); b.B.create = function(a, c, d) { return new b.B(a, c, d) }; b.B.eu = b.B.create; b.B.qS = b.B.create; b.B.pS = b.B.create; b.B.sq = -1; b.da === b.Ya ? (p = b.B.prototype, p.ot = function(a) { this.W(!0); this.Ha(a.pe(), a.qc, a.xj()); a = this.color; 255 === a.r && 255 === a.g && 255 === a.b || this.fd(); this.Ub() }, p.Ng = function(a) { this.Da !== a && (this.Da = a, this.W(!0)) }, p.kb = function(a) { b.m.prototype.kb.call(this, a); this.aj() }, p.ctor = function(a, c, d) { b.m.prototype.ctor.call(this); this.xg = !1; this.Oa = C(0, 0); this.le = C(0, 0); this.t = { src: b.kc, Y: b.jc }; this.F = E(0, 0, 0, 0); this.lo = !1; this.T = !0; this.ij = { x: 0, y: 0, width: 0, height: 0, Xj: !1 }; this.Fw = D(0, 0); this.Jy(a, c, d) }, p.$h = function(a, c) { var d = this.t; void 0 === c ? (d.src = a.src, d.Y = a.Y) : (d.src = a, d.Y = c); this.cl = d && (d.src == b.SRC_ALPHA && d.Y == b.ONE || d.src == b.ONE && d.Y == b.ONE) }, p.ga = function() { if (0 < arguments.length) return this.Tl(arguments[0], arguments[1]); b.m.prototype.ga.call(this); this.dirty = this.ge = !1; this.Da = !0; this.t.src = b.kc; this.t.Y = b.jc; this.texture = null; this.T = !0; this.gb = this.hb = !1; this.anchorY = this.anchorX = 0.5; this.Oa.x = 0; this.Oa.y = 0; this.Je = !1; this.Ha(E(0, 0, 0, 0), !1, D(0, 0)); return ! 0 }, p.ia = function(a, c, d) { b.assert(0 != arguments.length, b.c.TB); if ((d = d || !1) && a.xb) { var e = a.la, e = b.fu(e, c), f = new b.K; f.Mb(e); f.Fa(); a = f; this.F = E(0, 0, c.width, c.height) } if (!b.m.prototype.ga.call(this)) return ! 1; this.ca = null; this.dirty = this.ge = !1; this.Da = !0; this.t.src = b.kc; this.t.Y = b.jc; this.gb = this.hb = !1; this.anchorY = this.anchorX = 0.5; this.Oa.x = 0; this.Oa.y = 0; this.Je = !1; this.T = e = a.xb; if (!e) return this.nb = d, c && (this.F.x = c.x, this.F.y = c.y, this.F.width = c.width, this.F.height = c.height), a.Vc(this.Oo, this), !0; c || (c = E(0, 0, a.width, a.height)); a && a.url && (e = c.y + c.height, c.x + c.width > a.width && b.error(b.c.Pq, a.url), e > a.height && b.error(b.c.Oq, a.url)); this.texture = this.mb = a; this.Ha(c, d); this.batchNode = null; return ! 0 }, p.Oo = function(a) { if (!this.T) { this.T = !0; var c = this.F; c ? b.Ns(c) && (c.width = a.width, c.height = a.height) : c = E(0, 0, a.width, a.height); this.texture = this.mb = a; this.Ha(c, this.nb); a = this.Q; 255 == a.r && 255 == a.g && 255 == a.b || this.fd(); this.batchNode = this.ca; this.Ub() } }, p.Ha = function(a, c, d) { this.nb = c || !1; this.wd(d || a); this.iv(a); c = this.ij; d = b.Ka(); c.x = 0 | a.x * d; c.y = 0 | a.y * d; c.width = 0 | a.width * d; c.height = 0 | a.height * d; c.Xj = !(0 === c.width || 0 === c.height || 0 > c.x || 0 > c.y); a = this.le; this.gb && (a.x = -a.x); this.hb && (a.y = -a.y); this.Oa.x = a.x + (this.v.width - this.F.width) / 2; this.Oa.y = a.y + (this.v.height - this.F.height) / 2; this.ca && (this.dirty = !0) }, p.$c = function() { if (this.dirty) { var a = this.Db; ! this.Gc || a && a != this.ca && a.xg ? this.xg = !0 : (this.xg = !1, this.xh = a && a != this.ca ? b.Eh(this.Yl(), a.xh) : this.Yl()); this.dirty = this.ge = !1 } this.Je && this.Gd(this.s, b.m.bd.$c) }, p.N = function(a, c, d) { b.assert(a, b.c.RB); null == c && (c = a.Ia); null == d && (d = a.tag); b.m.prototype.N.call(this, a, c, d); this.Je = !0 }, p.Ga = function(a) { b.m.prototype.Ga.call(this, a); this.aj() }, p.V = function(a) { var c = this.color; this.Tx = c; c.r === a.r && c.g === a.g && c.b === a.b || b.m.prototype.V.call(this, a) }, p.sb = function(a) { b.m.prototype.sb.call(this, a); a = this.Tx; var c = this.Q; if (a.r !== c.r || a.g !== c.g || a.b !== c.b) this.fd(), this.aj() }, p.Pg = function(a) { var c = this; "string" == typeof a && (a = b.ue.Ye(a), b.assert(a, b.c.WB)); c.W(!0); var d = a.wu(); c.le.x = d.x; c.le.y = d.y; c.nb = a.qc; var d = a.La(), e = a.T; e || (c.T = !1, a.Vc(function(a) { c.T = !0; var d = a.La(); d != c.ea && (c.texture = d); c.Ha(a.pe(), a.qc, a.xj()); c.Ub() }, c)); d != c.ea && (c.texture = d); c.nb && (c.mb = d); c.Ha(a.pe(), c.nb, a.xj()); c.yn = !1; e && (a = c.color, 255 === a.r && 255 === a.g && 255 === a.b || c.fd()) }, p.jA = function(a) { return a.La() != this.ea ? !1 : b.AA(a.pe(), this.F) }, p.cv = function(a) { (this.ca = a) ? (this.xh = { a: 1, b: 0, J: 0, P: 1, Z: 0, $: 0 }, this.textureAtlas = this.ca.textureAtlas) : (this.atlasIndex = b.B.sq, this.textureAtlas = null, this.dirty = this.ge = !1) }, p.Wa = function(a) { a && "string" === typeof a ? (a = b.va.cc(a), this.Wa(a), a = a.ud(), this.Ha(E(0, 0, a.width, a.height))) : (b.assert(!a || a instanceof b.K, b.c.XB), this.ea != a && (a && a.la instanceof HTMLImageElement && (this.mb = a), this.ea = a)) }, p.na = function(a) { if (this.T) { a = a || b.l; this.cl && (a.globalCompositeOperation = "lighter"); var c = b.view.O, d = b.view.ma; a.globalAlpha = this.sa / 255; var e = this.F, f = this.v, g = this.Oa, h = this.Fw, k = 0 | g.x, m = -g.y - e.height, n = this.ij; h.width = e.width * c; h.height = e.height * d; if (this.gb || this.hb) a.save(), this.gb && (k = -g.x - e.width, a.scale( - 1, 1)), this.hb && (m = g.y, a.scale(1, -1)); k *= c; m *= d; this.ea && n.Xj ? (f = this.ea.la, this.yn ? a.drawImage(f, 0, 0, n.width, n.height, k, m, h.width, h.height) : a.drawImage(f, n.x, n.y, n.width, n.height, k, m, h.width, h.height)) : !this.ea && n.Xj && (h = this.color, a.fillStyle = "rgba(" + h.r + "," + h.g + "," + h.b + ",1)", a.fillRect(k, m, f.width * c, f.height * d)); 1 === b.Uf || this.jt ? (a.strokeStyle = "rgba(0,255,0,1)", k /= c, m = -(m / d), b.Hd.gc([C(k, m), C(k + e.width, m), C(k + e.width, m - e.height), C(k, m - e.height)], 4, !0)) : 2 === b.Uf && (a.strokeStyle = "rgba(0,255,0,1)", c = this.F, m = -m, b.Hd.gc([C(k, m), C(k + c.width, m), C(k + c.width, m - c.height), C(k, m - c.height)], 4, !0)); (this.gb || this.hb) && a.restore(); b.We++ } }, b.Aa.wt || (p.fd = function() { var a, c = this.ea, d = this.ij; c && d.Xj && this.mb && (a = c.la) && (c = b.va.zu(this.mb.la)) && (this.yn = !0, a instanceof HTMLCanvasElement && !this.nb && !this.lo ? b.sj(a, c, this.Q, d, a) : (a = b.sj(a, c, this.Q, d), c = new b.K, c.Mb(a), c.Fa(), this.texture = c)) }), delete p) : (b.assert("function" === typeof b.p.kr, b.c.Gb, "SpritesWebGL.js"), b.p.kr(), delete b.p.kr); b.assert("function" === typeof b.p.Kq, b.c.Gb, "SpritesPropertyDefine.js"); b.p.Kq(); delete b.p.Kq; b.iq = 29; b.Vf = b.m.extend({ textureAtlas: null, t: null, Xb: null, Mc: "SpriteBatchNode", IR: function(a, c, d) { b.assert(a, b.c.ID); if (! (a instanceof b.B)) return b.log(b.c.HD), null; a.atlasIndex = c; var e = 0, f = this.Xb; if (f && 0 < f.length) for (var g = 0; g < f.length; g++) { var h = f[g]; h && h.atlasIndex >= c && ++e } f.splice(e, 0, a); b.m.prototype.N.call(this, a, c, d); this.FA(!1); return this }, Oz: function() { return this.textureAtlas }, hB: function(a) { a != this.textureAtlas && (this.textureAtlas = a) }, XJ: function() { return this.Xb }, Tl: function(a, c) { var d = b.va.lm(a); d || (d = b.va.cc(a)); return this.ia(d, c) }, aj: function() { this.Ce = !0 }, ga: function(a, c) { var d = b.va.lm(a); d || (d = b.va.cc(a)); return this.ia(d, c) }, tp: function() { var a = this.textureAtlas.capacity, c = Math.floor(4 * (a + 1) / 3); b.log(b.c.JD, a, c); this.textureAtlas.JA(c) || b.log(b.c.KD) }, wX: function(a, c) { this.removeChild(this.s[a], c) }, yA: function(a, c) { var d = a.children; if (d && 0 < d.length) for (var e = 0; e < d.length; e++) { var f = d[e]; f && 0 > f.zIndex && (c = this.yA(f, c)) } ! a == this && (a.atlasIndex = c, c++); if (d && 0 < d.length) for (e = 0; e < d.length; e++)(f = d[e]) && 0 <= f.zIndex && (c = this.yA(f, c)); return c }, Fu: function(a) { var c = a.children; return c && 0 != c.length ? this.Fu(c[c.length - 1]) : a.atlasIndex }, vL: function(a) { var c = a.children; return c && 0 != c.length ? this.vL(c[c.length - 1]) : a.atlasIndex }, BI: function(a, c) { var d = a.parent, e = d.children, f = e.indexOf(a), g = null; 0 < f && f < b.RE && (g = e[f - 1]); return d == this ? 0 == f ? 0 : this.Fu(g) + 1 : 0 == f ? 0 > c ? d.atlasIndex: d.atlasIndex + 1 : 0 > g.zIndex && 0 > c || 0 <= g.zIndex && 0 <= c ? this.Fu(g) + 1 : d.atlasIndex + 1 }, FA: function(a) { this.bc = a }, $h: function(a, c) { this.t = void 0 === c ? a: { src: a, Y: c } }, Ml: function() { return this.t }, im: function(a, c) { b.assert(a, b.c.ND); - 1 === this.s.indexOf(a) ? b.log(b.c.MD) : c !== a.zIndex && (b.m.prototype.im.call(this, a, c), this.W()) }, removeChild: function(a, c) { null != a && ( - 1 === this.s.indexOf(a) ? b.log(b.c.LD) : (this.Xh(a), b.m.prototype.removeChild.call(this, a, c))) }, UG: null, vh: null, xR: !1, mb: null, ctor: null, zF: function(a, c) { b.m.prototype.ctor.call(this); var d; c = c || b.iq; "string" == typeof a ? (d = b.va.lm(a)) || (d = b.va.cc(a)) : a instanceof b.K && (d = a); d && this.ia(d, c) }, AF: function(a, c) { b.m.prototype.ctor.call(this); this.UG = new b.re; var d; c = c || b.iq; "string" == typeof a ? (d = b.va.lm(a)) || (d = b.va.cc(a)) : a instanceof b.K && (d = a); d && this.ia(d, c) }, CB: null, cI: function(a, c) { b.assert(a, b.c.YB); a instanceof b.B ? (a.batchNode = this, a.atlasIndex = c, a.dirty = !0, a.$c()) : b.log(b.c.eq) }, dI: function(a, c) { b.assert(a, b.c.eq); if (a instanceof b.B) { for (var d = this.textureAtlas.capacity; c >= d || d == this.textureAtlas.totalQuads;) this.tp(); a.batchNode = this; a.atlasIndex = c; a.dirty = !0; a.$c() } else b.log(b.c.eq) }, Mo: function(a, c) { var d = this.Xb, e = this.textureAtlas, f = e.quads, g = d[a], h = b.ew(f[a]); d[c].atlasIndex = a; d[a] = d[c]; e.Up(f[c], a); d[c] = g; e.Up(h, c) }, eA: null, EG: function(a, c) { b.assert(a, b.c.VB); a instanceof b.B ? (a.batchNode = this, a.atlasIndex = c, a.dirty = !0, a.$c(), this.s.splice(c, 0, a)) : b.log(b.c.UB) }, FG: function(a, c) { b.assert(a, b.c.bE); if (a instanceof b.B) { for (var d = this.textureAtlas; c >= d.capacity || d.capacity === d.totalQuads;) this.tp(); a.batchNode = this; a.atlasIndex = c; d.Iu(a.quad, c); a.dirty = !0; a.$c() } else b.log(b.c.aE) }, Vy: function(a, c) { var d = 0, e = a.children; e && (d = e.length); var f = 0; if (0 === d) f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Mo(f, c), c++; else { f = !0; 0 <= e[0].zIndex && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Mo(f, c), c++, f = !1); for (d = 0; d < e.length; d++) { var g = e[d]; f && 0 <= g.zIndex && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Mo(f, c), c++, f = !1); c = this.Vy(g, c) } f && (f = a.atlasIndex, a.atlasIndex = c, a.arrivalOrder = 0, f != c && this.Mo(f, c), c++) } return c }, yh: function() { this.textureAtlas.texture.Aj() || (this.t.src = b.SRC_ALPHA, this.t.Y = b.ONE_MINUS_SRC_ALPHA) }, ia: null, hs: function(a) { this.s = []; this.Xb = []; this.t = new b.cb(b.kc, b.jc); this.vh = this.mb = a; return ! 0 }, is: function(a, c) { this.s = []; this.Xb = []; this.t = new b.cb(b.kc, b.jc); c = c || b.iq; this.textureAtlas = new b.mf; this.textureAtlas.ia(a, c); this.yh(); this.shaderProgram = b.ff.Of(b.Wq); return ! 0 }, YK: function(a, c) { a.batchNode = this; a.atlasIndex = c; a.dirty = !0; var d = this.textureAtlas; d.totalQuads >= d.capacity && this.tp(); d.Iu(a.quad, c); this.Xb.splice(c, 0, a); var d = c + 1, e = this.Xb; if (e && 0 < e.length) for (; d < e.length; d++) e[d].atlasIndex++; var e = a.children, f; if (e) for (d = 0, l = e.length || 0; d < l; d++)(f = e[d]) && this.YK(f, this.BI(f, f.zIndex)) }, appendChild: null, lF: function(a) { this.bc = !0; a.batchNode = this; a.dirty = !0; this.Xb.push(a); a.atlasIndex = this.Xb.length - 1; a = a.children; for (var c = 0, d = a.length || 0; c < d; c++) this.appendChild(a[c]) }, mF: function(a) { this.bc = !0; a.batchNode = this; a.dirty = !0; this.Xb.push(a); var c = this.Xb.length - 1; a.atlasIndex = c; var d = this.textureAtlas; d.totalQuads == d.capacity && this.tp(); d.Iu(a.quad, c); a = a.children; c = 0; for (d = a.length || 0; c < d; c++) this.appendChild(a[c]) }, Xh: null, nH: function(a) { a.batchNode = null; var c = this.Xb, d = c.indexOf(a); if ( - 1 != d) { c.splice(d, 1); for (var e = c.length; d < e; ++d) c[d].atlasIndex-- } if (a = a.children) for (c = 0, d = a.length || 0; c < d; c++) a[c] && this.Xh(a[c]) }, oH: function(a) { this.textureAtlas.dM(a.atlasIndex); a.batchNode = null; var c = this.Xb, d = c.indexOf(a); if ( - 1 != d) { c.splice(d, 1); for (var e = c.length; d < e; ++d) c[d].atlasIndex-- } if (a = a.children) for (c = 0, d = a.length || 0; c < d; c++) a[c] && this.Xh(a[c]) }, La: null, cs: function() { return this.vh }, ds: function() { return this.textureAtlas.texture }, Wa: null, gt: function(a) { this.vh = a; for (var c = this.s, d = 0; d < c.length; d++) c[d].texture = a }, ht: function(a) { this.textureAtlas.texture = a; this.yh() }, Ba: null, eI: function(a) { var c = a || b.l; if (this.Gc) { c.save(); this.transform(a); var d = this.s; if (d) for (this.vc(), a = 0; a < d.length; a++) d[a] && d[a].Ba(c); c.restore() } }, fI: function(a) { a = a || b.l; if (this.Gc) { b.oL(); var c = this.zj; c && c.fA() && (c.HI(), this.vB()); this.vc(); this.transform(a); this.na(a); c && c.fA() && c.nI(this); b.nL(); this.arrivalOrder = 0 } }, N: null, rr: function(a, c, d) { b.assert(null != a, b.c.SB); a instanceof b.B ? (c = null == c ? a.zIndex: c, d = null == d ? a.tag: d, b.m.prototype.N.call(this, a, c, d), this.appendChild(a), this.W()) : b.log(b.c.QB) }, hF: function(a, c, d) { b.assert(null != a, b.c.UD); a instanceof b.B ? a.texture != this.textureAtlas.texture ? b.log(b.c.TD) : (c = null == c ? a.zIndex: c, d = null == d ? a.tag: d, b.m.prototype.N.call(this, a, c, d), this.appendChild(a), this.W()) : b.log(b.c.SD) }, df: null, lH: function(a) { var c = this.Xb; if (c && 0 < c.length) for (var d = 0, e = c.length; d < e; d++) c[d] && (c[d].batchNode = null); b.m.prototype.df.call(this, a); this.Xb.length = 0 }, mH: function(a) { var c = this.Xb; if (c && 0 < c.length) for (var d = 0, e = c.length; d < e; d++) c[d] && (c[d].batchNode = null); b.m.prototype.df.call(this, a); this.Xb.length = 0; this.textureAtlas.$L() }, vc: null, OH: function() { if (this.bc) { var a, c = 0, d = this.s, e = d.length, f; for (a = 1; a < e; a++) { var g = d[a], c = a - 1; for (f = d[c]; 0 <= c && (g.Ia < f.Ia || g.Ia == f.Ia && g.arrivalOrder < f.arrivalOrder);) d[c + 1] = f, c -= 1, f = d[c]; d[c + 1] = g } 0 < d.length && this.Gd(d, b.m.bd.vc); this.bc = !1 } }, PH: function() { if (this.bc) { var a = this.s, c, d = 0, e = a.length, f; for (c = 1; c < e; c++) { var g = a[c], d = c - 1; for (f = a[d]; 0 <= d && (g.Ia < f.Ia || g.Ia == f.Ia && g.arrivalOrder < f.arrivalOrder);) a[d + 1] = f, d -= 1, f = a[d]; a[d + 1] = g } if (0 < a.length) for (this.Gd(a, b.m.bd.vc), c = d = 0; c < a.length; c++) d = this.Vy(a[c], d); this.bc = !1 } }, na: null, Lr: function() { 0 !== this.textureAtlas.totalQuads && (this.Jb.wc(), this.Jb.xd(), this.Gd(this.s, b.m.bd.$c), b.Ph(this.t.src, this.t.Y), this.textureAtlas.jJ()) } }); p = b.Vf.prototype; b.da === b.wb ? (p.ctor = p.AF, p.CB = p.dI, p.eA = p.FG, p.ia = p.is, p.appendChild = p.mF, p.Xh = p.oH, p.La = p.ds, p.Wa = p.ht, p.Ba = p.fI, p.N = p.hF, p.df = p.mH, p.vc = p.PH, p.na = p.Lr) : (p.ctor = p.zF, p.CB = p.cI, p.eA = p.EG, p.ia = p.hs, p.appendChild = p.lF, p.Xh = p.nH, p.La = p.cs, p.Wa = p.gt, p.Ba = p.eI, p.df = p.lH, p.N = p.rr, p.vc = p.OH, p.na = b.m.prototype.na); b.k(p, "texture", p.La, p.Wa); b.k(p, "descendants", p.XJ); b.Vf.create = function(a, c) { return new b.Vf(a, c) }; b.Vf.eu = b.Vf.create; b.PB = b.B.extend({ zr: null, vn: null, ctor: function() { b.B.prototype.ctor.call(this); var a = document.createElement("canvas"); a.width = a.height = 10; this.zr = a; this.vn = a.getContext("2d"); var c = new b.K; c.Mb(a); c.Fa(); this.Wa(c) }, MT: function() { return this.vn }, LT: function() { return this.zr }, IA: function(a, c) { void 0 === c && (c = a.height, a = a.width); var d = this.zr; d.width = a; d.height = c; this.La().Fa(); this.Ha(E(0, 0, a, c), !1) } }); b.Ad = b.oa.extend({ cj: null, Wb: 0, oj: null, ctor: function(a, c, d) { this.cj = a || null; this.Wb = c || 0; this.oj = d || null }, d: function() { var a = new b.Ad; a.$e(this.cj.d(), this.Wb, this.oj); return a }, ep: function() { return b.d(this) }, copy: function() { var a = new b.Ad; a.$e(this.cj.d(), this.Wb, this.oj); return a }, $e: function(a, c, d) { this.cj = a; this.Wb = c; this.oj = d; return ! 0 }, Ye: function() { return this.cj }, Pg: function(a) { this.cj = a }, UT: function() { return this.Wb }, eY: function(a) { this.Wb = a }, bV: function() { return this.oj }, XY: function(a) { this.oj = a } }); b.Ad.create = function(a, c, d) { return new b.Ad(a, c, d) }; b.we = b.oa.extend({ $b: null, sf: 0, nh: !1, u: 0, Wb: 0, Ue: 0, ctor: function(a, c, d) { this.$b = []; if (void 0 === a) this.cA(null, 0); else { var e = a[0]; e && (e instanceof b.zc ? this.cA(a, c, d) : e instanceof b.Ad && this.up(a, c, d)) } }, jU: function() { return this.$b }, rY: function(a) { this.$b = a }, Ut: function(a) { var c = new b.Ad; c.$e(a, 1, null); this.$b.push(c); this.Ue++ }, GR: function(a) { a = b.va.cc(a); var c = E(0, 0, 0, 0); c.width = a.width; c.height = a.height; a = b.zc.create(a, c); this.Ut(a) }, HR: function(a, c) { var d = b.zc.create(a, c); this.Ut(d) }, up: function(a, c, d) { b.qj(a, b.Ad); this.Wb = c; this.sf = void 0 === d ? 1 : d; this.Ue = 0; c = this.$b; for (d = c.length = 0; d < a.length; d++) { var e = a[d]; c.push(e); this.Ue += e.Wb } return ! 0 }, d: function() { var a = new b.we; a.up(this.ww(), this.Wb, this.sf); a.Pp(this.nh); return a }, ep: function() { var a = new b.we; a.up(this.ww(), this.Wb, this.sf); a.Pp(this.nh); return a }, ww: function() { for (var a = [], c = 0; c < this.$b.length; c++) a.push(this.$b[c].d()); return a }, copy: function() { return this.ep(null) }, qU: function() { return this.sf }, wY: function(a) { this.sf = a }, Pp: function(a) { this.nh = a }, LU: function() { return this.nh }, tu: function() { return this.Ue * this.Wb }, TT: function() { return this.Wb }, dY: function(a) { this.Wb = a }, YU: function() { return this.Ue }, cA: function(a, c, d) { b.qj(a, b.zc); this.sf = void 0 === d ? 1 : d; this.Wb = c || 0; this.Ue = 0; c = this.$b; c.length = 0; if (a) { for (d = 0; d < a.length; d++) { var e = a[d], f = new b.Ad; f.$e(e, 1, null); c.push(f) } this.Ue += a.length } return ! 0 }, Zu: function() {}, Pf: function() {} }); b.we.create = function(a, c, d) { return new b.we(a, c, d) }; b.we.nS = b.we.create; b.Fh = { ni: {}, St: function(a, c) { this.ni[c] = a }, vX: function(a) { a && this.ni[a] && delete this.ni[a] }, np: function(a) { return this.ni[a] ? this.ni[a] : null }, gF: function(a, c) { var d = a.animations; if (d) { var e = 1, f = a.properties; if (f) for (var e = null != f.format ? parseInt(f.format) : e, f = f.spritesheets, g = b.ue, h = b.path, k = 0; k < f.length; k++) g.Vt(h.$o(c, f[k])); switch (e) { case 1: this.eH(d); break; case 2: this.fH(d); break; default: b.log(b.c.sI) } } else b.log(b.c.rI) }, AR: function(a) { b.assert(a, b.c.AI); var c = b.D.Yc(a); c ? this.gF(c, a) : b.log(b.c.zI) }, eH: function(a) { var c = b.ue, d; for (d in a) { var e = a[d], f = e.frames, e = parseFloat(e.delay) || 0, g = null; if (f) { for (var g = [], h = 0; h < f.length; h++) { var k = c.Ye(f[h]); if (k) { var m = new b.Ad; m.$e(k, 1, null); g.push(m) } else b.log(b.c.uI, d, f[h]) } 0 === g.length ? b.log(b.c.vI, d) : (g.length != f.length && b.log(b.c.wI, d), g = b.we.create(g, e, 1), b.Fh.St(g, d)) } else b.log(b.c.tI, d) } }, fH: function(a) { var c = b.ue, d; for (d in a) { var e = a[d], f = parseInt(e.loops), f = e.loop ? b.Ak: isNaN(f) ? 1 : f, g = e.restoreOriginalFrame && !0 == e.restoreOriginalFrame ? !0 : !1, h = e.frames; if (h) { for (var k = [], m = 0; m < h.length; m++) { var n = h[m], r = n.spriteframe, s = c.Ye(r); if (s) { var r = parseFloat(n.delayUnits) || 0, n = n.notification, u = new b.Ad; u.$e(s, r, n); k.push(u) } else b.log(b.c.yI, d, r) } e = parseFloat(e.delayPerUnit) || 0; h = new b.we; h.up(k, e, f); h.Pp(g); b.Fh.St(h, d) } else b.log(b.c.xI, d) } }, fg: function() { this.ni = {} } }; b.zc = b.oa.extend({ Na: null, ug: null, Fc: null, qc: !1, F: null, Ld: null, nd: null, ea: null, hj: "", T: !1, On: null, ctor: function(a, c, d, e, f) { this.Na = C(0, 0); this.Ld = C(0, 0); this.ug = D(0, 0); this.qc = !1; this.nd = D(0, 0); this.hj = ""; this.ea = null; this.T = !1; void 0 !== a && void 0 !== c && (void 0 === d || void 0 === e || void 0 === f ? this.ia(a, c) : this.ia(a, c, d, e, f)) }, nv: function() { return this.T }, Vc: function(a, c) { null == this.On && (this.On = []); this.On.push({ ne: a, td: c }) }, Ub: function() { var a = this.On; if (a) { for (var c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } }, wK: function() { var a = this.Fc; return E(a.x, a.y, a.width, a.height) }, LY: function(a) { this.Fc || (this.Fc = E(0, 0, 0, 0)); this.Fc.x = a.x; this.Fc.y = a.y; this.Fc.width = a.width; this.Fc.height = a.height; this.F = b.Hp(a) }, FV: function() { return this.qc }, NY: function(a) { this.qc = a }, pe: function() { var a = this.F; return E(a.x, a.y, a.width, a.height) }, dB: function(a) { this.F || (this.F = E(0, 0, 0, 0)); this.F.x = a.x; this.F.y = a.y; this.F.width = a.width; this.F.height = a.height; this.Fc = b.gm(this.F) }, xU: function() { return C(this.Ld) }, CY: function(a) { this.Ld.x = a.x; this.Ld.y = a.y; b.Ds(this.Ld, this.Na) }, AU: function() { return D(this.nd) }, EY: function(a) { this.nd.width = a.width; this.nd.height = a.height }, xj: function() { return D(this.ug) }, DY: function(a) { this.ug.width = a.width; this.ug.height = a.height }, La: function() { if (this.ea) return this.ea; if ("" !== this.hj) { var a = b.va.cc(this.hj); a && (this.T = a.xb); return a } return null }, Wa: function(a) { if (this.ea != a) { var c = a.xb; this.T = c; this.ea = a; c || a.Vc(function(a) { this.T = !0; if (this.qc && b.da === b.Ya) { var c = a.la, c = b.fu(c, this.pe()), f = new b.K; f.Mb(c); f.Fa(); this.Wa(f); c = this.pe(); this.dB(E(0, 0, c.width, c.height)) } c = this.F; 0 === c.width && 0 === c.height && (c = a.width, a = a.height, this.F.width = c, this.F.height = a, this.Fc = b.gm(this.F), this.nd.width = this.Fc.width, this.nd.height = this.Fc.height, this.ug.width = c, this.ug.height = a); this.Ub() }, this) } }, wu: function() { return C(this.Na) }, BY: function(a) { this.Na.x = a.x; this.Na.y = a.y }, d: function() { var a = new b.zc; a.ia(this.hj, this.Fc, this.qc, this.Ld, this.nd); a.Wa(this.ea); return a }, ep: function() { var a = new b.zc; a.ia(this.hj, this.Fc, this.qc, this.Ld, this.nd); a.Wa(this.ea); return a }, copy: function() { return this.ep() }, ia: function(a, c, d, e, f) { 2 === arguments.length && (c = b.gm(c)); e = e || C(0, 0); f = f || c; d = d || !1; "string" == typeof a ? (this.ea = null, this.hj = a) : a instanceof b.K && this.Wa(a); if ((a = this.La()) && a.url) { var g, h; d ? (g = c.x + c.height, h = c.y + c.width) : (g = c.x + c.width, h = c.y + c.height); g > a.width && b.error(b.c.Pq, a.url); h > a.height && b.error(b.c.Oq, a.url) } this.Fc = c; this.F = b.Hp(c); this.Ld.x = e.x; this.Ld.y = e.y; b.Ds(e, this.Na); this.nd.width = f.width; this.nd.height = f.height; b.Iy(f, this.ug); this.qc = d; return ! 0 } }); b.zc.create = function(a, c, d, e, f) { return new b.zc(a, c, d, e, f) }; b.zc.eu = b.zc.create; b.zc.ZQ = function(a, c, d, e, f) { var g = new b.zc; g.ea = a; g.Fc = c; g.F = b.Hp(c); g.Ld.x = e.x; g.Ld.y = e.y; b.Ds(g.Ld, g.Na); g.nd.width = f.width; g.nd.height = f.height; b.Iy(g.nd, g.ug); g.qc = d; return g }; b.ue = { hw: /^\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*$/, WE: /^\s*\{\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*,\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*\}\s*$/, ke: {}, Df: {}, Ki: {}, iy: function(a) { return (a = this.WE.exec(a)) ? E(parseFloat(a[1]), parseFloat(a[2]), parseFloat(a[3]), parseFloat(a[4])) : E(0, 0, 0, 0) }, $x: function(a) { return (a = this.hw.exec(a)) ? C(parseFloat(a[1]), parseFloat(a[2])) : C(0, 0) }, kt: function(a) { return (a = this.hw.exec(a)) ? D(parseFloat(a[1]), parseFloat(a[2])) : D(0, 0) }, aG: function(a) { var c = b.D.Yc(a); b.assert(c, b.c.xN, a); b.D.Pf(a); if (c.Pi) return this.Ki[a] = c; var d = c.frames, e = c.metadata || c.meta, c = {}, f = {}, g = 0; e && (g = e.format, g = 1 >= g.length ? parseInt(g) : g, f.PK = e.textureFileName || e.textureFileName || e.image); for (var h in d) { var k = d[h]; if (k) { e = {}; if (0 == g) { e.rect = E(k.x, k.y, k.width, k.height); e.Kp = !1; e.offset = C(k.offsetX, k.offsetY); var m = k.originalWidth, k = k.originalHeight; m && k || b.log(b.c.wN); m = Math.abs(m); k = Math.abs(k); e.size = D(m, k) } else if (1 == g || 2 == g) e.rect = this.iy(k.frame), e.Kp = k.rotated || !1, e.offset = this.$x(k.offset), e.size = this.kt(k.sourceSize); else if (3 == g) { var m = this.kt(k.spriteSize), n = this.iy(k.textureRect); m && (n = E(n.x, n.y, m.width, m.height)); e.rect = n; e.Kp = k.textureRotated || !1; e.offset = this.$x(k.spriteOffset); e.size = this.kt(k.spriteSourceSize); e.oI = k.aliases } else m = k.frame, n = k.sourceSize, h = k.filename || h, e.rect = E(m.x, m.y, m.w, m.h), e.Kp = k.rotated || !1, e.offset = C(0, 0), e.size = D(n.w, n.h); c[h] = e } } return this.Ki[a] = { Pi: !0, frames: c, xL: f } }, Vt: function(a, c) { b.assert(a, b.c.zN); var d = this.Ki[a] || b.D.Yc(a); if (d && d.frames) { var e = this.Ki[a] || this.aG(a), d = e.frames, e = e.xL; c ? c instanceof b.K || ("string" == typeof c ? c = b.va.cc(c) : b.assert(0, b.c.AN)) : c = b.va.cc(b.path.$o(a, e.PK || ".png")); var e = this.Df, f = this.ke, g; for (g in d) { var h = d[g], k = f[g]; if (!k) { k = b.zc.create(c, h.rect, h.Kp, h.offset, h.size); if (h = h.oI) for (var m = 0, n = h.length; m < n; m++) { var r = h[m]; e[r] && b.log(b.c.yN, r); e[r] = g } b.da === b.Ya && k.qc && k.La().xb && (h = k.La().la, h = b.fu(h, k.wK()), m = new b.K, m.Mb(h), m.Fa(), k.Wa(m), h = k.F, k.dB(E(0, 0, h.width, h.height))); f[g] = k } } } }, RQ: function(a) { a = a.frames; for (var c in a) this.ke[c] && b.log(b.c.vN, c) }, Ut: function(a, c) { this.ke[c] = a }, EX: function() { this.ke = {}; this.Df = {} }, DX: function(a) { a && (this.Df[a] && delete this.Df[a], this.ke[a] && delete this.ke[a]) }, FX: function(a) { var c = this.ke, d = this.Df; if (a = this.Ki[a]) { a = a.frames; for (var e in a) if (c[e]) { delete c[e]; for (var f in d) d[f] == e && delete d[f] } } }, GX: function(a) { var c = this.ke, d = this.Df, e; for (e in c) { var f = c[e]; if (f && f.La() == a) { delete c[e]; for (var g in d) d[g] == e && delete d[g] } } }, Ye: function(a) { var c = this.ke[a]; if (!c) { var d = this.Df[a]; d && ((c = this.ke[d.toString()]) || delete this.Df[a]) } c || b.log(b.c.BN, a); return c }, fg: function() { this.ke = {}; this.Df = {}; this.Ki = {} } }; b.bu = { $O: 0, aQ: 1, INT: 2, VO: 3, vO: 4, il: 0, SG: 0, At: !1, zt: !1, xt: !1, yt: !1, Bt: !1, kR: 0, ss: 0, hn: "", Fl: {}, Pi: !1, $n: function() { var a = this.Fl; a["cocos2d.x.version"] = b.oq; a["cocos2d.x.compiled_with_profiler"] = !1; a["cocos2d.x.compiled_with_gl_state_cache"] = b.Dv; this.Pi = !0 }, sU: function() { return this.il }, rU: function() { return this.SG }, tU: function() { return this.ss }, kZ: function() { return this.zt }, lZ: function() { return this.At }, jZ: function() { return ! 1 }, mZ: function() { return ! 1 }, gZ: function() { return ! 1 }, hZ: function() { return this.xt }, iZ: function() { return this.yt }, nZ: function() { return this.Bt }, ap: function(a) { return - 1 < this.hn.indexOf(a) }, dV: function(a, c) { this.Pi || this.$n(); var d = this.Fl; return d[a] ? d[a] : c }, ZY: function(a, c) { this.Fl[a] = c }, mJ: function() { 0 === b.Dv && (b.log(""), b.log(b.c.TI), b.log("")) }, PJ: function() { if (b.da !== b.Ya) { this.Pi || this.$n(); var a = b.l, c = this.Fl; c["gl.vendor"] = a.getParameter(a.VENDOR); c["gl.renderer"] = a.getParameter(a.RENDERER); c["gl.version"] = a.getParameter(a.VERSION); this.hn = ""; for (var d = a.getSupportedExtensions(), e = 0; e < d.length; e++) this.hn += d[e] + " "; this.il = a.getParameter(a.MAX_TEXTURE_SIZE); c["gl.max_texture_size"] = this.il; this.ss = a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS); c["gl.max_texture_units"] = this.ss; this.At = this.ap("GL_IMG_texture_compression_pvrtc"); c["gl.supports_PVRTC"] = this.At; this.zt = !1; c["gl.supports_NPOT"] = this.zt; this.xt = this.ap("GL_IMG_texture_format_BGRA888"); c["gl.supports_BGRA8888"] = this.xt; this.yt = this.ap("GL_EXT_discard_framebuffer"); c["gl.supports_discard_framebuffer"] = this.yt; this.Bt = this.ap("vertex_array_object"); c["gl.supports_vertex_array_object"] = this.Bt; b.bp() } }, VV: function(a) { this.Pi || this.$n(); var c = b.D.Yc(a); if (!c) throw "Please load the resource first : " + a; b.assert(c, b.c.VI, a); if (c = c.data) for (var d in c) this.Fl[d] = c[d]; else b.log(b.c.UI, a) } }; b.p.lq = function() { b.XO = b.oa.extend({ xZ: function() {} }); var a = b.ha.prototype; a.Op = function(a) { var d = this.ab; this.mN(); var e = this.ee, f = e.sc.x / e.O, g = e.sc.y / e.ma; switch (a) { case b.ha.qD: b.Pu(b.Jv); b.Ou(); e = new b.re; b.PV(e, 0, d.width, 0, d.height, -1024, 1024); b.Qu(e); b.Pu(b.Iv); b.Ou(); break; case b.ha.Tv: var h = this.Rl(), k = new b.re, e = new b.re; b.Pu(b.Jv); b.Ou(); b.QV(k, 60, d.width / d.height, 0.1, 2 * h); b.Qu(k); b.Pu(b.Iv); b.Ou(); h = b.Vl(null, -f + d.width / 2, -g + d.height / 2, h); d = b.Vl(null, -f + d.width / 2, -g + d.height / 2, 0); f = b.Vl(null, 0, 1, 0); b.qL(e, h, d, f); b.Qu(e); break; case b.ha.rD: break; default: b.log(b.c.kC) } this.kh = a; b.I.dispatchEvent(this.Pn); b.IY() }; a.WA = function(a) { var d = b.l; a ? (d.clearDepth(1), d.enable(d.DEPTH_TEST), d.depthFunc(d.LEQUAL)) : d.disable(d.DEPTH_TEST) }; a.fv = function(a) { this.ab.width = b.ra.width; this.ab.height = b.ra.height; this.ee = a || b.view; a = b.bu; a.PJ(); a.mJ(); this.yi(); this.ZA(); b.I && b.I.Mp(!0) }; a.fg = function() { var a = b.l; a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT) }; a.wr = function() { b.oL() }; a.sr = function() { b.nL() }; a.yi = function() { if (!b.Tf) this.yF(); else if (null != b.ha.rx && !1 != b.ha.rx) { var a = new b.K; a.Mb(b.ha.Ji); a.Fa(); var d = b.view.su().height / 320; 0 === d && (d = this.ab.height / 320); var e = new b.Tf; e.at(!0); e.Qd("00.0", a, 12, 32, "."); e.scale = d; this.cd = e; e = new b.Tf; e.at(!0); e.Qd("0.000", a, 12, 32, "."); e.scale = d; this.dd = e; e = new b.Tf; e.at(!0); e.Qd("000", a, 12, 32, "."); e.scale = d; this.jd = e; a = b.jq; this.jd.Ma(a.x, 34 * d + a.y); this.dd.Ma(a.x, 17 * d + a.y); this.cd.Ma(a) } }; a.yF = function() { var a = 0, a = this.ab.width > this.ab.height ? 0 | this.ab.height / 320 * 24 : 0 | this.ab.width / 320 * 24; this.cd = b.A.create("000.0", "Arial", a); this.dd = b.A.create("0.000", "Arial", a); this.jd = b.A.create("0000", "Arial", a); a = b.jq; this.jd.Ma(this.jd.width / 2 + a.x, 5 * this.jd.height / 2 + a.y); this.dd.Ma(this.dd.width / 2 + a.x, 3 * this.dd.height / 2 + a.y); this.cd.Ma(this.cd.width / 2 + a.x, this.cd.height / 2 + a.y) }; a.WI = function(a) { var d = new b.re; b.Gv(d); var e = new b.re; b.OV(e, d); var f = this.ee.su(); a = new b.Ej(2 * a.x / f.width - 1, 1 - 2 * a.y / f.height, d.Sd[14] / d.Sd[15]); d = new b.Ej; b.sL(d, a, e); return C(d.x, d.y) }; a.YI = function(a) { var d = new b.re; b.Gv(d); var e = new b.Ej; a = new b.Ej(a.x, a.y, 0); b.sL(e, a, d); d = this.ee.su(); return C(d.width * (0.5 * e.x + 0.5), d.height * (0.5 * -e.y + 0.5)) }; a.Pl = function() { return this.ee.Pl() }; a.Au = function() { return this.ee.Au() }; a.Rl = function() { return this.ab.height / 1.1566 }; a.mN = function() { var a = this.ee; if (a) { var d = this.ab; a.lN( - a.sc.x / a.O, -a.sc.y / a.ma, d.width, d.height) } }; a.yU = function() { return this.ee }; a.HU = function() { return this.kh }; a.wM = function() { b.Ph(b.kc, b.jc) }; a.ZA = function() { this.wM(); this.WA(!1); this.Op(this.kh); b.l.clearColor(0, 0, 0, 1) } }; b.We = 0; b.Gv = function(a) { var c = new b.re; b.mL(b.Jv, c); var d = new b.re; b.mL(b.Iv, d); b.rL(a, c, d) }; b.ha = b.oa.extend({ iR: !1, jl: !1, $a: !1, vo: !1, ph: !1, qn: 0, vs: 0, kh: 0, mi: 0, bh: 1, Sk: !1, hg: 0, Rr: 0, cd: null, dd: null, jd: null, ab: null, sg: null, Ne: null, no: null, ee: null, Se: null, Ls: null, Ib: null, $b: 0, Dt: 0, Vs: 0, WQ: null, rd: null, Fd: null, Pn: null, Nr: null, Pr: null, Or: null, ctor: function() { var a = this; a.sg = Date.now(); b.I.Tt(b.Va.ek, function() { a.sg = Date.now() }) }, ga: function() { this.vs = this.qn = 1 / b.$I; this.Se = []; this.kh = b.ha.sD; this.Ls = null; this.Rr = this.mi = 0; this.Sk = !1; this.Dt = this.$b = 0; this.sg = Date.now(); this.vo = this.$a = !1; this.ab = D(0, 0); this.ee = null; this.bh = 1; this.rd = new b.Bk; this.Fd = b.pv ? new b.pv: null; this.rd.bv(this.Fd, b.Bk.Xm, !1); this.Nr = new b.kf(b.ha.rC); this.Nr.setUserData(this); this.Pr = new b.kf(b.ha.tC); this.Pr.setUserData(this); this.Or = new b.kf(b.ha.sC); this.Or.setUserData(this); this.Pn = new b.kf(b.ha.uC); this.Pn.setUserData(this); return ! 0 }, LI: function() { var a = Date.now(); this.jl ? (this.hg = 0, this.jl = !1) : this.hg = (a - this.sg) / 1E3; 0 < b.Va.Jc[b.Va.Vd.gp] && 0.2 < this.hg && (this.hg = 1 / 60); this.sg = a }, kJ: function() { this.LI(); this.$a || (this.rd.update(this.hg), b.I.dispatchEvent(this.Or)); this.fg(); this.Ne && this.QM(); this.wr && this.wr(); this.Ib && (this.Ib.Ba(), b.I.dispatchEvent(this.Pr)); this.no && this.no.Ba(); this.Sk && this.NH(); this.sr && this.sr(); b.I.dispatchEvent(this.Nr); this.Dt++; this.Sk && this.qF() }, wr: null, sr: null, end: function() { this.vo = !0 }, QT: function() { return this.bh }, vU: function() { return this.no }, Ql: function() { return D(this.ab) }, gV: function() { return D(this.ab.width * this.bh, this.ab.height * this.bh) }, pause: function() { this.$a || (this.vs = this.qn, this.SA(0.25), this.$a = !0) }, $W: function() { b.assert(this.Ib, b.c.hC); this.Se.pop(); var a = this.Se.length; 0 == a ? this.end() : (this.ph = !0, this.Ne = this.Se[a - 1]) }, UL: function() { b.Fh.fg(); b.ue.fg(); b.va.fg() }, VL: function() { this.Ig().Tp(); b.I && b.I.Mp(!1); this.Ib && (this.Ib.Nf(), this.Ib.vd(), this.Ib.If()); this.Ne = this.Ib = null; this.Se.length = 0; this.oB(); this.UL(); b.bp() }, WL: function(a) { b.assert(a, b.c.Bv); this.ph = !1; this.Se.push(a); this.Ne = a }, OA: function(a) { b.assert(a, b.c.Bv); if (this.Ib) { var c = this.Se.length; 0 === c ? (this.ph = !0, this.Se[c] = a) : (this.ph = !0, this.Se[c - 1] = a); this.Ne = a } else this.WL(a), this.mB() }, Oj: function() { this.$a && (this.SA(this.vs), (this.sg = Date.now()) || b.log(b.c.jC), this.$a = !1, this.hg = 0) }, aY: function(a) { a != this.bh && (this.bh = a, this.yi()) }, cY: function() {}, yY: function(a) { this.jl = a }, QM: function() { var a = !1, c = !1; b.dw && (a = this.Ib ? this.Ib instanceof b.dw: !1, c = this.Ne ? this.Ne instanceof b.dw: !1); if (!c) { if (c = this.Ib) c.Nf(), c.vd(); this.ph && c && c.If() } this.Ib = this.Ne; this.Ne = null; a || null == this.Ib || (this.Ib.se(), this.Ib.Hj()) }, zY: function(a) { this.no = a }, VT: function() { return this.Ls }, fY: function(a) { this.Ls = a }, NH: function() { this.$b++; this.mi += this.hg; this.cd && this.dd && this.jd ? (this.mi > b.fC && (this.dd.string = this.Vs.toFixed(3), this.Rr = this.$b / this.mi, this.mi = this.$b = 0, this.cd.string = this.Rr.toFixed(1), this.jd.string = (0 | b.We).toString()), this.cd.Ba(), this.dd.Ba(), this.jd.Ba()) : this.yi(); b.We = 0 }, HV: function() { return this.ph }, MU: function() { return this.Ib }, GT: function() { return this.qn }, xV: function() { return this.Sk }, DM: function(a) { this.Sk = a }, RU: function() { return this.Vs }, AV: function() { return this.jl }, CV: function() { return this.$a }, ZU: function() { return this.Dt }, aX: function() { this.QL(1) }, QL: function(a) { b.assert(this.Ib, b.c.iC); var c = this.Se, d = c.length; if (0 == d) this.end(); else if (! (a > d)) { for (; d > a;) { var e = c.pop(); e.running && (e.Nf(), e.vd()); e.If(); d-- } this.Ne = c[c.length - 1]; this.ph = !1 } }, Ig: function() { return this.rd }, eB: function(a) { this.rd != a && (this.rd = a) }, mp: function() { return this.Fd }, RA: function(a) { this.Fd != a && (this.Fd = a) }, WT: function() { return this.hg }, yi: null, qF: function() { this.Vs = (Date.now() - this.sg) / 1E3 } }); b.ha.uC = "director_projection_changed"; b.ha.rC = "director_after_draw"; b.ha.tC = "director_after_visit"; b.ha.sC = "director_after_update"; b.lC = b.ha.extend({ wp: !1, mB: function() { this.jl = !0; this.wp = !1 }, wL: function() { this.vo ? (this.vo = !1, this.VL()) : this.wp || this.kJ() }, oB: function() { this.wp = !0 }, SA: function(a) { this.qn = a; this.wp || (this.oB(), this.mB()) } }); b.ha.jv = null; b.ha.xz = !0; b.ha.Zr = function() { b.ha.xz && (b.ha.xz = !1, b.ha.jv = new b.lC, b.ha.jv.ga()); return b.ha.jv }; b.$I = 60; b.ha.qD = 0; b.ha.Tv = 1; b.ha.rD = 3; b.ha.sD = b.ha.Tv; b.da === b.Ya ? (p = b.ha.prototype, p.Op = function(a) { this.kh = a; b.I.dispatchEvent(this.Pn) }, p.WA = function() {}, p.fv = function(a) { this.ab.width = b.ra.width; this.ab.height = b.ra.height; this.ee = a || b.view; b.I && b.I.Mp(!0) }, p.fg = function() { var a = this.ee.sc; b.l.clearRect( - a.x, a.y, a.width, -a.height) }, p.yi = function() { var a = 0, a = this.ab.width > this.ab.height ? 0 | this.ab.height / 320 * 24 : 0 | this.ab.width / 320 * 24; this.cd = b.A.create("000.0", "Arial", a); this.dd = b.A.create("0.000", "Arial", a); this.jd = b.A.create("0000", "Arial", a); a = b.jq; this.jd.Ma(this.jd.width / 2 + a.x, 5 * this.jd.height / 2 + a.y); this.dd.Ma(this.dd.width / 2 + a.x, 3 * this.dd.height / 2 + a.y); this.cd.Ma(this.cd.width / 2 + a.x, this.cd.height / 2 + a.y) }, p.Pl = function() { return this.Ql() }, p.Au = function() { return C(0, 0) }) : (b.ha.Ji = new Image, b.ka(b.ha.Ji, "load", function() { b.ha.rx = !0 }), b.Ji && (b.ha.Ji.src = b.Ji), b.assert("function" === typeof b.p.lq, b.c.Gb, "CCDirectorWebGL.js"), b.p.lq(), delete b.p.lq); b.bk = b.oa.extend({ Uk: null, Vk: null, Wk: null, ui: null, vi: null, wi: null, Cl: null, Dl: null, El: null, Yb: null, jo: null, ctor: function() { this.jo = new b.re; this.restore() }, description: function() { return "\x3cCCCamera | center \x3d(" + this.ui + "," + this.vi + "," + this.wi + ")\x3e" }, XA: function(a) { this.Yb = a }, iA: function() { return this.Yb }, restore: function() { this.Uk = this.Vk = 0; this.Wk = b.bk.Rl(); this.Cl = this.ui = this.vi = this.wi = 0; this.Dl = 1; this.El = 0; b.NV(this.jo); this.Yb = !1 }, nA: function() { if (this.Yb) { var a = new b.Ej, c = new b.Ej, d = new b.Ej; b.Vl(a, this.Uk, this.Vk, this.Wk); b.Vl(c, this.ui, this.vi, this.wi); b.Vl(d, this.Cl, this.Dl, this.El); b.qL(this.jo, a, c, d); this.Yb = !1 } b.Qu(this.jo) }, lY: function(a, c, d) { this.YA(a, c, d) }, YA: function(a, c, d) { this.Uk = a; this.Vk = c; this.Wk = d; this.Yb = !0 }, ZX: function(a, c, d) { this.AM(a, c, d) }, AM: function(a, c, d) { this.ui = a; this.vi = c; this.wi = d; this.Yb = !0 }, WY: function(a, c, d) { this.hN(a, c, d) }, hN: function(a, c, d) { this.Cl = a; this.Dl = c; this.El = d; this.Yb = !0 }, eU: function() { return { x: this.Uk, y: this.Vk, z: this.Wk } }, Ez: function() { return { x: this.Uk, y: this.Vk, z: this.Wk } }, OT: function() { return { x: this.ui, y: this.vi, z: this.wi } }, Dz: function() { return { x: this.ui, y: this.vi, z: this.wi } }, aV: function() { return { x: this.Cl, y: this.Dl, z: this.El } }, GK: function() { return { x: this.Cl, y: this.Dl, z: this.El } }, JQ: function() {} }); b.bk.Rl = function() { return b.Nm }; b.SP = b.Xm + 1; b.qj = function(a, c) { if (a && 0 < a.length) for (var d = 0; d < a.length; d++) if (! (a[d] instanceof c)) return b.log(b.c.qj), !1; return ! 0 }; b.Wc = function(a, c) { for (var d = 0, e = a.length; d < e; d++) if (a[d] == c) { a.splice(d, 1); break } }; b.SR = function(a, c) { for (var d = 0, e = c.length; d < e; d++) b.Wc(a, c[d]) }; b.RR = function(a, c, d) { a.splice.apply(a, [d, 0].concat(c)); return a }; b.Kv = function(a, c, d) { this.next = null; this.target = a; this.TL = c; this.paused = d; this.zp = !1 }; b.Hv = function(a, c, d) { this.list = a; this.Mh = c; this.target = d; this.Eu = null }; b.DC = function(a, c) { this.gf = null; this.target = a; this.Uj = 0; this.Ll = this.Kl = null; this.paused = c; this.Eu = null }; b.cw = b.oa.extend({ rg: 0, eg: null, No: null, Ta: 0, wy: !1, Vo: !1, jj: 0, Ps: 0, En: 0, pU: function() { return this.rg }, setInterval: function(a) { this.rg = a }, NT: function() { return this.eg }, ctor: function(a, c, d, e, f) { this.No = a; this.eg = c; this.Ta = -1; this.rg = d || 0; this.En = f || 0; this.Vo = 0 < this.En; this.Ps = null == e ? b.Ak: e; this.wy = this.Ps == b.Ak }, Kr: function() { if ("string" == typeof this.eg) this.No[this.eg](this.Ta); else this.eg.call(this.No, this.Ta) }, update: function(a) { if ( - 1 == this.Ta) this.jj = this.Ta = 0; else { var c = this.No, d = this.eg; this.Ta += a; this.wy && !this.Vo ? this.Ta >= this.rg && (c && d && this.Kr(), this.Ta = 0) : (this.Vo ? this.Ta >= this.En && (c && d && this.Kr(), this.Ta -= this.En, this.jj += 1, this.Vo = !1) : this.Ta >= this.rg && (c && d && this.Kr(), this.Ta = 0, this.jj += 1), this.jj > this.Ps && b.Qa.Ig().zB(c, d)) } } }); b.Bk = b.oa.extend({ Bl: 1, zh: null, qf: null, rn: null, pf: null, NQ: null, Cc: null, Fe: !1, Ro: !1, ctor: function() { this.Bl = 1; this.zh = [[], [], []]; this.qf = {}; this.rn = []; this.pf = {}; this.Lk = []; this.Cc = null; this.Ro = this.Fe = !1 }, Os: function(a) { delete this.pf[a.target.L]; b.Wc(this.Lk, a); a.cw = null; a.target = null }, ny: function(a) { if (a = this.qf[a.target.L]) b.Wc(a.list, a.Mh), delete this.qf[a.target.L], b.Wc(this.rn, a), a.Mh = null, a.target = null }, dy: function(a, c, d, e) { e = new b.Kv(c, d, e); if (a) { for (var f = a.length - 1, g = 0; g <= f && !(d < a[g].TL); g++); a.splice(g, 0, e) } else a = [], a.push(e); d = new b.Hv(a, e, c); this.rn.push(d); this.qf[c.L] = d; return a }, nF: function(a, c, d) { d = new b.Kv(c, 0, d); a.push(d); a = new b.Hv(a, d, c); this.rn.push(a); this.qf[c.L] = a }, UY: function(a) { this.Bl = a }, XU: function() { return this.Bl }, update: function(a) { var c = this.zh, d = this.Lk, e, f, g; this.Ro = !0; 1 != this.Bl && (a *= this.Bl); f = 0; for (g = c.length; f < g && 0 <= f; f++) for (var h = this.zh[f], k = 0, m = h.length; k < m; k++) e = h[k], e.paused || e.zp || e.target.update(a); f = 0; for (g = d.length; f < g; f++) { e = d[f]; if (!e) break; this.Cc = e; this.Fe = !1; if (!e.paused) for (e.Uj = 0; e.Uj < e.gf.length; e.Uj++) e.Kl = e.gf[e.Uj], e.Ll = !1, e.Kl.update(a), e.Kl = null; this.Fe && 0 == e.gf.length && (this.Os(e), f--) } f = 0; for (g = c.length; f < g; f++) for (h = this.zh[f], k = 0, m = h.length; k < m;) { e = h[k]; if (!e) break; e.zp ? this.ny(e) : k++ } this.Ro = !1; this.Cc = null }, qM: function(a, c, d, e, f, g) { b.assert(c, b.c.FD); b.assert(a, b.c.GD); d = d || 0; e = null == e ? b.Ak: e; f = f || 0; g = g || !1; var h = this.pf[a.L]; h || (h = new b.DC(a, g), this.Lk.push(h), this.pf[a.L] = h); if (null == h.gf) h.gf = []; else for (var k = 0; k < h.gf.length; k++) if (g = h.gf[k], c == g.eg) { b.log(b.c.ED, g.rg.toFixed(4), d.toFixed(4)); g.rg = d; return } g = new b.cw(a, c, d, e, f); h.gf.push(g) }, bv: function(a, c, d) { if (null !== a) { var e = this.zh, f = this.qf[a.L]; f ? f.Mh.zp = !1 : 0 == c ? this.nF(e[1], a, d) : 0 > c ? e[0] = this.dy(e[0], a, c, d) : e[2] = this.dy(e[2], a, c, d) } }, zB: function(a, c) { if (null != a && null != c) { var d = this.pf[a.L]; if (d) for (var e = d.gf, f = 0, g = e.length; f < g; f++) { var h = e[f]; if (c == h.eg) { h != d.Kl || d.Ll || (d.Ll = !0); e.splice(f, 1); d.Uj >= f && d.Uj--; 0 == e.length && (this.Cc == d ? this.Fe = !0 : this.Os(d)); break } } } }, nm: function(a) { null != a && (a = this.qf[a.L], null != a && (this.Ro ? a.Mh.zp = !0 : this.ny(a.Mh))) }, yB: function(a) { if (null != a) { var c = this.pf[a.L]; if (c) { var d = c.gf; ! c.Ll && 0 <= d.indexOf(c.Kl) && (c.Ll = !0); d.length = 0; this.Cc == c ? this.Fe = !0 : this.Os(c) } this.nm(a) } }, Tp: function() { this.RN(b.Bk.Xm) }, RN: function(a) { for (var c = this.Lk, d = this.zh, e = 0, f = c.length; e < f; e++) this.yB(c[e].target); for (e = 2; 0 <= e; e--) if (! (1 == e && 0 < a || 0 == e && 0 <= a)) for (var c = d[e], f = 0, g = c.length; f < g; f++) this.nm(c[f].target) }, XW: function() { return this.IL(b.Bk.Xm) }, IL: function() { for (var a = [], c, d = this.Lk, e = this.zh, f = 0, g = d.length; f < g; f++) if (c = d[f]) c.paused = !0, a.push(c.target); f = 0; for (g = e.length; f < g; f++) for (var d = e[f], h = 0, k = d.length; h < k; h++) if (c = d[h]) c.paused = !0, a.push(c.target); return a }, kM: function(a) { if (a) for (var c = 0; c < a.length; c++) this.Qf(a[c]) }, Lj: function(a) { b.assert(a, b.c.CD); var c = this.pf[a.L]; c && (c.paused = !0); (a = this.qf[a.L]) && (a.Mh.paused = !0) }, Qf: function(a) { b.assert(a, b.c.DD); var c = this.pf[a.L]; c && (c.paused = !1); (a = this.qf[a.L]) && (a.Mh.paused = !1) }, JV: function(a) { b.assert(a, b.c.BD); return (a = this.pf[a.L]) ? a.paused: !1 } }); b.Bk.Xm = -2147483648; b.Pv = 2 * Math.PI; b.Cv = b.oa.extend({ yr: [], l: null, ctor: function(a) { this.l = a }, gJ: function(a, c) { c || (c = 1); var d = b.view.O, e = C(a.x * d, a.y * b.view.ma); this.l.beginPath(); this.l.arc(e.x, -e.y, c * d, 0, 2 * Math.PI, !1); this.l.closePath(); this.l.fill() }, hJ: function(a, c, d) { if (null != a) { d || (d = 1); c = this.l; var e = b.view.O, f = b.view.ma; c.beginPath(); for (var g = 0, h = a.length; g < h; g++) c.arc(a[g].x * e, -a[g].y * f, d * e, 0, 2 * Math.PI, !1); c.closePath(); c.fill() } }, Jf: function(a, c) { var d = this.l, e = b.view.O, f = b.view.ma; d.beginPath(); d.moveTo(a.x * e, -a.y * f); d.lineTo(c.x * e, -c.y * f); d.closePath(); d.stroke() }, ku: function(a, c) { this.Jf(C(a.x, a.y), C(c.x, a.y)); this.Jf(C(c.x, a.y), C(c.x, c.y)); this.Jf(C(c.x, c.y), C(a.x, c.y)); this.Jf(C(a.x, c.y), C(a.x, a.y)) }, lJ: function(a, c, d) { this.mu([a, C(c.x, a.y), c, C(a.x, c.y)], 4, d) }, gc: function(a, c, d, e) { e = e || !1; if (null != a) { if (3 > a.length) throw Error("Polygon's point must greater than 2"); var f = a[0]; c = this.l; var g = b.view.O, h = b.view.ma; c.beginPath(); c.moveTo(f.x * g, -f.y * h); for (var f = 1, k = a.length; f < k; f++) c.lineTo(a[f].x * g, -a[f].y * h); d && c.closePath(); e ? c.fill() : c.stroke() } }, mu: function(a, c, d) { this.Rj(d.r, d.g, d.b, d.a); this.gc(a, c, !0, !0) }, hu: function(a, c, d, e, f) { f = f || !1; e = this.l; var g = b.view.O, h = b.view.ma; e.beginPath(); e.arc(0 | a.x * g, 0 | -(a.y * h), c * g, -d, -(d - 2 * Math.PI), !1); f && e.lineTo(0 | a.x * g, 0 | -(a.y * h)); e.stroke() }, ju: function(a, c, d, e) { for (var f = this.yr, g = f.length = 0, h = 0; h < e; h++) f.push(C(Math.pow(1 - g, 2) * a.x + 2 * (1 - g) * g * c.x + g * g * d.x, Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * c.y + g * g * d.y)), g += 1 / e; f.push(C(d.x, d.y)); this.gc(f, e + 1, !1, !1) }, iu: function(a, c, d, e, f) { for (var g = this.yr, h = g.length = 0, k = 0; k < f; k++) g.push(C(Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * c.x + 3 * (1 - h) * h * h * d.x + h * h * h * e.x, Math.pow(1 - h, 3) * a.y + 3 * Math.pow(1 - h, 2) * h * c.y + 3 * (1 - h) * h * h * d.y + h * h * h * e.y)), h += 1 / f; g.push(C(e.x, e.y)); this.gc(g, f + 1, !1, !1) }, gu: function(a, c) { this.Lh(a, 0.5, c) }, Lh: function(a, c, d) { b.l.strokeStyle = "rgba(255,255,255,1)"; var e = this.yr; e.length = 0; for (var f, g, h = 1 / a.length, k = 0; k < d + 1; k++) g = k / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = b.aC(b.Fb(a, f - 1), b.Fb(a, f - 0), b.Fb(a, f + 1), b.Fb(a, f + 2), c, g), e.push(f); this.gc(e, d + 1, !1, !1) }, drawImage: function(a, c, d, e, f) { switch (arguments.length) { case 2: this.l.drawImage(a, c.x, -(c.y + a.height)); break; case 3: this.l.drawImage(a, c.x, -(c.y + d.height), d.width, d.height); break; case 5: this.l.drawImage(a, c.x, c.y, d.width, d.height, e.x, -(e.y + f.height), f.width, f.height); break; default: throw Error("Argument must be non-nil"); } }, BS: function(a, c, d) { a = a || this.l; c *= b.view.O; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); a.fillStyle = d + ",1)"; var e = c / 10; a.beginPath(); a.moveTo( - c, c); a.lineTo(0, e); a.lineTo(c, c); a.lineTo(e, 0); a.lineTo(c, -c); a.lineTo(0, -e); a.lineTo( - c, -c); a.lineTo( - e, 0); a.lineTo( - c, c); a.closePath(); a.fill(); var f = a.createRadialGradient(0, 0, e, 0, 0, c); f.addColorStop(0, d + ", 1)"); f.addColorStop(0.3, d + ", 0.8)"); f.addColorStop(1, d + ", 0.0)"); a.fillStyle = f; a.beginPath(); a.arc(0, 0, c - e, 0, b.Pv, !1); a.closePath(); a.fill() }, zS: function(a, c, d) { a = a || this.l; c *= b.view.O; d = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b); var e = a.createRadialGradient(0, 0, c / 10, 0, 0, c); e.addColorStop(0, d + ", 1)"); e.addColorStop(0.3, d + ", 0.8)"); e.addColorStop(0.6, d + ", 0.4)"); e.addColorStop(1, d + ", 0.0)"); a.fillStyle = e; a.beginPath(); a.arc(0, 0, c, 0, b.Pv, !1); a.closePath(); a.fill() }, fillText: function(a, c, d) { this.l.fillText(a, c, -d) }, Rj: function(a, c, d, e) { this.l.fillStyle = "rgba(" + a + "," + c + "," + d + "," + e / 255 + ")"; this.l.strokeStyle = "rgba(" + a + "," + c + "," + d + "," + e / 255 + ")" }, SM: function() {}, ev: function(a) { this.l.lineWidth = a * b.view.O } }); b.oC = b.oa.extend({ l: null, al: !1, ib: null, Ee: -1, Nc: null, Fs: -1, Es: -1, ctor: function(a) { null == a && (a = b.l); if (!a instanceof WebGLRenderingContext) throw "Can't initialise DrawingPrimitiveWebGL. context need is WebGLRenderingContext"; this.l = a; this.Nc = new Float32Array([1, 1, 1, 1]) }, Lf: function() { this.al || (this.ib = b.ff.Of(b.AD), this.Ee = this.l.getUniformLocation(this.ib.Iz(), "u_color"), this.Fs = this.l.getUniformLocation(this.ib.Iz(), "u_pointSize"), this.al = !0) }, AS: function() { this.al = !1 }, gJ: function(a) { this.Lf(); var c = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); c.uniform4fv(this.Ee, this.Nc); this.ib.gN(this.Fs, this.Es); var d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, new Float32Array([a.x, a.y]), c.STATIC_DRAW); c.vertexAttribPointer(b.lc, 2, c.FLOAT, !1, 0, 0); c.drawArrays(c.POINTS, 0, 1); c.deleteBuffer(d); b.Ze() }, hJ: function(a) { if (a && 0 != a.length) { this.Lf(); var c = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); c.uniform4fv(this.Ee, this.Nc); this.ib.gN(this.Fs, this.Es); var d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, this.uo(a), c.STATIC_DRAW); c.vertexAttribPointer(b.lc, 2, c.FLOAT, !1, 0, 0); c.drawArrays(c.POINTS, 0, a.length); c.deleteBuffer(d); b.Ze() } }, uo: function(a) { for (var c = new Float32Array(2 * a.length), d = 0; d < a.length; d++) c[2 * d] = a[d].x, c[2 * d + 1] = a[d].y; return c }, Jf: function(a, c) { this.Lf(); var d = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); d.uniform4fv(this.Ee, this.Nc); var e = d.createBuffer(); d.bindBuffer(d.ARRAY_BUFFER, e); d.bufferData(d.ARRAY_BUFFER, this.uo([a, c]), d.STATIC_DRAW); d.vertexAttribPointer(b.lc, 2, d.FLOAT, !1, 0, 0); d.drawArrays(d.LINES, 0, 2); d.deleteBuffer(e); b.Ze() }, ku: function(a, c) { this.Jf(C(a.x, a.y), C(c.x, a.y)); this.Jf(C(c.x, a.y), C(c.x, c.y)); this.Jf(C(c.x, c.y), C(a.x, c.y)); this.Jf(C(a.x, c.y), C(a.x, a.y)) }, lJ: function(a, c, d) { this.mu([a, C(c.x, a.y), c, C(a.x, c.y)], 4, d) }, gc: function(a, c, d) { this.Lf(); c = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); c.uniform4fv(this.Ee, this.Nc); var e = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, e); c.bufferData(c.ARRAY_BUFFER, this.uo(a), c.STATIC_DRAW); c.vertexAttribPointer(b.lc, 2, c.FLOAT, !1, 0, 0); d ? c.drawArrays(c.LINE_LOOP, 0, a.length) : c.drawArrays(c.LINE_STRIP, 0, a.length); c.deleteBuffer(e); b.Ze() }, mu: function(a, c, d) { this.Lf(); d && this.Rj(d.r, d.g, d.b, d.a); c = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); c.uniform4fv(this.Ee, this.Nc); d = c.createBuffer(); c.bindBuffer(c.ARRAY_BUFFER, d); c.bufferData(c.ARRAY_BUFFER, this.uo(a), c.STATIC_DRAW); c.vertexAttribPointer(b.lc, 2, c.FLOAT, !1, 0, 0); c.drawArrays(c.TRIANGLE_FAN, 0, a.length); c.deleteBuffer(d); b.Ze() }, hu: function(a, c, d, e, f) { this.Lf(); var g = 1; f && g++; var h = 2 * Math.PI / e; if (f = new Float32Array(2 * (e + 2))) { for (var k = 0; k <= e; k++) { var m = k * h, n = c * Math.sin(m + d) + a.y; f[2 * k] = c * Math.cos(m + d) + a.x; f[2 * k + 1] = n } f[2 * (e + 1)] = a.x; f[2 * (e + 1) + 1] = a.y; a = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); a.uniform4fv(this.Ee, this.Nc); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + g); a.deleteBuffer(c); b.Ze() } }, ju: function(a, c, d, e) { this.Lf(); for (var f = new Float32Array(2 * (e + 1)), g = 0, h = 0; h < e; h++) f[2 * h] = Math.pow(1 - g, 2) * a.x + 2 * (1 - g) * g * c.x + g * g * d.x, f[2 * h + 1] = Math.pow(1 - g, 2) * a.y + 2 * (1 - g) * g * c.y + g * g * d.y, g += 1 / e; f[2 * e] = d.x; f[2 * e + 1] = d.y; a = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); a.uniform4fv(this.Ee, this.Nc); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW); a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, e + 1); a.deleteBuffer(c); b.Ze() }, iu: function(a, c, d, e, f) { this.Lf(); for (var g = new Float32Array(2 * (f + 1)), h = 0, k = 0; k < f; k++) g[2 * k] = Math.pow(1 - h, 3) * a.x + 3 * Math.pow(1 - h, 2) * h * c.x + 3 * (1 - h) * h * h * d.x + h * h * h * e.x, g[2 * k + 1] = Math.pow(1 - h, 3) * a.y + 3 * Math.pow(1 - h, 2) * h * c.y + 3 * (1 - h) * h * h * d.y + h * h * h * e.y, h += 1 / f; g[2 * f] = e.x; g[2 * f + 1] = e.y; a = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); a.uniform4fv(this.Ee, this.Nc); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, g, a.STATIC_DRAW); a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, f + 1); a.deleteBuffer(c); b.Ze() }, gu: function(a, c) { this.Lh(a, 0.5, c) }, Lh: function(a, c, d) { this.Lf(); for (var e = new Float32Array(2 * (d + 1)), f, g, h = 1 / a.length, k = 0; k < d + 1; k++) g = k / d, 1 == g ? (f = a.length - 1, g = 1) : (f = 0 | g / h, g = (g - h * f) / h), f = b.aC(b.Fb(a, f - 1), b.Fb(a, f), b.Fb(a, f + 1), b.Fb(a, f + 2), c, g), e[2 * k] = f.x, e[2 * k + 1] = f.y; a = this.l; this.ib.wc(); this.ib.xd(); b.tc(b.Lc); a.uniform4fv(this.Ee, this.Nc); c = a.createBuffer(); a.bindBuffer(a.ARRAY_BUFFER, c); a.bufferData(a.ARRAY_BUFFER, e, a.STATIC_DRAW); a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, 0, 0); a.drawArrays(a.LINE_STRIP, 0, d + 1); a.deleteBuffer(c); b.Ze() }, Rj: function(a, c, d, e) { this.Nc[0] = a / 255; this.Nc[1] = c / 255; this.Nc[2] = d / 255; this.Nc[3] = e / 255 }, SM: function(a) { this.Es = a * b.Ka() }, ev: function(a) { this.l.lineWidth && this.l.lineWidth(a) } }); b.p.hr = function() { var a = b.A.prototype; a.V = b.B.prototype.V; a.Uc = function() { this.ua = !0; var a = this.sh, d = this.uh; this.Do = "rgba(128,128,128," + this.Cf + ")"; this.Rn = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + ", 1)"; this.Io = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + ", 1)" }; a.sb = b.B.prototype.sb; a.Ga = b.B.prototype.Ga; a.kb = b.B.prototype.kb; a.Hu = function(a, d) { if (!b.B.prototype.ga.call(this)) return ! 1; this.shaderProgram = b.ff.Of(b.A.cF); this.Jt(d, !1); this.string = a; return ! 0 }; a.Np = function(a) { var d = this.uh; if (d.r != a.r || d.g != a.g || d.b != a.b) d.r = a.r, d.g = a.g, d.b = a.b, this.Uc(), this.ua = !0 }; a.na = function(a) { if (this.Ja && "" != this.Ja) { a = a || b.l; var d = this.ea; d && d.xb && (this.Jb.wc(), this.Jb.xd(), b.Ph(this.t.src, this.t.Y), b.qe(d), b.tc(b.gn), a.bindBuffer(a.ARRAY_BUFFER, this.wo), this.Dc && (a.bufferData(a.ARRAY_BUFFER, this.Pa.Xo, a.STATIC_DRAW), this.Dc = !1), a.vertexAttribPointer(b.lc, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(b.Dk, 2, a.FLOAT, !1, 24, 16), a.vertexAttribPointer(b.Ck, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)); if (1 === b.Uf) a = this.Pa, b.Hd.gc([C(a.ya.e.x, a.ya.e.y), C(a.wa.e.x, a.wa.e.y), C(a.xa.e.x, a.xa.e.y), C(a.za.e.x, a.za.e.y)], 4, !0); else if (2 === b.Uf) { a = this.Pz(); var d = this.offsetX, e = this.offsetY; b.Hd.gc([C(d, e), C(d + a.width, e), C(d + a.width, e + a.height), C(d, e + a.height)], 4, !0) } b.We++ } }; a.Ha = b.B.prototype.Ha }; b.p.Hq = function() { var a = b.A.prototype; b.k(a, "color", a.Nh, a.V); b.k(a, "opacity", a.wj, a.Ga); b.k(a, "string", a.Nl, a.ic); b.k(a, "textAlign", a.eK, a.LM); b.k(a, "verticalAlign", a.KK, a.kN); b.k(a, "fontSize", a.bK, a.JM); b.k(a, "fontName", a.aK, a.IM); b.k(a, "font", a.$F, a.zH); b.k(a, "boundingWidth", a.Xr, a.vH); b.k(a, "boundingHeight", a.YF, a.uH); b.k(a, "fillStyle", a.ZF, a.Np); b.k(a, "strokeStyle", a.sG, a.LH); b.k(a, "lineWidth", a.fG, a.BH); b.k(a, "shadowOffsetX", a.oG, a.FH); b.k(a, "shadowOffsetY", a.pG, a.GH); b.k(a, "shadowOpacity", a.qG, a.HH); b.k(a, "shadowBlur", a.nG, a.EH) }; b.A = b.B.extend({ Za: null, qg: b.Yg, Cg: b.Ek, nc: null, Zb: 0, Ja: "", zs: null, Si: !1, ae: null, Kb: !1, Rb: null, Cf: 0, wg: 0, Do: null, Nd: !1, sh: null, Ef: 0, Io: null, uh: null, Rn: null, ut: 0, vt: 0, ua: !1, fo: null, ho: null, Nx: null, Mc: "LabelTTF", ctor: function(a, c, d, e, f, g) { b.B.prototype.ctor.call(this); this.Za = D(0, 0); this.qg = b.cn; this.Cg = b.Ek; this.Da = !1; this.ae = ""; this.nc = "Arial"; this.Kb = this.Si = !1; this.Rb = C(0, 0); this.wg = this.Cf = 0; this.Do = "rgba(128, 128, 128, 0.5)"; this.Nd = !1; this.sh = b.color(255, 255, 255, 255); this.Ef = 0; this.Io = ""; this.uh = b.color(255, 255, 255, 255); this.Rn = "rgba(255,255,255,1)"; this.vt = this.ut = 0; this.ua = !1; this.Nx = []; this.Uc(); c && c instanceof b.Fv ? this.Hu(a, c) : b.A.prototype.Qd.call(this, a, c, d, e, f, g) }, ga: function() { return this.Qd(" ", this.nc, this.Zb) }, TG: function() { this.$r().font = this.ae }, Vi: function(a) { return this.$r().measureText(a).width }, description: function() { return "\x3ccc.LabelTTF | FontName \x3d" + this.nc + " FontSize \x3d " + this.Zb.toFixed(1) + "\x3e" }, V: null, Uc: null, sb: null, Ga: null, kb: null, wZ: function(a) { b.m.prototype.kb.call(this, a); this.Uc() }, Nl: function() { return this.Ja }, eK: function() { return this.qg }, KK: function() { return this.Cg }, $T: function() { return D(this.Za) }, bK: function() { return this.Zb }, aK: function() { return this.nc }, Qd: function(a, c, d, e, f, g) { a = a ? a + "": ""; d = d || 16; e = e || D(0, d); f = f || b.cn; g = g || b.Ek; this.Da = !1; this.Za = D(e.width, e.height); this.nc = c || "Arial"; this.qg = f; this.Cg = g; this.Zb = d; this.ae = this.Zb + "px '" + c + "'"; this.He = b.A.Gk(c, this.Zb); this.string = a; this.Uc(); this.It(); this.ua = !1; return ! 0 }, Hu: null, TY: function(a) { a && this.Jt(a, !0) }, WU: function() { return this.hH(!1) }, wJ: function(a, c, d, e) { d = d || 0.5; ! 1 === this.Kb && (this.Kb = !0); var f = this.Rb; if (f && f.x != a || f.Hc != c) f.x = a, f.y = c; this.Cf != d && (this.Cf = d); this.Uc(); this.wg != e && (this.wg = e); this.ua = !0 }, oG: function() { return this.Rb.x }, FH: function(a) { ! 1 === this.Kb && (this.Kb = !0); this.Rb.x != a && (this.Rb.x = a, this.ua = !0) }, pG: function() { return this.Rb.Hc }, GH: function(a) { ! 1 === this.Kb && (this.Kb = !0); this.Rb.Hc != a && (this.Rb.Hc = a, this.ua = !0) }, dR: function() { return C(this.Rb.x, this.Rb.y) }, tR: function(a) { ! 1 === this.Kb && (this.Kb = !0); if (this.Rb.x != a.x || this.Rb.y != a.y) this.Rb.x = a.x, this.Rb.y = a.y, this.ua = !0 }, qG: function() { return this.Cf }, HH: function(a) { ! 1 === this.Kb && (this.Kb = !0); this.Cf != a && (this.Cf = a, this.Uc(), this.ua = !0) }, nG: function() { return this.wg }, EH: function(a) { ! 1 === this.Kb && (this.Kb = !0); this.wg != a && (this.wg = a, this.ua = !0) }, vS: function() { this.Kb && (this.Kb = !1, this.ua = !0) }, xJ: function(a, c) { ! 1 === this.Nd && (this.Nd = !0); var d = this.sh; if (d.r !== a.r || d.g !== a.g || d.b !== a.b) d.r = a.r, d.g = a.g, d.b = a.b, this.Uc(); this.Ef !== c && (this.Ef = c || 0); this.ua = !0 }, sG: function() { return this.sh }, LH: function(a) { ! 1 === this.Nd && (this.Nd = !0); var c = this.sh; if (c.r !== a.r || c.g !== a.g || c.b !== a.b) c.r = a.r, c.g = a.g, c.b = a.b, this.Uc(), this.ua = !0 }, fG: function() { return this.Ef }, BH: function(a) { ! 1 === this.Nd && (this.Nd = !0); this.Ef !== a && (this.Ef = a || 0, this.ua = !0) }, wS: function() { this.Nd && (this.Nd = !1, this.ua = !0) }, Np: null, ZF: function() { return this.uh }, Jt: function(a, c) { a.AT ? (this.Za.width = a.boundingWidth, this.Za.height = a.boundingHeight) : (this.Za.width = 0, this.Za.height = 0); this.qg = a.textAlign; this.Cg = a.verticalAlign; this.nc = a.fontName; this.Zb = a.fontSize || 12; this.ae = this.Zb + "px '" + this.nc + "'"; this.He = b.A.Gk(this.nc, this.Zb); a.kB && this.wJ(a.shadowOffsetX, a.shadowOffsetY, a.shadowOpacity, a.shadowBlur); a.lv && this.xJ(a.strokeStyle, a.lineWidth); this.Np(a.fillStyle); c && this.It() }, hH: function(a) { var c = new b.Fv; a ? (c.fontSize = this.Zb, c.boundingWidth = b.Ka() * this.Za.width, c.boundingHeight = b.Ka() * this.Za.height) : (c.fontSize = this.Zb, c.boundingWidth = this.Za.width, c.boundingHeight = this.Za.height); c.fontName = this.nc; c.textAlign = this.qg; c.verticalAlign = this.Cg; if (this.Nd) { c.lv = !0; var d = this.sh; c.strokeStyle = b.color(d.r, d.g, d.b); c.lineWidth = this.Ef } else c.lv = !1; this.Kb ? (c.kB = !0, c.shadowBlur = this.wg, c.shadowOpacity = this.Cf, c.shadowOffsetX = (a ? b.Ka() : 1) * this.Rb.x, c.shadowOffsetY = (a ? b.Ka() : 1) * this.Rb.y) : c.Kb = !1; a = this.uh; c.fillStyle = b.color(a.r, a.g, a.b); return c }, He: 18, ic: function(a) { a = String(a); this.zs != a && (this.zs = a + "", this.To(), this.ua = !0) }, To: function() { this.Ja = this.zs }, LM: function(a) { a !== this.qg && (this.qg = a, this.ua = !0) }, kN: function(a) { a != this.Cg && (this.Cg = a, this.ua = !0) }, gY: function(a, c) { var d; void 0 === c ? (d = a.width, c = a.height) : d = a; if (d != this.Za.width || c != this.Za.height) this.Za.width = d, this.Za.height = c, this.To(), this.ua = !0 }, Xr: function() { return this.Za.width }, vH: function(a) { a != this.Za.width && (this.Za.width = a, this.To(), this.ua = !0) }, YF: function() { return this.Za.height }, uH: function(a) { a != this.Za.height && (this.Za.height = a, this.To(), this.ua = !0) }, JM: function(a) { this.Zb !== a && (this.Zb = a, this.ae = a + "px '" + this.nc + "'", this.He = b.A.Gk(this.nc, a), this.ua = !0) }, IM: function(a) { this.nc && this.nc != a && (this.nc = a, this.ae = this.Zb + "px '" + a + "'", this.He = b.A.Gk(a, this.Zb), this.ua = !0) }, $F: function() { return this.ae }, zH: function(a) { var c = b.A.OF.exec(a); c && (this.Zb = parseInt(c[1]), this.nc = c[2], this.ae = a, this.He = b.A.Gk(this.nc, this.Zb), this.ua = !0) }, JF: function(a) { if (a) { var c = this.ut, d = this.vt, e = this.v.height - d, f = this.Cg, g = this.qg, h = this.He, k = this.Ef; a.setTransform(1, 0, 0, 1, 0 + 0.5 * c, e + 0.5 * d); a.font != this.ae && (a.font = this.ae); a.fillStyle = this.Rn; var m = d = 0, n = this.Nd; n && (a.lineWidth = 2 * k, a.strokeStyle = this.Io); this.Kb && (k = this.Rb, a.shadowColor = this.Do, a.shadowOffsetX = k.x, a.shadowOffsetY = -k.y, a.shadowBlur = this.wg); a.textBaseline = b.A.YH[f]; a.textAlign = b.A.XH[g]; c = this.v.width - c; d = g === b.$v ? d + c: g === b.Yg ? d + c / 2 : d + 0; if (this.Si) for (g = this.Te.length, f === b.fw ? m = h + e - h * g: f === b.VE && (m = h / 2 + (e - h * g) / 2), f = 0; f < g; f++) c = this.Te[f], k = -e + h * f + m, n && a.strokeText(c, d, k), a.fillText(c, d, k); else f !== b.fw && (m = f === b.Ek ? m - e: m - 0.5 * e), n && a.strokeText(this.Ja, d, m), a.fillText(this.Ja, d, m) } }, $r: function() { if (this.ho) return this.ho; if (!this.fo) { var a = b.rb("canvas"), c = new b.K; c.Mb(a); this.texture = c; this.fo = a } return this.ho = this.fo.getContext("2d") }, vF: function(a, c, d) { var e = a[c], f = this.Vi(e); if (f > d && 1 < e.length) { for (var g = d / f * e.length | 0, h = e.substr(g), k = f - this.Vi(h), m, n = 0, r = 0; k > d && 100 > r++;) g *= d / k, g |= 0, h = e.substr(g), k = f - this.Vi(h); for (r = 0; k < d && 100 > r++;) h && (n = (m = b.A.gI.exec(h)) ? m[0].length: 1, m = h), g += n, h = e.substr(g), k = f - this.Vi(h); g -= n; d = e.substr(0, g); b.A.VN && b.A.WH.test(m || h) && (f = b.A.MG.exec(d), g -= f ? f[0].length: 0, m = e.substr(g), d = e.substr(0, g)); b.A.KF.test(m) && (f = b.A.LG.exec(d)) && d !== f[0] && (g -= f[0].length, m = e.substr(g), d = e.substr(0, g)); a[c] = m || h; a.splice(c, 0, d) } }, Uo: function() { var a = this.Za.width, c, d, e = this.Nx; e.length = 0; this.Si = !1; this.TG(); if (0 !== a) for (this.Te = this.Ja.split("\n"), c = 0; c < this.Te.length; c++) this.vF(this.Te, c, a); else for (this.Te = this.Ja.split("\n"), c = 0, d = this.Te.length; c < d; c++) e.push(this.Vi(this.Te[c])); 0 < this.Te.length && (this.Si = !0); d = c = 0; this.Nd && (c = d = 2 * this.Ef); if (this.Kb) { var f = this.Rb; c += 2 * Math.abs(f.x); d += 2 * Math.abs(f.y) } a = 0 === a ? this.Si ? D(0 | Math.max.apply(Math, e) + c, 0 | this.He * this.Te.length + d) : D(0 | this.Vi(this.Ja) + c, 0 | this.He + d) : 0 === this.Za.height ? this.Si ? D(0 | a + c, 0 | this.He * this.Te.length + d) : D(0 | a + c, 0 | this.He + d) : D(0 | a + c, 0 | this.Za.height + d); this.wd(a); this.ut = c; this.vt = d; e = this.Ab; this.lb.x = 0.5 * c + (a.width - c) * e.x; this.lb.y = 0.5 * d + (a.height - d) * e.y }, ud: function() { this.ua && this.Uo(); return b.B.prototype.ud.call(this) }, Ie: function() { this.ua && this.Uo(); return b.B.prototype.Ie.call(this) }, fh: function() { this.ua && this.Uo(); return b.B.prototype.fh.call(this) }, It: function() { var a = this.$r(), c = this.fo, d = this.v; if (0 === this.Ja.length) return c.width = 1, c.height = d.height || 1, this.ea && this.ea.Fa(), this.Ha(E(0, 0, 1, d.height)), !0; a.font = this.ae; this.Uo(); var e = d.width, d = d.height, f = c.width == e && c.height == d; c.width = e; c.height = d; f && a.clearRect(0, 0, e, d); this.JF(a); this.ea && this.ea.Fa(); this.Ha(E(0, 0, e, d)); return ! 0 }, Ba: function(a) { this.Ja && "" != this.Ja && (this.ua && (this.ua = !1, this.It()), b.B.prototype.Ba.call(this, a || b.l)) }, na: null, Dy: function(a) { var c = this.ca ? this.textureAtlas.texture: this.ea; if (c) { var d = c.pixelsWidth, e = c.pixelsHeight, f, g = this.Pa; this.nb ? (b.vk ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.height - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.width - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.height) / d, f = a.y / e, a = (a.y + a.width) / e), this.gb && (e = f, f = a, a = e), this.hb && (e = c, c = d, d = e), g.wa.f.R = c, g.wa.f.S = f, g.xa.f.R = c, g.xa.f.S = a, g.ya.f.R = d, g.ya.f.S = f, g.za.f.R = d, g.za.f.S = a) : (b.vk ? (c = (2 * a.x + 1) / (2 * d), d = c + (2 * a.width - 2) / (2 * d), f = (2 * a.y + 1) / (2 * e), a = f + (2 * a.height - 2) / (2 * e)) : (c = a.x / d, d = (a.x + a.width) / d, f = a.y / e, a = (a.y + a.height) / e), this.gb && (e = c, c = d, d = e), this.hb && (e = f, f = a, a = e), g.wa.f.R = c, g.wa.f.S = a, g.xa.f.R = d, g.xa.f.S = a, g.ya.f.R = c, g.ya.f.S = f, g.za.f.R = d, g.za.f.S = f); this.Dc = !0 } } }); b.da === b.Ya ? (p = b.A.prototype, p.V = function(a) { b.m.prototype.V.call(this, a); this.Uc() }, p.Uc = function() { this.ua = !0; var a = this.Q, c = this.sa, d = this.sh, e = this.uh; this.Do = "rgba(" + (0 | 0.5 * a.r) + "," + (0 | 0.5 * a.g) + "," + (0 | 0.5 * a.b) + "," + this.Cf + ")"; this.Rn = "rgba(" + (0 | a.r / 255 * e.r) + "," + (0 | a.g / 255 * e.g) + "," + (0 | a.b / 255 * e.b) + ", " + c / 255 + ")"; this.Io = "rgba(" + (0 | a.r / 255 * d.r) + "," + (0 | a.g / 255 * d.g) + "," + (0 | a.b / 255 * d.b) + ", " + c / 255 + ")" }, p.sb = function(a) { b.m.prototype.sb.call(this, a); this.Uc() }, p.Ga = function(a) { this.bH !== a && (b.B.prototype.Ga.call(this, a), this.Uc(), this.ua = !0) }, p.kb = b.B.prototype.kb, p.Hu = function(a, c) { this.Jt(c, !1); this.string = a; return ! 0 }, p.Np = function(a) { var c = this.uh; if (c.r != a.r || c.g != a.g || c.b != a.b) c.r = a.r, c.g = a.g, c.b = a.b, this.Uc(), this.ua = !0 }, p.na = b.B.prototype.na, p.Ha = function(a, c, d) { this.nb = c || !1; this.wd(d || a); this.iv(a); c = this.ij; c.x = a.x; c.y = a.y; c.width = a.width; c.height = a.height; c.Xj = !(0 === c.width || 0 === c.height || 0 > c.x || 0 > c.y); a = this.le; this.gb && (a.x = -a.x); this.hb && (a.y = -a.y); this.Oa.x = a.x + (this.v.width - this.F.width) / 2; this.Oa.y = a.y + (this.v.height - this.F.height) / 2; this.ca && (this.dirty = !0) }, p = null) : (b.assert("function" === typeof b.p.hr, b.c.Gb, "LabelTTFWebGL.js"), b.p.hr(), delete b.p.hr); b.assert("function" === typeof b.p.Hq, b.c.Gb, "LabelTTFPropertyDefine.js"); b.p.Hq(); delete b.p.Hq; b.A.XH = ["left", "center", "right"]; b.A.YH = ["top", "middle", "bottom"]; b.A.VN = !0; b.A.gI = /([a-zA-Z0-9\u00c4\u00d6\u00dc\u00e4\u00f6\u00fc\u00df\u00e9\u00e8\u00e7\u00e0\u00f9\u00ea\u00e2\u00ee\u00f4\u00fb]+|\S)/; b.A.WH = /^[!,.:;}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/; b.A.MG = /([a-zA-Z0-9\u00c4\u00d6\u00dc\u00e4\u00f6\u00fc\u00df\u00e9\u00e8\u00e7\u00e0\u00f9\u00ea\u00e2\u00ee\u00f4\u00fb]+|\S)$/; b.A.LG = /[a-zA-Z0-9\u00c4\u00d6\u00dc\u00e4\u00f6\u00fc\u00df\u00e9\u00e8\u00e7\u00e0\u00f9\u00ea\u00e2\u00ee\u00f4\u00fb]+$/; b.A.KF = /^[a-zA-Z0-9\u00c4\u00d6\u00dc\u00e4\u00f6\u00fc\u00df\u00e9\u00e8\u00e7\u00e0\u00f9\u00ea\u00e2\u00ee\u00f4\u00fb]/; b.A.OF = /^(\d+)px\s+['"]?([\w\s\d]+)['"]?$/; b.A.create = function(a, c, d, e, f, g) { return new b.A(a, c, d, e, f, g) }; b.A.oS = b.A.create; b.A.cF = b.TE ? b.Wq: b.yD; b.A.bg = b.rb("div"); b.A.bg.style.fontFamily = "Arial"; b.A.bg.style.position = "absolute"; b.A.bg.style.left = "-100px"; b.A.bg.style.top = "-100px"; b.A.bg.style.lineHeight = "normal"; document.body ? document.body.appendChild(b.A.bg) : b.ka(window, "load", function() { this.removeEventListener("load", arguments.callee, !1); document.body.appendChild(b.A.bg) }, !1); b.A.Gk = function(a, c) { var d = b.A.iw[a + "." + c]; if (0 < d) return d; var e = b.A.bg; e.innerHTML = "ajghl~!"; e.style.fontFamily = a; e.style.fontSize = c + "px"; d = e.clientHeight; b.A.iw[a + "." + c] = d; e.innerHTML = ""; return d }; b.A.iw = {}; b.CC = b.oa.extend({ jb: null, target: null, Dh: 0, Xc: null, Kh: !1, paused: !1, Eu: null, ctor: function() { this.jb = []; this.target = null; this.Dh = 0; this.Xc = null; this.paused = this.Kh = !1; this.Eu = null } }); b.pv = b.oa.extend({ be: null, oi: null, Cc: null, Fe: !1, rR: function(a, c) { for (var d = 0; d < a.length; d++) if (c == a[d].target) return a[d]; return null }, ctor: function() { this.be = {}; this.oi = []; this.Cc = null; this.Fe = !1 }, jI: function(a, c, d) { if (!a) throw "cc.ActionManager.addAction(): action must be non-null"; if (!c) throw "cc.ActionManager.addAction(): action must be non-null"; var e = this.be[c.L]; e || (e = new b.CC, e.paused = d, e.target = c, this.be[c.L] = e, this.oi.push(e)); this.eF(e); e.jb.push(a); a.q(c) }, pX: function() { for (var a = this.oi, c = 0; c < a.length; c++) { var d = a[c]; d && this.DA(d.target, !0) } }, DA: function(a, c) { if (null != a) { var d = this.be[a.L]; d && ( - 1 === d.jb.indexOf(d.Xc) || d.Kh || (d.Kh = !0), d.jb.length = 0, this.Cc != d || c ? this.Hr(d) : this.Fe = !0) } }, CA: function(a) { if (null != a) { var c = this.be[a.originalTarget.L]; if (c) for (var d = 0; d < c.jb.length; d++) { if (c.jb[d] == a) { c.jb.splice(d, 1); break } } else b.log(b.c.IB) } }, ZL: function(a, c) { a == b.fi && b.log(b.c.qv); b.assert(c, b.c.qv); var d = this.be[c.L]; if (d) for (var e = d.jb.length, f = 0; f < e; ++f) { var g = d.jb[f]; if (g && g.yu() === a && g.originalTarget == c) { this.kH(f, d); break } } }, Bz: function(a, c) { a == b.fi && b.log(b.c.GB); var d = this.be[c.L]; if (d) { if (null != d.jb) for (var e = 0; e < d.jb.length; ++e) { var f = d.jb[e]; if (f && f.yu() === a) return f } b.log(b.c.HB, a) } return null }, BL: function(a) { return (a = this.be[a.L]) ? a.jb ? a.jb.length: 0 : 0 }, Lj: function(a) { (a = this.be[a.L]) && (a.paused = !0) }, Qf: function(a) { (a = this.be[a.L]) && (a.paused = !1) }, WW: function() { for (var a = [], c = this.oi, d = 0; d < c.length; d++) { var e = c[d]; e && !e.paused && (e.paused = !0, a.push(e.target)) } return a }, kM: function(a) { if (a) for (var c = 0; c < a.length; c++) a[c] && this.Qf(a[c]) }, bX: function() { b.Qa.Ig().nm(this) }, kH: function(a, c) { c.jb[a] != c.Xc || c.Kh || (c.Kh = !0); c.jb.splice(a, 1); c.Dh >= a && c.Dh--; 0 == c.jb.length && (this.Cc == c ? this.Fe = !0 : this.Hr(c)) }, Hr: function(a) { a && (delete this.be[a.target.L], b.Wc(this.oi, a), a.jb = null, a.target = null) }, eF: function(a) { null == a.jb && (a.jb = []) }, update: function(a) { for (var c = this.oi, d, e = 0; e < c.length; e++) { d = this.Cc = c[e]; if (!d.paused) for (d.Dh = 0; d.Dh < d.jb.length; d.Dh++) if (d.Xc = d.jb[d.Dh], d.Xc) { d.Kh = !1; d.Xc.step(a * (d.Xc.ul ? d.Xc.rc: 1)); if (d.Kh) d.Xc = null; else if (d.Xc.Rd()) { d.Xc.stop(); var f = d.Xc; d.Xc = null; this.CA(f) } d.Xc = null } this.Fe && 0 === d.jb.length && this.Hr(d) } } }); b.fi = -1; b.Ob = b.oa.extend({ originalTarget: null, target: null, tag: b.fi, ctor: function() { this.target = this.originalTarget = null; this.tag = b.fi }, copy: function() { b.log("copy is deprecated. Please use clone instead."); return this.d() }, d: function() { var a = new b.Ob; a.originalTarget = null; a.target = null; a.tag = this.tag; return a }, Rd: function() { return ! 0 }, q: function(a) { this.target = this.originalTarget = a }, stop: function() { this.target = null }, step: function() { b.log("[Action step]. override me") }, update: function() { b.log("[Action update]. override me") }, UU: function() { return this.target }, RY: function(a) { this.target = a }, BU: function() { return this.originalTarget }, FY: function(a) { this.originalTarget = a }, yu: function() { return this.tag }, gB: function(a) { this.tag = a }, Zu: function() {}, Pf: function() {} }); b.action = function() { return new b.Ob }; b.Ob.create = b.action; b.lf = b.Ob.extend({ u: 0, ctor: function() { b.Ob.prototype.ctor.call(this); this.u = 0 }, tu: function() { return this.u * (this.qb || 1) }, jY: function(a) { this.u = a }, reverse: function() { b.log("cocos2d: FiniteTimeAction#reverse: Implement me"); return null }, d: function() { return new b.lf } }); b.bn = b.Ob.extend({ rc: 0, ta: null, ctor: function(a, c) { b.Ob.prototype.ctor.call(this); this.rc = 0; this.ta = null; a && this.C(a, c) }, CK: function() { return this.rc }, cN: function(a) { this.rc = a }, C: function(a, c) { if (!a) throw "cc.Speed.initWithAction(): action must be non nil"; this.ta = a; this.rc = c; return ! 0 }, d: function() { var a = new b.bn; a.C(this.ta.d(), this.rc); return a }, q: function(a) { b.Ob.prototype.q.call(this, a); this.ta.q(a) }, stop: function() { this.ta.stop(); b.Ob.prototype.stop.call(this) }, step: function(a) { this.ta.step(a * this.rc) }, Rd: function() { return this.ta.Rd() }, reverse: function() { return b.bn.create(this.ta.reverse(), this.rc) }, $A: function(a) { this.ta != a && (this.ta = a) }, uu: function() { return this.ta } }); b.speed = function(a, c) { return new b.bn(a, c) }; b.bn.create = b.speed; b.rq = b.Ob.extend({ Hi: null, qi: !1, un: !1, Wn: null, Xk: null, Rh: 0, Zh: 0, bi: 0, Hh: 0, Qt: null, ctor: function(a, c) { b.Ob.prototype.ctor.call(this); this.Hi = null; this.un = this.qi = !1; this.Xk = this.Wn = null; this.Hh = this.bi = this.Zh = this.Rh = 0; this.Qt = E(0, 0, 0, 0); a && (c ? this.Cj(a, c) : this.Cj(a)) }, d: function() { var a = new b.rq, c = this.Qt; a.Cj(this.Hi, new b.Uv(c.x, c.y, c.width, c.height)); return a }, vV: function() { return this.qi }, XX: function(a) { this.qi = a }, Cj: function(a, c) { if (!a) throw "cc.Follow.initWithAction(): followedNode must be non nil"; c = c || E(0, 0, 0, 0); this.Hi = a; this.Qt = c; this.qi = !b.Ns(c); this.un = !1; var d = b.Qa.Ql(); this.Xk = C(d.width, d.height); this.Wn = b.Kg(this.Xk, 0.5); this.qi && (this.Rh = -(c.x + c.width - this.Xk.x), this.Zh = -c.x, this.bi = -c.y, this.Hh = -(c.y + c.height - this.Xk.y), this.Zh < this.Rh && (this.Zh = this.Rh = (this.Rh + this.Zh) / 2), this.bi < this.Hh && (this.bi = this.Hh = (this.bi + this.Hh) / 2), this.bi == this.Hh && this.Rh == this.Zh && (this.un = !0)); return ! 0 }, step: function() { var a = this.Hi.x, c = this.Hi.y, a = this.Wn.x - a, c = this.Wn.y - c; this.qi ? this.un || this.target.Ma(b.cp(a, this.Rh, this.Zh), b.cp(c, this.Hh, this.bi)) : this.target.Ma(a, c) }, Rd: function() { return ! this.Hi.running }, stop: function() { this.target = null; b.Ob.prototype.stop.call(this) } }); b.LJ = function(a, c) { return new b.rq(a, c) }; b.rq.create = b.LJ; b.o = b.lf.extend({ Ta: 0, Sn: !1, Id: null, qb: 1, rl: !1, Zi: !1, rc: 1, ul: !1, ctor: function(a) { this.qb = this.rc = 1; this.rl = !1; this.MAX_VALUE = 2; this.ul = this.Zi = !1; b.lf.prototype.ctor.call(this); void 0 !== a && this.n(a) }, bU: function() { return this.Ta }, n: function(a) { this.u = 0 === a ? b.Nm: a; this.Ta = 0; return this.Sn = !0 }, Rd: function() { return this.Ta >= this.u }, M: function(a) { a.rl = this.rl; a.rc = this.rc; a.qb = this.qb; a.Id = this.Id; a.ul = this.ul; a.Zi = this.Zi }, pc: function(a) { if (this.Id) { a.Id = []; for (var c = 0; c < this.Id.length; c++) a.Id.push(this.Id[c].reverse()) } }, d: function() { var a = new b.o(this.u); this.M(a); return a }, fa: function(a) { this.Id ? this.Id.length = 0 : this.Id = []; for (var c = 0; c < arguments.length; c++) this.Id.push(arguments[c]); return this }, Hb: function(a) { var c = this.Id; if (!c || 0 === c.length) return a; for (var d = 0, e = c.length; d < e; d++) a = c[d].fa(a); return a }, step: function(a) { this.Sn ? (this.Sn = !1, this.Ta = 0) : this.Ta += a; a = this.Ta / (1.192092896E-7 < this.u ? this.u: 1.192092896E-7); a = 1 > a ? a: 1; this.update(0 < a ? a: 0); this.Zi && 1 < this.qb && this.Rd() && (this.rl || this.qb--, this.q(this.target), this.step(this.Ta - this.u)) }, q: function(a) { b.Ob.prototype.q.call(this, a); this.Ta = 0; this.Sn = !0 }, reverse: function() { b.log("cc.IntervalAction: reverse not implemented."); return null }, VX: function() { b.log("cc.ActionInterval.setAmplitudeRate(): it should be overridden in subclass.") }, ET: function() { b.log("cc.ActionInterval.getAmplitudeRate(): it should be overridden in subclass."); return 0 }, speed: function(a) { if (0 >= a) return b.log("The speed parameter error"), this; this.ul = !0; this.rc *= a; return this }, CK: function() { return this.rc }, cN: function(a) { this.rc = a; return this }, repeat: function(a) { a = Math.round(a); if (isNaN(a) || 1 > a) return b.log("The repeat parameter error"), this; this.Zi = !0; this.qb *= a; return this }, Yh: function() { this.Zi = !0; this.qb = this.MAX_VALUE; this.rl = !0; return this } }); b.iI = function(a) { return new b.o(a) }; b.o.create = b.iI; b.vb = b.o.extend({ Be: null, Ky: null, fl: 0, ctor: function(a) { b.o.prototype.ctor.call(this); this.Be = []; var c = a instanceof Array ? a: arguments, d = c.length - 1; 0 <= d && null == c[d] && b.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = c[0], f = 1; f < d; f++) c[f] && (e = b.vb.nf(e, c[f])); this.Qh(e, c[d]) } }, Qh: function(a, c) { if (!a || !c) throw "cc.Sequence.initWithTwoActions(): arguments must all be non nil"; this.n(a.u + c.u); this.Be[0] = a; this.Be[1] = c; return ! 0 }, d: function() { var a = new b.vb; this.M(a); a.Qh(this.Be[0].d(), this.Be[1].d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.Ky = this.Be[0].u / this.u; this.fl = -1 }, stop: function() { - 1 !== this.fl && this.Be[this.fl].stop(); b.Ob.prototype.stop.call(this) }, update: function(a) { a = this.Hb(a); var c = 0, d = this.Ky, e = this.Be, f = this.fl; a < d ? (a = 0 !== d ? a / d: 1, 0 === c && 1 === f && (e[1].update(0), e[1].stop())) : (c = 1, a = 1 === d ? 1 : (a - d) / (1 - d), -1 === f && (e[0].q(this.target), e[0].update(1), e[0].stop()), f || (e[0].update(1), e[0].stop())); f === c && e[c].Rd() || (f !== c && e[c].q(this.target), e[c].update(a), this.fl = c) }, reverse: function() { var a = b.vb.nf(this.Be[1].reverse(), this.Be[0].reverse()); this.M(a); this.pc(a); return a } }); b.tM = function(a) { var c = a instanceof Array ? a: arguments; 0 < c.length && null == c[c.length - 1] && b.log("parameters should not be ending with null in Javascript"); for (var d = c[0], e = 1; e < c.length; e++) c[e] && (d = b.vb.nf(d, c[e])); return d }; b.vb.create = b.tM; b.vb.nf = function(a, c) { var d = new b.vb; d.Qh(a, c); return d }; b.Qq = b.o.extend({ qb: 0, zg: 0, us: 0, nw: !1, ta: null, ctor: function(a, c) { b.o.prototype.ctor.call(this); void 0 !== c && this.C(a, c) }, C: function(a, c) { return this.n(a.u * c) ? (this.qb = c, this.ta = a, a instanceof b.ve && (this.nw = !0, this.qb -= 1), this.zg = 0, !0) : !1 }, d: function() { var a = new b.Qq; this.M(a); a.C(this.ta.d(), this.qb); return a }, q: function(a) { this.zg = 0; this.us = this.ta.u / this.u; b.o.prototype.q.call(this, a); this.ta.q(a) }, stop: function() { this.ta.stop(); b.Ob.prototype.stop.call(this) }, update: function(a) { a = this.Hb(a); var c = this.ta, d = this.u, e = this.qb, f = this.us; if (a >= f) { for (; a > f && this.zg < e;) c.update(1), this.zg++, c.stop(), c.q(this.target), this.us = f += c.u / d; 1 <= a && this.zg < e && this.zg++; this.nw || (this.zg === e ? (c.update(1), c.stop()) : c.update(a - (f - c.u / d))) } else c.update(a * e % 1) }, Rd: function() { return this.zg == this.qb }, reverse: function() { var a = b.repeat(this.ta.reverse(), this.qb); this.M(a); this.pc(a); return a }, $A: function(a) { this.ta != a && (this.ta = a) }, uu: function() { return this.ta } }); b.repeat = function(a, c) { return new b.Qq(a, c) }; b.Qq.create = b.repeat; b.Rq = b.o.extend({ ta: null, ctor: function(a) { b.o.prototype.ctor.call(this); this.ta = null; a && this.C(a) }, C: function(a) { if (!a) throw "cc.RepeatForever.initWithAction(): action must be non null"; this.ta = a; return ! 0 }, d: function() { var a = new b.Rq; this.M(a); a.C(this.ta.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.ta.q(a) }, step: function(a) { var c = this.ta; c.step(a); c.Rd() && (c.q(this.target), c.step(c.Ta - c.u)) }, Rd: function() { return ! 1 }, reverse: function() { var a = b.Yh(this.ta.reverse()); this.M(a); this.pc(a); return a }, $A: function(a) { this.ta != a && (this.ta = a) }, uu: function() { return this.ta } }); b.Yh = function(a) { return new b.Rq(a) }; b.Rq.create = b.Yh; b.Xg = b.o.extend({ tf: null, Hf: null, ctor: function(a) { b.o.prototype.ctor.call(this); this.Hf = this.tf = null; var c = a instanceof Array ? a: arguments, d = c.length - 1; 0 <= d && null == c[d] && b.log("parameters should not be ending with null in Javascript"); if (0 <= d) { for (var e = c[0], f = 1; f < d; f++) c[f] && (e = b.Xg.nf(e, c[f])); this.Qh(e, c[d]) } }, Qh: function(a, c) { if (!a || !c) throw "cc.Spawn.initWithTwoActions(): arguments must all be non null"; var d = !1, e = a.u, f = c.u; this.n(Math.max(e, f)) && (this.tf = a, this.Hf = c, e > f ? this.Hf = b.vb.nf(c, b.hp(e - f)) : e < f && (this.tf = b.vb.nf(a, b.hp(f - e))), d = !0); return d }, d: function() { var a = new b.Xg; this.M(a); a.Qh(this.tf.d(), this.Hf.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.tf.q(a); this.Hf.q(a) }, stop: function() { this.tf.stop(); this.Hf.stop(); b.Ob.prototype.stop.call(this) }, update: function(a) { a = this.Hb(a); this.tf && this.tf.update(a); this.Hf && this.Hf.update(a) }, reverse: function() { var a = b.Xg.nf(this.tf.reverse(), this.Hf.reverse()); this.M(a); this.pc(a); return a } }); b.tN = function(a) { var c = a instanceof Array ? a: arguments; 0 < c.length && null == c[c.length - 1] && b.log("parameters should not be ending with null in Javascript"); for (var d = c[0], e = 1; e < c.length; e++) null != c[e] && (d = b.Xg.nf(d, c[e])); return d }; b.Xg.create = b.tN; b.Xg.nf = function(a, c) { var d = new b.Xg; d.Qh(a, c); return d }; b.Uq = b.o.extend({ Jn: 0, vl: 0, Cw: 0, Mr: 0, dj: 0, Dw: 0, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); void 0 !== c && this.n(a, c, d) }, n: function(a, c, d) { return b.o.prototype.n.call(this, a) ? (this.Jn = c || 0, this.Mr = d || this.Jn, !0) : !1 }, d: function() { var a = new b.Uq; this.M(a); a.n(this.u, this.Jn, this.Mr); return a }, q: function(a) { b.o.prototype.q.call(this, a); var c = a.rotationX % 360, d = this.Jn - c; 180 < d && (d -= 360); - 180 > d && (d += 360); this.vl = c; this.Cw = d; this.dj = a.rotationY % 360; a = this.Mr - this.dj; 180 < a && (a -= 360); - 180 > a && (a += 360); this.Dw = a }, reverse: function() { b.log("cc.RotateTo.reverse(): it should be overridden in subclass.") }, update: function(a) { a = this.Hb(a); this.target && (this.target.rotationX = this.vl + this.Cw * a, this.target.rotationY = this.dj + this.Dw * a) } }); b.nM = function(a, c, d) { return new b.Uq(a, c, d) }; b.Uq.create = b.nM; b.Tq = b.o.extend({ Zd: 0, vl: 0, pn: 0, dj: 0, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); void 0 !== c && this.n(a, c, d) }, n: function(a, c, d) { return b.o.prototype.n.call(this, a) ? (this.Zd = c || 0, this.pn = d || this.Zd, !0) : !1 }, d: function() { var a = new b.Tq; this.M(a); a.n(this.u, this.Zd, this.pn); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.vl = a.rotationX; this.dj = a.rotationY }, update: function(a) { a = this.Hb(a); this.target && (this.target.rotationX = this.vl + this.Zd * a, this.target.rotationY = this.dj + this.pn * a) }, reverse: function() { var a = b.NA(this.u, -this.Zd, -this.pn); this.M(a); this.pc(a); return a } }); b.NA = function(a, c, d) { return new b.Tq(a, c, d) }; b.Tq.create = b.NA; b.ub = b.o.extend({ Pe: null, ob: null, yb: null, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); this.Pe = C(0, 0); this.ob = C(0, 0); this.yb = C(0, 0); void 0 !== c && this.n(a, c, d) }, n: function(a, c, d) { return b.o.prototype.n.call(this, a) ? (void 0 !== c.x && (d = c.y, c = c.x), this.Pe.x = c, this.Pe.y = d, !0) : !1 }, d: function() { var a = new b.ub; this.M(a); a.n(this.u, this.Pe); return a }, q: function(a) { b.o.prototype.q.call(this, a); var c = a.ja.x; a = a.ja.y; this.yb.x = c; this.yb.y = a; this.ob.x = c; this.ob.y = a }, update: function(a) { a = this.Hb(a); if (this.target) { var c = this.Pe.x * a; a *= this.Pe.y; var d = this.ob; if (b.rm) { var e = this.target.ja.y, f = this.yb; d.x = d.x + this.target.ja.x - f.x; d.y = d.y + e - f.y; c += d.x; a += d.y; f.x = c; f.y = a; this.target.Ma(c, a) } else this.target.Ma(d.x + c, d.y + a) } }, reverse: function() { var a = b.moveBy(this.u, C( - this.Pe.x, -this.Pe.y)); this.M(a); this.pc(a); return a } }); b.moveBy = function(a, c, d) { return new b.ub(a, c, d) }; b.ub.create = b.moveBy; b.wk = b.ub.extend({ kd: null, ctor: function(a, c, d) { b.ub.prototype.ctor.call(this); this.kd = C(0, 0); void 0 !== c && this.n(a, c, d) }, n: function(a, c, d) { return b.ub.prototype.n.call(this, a, c, d) ? (void 0 !== c.x && (d = c.y, c = c.x), this.kd.x = c, this.kd.y = d, !0) : !1 }, d: function() { var a = new b.wk; this.M(a); a.n(this.u, this.kd); return a }, q: function(a) { b.ub.prototype.q.call(this, a); this.Pe.x = this.kd.x - a.ja.x; this.Pe.y = this.kd.y - a.ja.y } }); b.moveTo = function(a, c, d) { return new b.wk(a, c, d) }; b.wk.create = b.moveTo; b.Wg = b.o.extend({ ie: 0, je: 0, Fo: 0, Go: 0, Mn: 0, Nn: 0, Oc: 0, Pc: 0, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); void 0 !== d && this.n(a, c, d) }, n: function(a, c, d) { var e = !1; b.o.prototype.n.call(this, a) && (this.Mn = c, this.Nn = d, e = !0); return e }, d: function() { var a = new b.Wg; this.M(a); a.n(this.u, this.Mn, this.Nn); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.Fo = a.skewX % 180; this.Oc = this.Mn - this.Fo; 180 < this.Oc && (this.Oc -= 360); - 180 > this.Oc && (this.Oc += 360); this.Go = a.skewY % 360; this.Pc = this.Nn - this.Go; 180 < this.Pc && (this.Pc -= 360); - 180 > this.Pc && (this.Pc += 360) }, update: function(a) { a = this.Hb(a); this.target.skewX = this.Fo + this.Oc * a; this.target.skewY = this.Go + this.Pc * a } }); b.sN = function(a, c, d) { return new b.Wg(a, c, d) }; b.Wg.create = b.sN; b.Xq = b.Wg.extend({ ctor: function(a, c, d) { b.Wg.prototype.ctor.call(this); void 0 !== d && this.n(a, c, d) }, n: function(a, c, d) { var e = !1; b.Wg.prototype.n.call(this, a, c, d) && (this.ie = c, this.je = d, e = !0); return e }, d: function() { var a = new b.Xq; this.M(a); a.n(this.u, this.ie, this.je); return a }, q: function(a) { b.Wg.prototype.q.call(this, a); this.Oc = this.ie; this.Pc = this.je; this.Mn = this.Fo + this.Oc; this.Nn = this.Go + this.Pc }, reverse: function() { var a = b.lB(this.u, -this.ie, -this.je); this.M(a); this.pc(a); return a } }); b.lB = function(a, c, d) { return new b.Xq(a, c, d) }; b.Xq.create = b.lB; b.Tg = b.o.extend({ ob: null, Ge: null, $k: 0, el: 0, yb: null, ctor: function(a, c, d, e, f) { b.o.prototype.ctor.call(this); this.ob = C(0, 0); this.yb = C(0, 0); this.Ge = C(0, 0); void 0 !== e && this.n(a, c, d, e, f) }, n: function(a, c, d, e, f) { return b.o.prototype.n.call(this, a) ? (void 0 === f && (f = e, e = d, d = c.y, c = c.x), this.Ge.x = c, this.Ge.y = d, this.$k = e, this.el = f, !0) : !1 }, d: function() { var a = new b.Tg; this.M(a); a.n(this.u, this.Ge, this.$k, this.el); return a }, q: function(a) { b.o.prototype.q.call(this, a); var c = a.ja.x; a = a.ja.y; this.yb.x = c; this.yb.y = a; this.ob.x = c; this.ob.y = a }, update: function(a) { a = this.Hb(a); if (this.target) { var c = a * this.el % 1, c = 4 * this.$k * c * (1 - c), c = c + this.Ge.y * a; a *= this.Ge.x; var d = this.ob; if (b.rm) { var e = this.target.ja.y, f = this.yb; d.x = d.x + this.target.ja.x - f.x; d.y = d.y + e - f.y; a += d.x; c += d.y; f.x = a; f.y = c; this.target.Ma(a, c) } else this.target.Ma(d.x + a, d.y + c) } }, reverse: function() { var a = b.kA(this.u, C( - this.Ge.x, -this.Ge.y), this.$k, this.el); this.M(a); this.pc(a); return a } }); b.kA = function(a, c, d, e, f) { return new b.Tg(a, c, d, e, f) }; b.Tg.create = b.kA; b.uq = b.Tg.extend({ kd: null, ctor: function(a, c, d, e, f) { b.Tg.prototype.ctor.call(this); this.kd = C(0, 0); void 0 !== e && this.n(a, c, d, e, f) }, n: function(a, c, d, e, f) { return b.Tg.prototype.n.call(this, a, c, d, e, f) ? (void 0 === f && (d = c.y, c = c.x), this.kd.x = c, this.kd.y = d, !0) : !1 }, q: function(a) { b.Tg.prototype.q.call(this, a); this.Ge.x = this.kd.x - this.ob.x; this.Ge.y = this.kd.y - this.ob.y }, d: function() { var a = new b.uq; this.M(a); a.n(this.u, this.kd, this.$k, this.el); return a } }); b.iL = function(a, c, d, e, f) { return new b.uq(a, c, d, e, f) }; b.uq.create = b.iL; b.fz = function(a, c, d, e) { return 0 * Math.pow(1 - e, 3) + 3 * e * Math.pow(1 - e, 2) * a + 3 * Math.pow(e, 2) * (1 - e) * c + Math.pow(e, 3) * d }; b.gi = b.o.extend({ gd: null, ob: null, yb: null, ctor: function(a, c) { b.o.prototype.ctor.call(this); this.gd = []; this.ob = C(0, 0); this.yb = C(0, 0); c && this.n(a, c) }, n: function(a, c) { return b.o.prototype.n.call(this, a) ? (this.gd = c, !0) : !1 }, d: function() { var a = new b.gi; this.M(a); for (var c = [], d = 0; d < this.gd.length; d++) { var e = this.gd[d]; c.push(C(e.x, e.y)) } a.n(this.u, c); return a }, q: function(a) { b.o.prototype.q.call(this, a); var c = a.ja.x; a = a.ja.y; this.yb.x = c; this.yb.y = a; this.ob.x = c; this.ob.y = a }, update: function(a) { a = this.Hb(a); if (this.target) { var c = this.gd, d = b.fz(c[0].x, c[1].x, c[2].x, a); a = b.fz(c[0].y, c[1].y, c[2].y, a); c = this.ob; if (b.rm) { var e = this.target.ja.y, f = this.yb; c.x = c.x + this.target.ja.x - f.x; c.y = c.y + e - f.y; d += c.x; a += c.y; f.x = d; f.y = a; this.target.Ma(d, a) } else this.target.Ma(c.x + d, c.y + a) } }, reverse: function() { var a = this.gd, a = b.gz(this.u, [b.Jj(a[1], b.Uu(a[2])), b.Jj(a[0], b.Uu(a[2])), b.Uu(a[2])]); this.M(a); this.pc(a); return a } }); b.gz = function(a, c) { return new b.gi(a, c) }; b.gi.create = b.gz; b.bq = b.gi.extend({ Qo: null, ctor: function(a, c) { b.gi.prototype.ctor.call(this); this.Qo = []; c && this.n(a, c) }, n: function(a, c) { return b.o.prototype.n.call(this, a) ? (this.Qo = c, !0) : !1 }, d: function() { var a = new b.bq; this.M(a); a.n(this.u, this.Qo); return a }, q: function(a) { b.gi.prototype.q.call(this, a); a = this.ob; var c = this.Qo, d = this.gd; d[0] = b.uc(c[0], a); d[1] = b.uc(c[1], a); d[2] = b.uc(c[2], a) } }); b.II = function(a, c) { return new b.bq(a, c) }; b.bq.create = b.II; b.Vg = b.o.extend({ O: 1, ma: 1, xl: 1, yl: 1, Di: 0, Ei: 0, Oc: 0, Pc: 0, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); void 0 !== c && this.n(a, c, d) }, n: function(a, c, d) { return b.o.prototype.n.call(this, a) ? (this.Di = c, this.Ei = null != d ? d: c, !0) : !1 }, d: function() { var a = new b.Vg; this.M(a); a.n(this.u, this.Di, this.Ei); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.xl = a.scaleX; this.yl = a.scaleY; this.Oc = this.Di - this.xl; this.Pc = this.Ei - this.yl }, update: function(a) { a = this.Hb(a); this.target && (this.target.scaleX = this.xl + this.Oc * a, this.target.scaleY = this.yl + this.Pc * a) } }); b.pM = function(a, c, d) { return new b.Vg(a, c, d) }; b.Vg.create = b.pM; b.Zm = b.Vg.extend({ q: function(a) { b.Vg.prototype.q.call(this, a); this.Oc = this.xl * this.Di - this.xl; this.Pc = this.yl * this.Ei - this.yl }, reverse: function() { var a = b.PA(this.u, 1 / this.Di, 1 / this.Ei); this.M(a); this.pc(a); return a }, d: function() { var a = new b.Zm; this.M(a); a.n(this.u, this.Di, this.Ei); return a } }); b.PA = function(a, c, d) { return new b.Zm(a, c, d) }; b.Zm.create = b.PA; b.cq = b.o.extend({ qb: 0, Wx: !1, ctor: function(a, c) { b.o.prototype.ctor.call(this); void 0 !== c && this.n(a, c) }, n: function(a, c) { return b.o.prototype.n.call(this, a) ? (this.qb = c, !0) : !1 }, d: function() { var a = new b.cq; this.M(a); a.n(this.u, this.qb); return a }, update: function(a) { a = this.Hb(a); if (this.target && !this.Rd()) { var c = 1 / this.qb; this.target.visible = a % c > c / 2 } }, q: function(a) { b.o.prototype.q.call(this, a); this.Wx = a.visible }, stop: function() { this.target.visible = this.Wx; b.o.prototype.stop.call(this) }, reverse: function() { var a = b.blink(this.u, this.qb); this.M(a); this.pc(a); return a } }); b.blink = function(a, c) { return new b.cq(a, c) }; b.cq.create = b.blink; b.Sf = b.o.extend({ mj: 0, Vn: 0, ctor: function(a, c) { b.o.prototype.ctor.call(this); void 0 !== c && this.n(a, c) }, n: function(a, c) { return b.o.prototype.n.call(this, a) ? (this.mj = c, !0) : !1 }, d: function() { var a = new b.Sf; this.M(a); a.n(this.u, this.mj); return a }, update: function(a) { a = this.Hb(a); var c = void 0 !== this.Vn ? this.Vn: 255; this.target.opacity = c + (this.mj - c) * a }, q: function(a) { b.o.prototype.q.call(this, a); this.Vn = a.opacity } }); b.IJ = function(a, c) { return new b.Sf(a, c) }; b.Sf.create = b.IJ; b.Om = b.Sf.extend({ Us: null, ctor: function(a) { b.Sf.prototype.ctor.call(this); a && this.n(a, 255) }, reverse: function() { var a = new b.Pm; a.n(this.u, 0); this.M(a); this.pc(a); return a }, d: function() { var a = new b.Om; this.M(a); a.n(this.u, this.mj); return a }, q: function(a) { this.Us && (this.mj = this.Us.Vn); b.Sf.prototype.q.call(this, a) } }); b.GJ = function(a) { return new b.Om(a) }; b.Om.create = b.GJ; b.Pm = b.Sf.extend({ ctor: function(a) { b.Sf.prototype.ctor.call(this); a && this.n(a, 0) }, reverse: function() { var a = new b.Om; a.Us = this; a.n(this.u, 255); this.M(a); this.pc(a); return a }, d: function() { var a = new b.Pm; this.M(a); a.n(this.u, this.mj); return a } }); b.HJ = function(a) { return new b.Pm(a) }; b.Pm.create = b.HJ; b.$q = b.o.extend({ Po: null, Tr: null, ctor: function(a, c, d, e) { b.o.prototype.ctor.call(this); this.Po = b.color(0, 0, 0); this.Tr = b.color(0, 0, 0); void 0 !== e && this.n(a, c, d, e) }, n: function(a, c, d, e) { return b.o.prototype.n.call(this, a) ? (this.Po = b.color(c, d, e), !0) : !1 }, d: function() { var a = new b.$q; this.M(a); var c = this.Po; a.n(this.u, c.r, c.g, c.b); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.Tr = this.target.color }, update: function(a) { a = this.Hb(a); var c = this.Tr, d = this.Po; c && (this.target.color = b.color(c.r + (d.r - c.r) * a, c.g + (d.g - c.g) * a, c.b + (d.b - c.b) * a)) } }); b.NN = function(a, c, d, e) { return new b.$q(a, c, d, e) }; b.$q.create = b.NN; b.Zq = b.o.extend({ Hn: 0, Gn: 0, Fn: 0, ux: 0, tx: 0, sx: 0, ctor: function(a, c, d, e) { b.o.prototype.ctor.call(this); void 0 !== e && this.n(a, c, d, e) }, n: function(a, c, d, e) { return b.o.prototype.n.call(this, a) ? (this.Hn = c, this.Gn = d, this.Fn = e, !0) : !1 }, d: function() { var a = new b.Zq; this.M(a); a.n(this.u, this.Hn, this.Gn, this.Fn); return a }, q: function(a) { b.o.prototype.q.call(this, a); a = a.color; this.ux = a.r; this.tx = a.g; this.sx = a.b }, update: function(a) { a = this.Hb(a); this.target.color = b.color(this.ux + this.Hn * a, this.tx + this.Gn * a, this.sx + this.Fn * a) }, reverse: function() { var a = b.sB(this.u, -this.Hn, -this.Gn, -this.Fn); this.M(a); this.pc(a); return a } }); b.sB = function(a, c, d, e) { return new b.Zq(a, c, d, e) }; b.Zq.create = b.sB; b.Wd = b.o.extend({ update: function() {}, reverse: function() { var a = b.hp(this.u); this.M(a); this.pc(a); return a }, d: function() { var a = new b.Wd; this.M(a); a.n(this.u); return a } }); b.hp = function(a) { return new b.Wd(a) }; b.Wd.create = b.hp; b.Sq = b.o.extend({ uf: null, ctor: function(a) { b.o.prototype.ctor.call(this); this.uf = null; a && this.C(a) }, C: function(a) { if (!a) throw "cc.ReverseTime.initWithAction(): action must be non null"; if (a == this.uf) throw "cc.ReverseTime.initWithAction(): the action was already passed in."; return b.o.prototype.n.call(this, a.u) ? (this.uf = a, !0) : !1 }, d: function() { var a = new b.Sq; this.M(a); a.C(this.uf.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.uf.q(a) }, update: function(a) { a = this.Hb(a); this.uf && this.uf.update(1 - a) }, reverse: function() { return this.uf.d() }, stop: function() { this.uf.stop(); b.Ob.prototype.stop.call(this) } }); b.MA = function(a) { return new b.Sq(a) }; b.Sq.create = b.MA; b.Zj = b.o.extend({ dg: null, kl: 0, ys: null, Qn: 0, nt: null, ctor: function(a) { b.o.prototype.ctor.call(this); this.nt = []; a && this.Wz(a) }, np: function() { return this.dg }, xM: function(a) { this.dg = a }, Wz: function(a) { if (!a) throw "cc.Animate.initWithAnimation(): animation must be non-NULL"; var c = a.tu(); if (this.n(c * a.sf)) { this.kl = 0; this.xM(a); this.ys = null; this.Qn = 0; var d = this.nt, e = d.length = 0, f = c / a.Ue; a = a.$b; b.qj(a, b.Ad); for (var g = 0; g < a.length; g++) { var h = e * f / c, e = e + a[g].Wb; d.push(h) } return ! 0 } return ! 1 }, d: function() { var a = new b.Zj; this.M(a); a.Wz(this.dg.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.dg.nh && (this.ys = a.cJ()); this.Qn = this.kl = 0 }, update: function(a) { a = this.Hb(a); 1 > a && (a *= this.dg.sf, (0 | a) > this.Qn && (this.kl = 0, this.Qn++), a %= 1); for (var c = this.dg.$b, d = c.length, e = this.nt, f = this.kl; f < d; f++) if (e[f] <= a) this.target.Pg(c[f].Ye()), this.kl = f + 1; else break }, reverse: function() { var a = this.dg, c = a.$b, d = []; b.qj(c, b.Ad); if (0 < c.length) for (var e = c.length - 1; 0 <= e; e--) { var f = c[e]; if (!f) break; d.push(f.d()) } c = b.we.create(d, a.Wb, a.sf); c.Pp(a.nh); a = b.bz(c); this.M(a); this.pc(a); return a }, stop: function() { this.dg.nh && this.target && this.target.Pg(this.ys); b.Ob.prototype.stop.call(this) } }); b.bz = function(a) { return new b.Zj(a) }; b.Zj.create = b.bz; b.Yq = b.o.extend({ Hk: null, Ii: null, ctor: function(a, c) { b.o.prototype.ctor.call(this); c && this.Cj(a, c) }, Cj: function(a, c) { return this.n(c.u) ? (this.Ii = a, this.Hk = c, !0) : !1 }, d: function() { var a = new b.Yq; this.M(a); a.Cj(this.Ii, this.Hk.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.Hk.q(this.Ii) }, stop: function() { this.Hk.stop() }, update: function(a) { a = this.Hb(a); this.Hk.update(a) }, hU: function() { return this.Ii }, nY: function(a) { this.Ii != a && (this.Ii = a) } }); b.FN = function(a, c) { return new b.Yq(a, c) }; b.Yq.create = b.FN; b.ve = b.lf.extend({ Rd: function() { return ! 0 }, step: function() { this.update(1) }, update: function() {}, reverse: function() { return this.d() }, d: function() { return new b.ve } }); b.an = b.ve.extend({ update: function() { this.target.visible = !0 }, reverse: function() { return b.Sm.create() }, d: function() { return new b.an } }); b.show = function() { return new b.an }; b.an.create = b.show; b.Sm = b.ve.extend({ update: function() { this.target.visible = !1 }, reverse: function() { return b.an.create() }, d: function() { return new b.Sm } }); b.OK = function() { return new b.Sm }; b.Sm.create = b.OK; b.fn = b.ve.extend({ update: function() { this.target.visible = !this.target.visible }, reverse: function() { return new b.fn }, d: function() { return new b.fn } }); b.ON = function() { return new b.fn }; b.fn.create = b.ON; b.Ym = b.ve.extend({ co: !0, ctor: function(a) { b.lf.prototype.ctor.call(this); void 0 !== a && this.ga(a) }, update: function() { this.target.hc(this.co) }, ga: function(a) { this.co = a; return ! 0 }, reverse: function() { return new b.Ym(this.co) }, d: function() { return new b.Ym(this.co) } }); b.eM = function(a) { return new b.Ym(a) }; b.Ym.create = b.eM; b.Qm = b.ve.extend({ gb: !1, ctor: function(a) { b.lf.prototype.ctor.call(this); this.gb = !1; void 0 !== a && this.Yz(a) }, Yz: function(a) { this.gb = a; return ! 0 }, update: function() { this.target.flippedX = this.gb }, reverse: function() { return b.Qm.create(!this.gb) }, d: function() { var a = new b.Qm; a.Yz(this.gb); return a } }); b.JJ = function(a) { return new b.Qm(a) }; b.Qm.create = b.JJ; b.Rm = b.ve.extend({ hb: !1, ctor: function(a) { b.lf.prototype.ctor.call(this); this.hb = !1; void 0 !== a && this.Zz(a) }, Zz: function(a) { this.hb = a; return ! 0 }, update: function() { this.target.flippedY = this.hb }, reverse: function() { return b.Rm.create(!this.hb) }, d: function() { var a = new b.Rm; a.Zz(this.hb); return a } }); b.KJ = function(a) { return new b.Rm(a) }; b.Rm.create = b.KJ; b.Eq = b.ve.extend({ me: 0, Hc: 0, ctor: function(a, c) { b.lf.prototype.ctor.call(this); this.Hc = this.me = 0; void 0 !== a && (void 0 !== a.x && (c = a.y, a = a.x), this.bA(a, c)) }, bA: function(a, c) { this.me = a; this.Hc = c; return ! 0 }, update: function() { this.target.Ma(this.me, this.Hc) }, d: function() { var a = new b.Eq; a.bA(this.me, this.Hc); return a } }); b.KL = function(a, c) { return new b.Eq(a, c) }; b.Eq.create = b.KL; b.Bd = b.ve.extend({ zf: null, xn: null, Yk: null, Gr: null, ctor: function(a, c, d) { b.lf.prototype.ctor.call(this); void 0 !== a && (void 0 === c ? this.vp(a) : this.vp(a, c, d)) }, vp: function(a, c, d) { c ? (this.Gr = d, this.xn = a, this.zf = c) : a && (this.Yk = a); return ! 0 }, execute: function() { null != this.xn ? this.xn.call(this.zf, this.target, this.Gr) : this.Yk && this.Yk.call(null, this.target) }, update: function() { this.execute() }, VU: function() { return this.zf }, SY: function(a) { a != this.zf && (this.zf && (this.zf = null), this.zf = a) }, d: function() { var a = new b.Bd; this.zf ? a.vp(this.xn, this.zf, this.Gr) : this.Yk && a.vp(this.Yk); return a } }); b.MI = function(a, c, d) { return new b.Bd(a, c, d) }; b.Bd.create = b.MI; b.Vp = b.o.extend({ Ar: 0, Br: 0, Cr: 0, mx: 0, nx: 0, ox: 0, Sy: 0, Ty: 0, Uy: 0, ctor: function() { b.o.prototype.ctor.call(this); this.Uy = this.Ty = this.Sy = this.ox = this.nx = this.mx = this.Cr = this.Br = this.Ar = 0 }, q: function(a) { b.o.prototype.q.call(this, a); a = a.ru(); var c = a.Dz(); this.Ar = c.x; this.Br = c.y; this.Cr = c.z; c = a.Ez(); this.mx = c.x; this.nx = c.y; this.ox = c.z; a = a.GK(); this.Sy = a.x; this.Ty = a.y; this.Uy = a.z }, d: function() { return new b.Vp }, reverse: function() { return b.MA(this) } }); b.Bq = b.Vp.extend({ ql: 0, Ir: 0, Kk: 0, Aw: 0, Zd: 0, zw: 0, hy: 0, fy: 0, gy: 0, ey: 0, ctor: function(a, c, d, e, f, g, h) { b.Vp.prototype.ctor.call(this); void 0 !== h && this.n(a, c, d, e, f, g, h) }, n: function(a, c, d, e, f, g, h) { return b.o.prototype.n.call(this, a) ? (this.ql = c, this.Ir = d, this.Kk = e, this.Aw = f, this.Zd = g, this.zw = h, this.fy = b.Gg(f), this.ey = b.Gg(h), !0) : !1 }, uN: function() { var a = this.target.ru(), c = a.Ez(), d = a.Dz(), a = c.x - d.x, e = c.y - d.y, c = c.z - d.z, d = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2) + Math.pow(c, 2)), f = Math.sqrt(Math.pow(a, 2) + Math.pow(e, 2)); 0 === f && (f = b.Nm); 0 === d && (d = b.Nm); return { AL: d / b.bk.Rl(), aO: Math.acos(c / d), azimuth: 0 > a ? Math.PI - Math.asin(e / f) : Math.asin(e / f) } }, q: function(a) { b.o.prototype.q.call(this, a); a = this.uN(); isNaN(this.ql) && (this.ql = a.AL); isNaN(this.Kk) && (this.Kk = b.wA(a.aO)); isNaN(this.Zd) && (this.Zd = b.wA(a.azimuth)); this.hy = b.Gg(this.Kk); this.gy = b.Gg(this.Zd) }, d: function() { var a = new b.Bq; a.n(this.u, this.ql, this.Ir, this.Kk, this.Aw, this.Zd, this.zw); return a }, update: function(a) { a = this.Hb(a); var c = (this.ql + this.Ir * a) * b.bk.Rl(), d = this.hy + this.fy * a, e = this.gy + this.ey * a; a = Math.sin(d) * Math.cos(e) * c + this.Ar; e = Math.sin(d) * Math.sin(e) * c + this.Br; c = Math.cos(d) * c + this.Cr; this.target.ru().YA(a, e, c) } }); b.DL = function(a, c, d, e, f, g, h) { return new b.Bq(a, c, d, e, f, g, h) }; b.Bq.create = b.DL; b.ba = b.o.extend({ i: null, ctor: function(a) { b.o.prototype.ctor.call(this); a && this.C(a) }, C: function(a) { if (!a) throw "cc.ActionEase.initWithAction(): action must be non nil"; return this.n(a.tu()) ? (this.i = a, !0) : !1 }, d: function() { var a = new b.ba; a.C(this.i.d()); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.i.q(this.target) }, stop: function() { this.i.stop(); b.o.prototype.stop.call(this) }, update: function(a) { this.i.update(a) }, reverse: function() { return b.ba.create(this.i.reverse()) }, uu: function() { return this.i } }); b.hI = function(a) { return new b.ba(a) }; b.ba.create = b.hI; b.Sg = b.ba.extend({ Ua: 0, ctor: function(a, c) { b.ba.prototype.ctor.call(this); void 0 !== c && this.C(a, c) }, KY: function(a) { this.Ua = a }, JU: function() { return this.Ua }, C: function(a, c) { return b.ba.prototype.C.call(this, a) ? (this.Ua = c, !0) : !1 }, d: function() { var a = new b.Sg; a.C(this.i.d(), this.Ua); return a }, reverse: function() { return b.Sg.create(this.i.reverse(), 1 / this.Ua) } }); b.uJ = function(a, c) { return new b.Sg(a, c) }; b.Sg.create = b.uJ; b.Gm = b.Sg.extend({ update: function(a) { this.i.update(Math.pow(a, this.Ua)) }, reverse: function() { return b.Gm.create(this.i.reverse(), 1 / this.Ua) }, d: function() { var a = new b.Gm; a.C(this.i.d(), this.Ua); return a } }); b.Gm.create = function(a, c) { return new b.Gm(a, c) }; b.rJ = function(a) { return { Ua: a, fa: function(a) { return Math.pow(a, this.Ua) }, reverse: function() { return b.rJ(1 / this.Ua) } } }; b.Im = b.Sg.extend({ update: function(a) { this.i.update(Math.pow(a, 1 / this.Ua)) }, reverse: function() { return b.Im.create(this.i.reverse(), 1 / this.Ua) }, d: function() { var a = new b.Im; a.C(this.i.d(), this.Ua); return a } }); b.Im.create = function(a, c) { return new b.Im(a, c) }; b.tJ = function(a) { return { Ua: a, fa: function(a) { return Math.pow(a, 1 / this.Ua) }, reverse: function() { return b.tJ(1 / this.Ua) } } }; b.Hm = b.Sg.extend({ update: function(a) { a *= 2; 1 > a ? this.i.update(0.5 * Math.pow(a, this.Ua)) : this.i.update(1 - 0.5 * Math.pow(2 - a, this.Ua)) }, d: function() { var a = new b.Hm; a.C(this.i.d(), this.Ua); return a }, reverse: function() { return b.Hm.create(this.i.reverse(), this.Ua) } }); b.Hm.create = function(a, c) { return new b.Hm(a, c) }; b.sJ = function(a) { return { Ua: a, fa: function(a) { a *= 2; return 1 > a ? 0.5 * Math.pow(a, this.Ua) : 1 - 0.5 * Math.pow(2 - a, this.Ua) }, reverse: function() { return b.sJ(this.Ua) } } }; b.Dm = b.ba.extend({ update: function(a) { this.i.update(0 === a ? 0 : Math.pow(2, 10 * (a - 1))) }, reverse: function() { return b.Fm.create(this.i.reverse()) }, d: function() { var a = new b.Dm; a.C(this.i.d()); return a } }); b.Dm.create = function(a) { return new b.Dm(a) }; b.Uw = { fa: function(a) { return 0 === a ? 0 : Math.pow(2, 10 * (a - 1)) }, reverse: function() { return b.Ww } }; b.SS = function() { return b.Uw }; b.Fm = b.ba.extend({ update: function(a) { this.i.update(1 == a ? 1 : -Math.pow(2, -10 * a) + 1) }, reverse: function() { return b.Dm.create(this.i.reverse()) }, d: function() { var a = new b.Fm; a.C(this.i.d()); return a } }); b.Fm.create = function(a) { return new b.Fm(a) }; b.Ww = { fa: function(a) { return 1 == a ? 1 : -Math.pow(2, -10 * a) + 1 }, reverse: function() { return b.Uw } }; b.US = function() { return b.Ww }; b.Em = b.ba.extend({ update: function(a) { 1 != a && 0 !== a && (a *= 2, a = 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * ( - Math.pow(2, -10 * (a - 1)) + 2)); this.i.update(a) }, reverse: function() { return b.Em.create(this.i.reverse()) }, d: function() { var a = new b.Em; a.C(this.i.d()); return a } }); b.Em.create = function(a) { return new b.Em(a) }; b.Vw = { fa: function(a) { return 1 !== a && 0 !== a ? (a *= 2, 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * ( - Math.pow(2, -10 * (a - 1)) + 2)) : a }, reverse: function() { return b.Vw } }; b.TS = function() { return b.Vw }; b.Jm = b.ba.extend({ update: function(a) { a = 0 === a || 1 === a ? a: -1 * Math.cos(a * Math.PI / 2) + 1; this.i.update(a) }, reverse: function() { return b.Lm.create(this.i.reverse()) }, d: function() { var a = new b.Jm; a.C(this.i.d()); return a } }); b.Jm.create = function(a) { return new b.Jm(a) }; b.fx = { fa: function(a) { return 0 === a || 1 === a ? a: -1 * Math.cos(a * Math.PI / 2) + 1 }, reverse: function() { return b.hx } }; b.dT = function() { return b.fx }; b.Lm = b.ba.extend({ update: function(a) { a = 0 === a || 1 === a ? a: Math.sin(a * Math.PI / 2); this.i.update(a) }, reverse: function() { return b.Jm.create(this.i.reverse()) }, d: function() { var a = new b.Lm; a.C(this.i.d()); return a } }); b.Lm.create = function(a) { return new b.Lm(a) }; b.hx = { fa: function(a) { return 0 === a || 1 == a ? a: Math.sin(a * Math.PI / 2) }, reverse: function() { return b.fx } }; b.fT = function() { return b.hx }; b.Km = b.ba.extend({ update: function(a) { a = 0 === a || 1 === a ? a: -0.5 * (Math.cos(Math.PI * a) - 1); this.i.update(a) }, d: function() { var a = new b.Km; a.C(this.i.d()); return a }, reverse: function() { return b.Km.create(this.i.reverse()) } }); b.Km.create = function(a) { return new b.Km(a) }; b.gx = { fa: function(a) { return 0 === a || 1 === a ? a: -0.5 * (Math.cos(Math.PI * a) - 1) }, reverse: function() { return b.gx } }; b.eT = function() { return b.gx }; b.hi = b.ba.extend({ Ea: 0.3, ctor: function(a, c) { b.ba.prototype.ctor.call(this); a && this.C(a, c) }, CU: function() { return this.Ea }, GY: function(a) { this.Ea = a }, C: function(a, c) { b.ba.prototype.C.call(this, a); this.Ea = null == c ? 0.3 : c; return ! 0 }, reverse: function() { b.log("cc.EaseElastic.reverse(): it should be overridden in subclass."); return null }, d: function() { var a = new b.hi; a.C(this.i.d(), this.Ea); return a } }); b.hi.create = function(a, c) { return new b.hi(a, c) }; b.Am = b.hi.extend({ update: function(a) { var c = 0; 0 === a || 1 === a ? c = a: (c = this.Ea / 4, a -= 1, c = -Math.pow(2, 10 * a) * Math.sin((a - c) * Math.PI * 2 / this.Ea)); this.i.update(c) }, reverse: function() { return b.Cm.create(this.i.reverse(), this.Ea) }, d: function() { var a = new b.Am; a.C(this.i.d(), this.Ea); return a } }); b.Am.create = function(a, c) { return new b.Am(a, c) }; b.Sw = { fa: function(a) { if (0 === a || 1 === a) return a; a -= 1; return - Math.pow(2, 10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3) }, reverse: function() { return b.Tw } }; b.oJ = function(a) { return a && 0.3 !== a ? { Ea: a, fa: function(a) { if (0 === a || 1 === a) return a; a -= 1; return - Math.pow(2, 10 * a) * Math.sin((a - this.Ea / 4) * Math.PI * 2 / this.Ea) }, reverse: function() { return b.qJ(this.Ea) } }: b.Sw }; b.Cm = b.hi.extend({ update: function(a) { var c = 0, c = 0 === a || 1 == a ? a: Math.pow(2, -10 * a) * Math.sin((a - this.Ea / 4) * Math.PI * 2 / this.Ea) + 1; this.i.update(c) }, reverse: function() { return b.Am.create(this.i.reverse(), this.Ea) }, d: function() { var a = new b.Cm; a.C(this.i.d(), this.Ea); return a } }); b.Cm.create = function(a, c) { return new b.Cm(a, c) }; b.Tw = { fa: function(a) { return 0 === a || 1 === a ? a: Math.pow(2, -10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3) + 1 }, reverse: function() { return b.Sw } }; b.qJ = function(a) { return a && 0.3 !== a ? { Ea: a, fa: function(a) { return 0 === a || 1 === a ? a: Math.pow(2, -10 * a) * Math.sin((a - this.Ea / 4) * Math.PI * 2 / this.Ea) + 1 }, reverse: function() { return b.oJ(this.Ea) } }: b.Tw }; b.Bm = b.hi.extend({ update: function(a) { var c = 0, c = this.Ea; if (0 === a || 1 == a) c = a; else { c || (c = this.Ea = 0.3 * 1.5); var d = c / 4; a = 2 * a - 1; c = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - d) * Math.PI * 2 / c) : Math.pow(2, -10 * a) * Math.sin((a - d) * Math.PI * 2 / c) * 0.5 + 1 } this.i.update(c) }, reverse: function() { return b.Bm.create(this.i.reverse(), this.Ea) }, d: function() { var a = new b.Bm; a.C(this.i.d(), this.Ea); return a } }); b.Bm.create = function(a, c) { return new b.Bm(a, c) }; b.pJ = function(a) { return { Ea: a || 0.3, fa: function(a) { var d = 0, d = this.Ea; if (0 === a || 1 === a) d = a; else { d || (d = this.Ea = 0.3 * 1.5); var e = d / 4; a = 2 * a - 1; d = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - e) * Math.PI * 2 / d) : Math.pow(2, -10 * a) * Math.sin((a - e) * Math.PI * 2 / d) * 0.5 + 1 } return d }, reverse: function() { return b.pJ(this.Ea) } } }; b.Rg = b.ba.extend({ Yo: function(a) { if (a < 1 / 2.75) return 7.5625 * a * a; if (a < 2 / 2.75) return a -= 1.5 / 2.75, 7.5625 * a * a + 0.75; if (a < 2.5 / 2.75) return a -= 2.25 / 2.75, 7.5625 * a * a + 0.9375; a -= 2.625 / 2.75; return 7.5625 * a * a + 0.984375 }, d: function() { var a = new b.Rg; a.C(this.i.d()); return a }, reverse: function() { return b.Rg.create(this.i.reverse()) } }); b.Rg.create = function(a) { return new b.Rg(a) }; b.xm = b.Rg.extend({ update: function(a) { this.i.update(1 - this.Yo(1 - a)) }, reverse: function() { return b.zm.create(this.i.reverse()) }, d: function() { var a = new b.xm; a.C(this.i.d()); return a } }); b.xm.create = function(a) { return new b.xm(a) }; b.tn = function(a) { if (a < 1 / 2.75) return 7.5625 * a * a; if (a < 2 / 2.75) return a -= 1.5 / 2.75, 7.5625 * a * a + 0.75; if (a < 2.5 / 2.75) return a -= 2.25 / 2.75, 7.5625 * a * a + 0.9375; a -= 2.625 / 2.75; return 7.5625 * a * a + 0.984375 }; b.Jw = { fa: function(a) { return 1 - b.tn(1 - a) }, reverse: function() { return b.Lw } }; b.JS = function() { return b.Jw }; b.zm = b.Rg.extend({ update: function(a) { this.i.update(this.Yo(a)) }, reverse: function() { return b.xm.create(this.i.reverse()) }, d: function() { var a = new b.zm; a.C(this.i.d()); return a } }); b.zm.create = function(a) { return new b.zm(a) }; b.Lw = { fa: function(a) { return b.tn(a) }, reverse: function() { return b.Jw } }; b.LS = function() { return b.Lw }; b.ym = b.Rg.extend({ update: function(a) { var c = 0, c = 0.5 > a ? 0.5 * (1 - this.Yo(1 - 2 * a)) : 0.5 * this.Yo(2 * a - 1) + 0.5; this.i.update(c) }, d: function() { var a = new b.ym; a.C(this.i.d()); return a }, reverse: function() { return b.ym.create(this.i.reverse()) } }); b.ym.create = function(a) { return new b.ym(a) }; b.Kw = { fa: function(a) { return a = 0.5 > a ? 0.5 * (1 - b.tn(1 - 2 * a)) : 0.5 * b.tn(2 * a - 1) + 0.5 }, reverse: function() { return b.Kw } }; b.KS = function() { return b.Kw }; b.um = b.ba.extend({ update: function(a) { this.i.update(0 === a || 1 == a ? a: a * a * (2.70158 * a - 1.70158)) }, reverse: function() { return b.wm.create(this.i.reverse()) }, d: function() { var a = new b.um; a.C(this.i.d()); return a } }); b.um.create = function(a) { return new b.um(a) }; b.Gw = { fa: function(a) { return 0 === a || 1 === a ? a: a * a * (2.70158 * a - 1.70158) }, reverse: function() { return b.Iw } }; b.GS = function() { return b.Gw }; b.wm = b.ba.extend({ update: function(a) { a -= 1; this.i.update(a * a * (2.70158 * a + 1.70158) + 1) }, reverse: function() { return b.um.create(this.i.reverse()) }, d: function() { var a = new b.wm; a.C(this.i.d()); return a } }); b.wm.create = function(a) { return new b.wm(a) }; b.Iw = { fa: function(a) { a -= 1; return a * a * (2.70158 * a + 1.70158) + 1 }, reverse: function() { return b.Gw } }; b.IS = function() { return b.Iw }; b.vm = b.ba.extend({ update: function(a) { a *= 2; 1 > a ? this.i.update(a * a * (3.5949095 * a - 2.5949095) / 2) : (a -= 2, this.i.update(a * a * (3.5949095 * a + 2.5949095) / 2 + 1)) }, d: function() { var a = new b.vm; a.C(this.i.d()); return a }, reverse: function() { return b.vm.create(this.i.reverse()) } }); b.vm.create = function(a) { return new b.vm(a) }; b.Hw = { fa: function(a) { a *= 2; if (1 > a) return a * a * (3.5949095 * a - 2.5949095) / 2; a -= 2; return a * a * (3.5949095 * a + 2.5949095) / 2 + 1 }, reverse: function() { return b.Hw } }; b.HS = function() { return b.Hw }; b.fk = b.ba.extend({ po: null, qo: null, ro: null, so: null, ctor: function(a) { b.ba.prototype.ctor.call(this, a) }, H: function(a, c, d, e, f) { return Math.pow(1 - f, 3) * a + 3 * f * Math.pow(1 - f, 2) * c + 3 * Math.pow(f, 2) * (1 - f) * d + Math.pow(f, 3) * e }, update: function(a) { this.i.update(this.H(this.po, this.qo, this.ro, this.so, a)) }, d: function() { var a = new b.fk; a.C(this.i.d()); a.TA(this.po, this.qo, this.ro, this.so); return a }, reverse: function() { var a = b.fk.create(this.i.reverse()); a.TA(this.so, this.ro, this.qo, this.po); return a }, TA: function(a, c, d, e) { this.po = a || 0; this.qo = c || 0; this.ro = d || 0; this.so = e || 0 } }); b.fk.create = function(a) { return new b.fk(a) }; b.nJ = function(a, c, d, e) { return { fa: function(f) { return b.fk.prototype.H(a, c, d, e, f) }, reverse: function() { return b.nJ(e, d, c, a) } } }; b.mk = b.ba.extend({ H: function(a) { return Math.pow(a, 2) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.mk; a.C(this.i.d()); return a }, reverse: function() { return b.mk.create(this.i.reverse()) } }); b.mk.create = function(a) { return new b.mk(a) }; b.Xw = { fa: b.mk.prototype.H, reverse: function() { return b.Xw } }; b.VS = function() { return b.Xw }; b.ok = b.ba.extend({ H: function(a) { return - a * (a - 2) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.ok; a.C(); return a }, reverse: function() { return b.ok.create(this.i.reverse()) } }); b.ok.create = function(a) { return new b.ok(a) }; b.Zw = { fa: b.ok.prototype.H, reverse: function() { return b.Zw } }; b.XS = function() { return b.Zw }; b.nk = b.ba.extend({ H: function(a) { var c = a; a *= 2; 1 > a ? c = a * a * 0.5 : (--a, c = -0.5 * (a * (a - 2) - 1)); return c }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.nk; a.C(this.i.d()); return a }, reverse: function() { return b.nk.create(this.i.reverse()) } }); b.nk.create = function(a) { return new b.nk(a) }; b.Yw = { fa: b.nk.prototype.H, reverse: function() { return b.Yw } }; b.WS = function() { return b.Yw }; b.pk = b.ba.extend({ H: function(a) { return a * a * a * a }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.pk; a.C(this.i.d()); return a }, reverse: function() { return b.pk.create(this.i.reverse()) } }); b.pk.create = function(a) { return new b.pk(a) }; b.$w = { fa: b.pk.prototype.H, reverse: function() { return b.$w } }; b.YS = function() { return b.$w }; b.rk = b.ba.extend({ H: function(a) { a -= 1; return - (a * a * a * a - 1) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.rk; a.C(this.i.d()); return a }, reverse: function() { return b.rk.create(this.i.reverse()) } }); b.rk.create = function(a) { return new b.rk(a) }; b.bx = { fa: b.rk.prototype.H, reverse: function() { return b.bx } }; b.$S = function() { return b.bx }; b.qk = b.ba.extend({ H: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a * a; a -= 2; return - 0.5 * (a * a * a * a - 2) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.qk; a.C(this.i.d()); return a }, reverse: function() { return b.qk.create(this.i.reverse()) } }); b.qk.create = function(a) { return new b.qk(a) }; b.ax = { fa: b.qk.prototype.H, reverse: function() { return b.ax } }; b.ZS = function() { return b.ax }; b.sk = b.ba.extend({ H: function(a) { return a * a * a * a * a }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.sk; a.C(this.i.d()); return a }, reverse: function() { return b.sk.create(this.i.reverse()) } }); b.sk.create = function(a) { return new b.sk(a) }; b.cx = { fa: b.sk.prototype.H, reverse: function() { return b.cx } }; b.aT = function() { return b.cx }; b.uk = b.ba.extend({ H: function(a) { a -= 1; return a * a * a * a * a + 1 }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.uk; a.C(this.i.d()); return a }, reverse: function() { return b.uk.create(this.i.reverse()) } }); b.uk.create = function(a) { return new b.uk(a) }; b.ex = { fa: b.uk.prototype.H, reverse: function() { return b.ex } }; b.cT = function() { return b.ex }; b.tk = b.ba.extend({ H: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a * a * a; a -= 2; return 0.5 * (a * a * a * a * a + 2) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.tk; a.C(this.i.d()); return a }, reverse: function() { return b.tk.create(this.i.reverse()) } }); b.tk.create = function(a) { return new b.tk(a) }; b.dx = { fa: b.tk.prototype.H, reverse: function() { return b.dx } }; b.bT = function() { return b.dx }; b.gk = b.ba.extend({ H: function(a) { return - 1 * (Math.sqrt(1 - a * a) - 1) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.gk; a.C(this.i.d()); return a }, reverse: function() { return b.gk.create(this.i.reverse()) } }); b.gk.create = function(a) { return new b.gk(a) }; b.Mw = { fa: b.gk.prototype.H, reverse: function() { return b.Mw } }; b.MS = function() { return b.Mw }; b.ik = b.ba.extend({ H: function(a) { a -= 1; return Math.sqrt(1 - a * a) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.ik; a.C(this.i.d()); return a }, reverse: function() { return b.ik.create(this.i.reverse()) } }); b.ik.create = function(a) { return new b.ik(a) }; b.Ow = { fa: b.ik.prototype.H, reverse: function() { return b.Ow } }; b.OS = function() { return b.Ow }; b.hk = b.ba.extend({ H: function(a) { a *= 2; if (1 > a) return - 0.5 * (Math.sqrt(1 - a * a) - 1); a -= 2; return 0.5 * (Math.sqrt(1 - a * a) + 1) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.hk; a.C(this.i.d()); return a }, reverse: function() { return b.hk.create(this.i.reverse()) } }); b.hk.create = function(a) { return new b.hk(a) }; b.Nw = { fa: b.hk.prototype.H, reverse: function() { return b.Nw } }; b.NS = function() { return b.Nw }; b.jk = b.ba.extend({ H: function(a) { return a * a * a }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.jk; a.C(this.i.d()); return a }, reverse: function() { return b.jk.create(this.i.reverse()) } }); b.jk.create = function(a) { return new b.jk(a) }; b.Pw = { fa: b.jk.prototype.H, reverse: function() { return b.Pw } }; b.PS = function() { return b.Pw }; b.lk = b.ba.extend({ H: function(a) { a -= 1; return a * a * a + 1 }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.lk; a.C(this.i.d()); return a }, reverse: function() { return b.lk.create(this.i.reverse()) } }); b.lk.create = function(a) { return new b.lk(a) }; b.Rw = { fa: b.lk.prototype.H, reverse: function() { return b.Rw } }; b.RS = function() { return b.Rw }; b.kk = b.ba.extend({ H: function(a) { a *= 2; if (1 > a) return 0.5 * a * a * a; a -= 2; return 0.5 * (a * a * a + 2) }, update: function(a) { this.i.update(this.H(a)) }, d: function() { var a = new b.kk; a.C(this.i.d()); return a }, reverse: function() { return b.kk.create(this.i.reverse()) } }); b.kk.create = function(a) { return new b.kk(a) }; b.Qw = { fa: b.kk.prototype.H, reverse: function() { return b.Qw } }; b.QS = function() { return b.Qw }; b.$t = function(a, c, d, e, f, g) { var h = g * g, k = h * g, m = (1 - f) / 2; f = m * ( - k + 2 * h - g); var n = m * ( - k + h) + (2 * k - 3 * h + 1); g = m * (k - 2 * h + g) + ( - 2 * k + 3 * h); h = m * (k - h); return C(a.x * f + c.x * n + d.x * g + e.x * h, a.y * f + c.y * n + d.y * g + e.y * h) }; b.LA = function(a) { for (var c = [], d = a.length - 1; 0 <= d; d--) c.push(C(a[d].x, a[d].y)); return c }; b.dp = function(a) { for (var c = [], d = 0; d < a.length; d++) c.push(C(a[d].x, a[d].y)); return c }; b.Fb = function(a, c) { var d = Math.min(a.length - 1, Math.max(c, 0)); return a[d] }; b.LX = function(a) { for (var c = a.length, d = 0 | c / 2, e = 0; e < d; ++e) { var f = a[e]; a[e] = a[c - e - 1]; a[c - e - 1] = f } }; b.jf = b.o.extend({ fe: null, Bw: 0, gj: 0, yb: null, mw: null, ctor: function(a, c, d) { b.o.prototype.ctor.call(this); this.fe = []; void 0 !== d && this.n(a, c, d) }, n: function(a, c, d) { if (!c || 0 == c.length) throw "Invalid configuration. It must at least have one control point"; return b.o.prototype.n.call(this, a) ? (this.TM(c), this.gj = d, !0) : !1 }, d: function() { var a = new b.jf; a.n(this.u, b.dp(this.fe), this.gj); return a }, q: function(a) { b.o.prototype.q.call(this, a); this.Bw = 1 / (this.fe.length - 1); this.yb = C(this.target.ja.x, this.target.ja.y); this.mw = C(0, 0) }, update: function(a) { a = this.Hb(a); var c, d = this.fe; if (1 == a) c = d.length - 1, a = 1; else { var e = this.Bw; c = 0 | a / e; a = (a - e * c) / e } c = b.$t(b.Fb(d, c - 1), b.Fb(d, c - 0), b.Fb(d, c + 1), b.Fb(d, c + 2), this.gj, a); b.rm && (d = this.target.ja.x - this.yb.x, a = this.target.ja.y - this.yb.y, 0 != d || 0 != a) && (e = this.mw, d = e.x + d, a = e.y + a, e.x = d, e.y = a, c.x += d, c.y += a); this.BB(c) }, reverse: function() { var a = b.LA(this.fe); return b.kz(this.u, a, this.gj) }, BB: function(a) { this.target.Ma(a); this.yb = a }, DU: function() { return this.fe }, TM: function(a) { this.fe = a } }); b.kz = function(a, c, d) { return new b.jf(a, c, d) }; b.jf.create = b.kz; b.ck = b.jf.extend({ ob: null, ctor: function(a, c, d) { b.jf.prototype.ctor.call(this); this.ob = C(0, 0); void 0 !== d && this.n(a, c, d) }, q: function(a) { b.jf.prototype.q.call(this, a); this.ob.x = a.ja.x; this.ob.y = a.ja.y }, reverse: function() { for (var a = this.fe.slice(), c, d = a[0], e = 1; e < a.length; ++e) c = a[e], a[e] = b.uc(c, d), d = c; a = b.LA(a); d = a[a.length - 1]; a.pop(); d.x = -d.x; d.y = -d.y; a.unshift(d); for (e = 1; e < a.length; ++e) c = a[e], c.x = -c.x, c.y = -c.y, c.x += d.x, c.y += d.y, d = a[e] = c; return b.jz(this.u, a, this.gj) }, BB: function(a) { var c = this.ob, d = a.x + c.x; a = a.y + c.y; this.yb.x = d; this.yb.y = a; this.target.Ma(d, a) }, d: function() { var a = new b.ck; a.n(this.u, b.dp(this.fe), this.gj); return a } }); b.jz = function(a, c, d) { return new b.ck(a, c, d) }; b.ck.create = b.jz; b.gq = b.jf.extend({ ctor: function(a, c) { c && this.n(a, c) }, n: function(a, c) { return b.jf.prototype.n.call(this, a, c, 0.5) }, d: function() { var a = new b.gq; a.n(this.u, b.dp(this.fe)); return a } }); b.OI = function(a, c) { return new b.gq(a, c) }; b.gq.create = b.OI; b.fq = b.ck.extend({ ctor: function(a, c) { b.ck.prototype.ctor.call(this); c && this.n(a, c) }, n: function(a, c) { return b.jf.prototype.n.call(this, a, c, 0.5) }, d: function() { var a = new b.fq; a.n(this.u, b.dp(this.fe)); return a } }); b.NI = function(a, c) { return new b.fq(a, c) }; b.fq.create = b.NI; b.rO = b.oa.extend({ SN: function() {} }); b.Wp = b.o.extend({ key: "", kp: 0, Sp: 0, aJ: 0, ctor: function(a, c, d, e) { b.o.prototype.ctor.call(this); this.key = ""; void 0 !== e && this.n(a, c, d, e) }, n: function(a, c, d, e) { return b.o.prototype.n.call(this, a) ? (this.key = c, this.Sp = e, this.kp = d, !0) : !1 }, q: function(a) { if (!a || !a.SN) throw "cc.ActionTween.startWithTarget(): target must be non-null, and target must implement updateTweenAction function"; b.o.prototype.q.call(this, a); this.aJ = this.Sp - this.kp }, update: function() {}, reverse: function() { return b.Zy(this.duration, this.key, this.Sp, this.kp) }, d: function() { var a = new b.Wp; a.n(this.u, this.key, this.kp, this.Sp); return a } }); b.Zy = function(a, c, d, e) { return new b.Wp(a, c, d, e) }; b.Wp.create = b.Zy; b.Tf = b.hf.extend({ Ja: null, qs: null, T: !1, qa: null, Mc: "LabelAtlas", ctor: function(a, c, d, e, f) { b.hf.prototype.ctor.call(this); c && b.Tf.prototype.Qd.call(this, a, c, d, e, f) }, nv: function() { return this.T }, Vc: function(a, c) { this.qa || (this.qa = []); this.qa.push({ ne: a, td: c }) }, Ub: function() { if (this.qa) { this.T = !0; for (var a = this.qa, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } }, Qd: function(a, c, d, e, f) { var g = a + "", h, k; if (void 0 === d) { d = b.D.Yc(c); if (1 !== parseInt(d.version, 10)) return b.log("cc.LabelAtlas.initWithString(): Unsupported version. Upgrade cocos2d version"), !1; c = b.path.$o(c, d.textureFilename); e = b.Ka(); h = parseInt(d.itemWidth, 10) / e; k = parseInt(d.itemHeight, 10) / e; d = String.fromCharCode(parseInt(d.firstChar, 10)) } else h = d || 0, k = e || 0, d = f || " "; var m = null, m = c instanceof b.K ? c: b.va.cc(c); (this.T = c = m.xb) || m.Vc(function() { this.ia(m, h, k, g.length); this.string = g; this.Ub() }, this); return this.ia(m, h, k, g.length) ? (this.qs = d, this.string = g, !0) : !1 }, V: function(a) { b.hf.prototype.V.call(this, a); this.Vj() }, Nl: function() { return this.Ja }, na: function(a) { b.hf.prototype.na.call(this, a); b.IC && (a = this.size, b.Hd.gc([C(0, 0), C(a.width, 0), C(a.width, a.height), C(0, a.height)], 4, !0)) }, rr: function(a, c, d) { a.NG = !0; b.m.prototype.N.call(this, a, c, d) }, Vj: null, $H: function() { for (var a = this.Ja || "", c = a.length, d = this.texture, e = this.Ke, f = this.de, g = 0; g < c; g++) { var h = a.charCodeAt(g) - this.qs.charCodeAt(0), h = E(parseInt(h % this.Ti, 10) * e, parseInt(h / this.Ti, 10) * f, e, f), k = a.charCodeAt(g), m = this.Od(g); m ? 32 == k ? (m.ga(), m.Ha(E(0, 0, 10, 10), !1, D(0, 0))) : (m.ia(d, h), m.visible = !0, m.opacity = this.sa) : (m = new b.B, 32 == k ? (m.ga(), m.Ha(E(0, 0, 10, 10), !1, D(0, 0))) : m.ia(d, h), b.m.prototype.N.call(this, m, 0, g)); m.Ma(g * e + e / 2, f / 2) } }, aI: function() { var a = this.Ja, c = a.length, d = this.textureAtlas, e = d.texture, f = e.pixelsWidth, e = e.pixelsHeight, g = this.Ke, h = this.de; this.Yn || (g = this.Ke * b.Ka(), h = this.de * b.Ka()); c > d.Bc && b.log("cc.LabelAtlas._updateAtlasValues(): Invalid String length"); for (var k = d.quads, m = this.Q, m = { r: m.r, g: m.g, b: m.b, a: this.sa }, n = this.Ke, r = 0; r < c; r++) { var s = a.charCodeAt(r) - this.qs.charCodeAt(0), u = s % this.Ti, t = 0 | s / this.Ti, v; b.vk ? (u = (2 * u * g + 1) / (2 * f), s = u + (2 * g - 2) / (2 * f), t = (2 * t * h + 1) / (2 * e), v = t + (2 * h - 2) / (2 * e)) : (u = u * g / f, s = u + g / f, t = t * h / e, v = t + h / e); var w = k[r], A = w.ya, z = w.za, I = w.wa, w = w.xa; A.f.R = u; A.f.S = t; z.f.R = s; z.f.S = t; I.f.R = u; I.f.S = v; w.f.R = s; w.f.S = v; I.e.x = r * n; I.e.y = 0; I.e.z = 0; w.e.x = r * n + n; w.e.y = 0; w.e.z = 0; A.e.x = r * n; A.e.y = this.de; A.e.z = 0; z.e.x = r * n + n; z.e.y = this.de; z.e.z = 0; A.j = m; z.j = m; I.j = m; w.j = m } 0 < c && (d.dirty = !0, a = d.totalQuads, c > a && d.QK(c - a)) }, ic: null, IH: function(a) { a = String(a); var c = a.length; this.Ja = a; this.width = c * this.Ke; this.height = this.de; if (this.s) { a = this.s; for (var c = a.length, d = 0; d < c; d++) { var e = a[d]; e && !e.NG && (e.visible = !1) } } this.Vj(); this.quadsToDraw = c }, KH: function(a) { a = String(a); var c = a.length; c > this.textureAtlas.totalQuads && this.textureAtlas.JA(c); this.Ja = a; this.width = c * this.Ke; this.height = this.de; this.Vj(); this.quadsToDraw = c }, Ga: null, bt: function(a) { if (this.sa !== a) { b.hf.prototype.Ga.call(this, a); for (var c = this.s, d = 0, e = c.length; d < e; d++) c[d] && (c[d].opacity = a) } }, ct: function(a) { this.bH !== a && b.hf.prototype.Ga.call(this, a) } }); p = b.Tf.prototype; b.da === b.wb ? (p.Vj = p.aI, p.ic = p.KH, p.Ga = p.ct) : (p.Vj = p.$H, p.ic = p.IH, p.Ga = p.bt, p.N = p.rr); b.k(p, "opacity", p.wj, p.Ga); b.k(p, "string", p.Nl, p.ic); b.Tf.create = function(a, c, d, e, f) { return new b.Tf(a, c, d, e, f) }; b.mP = -1; b.vq = b.Vf.extend({ Da: !1, Ja: "", gd: null, Tn: "", Qi: "", Jk: b.Yg, Hl: -1, Mx: !1, Zn: null, qy: null, sa: 255, Md: 255, Q: null, ac: null, $d: !0, De: !0, T: !1, qa: null, Mc: "LabelBMFont", Cy: function(a, c) { c ? this.Qi = a: this.Ja = a; var d = this.s; if (d) for (var e = 0; e < d.length; e++) { var f = d[e]; f && f.te(!1) } this.T && (this.fp(), c && this.yd()) }, ctor: function(a, c, d, e, f) { b.Vf.prototype.ctor.call(this); this.Zn = C(0, 0); this.Q = b.color(255, 255, 255, 255); this.ac = b.color(255, 255, 255, 255); this.qy = []; this.Qd(a, c, d, e, f) }, nv: function() { return this.T }, Vc: function(a, c) { this.qa || (this.qa = []); this.qa.push({ ne: a, td: c }) }, Ub: function() { if (this.qa) { for (var a = this.qa, c = 0, d = a.length; c < d; c++) { var e = a[c]; e.ne.call(e.td, this) } a.length = 0 } }, na: function(a) { b.Vf.prototype.na.call(this, a); if (b.JC) { a = this.ud(); var c = C(0 | -this.lb.x, 0 | -this.lb.y); a = [C(c.x, c.y), C(c.x + a.width, c.y), C(c.x + a.width, c.y + a.height), C(c.x, c.y + a.height)]; b.Hd.Rj(0, 255, 0, 255); b.Hd.gc(a, 4, !0) } }, V: function(a) { var c = this.Q, d = this.ac; if (d.r != a.r || d.g != a.g || d.b != a.b || d.a != a.a) c.r = d.r = a.r, c.g = d.g = a.g, c.b = d.b = a.b, this.T && this.$d && (a = b.color.WHITE, (c = this.Db) && c.cascadeColor && (a = c.pp()), this.sb(a)) }, Dj: function() { return this.Da }, Ng: function(a) { this.Da = a; if (a = this.s) for (var c = 0; c < a.length; c++) { var d = a[c]; d && (d.opacityModifyRGB = this.Da) } }, wj: function() { return this.Md }, YJ: function() { return this.sa }, Ga: function(a) { this.sa = this.Md = a; if (this.De) { var c = 255, d = this.Db; d && d.cascadeOpacity && (c = d.sa); this.kb(c) } this.Q.a = this.ac.a = a }, kb: function(a) { this.sa = this.Md * a / 255; a = this.s; for (var c = 0; c < a.length; c++) { var d = a[c]; b.da == b.wb ? d.kb(this.sa) : (b.m.prototype.kb.call(d, this.sa), d.W()) } this.fd() }, hA: function() { return ! 1 }, VA: function(a) { this.De = a }, Nh: function() { var a = this.ac; return b.color(a.r, a.g, a.b, a.a) }, pp: function() { return this.Q }, sb: function(a) { var c = this.Q, d = this.ac; c.r = d.r * a.r / 255; c.g = d.g * a.g / 255; c.b = d.b * a.b / 255; a = this.s; for (c = 0; c < a.length; c++) d = a[c], b.da == b.wb ? d.sb(this.Q) : (b.m.prototype.sb.call(d, this.Q), d.W()); this.fd() }, fd: function() { if (b.da != b.wb) { var a = this.La(); if (a && 0 < a.ud().width) { var c = this.mb.la; if (c) { var d = a.la, e = E(0, 0, c.width, c.height); d instanceof HTMLCanvasElement && !this.nb ? b.tj(c, this.Q, e, d) : (d = b.tj(c, this.Q, e), a = new b.K, a.Mb(d), a.Fa()); this.Wa(a) } } } }, gA: function() { return ! 1 }, UA: function(a) { this.$d = a }, ga: function() { return this.Qd(null, null, null, null, null) }, Qd: function(a, c, d, e, f) { a = a || ""; this.gd && b.log("cc.LabelBMFont.initWithString(): re-init is no longer supported"); if (c) { var g = b.D.Yc(c); if (!g) return b.log("cc.LabelBMFont.initWithString(): Impossible to create font. Please check file"), !1; this.gd = g; this.Tn = c; c = b.va.cc(g.dz); (this.T = g = c.xb) || c.Vc(function(a) { this.T = !0; this.ia(a, this.Qi.length); this.ic(this.Qi, !0); this.Ub() }, this) } else c = new b.K, g = new Image, c.Mb(g), this.T = !1; return this.ia(c, a.length) ? (this.Jk = e || b.cn, this.Zn = f || C(0, 0), this.Hl = null == d ? -1 : d, this.sa = this.Md = 255, this.Q = b.color(255, 255, 255, 255), this.ac = b.color(255, 255, 255, 255), this.$d = this.De = !0, this.v.width = 0, this.v.height = 0, this.Qj(0.5, 0.5), b.da === b.wb && (d = this.textureAtlas.texture, this.Da = d.Aj(), e = this.qy = new b.B, e.ia(d, E(0, 0, 0, 0), !1), e.batchNode = this), this.ic(a, !0), !0) : !1 }, fp: function() { var a = b.da, c = a === b.Ya ? this.texture: this.textureAtlas.texture, d = 0, e = D(0, 0), f = 0, g = 1, h = this.Ja, k = h ? h.length: 0; if (0 !== k) { var m, n = this.gd, r = n.kL, s = n.au, u = n.MJ; for (m = 0; m < k - 1; m++) 10 == h.charCodeAt(m) && g++; var t = s * g, g = -(s - s * g), v = -1; for (m = 0; m < k; m++) if (s = h.charCodeAt(m), 0 != s) if (10 === s) d = 0, g -= n.au; else { var w = r[v << 16 | s & 65535] || 0, A = u[s]; if (A) { var z = E(A.rect.x, A.rect.y, A.rect.width, A.rect.height), z = b.Hp(z); z.x += this.Zn.x; z.y += this.Zn.y; (v = this.Od(m)) ? 32 === s && a === b.Ya ? v.Ha(z, !1, D(0, 0)) : (v.Ha(z, !1), v.visible = !0) : (v = new b.B, 32 === s && a === b.Ya && (z = E(0, 0, 0, 0)), v.ia(c, z, !1), v.lo = !0, this.N(v, 0, m)); v.opacityModifyRGB = this.Da; b.da == b.wb ? (v.sb(this.Q), v.kb(this.sa)) : (b.m.prototype.sb.call(v, this.Q), b.m.prototype.kb.call(v, this.sa), v.W()); z = C(d + A.ZN + 0.5 * A.rect.width + w, g + (n.au - A.$N) - 0.5 * z.height * b.Ka()); v.Ma(b.OL(z)); d += A.YN + w; v = s; f < d && (f = d) } else b.log("cocos2d: LabelBMFont: character not found " + h[m]) } e.width = f; e.height = t; this.wd(b.qN(e)) } }, yZ: function(a) { var c = this.s; if (c) for (var d = 0, e = c.length; d < e; d++) { var f = c[d]; f && (f.visible = !1) } this.gd && this.fp(); a || this.yd() }, Nl: function() { return this.Qi }, ic: function(a, c) { a = String(a); null == c && (c = !0); if (null == a || "string" != typeof a) a += ""; this.Qi = a; this.Cy(a, c) }, JH: function(a) { this.ic(a, !1) }, YX: function(a) { this.ic(a, !0) }, yd: function() { this.string = this.Qi; if (0 < this.Hl) { for (var a = this.Ja.length, c = [], d = [], e = 1, f = 0, g = !1, h = !1, k = -1, m = -1, n = 0, r, s = 0, u = this.s.length; s < u; s++) { for (var t = 0; ! (r = this.Od(s + n + t));) t++; n += t; if (f >= a) break; var v = this.Ja[f]; h || (m = this.as(r), h = !0); g || (k = m, g = !0); if (10 == v.charCodeAt(0)) { d.push("\n"); c = c.concat(d); d.length = 0; g = h = !1; k = m = -1; s--; n -= t; e++; if (f >= a) break; m || (m = this.as(r), h = !0); k || (k = m, g = !0); f++ } else if (b.Mu(v)) d.push(v), c = c.concat(d), d.length = 0, h = !1, m = -1, f++; else if (this.eG(r) - k > this.Hl) if (this.Mx) { b.DB(d); d.push("\n"); c = c.concat(d); d.length = 0; g = h = !1; k = m = -1; e++; if (f >= a) break; m || (m = this.as(r), h = !0); k || (k = m, g = !0); s-- } else d.push(v), -1 != c.lastIndexOf(" ") ? b.DB(c) : c = [], 0 < c.length && c.push("\n"), e++, g = !1, k = -1, f++; else d.push(v), f++ } c = c.concat(d); s = c.length; r = ""; for (f = 0; f < s; ++f) r += c[f]; r += String.fromCharCode(0); this.Cy(r, !1) } if (this.Jk != b.cn) for (c = f = 0, a = this.Ja.length, d = [], e = 0; e < a; e++) if (10 == this.Ja[e].charCodeAt(0) || 0 == this.Ja[e].charCodeAt(0)) if (s = 0, g = d.length, 0 == g) c++; else { if (r = f + g - 1 + c, !(0 > r) && (s = this.Od(r), null != s)) { s = s.ja.x + s.Ie() / 2; h = 0; switch (this.Jk) { case b.Yg: h = this.width / 2 - s / 2; break; case b.$v: h = this.width - s } if (0 != h) for (s = 0; s < g; s++)(r = f + s + c, 0 > r || !(r = this.Od(r))) || (r.x += h); f += g; c++; d.length = 0 } } else d.push(this.Ja[f]) }, vM: function(a) { this.Jk = a; this.yd() }, SF: function() { return this.Jk }, zM: function(a) { this.Hl = a; this.yd() }, Xr: function() { return this.Hl }, vY: function(a) { this.Mx = a; this.yd() }, Og: function(a, c) { b.m.prototype.Og.call(this, a, c); this.yd() }, Qp: function(a) { b.m.prototype.Qp.call(this, a); this.yd() }, gv: function(a) { b.m.prototype.gv.call(this, a); this.yd() }, mY: function(a) { if (null != a && a != this.Tn) { var c = b.D.Yc(a); c ? (this.Tn = a, this.gd = c, a = b.va.cc(c.dz), this.T = c = a.xb, this.texture = a, b.da === b.Ya && (this.mb = this.texture), c ? this.fp() : a.Vc(function(a) { this.T = !0; this.texture = a; this.fp(); this.fd(); this.yd(); this.Ub() }, this)) : b.log("cc.LabelBMFont.setFntFile() : Impossible to create font. Please check file") } }, gU: function() { return this.Tn }, Qj: function(a, c) { b.m.prototype.Qj.call(this, a, c); this.yd() }, zy: function(a) { b.m.prototype.zy.call(this, a); this.yd() }, Ws: function(a) { b.m.prototype.Ws.call(this, a); this.yd() }, Xs: function(a) { b.m.prototype.Xs.call(this, a); this.yd() }, OQ: function() {}, hR: function(a, c) { var d = 0; if (this.wF.lL) { var e = this.wF.lL[(a << 16 | c & 65535).toString()]; e && (d = e.QR) } return d }, as: function(a) { return a.ja.x * this.O - a.Ie() * this.O * a.Ab.x }, eG: function(a) { return a.ja.x * this.O + a.Ie() * this.O * a.Ab.x } }); p = b.vq.prototype; b.da !== b.Ya || b.Aa.wt || (p.fd = function() { if (b.da != b.wb) { var a, c = this.La(); c && 0 < c.ud().width && (a = c.la) && (c = b.va.zu(this.mb.la)) && (a instanceof HTMLCanvasElement && !this.nb ? b.sj(a, c, this.Q, null, a) : (a = b.sj(a, c, this.Q), c = new b.K, c.Mb(a), c.Fa(), this.Wa(c))) } }); b.k(p, "string", p.Nl, p.JH); b.k(p, "boundingWidth", p.Xr, p.zM); b.k(p, "textAlign", p.SF, p.vM); b.vq.create = function(a, c, d, e, f) { return new b.vq(a, c, d, e, f) }; b.Mu = function(a) { a = a.charCodeAt(0); return 9 <= a && 13 >= a || 32 == a || 133 == a || 160 == a || 5760 == a || 8192 <= a && 8202 >= a || 8232 == a || 8233 == a || 8239 == a || 8287 == a || 12288 == a }; b.DB = function(a) { var c = a.length; if (! (0 >= c) && (c -= 1, b.Mu(a[c]))) { for (var d = c - 1; 0 <= d; --d) if (b.Mu(a[d])) c = d; else break; b.TN(a, c) } }; b.TN = function(a, c) { var d = a.length; c >= d || 0 > c || a.splice(c, d) }; b.MF = { EC: /info [^\n]*(\n|$)/gi, $B: /common [^\n]*(\n|$)/gi, oD: /page [^\n]*(\n|$)/gi, ZB: /char [^\n]*(\n|$)/gi, HC: /kerning [^\n]*(\n|$)/gi, GC: /\w+=[^ \r\n]+/gi, FC: /^[\-]?\d+$/, ml: function(a) { a = a.match(this.GC); var c = {}; if (a) for (var d = 0, e = a.length; d < e; d++) { var f = a[d], g = f.indexOf("\x3d"), h = f.substring(0, g), f = f.substring(g + 1); f.match(this.FC) ? f = parseInt(f) : '"' == f[0] && (f = f.substring(1, f.length - 1)); c[h] = f } return c }, GL: function(a, c) { var d = {}; this.ml(a.match(this.EC)[0]); var e = this.ml(a.match(this.$B)[0]); d.au = e.lineHeight; if (b.da === b.wb) { var f = b.bu.il; (e.scaleW > f.width || e.scaleH > f.height) && b.log("cc.LabelBMFont._parseCommonArguments(): page can't be larger than supported") } 1 !== e.pages && b.log("cc.LabelBMFont._parseCommonArguments(): only supports 1 page"); e = this.ml(a.match(this.oD)[0]); 0 !== e.id && b.log("cc.LabelBMFont._parseImageFileName() : file could not be found"); d.dz = b.path.$o(c, e.file); for (var g = a.match(this.ZB), h = d.MJ = {}, e = 0, f = g.length; e < f; e++) { var k = this.ml(g[e]); h[k.id] = { rect: { x: k.x, y: k.y, width: k.width, height: k.height }, ZN: k.xoffset, $N: k.yoffset, YN: k.xadvance } } g = d.kL = {}; if (h = a.match(this.HC)) for (e = 0, f = h.length; e < f; e++) k = this.ml(h[e]), g[k.first << 16 | k.second & 65535] = k.amount; return d }, load: function(a, c, d, e) { var f = this; b.D.yp(a, function(a, d) { if (a) return e(a); e(null, f.GL(d, c)) }) } }; b.D.Mg(["fnt"], b.MF); b.BZ = function() { return { x: 0, y: 0 } }; b.Qg = function(a, c) { return { x: a, y: c } }; b.xc = function(a, c) { return b.Qg(a.x + c.x, a.y + c.y) }; b.bb = function(a, c) { return b.Qg(a.x - c.x, a.y - c.y) }; b.Nb = function(a, c) { return b.Qg(a.x * c, a.y * c) }; b.Wj = function(a) { return b.Qg( - a.y, a.x) }; b.zd = function(a) { return b.Qg( - a.x, -a.y) }; b.EB = function(a, c) { return a.x * c.x + a.y * c.y }; b.AZ = function(a) { return b.Qg(Math.cos(a), Math.sin(a)) }; b.pm = function(a) { a = b.Td(C(a.x, a.y)); return b.Qg(a.x, a.y) }; b.Ac = function(a) { return b.Qg(a.x, a.y) }; b.U = function(a) { return { R: a.x, S: a.y } }; b.mC = b.m.extend({ pa: null, t: null, Cb: 1, Qc: null, Mc: "DrawNodeCanvas", ctor: function() { b.m.prototype.ctor.call(this); this.pa = []; this.Qc = b.color(255, 255, 255, 255); this.t = new b.cb(b.kc, b.jc); this.ga() }, Ml: function() { return this.t }, $h: function(a, c) { void 0 === c ? (this.t.src = a.src, this.t.Y = a.Y) : (this.t.src = a, this.t.Y = c) }, ev: function(a) { this.Cb = a }, hK: function() { return this.Cb }, Rj: function(a) { var c = this.Qc; c.r = a.r; c.g = a.g; c.b = a.b; c.a = null == a.a ? 255 : a.a }, Sb: function() { return b.color(this.Qc.r, this.Qc.g, this.Qc.b, this.Qc.a) }, ku: function(a, c, d, e, f) { e = e || this.Cb; f = f || this.Sb(); null == f.a && (f.a = 255); a = [a, C(c.x, a.y), c, C(a.x, c.y)]; c = new b.Yf(b.Tb.Wf); c.Ud = a; c.lineWidth = e; c.Mf = f; c.xp = !0; c.Jg = !0; c.lineCap = "butt"; if (c.fillColor = d) null == d.a && (d.a = 255), c.Ku = !0; this.pa.push(c) }, hu: function(a, c, d, e, f, g, h) { g = g || this.Cb; h = h || this.Sb(); null == h.a && (h.a = 255); for (var k = 2 * Math.PI / e, m = [], n = 0; n <= e; n++) { var r = n * k; m.push(C(c * Math.cos(r + d) + a.x, c * Math.sin(r + d) + a.y)) } f && m.push(C(a.x, a.y)); a = new b.Yf(b.Tb.Wf); a.Ud = m; a.lineWidth = g; a.Mf = h; a.xp = !0; a.Jg = !0; this.pa.push(a) }, ju: function(a, c, d, e, f, g) { f = f || this.Cb; g = g || this.Sb(); null == g.a && (g.a = 255); for (var h = [], k = 0, m = 0; m < e; m++) h.push(C(Math.pow(1 - k, 2) * a.x + 2 * (1 - k) * k * c.x + k * k * d.x, Math.pow(1 - k, 2) * a.y + 2 * (1 - k) * k * c.y + k * k * d.y)), k += 1 / e; h.push(C(d.x, d.y)); a = new b.Yf(b.Tb.Wf); a.Ud = h; a.lineWidth = f; a.Mf = g; a.Jg = !0; a.lineCap = "round"; this.pa.push(a) }, iu: function(a, c, d, e, f, g, h) { g = g || this.Cb; h = h || this.Sb(); null == h.a && (h.a = 255); for (var k = [], m = 0, n = 0; n < f; n++) k.push(C(Math.pow(1 - m, 3) * a.x + 3 * Math.pow(1 - m, 2) * m * c.x + 3 * (1 - m) * m * m * d.x + m * m * m * e.x, Math.pow(1 - m, 3) * a.y + 3 * Math.pow(1 - m, 2) * m * c.y + 3 * (1 - m) * m * m * d.y + m * m * m * e.y)), m += 1 / f; k.push(C(e.x, e.y)); a = new b.Yf(b.Tb.Wf); a.Ud = k; a.lineWidth = g; a.Mf = h; a.Jg = !0; a.lineCap = "round"; this.pa.push(a) }, gu: function(a, c, d, e) { this.Lh(a, 0.5, c, d, e) }, Lh: function(a, c, d, e, f) { e = e || this.Cb; f = f || this.Sb(); null == f.a && (f.a = 255); for (var g = [], h, k, m = 1 / a.length, n = 0; n < d + 1; n++) k = n / d, 1 == k ? (h = a.length - 1, k = 1) : (h = 0 | k / m, k = (k - m * h) / m), h = b.$t(b.Fb(a, h - 1), b.Fb(a, h - 0), b.Fb(a, h + 1), b.Fb(a, h + 2), c, k), g.push(h); a = new b.Yf(b.Tb.Wf); a.Ud = g; a.lineWidth = e; a.Mf = f; a.Jg = !0; a.lineCap = "round"; this.pa.push(a) }, ip: function(a, c, d) { d = d || this.Sb(); null == d.a && (d.a = 255); var e = new b.Yf(b.Tb.aw); e.Ud = [a]; e.lineWidth = c; e.fillColor = d; this.pa.push(e) }, eJ: function(a, c, d) { if (a && 0 != a.length) { d = d || this.Sb(); null == d.a && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.ip(a[e], c, d) } }, lu: function(a, c, d, e) { d = d || this.Cb; e = e || this.Sb(); null == e.a && (e.a = 255); var f = new b.Yf(b.Tb.Wf); f.Ud = [a, c]; f.lineWidth = 2 * d; f.Mf = e; f.Jg = !0; f.lineCap = "round"; this.pa.push(f) }, iJ: function(a, c, d, e) { d = d || this.Cb; e = e || this.Sb(); null == e.a && (e.a = 255); var f = new b.Yf(b.Tb.Wf); f.Ud = a; f.fillColor = c; f.lineWidth = d; f.Mf = e; f.xp = !0; f.Jg = !0; f.lineCap = "round"; c && (f.Ku = !0); this.pa.push(f) }, gc: function(a, c, d, e) { for (var f = [], g = 0; g < a.length; g++) f.push(C(a[g].x, a[g].y)); return this.iJ(f, c, d, e) }, na: function(a) { a = a || b.l; this.t && this.t.src == b.SRC_ALPHA && this.t.Y == b.ONE && (a.globalCompositeOperation = "lighter"); for (var c = 0; c < this.pa.length; c++) { var d = this.pa[c]; switch (d.type) { case b.Tb.aw: this.GF(a, d); break; case b.Tb.mE: this.IF(a, d); break; case b.Tb.Wf: this.HF(a, d) } } }, GF: function(a, c) { var d = c.fillColor, e = c.Ud[0], f = c.lineWidth, g = b.view.O, h = b.view.ma; a.fillStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + d.a / 255 + ")"; a.beginPath(); a.arc(e.x * g, -e.y * h, f * g, 0, 2 * Math.PI, !1); a.closePath(); a.fill() }, IF: function(a, c) { var d = c.Mf, e = c.Ud[0], f = c.Ud[1], g = c.lineWidth, h = c.lineCap, k = b.view.O, m = b.view.ma; a.strokeStyle = "rgba(" + (0 | d.r) + "," + (0 | d.g) + "," + (0 | d.b) + "," + d.a / 255 + ")"; a.lineWidth = g * k; a.beginPath(); a.lineCap = h; a.moveTo(e.x * k, -e.y * m); a.lineTo(f.x * k, -f.y * m); a.stroke() }, HF: function(a, c) { var d = c.Ud, e = c.lineCap, f = c.fillColor, g = c.lineWidth, h = c.Mf, k = c.xp, m = c.Ku, n = c.Jg; if (null != d) { var r = d[0], s = b.view.O, u = b.view.ma; a.lineCap = e; f && (a.fillStyle = "rgba(" + (0 | f.r) + "," + (0 | f.g) + "," + (0 | f.b) + "," + f.a / 255 + ")"); g && (a.lineWidth = g * s); h && (a.strokeStyle = "rgba(" + (0 | h.r) + "," + (0 | h.g) + "," + (0 | h.b) + "," + h.a / 255 + ")"); a.beginPath(); a.moveTo(r.x * s, -r.y * u); e = 1; for (f = d.length; e < f; e++) a.lineTo(d[e].x * s, -d[e].y * u); k && a.closePath(); m && a.fill(); n && a.stroke() } }, clear: function() { this.pa.length = 0 } }); b.nC = b.m.extend({ si: 0, pa: null, Gf: null, Ry: null, Qy: null, Cb: 1, Qc: null, t: null, Yb: !1, Mc: "DrawNodeWebGL", Ml: function() { return this.t }, $h: function(a, c) { void 0 === c ? (this.t.src = a.src, this.t.Y = a.Y) : (this.t.src = a, this.t.Y = c) }, ctor: function() { b.m.prototype.ctor.call(this); this.pa = []; this.t = new b.cb(b.kc, b.jc); this.Qc = b.color(255, 255, 255, 255); this.ga() }, ga: function() { return b.m.prototype.ga.call(this) ? (this.shaderProgram = b.ff.Of(b.xD), this.Tk(64), this.Ry = b.l.createBuffer(), this.Yb = !0) : !1 }, ev: function(a) { this.Cb = a }, hK: function() { return this.Cb }, Rj: function(a) { var c = this.Qc; c.r = a.r; c.g = a.g; c.b = a.b; c.a = a.a }, Sb: function() { return b.color(this.Qc.r, this.Qc.g, this.Qc.b, this.Qc.a) }, ku: function(a, c, d, e, f) { e = e || this.Cb; f = f || this.Sb(); null == f.a && (f.a = 255); a = [a, C(c.x, a.y), c, C(a.x, c.y)]; null == d ? this.In(a, e, f, !0) : this.gc(a, d, e, f) }, hu: function(a, c, d, e, f, g, h) { g = g || this.Cb; h = h || this.Sb(); null == h.a && (h.a = 255); var k = 2 * Math.PI / e, m = [], n; for (n = 0; n <= e; n++) { var r = n * k; m.push(C(c * Math.cos(r + d) + a.x, c * Math.sin(r + d) + a.y)) } f && m.push(C(a.x, a.y)); g *= 0.5; n = 0; for (a = m.length; n < a - 1; n++) this.lu(m[n], m[n + 1], g, h) }, ju: function(a, c, d, e, f, g) { f = f || this.Cb; g = g || this.Sb(); null == g.a && (g.a = 255); for (var h = [], k = 0, m = 0; m < e; m++) h.push(C(Math.pow(1 - k, 2) * a.x + 2 * (1 - k) * k * c.x + k * k * d.x, Math.pow(1 - k, 2) * a.y + 2 * (1 - k) * k * c.y + k * k * d.y)), k += 1 / e; h.push(C(d.x, d.y)); this.In(h, f, g, !1) }, iu: function(a, c, d, e, f, g, h) { g = g || this.Cb; h = h || this.Sb(); null == h.a && (h.a = 255); for (var k = [], m = 0, n = 0; n < f; n++) k.push(C(Math.pow(1 - m, 3) * a.x + 3 * Math.pow(1 - m, 2) * m * c.x + 3 * (1 - m) * m * m * d.x + m * m * m * e.x, Math.pow(1 - m, 3) * a.y + 3 * Math.pow(1 - m, 2) * m * c.y + 3 * (1 - m) * m * m * d.y + m * m * m * e.y)), m += 1 / f; k.push(C(e.x, e.y)); this.In(k, g, h, !1) }, gu: function(a, c, d, e) { this.Lh(a, 0.5, c, d, e) }, Lh: function(a, c, d, e, f) { e = e || this.Cb; f = f || this.Sb(); null == f.a && (f.a = 255); for (var g = [], h, k, m = 1 / a.length, n = 0; n < d + 1; n++) k = n / d, 1 == k ? (h = a.length - 1, k = 1) : (h = 0 | k / m, k = (k - m * h) / m), h = b.$t(b.Fb(a, h - 1), b.Fb(a, h - 0), b.Fb(a, h + 1), b.Fb(a, h + 2), c, k), g.push(h); e *= 0.5; a = 0; for (c = g.length; a < c - 1; a++) this.lu(g[a], g[a + 1], e, f) }, qH: function() { var a = b.l; b.tc(b.gn); a.bindBuffer(a.ARRAY_BUFFER, this.Ry); this.Yb && (a.bufferData(a.ARRAY_BUFFER, this.Gf, a.STREAM_DRAW), this.Yb = !1); var c = b.Xd.BYTES_PER_ELEMENT; a.vertexAttribPointer(b.lc, 2, a.FLOAT, !1, c, 0); a.vertexAttribPointer(b.Ck, 4, a.UNSIGNED_BYTE, !0, c, 8); a.vertexAttribPointer(b.Dk, 2, a.FLOAT, !1, c, 12); a.drawArrays(a.TRIANGLES, 0, 3 * this.pa.length); b.Ze() }, Tk: function(a) { var c = this.pa; if (c.length + a > this.si) { var d = b.Ra.BYTES_PER_ELEMENT; this.si += Math.max(this.si, a); if (null == c || 0 === c.length) this.pa = [], this.Gf = new ArrayBuffer(d * this.si), this.Qy = new Uint8Array(this.Gf); else { a = []; for (var e = new ArrayBuffer(d * this.si), f = 0; f < c.length; f++) a[f] = new b.Ra(c[f].a, c[f].b, c[f].J, e, f * d); this.Qy = new Uint8Array(e); this.Gf = e; this.pa = a } } }, na: function() { b.Ph(this.t.src, this.t.Y); this.Jb.wc(); this.Jb.iB(); this.qH() }, ip: function(a, c, d) { d = d || this.Sb(); null == d.a && (d.a = 255); var e = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; d = { e: { x: a.x - c, y: a.y - c }, j: e, f: { R: -1, S: -1 } }; var f = { e: { x: a.x - c, y: a.y + c }, j: e, f: { R: -1, S: 1 } }, g = { e: { x: a.x + c, y: a.y + c }, j: e, f: { R: 1, S: 1 } }; a = { e: { x: a.x + c, y: a.y - c }, j: e, f: { R: 1, S: -1 } }; this.Tk(6); this.pa.push(new b.Ra(d, f, g, this.Gf, this.pa.length * b.Ra.BYTES_PER_ELEMENT)); this.pa.push(new b.Ra(d, g, a, this.Gf, this.pa.length * b.Ra.BYTES_PER_ELEMENT)); this.Yb = !0 }, eJ: function(a, c, d) { if (a && 0 != a.length) { d = d || this.Sb(); null == d.a && (d.a = 255); for (var e = 0, f = a.length; e < f; e++) this.ip(a[e], c, d) } }, lu: function(a, c, d, e) { e = e || this.Sb(); null == e.a && (e.a = 255); d = d || 0.5 * this.Cb; this.Tk(18); e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = b.Ac(a); c = b.Ac(c); a = b.pm(b.Wj(b.bb(c, f))); var g = b.Wj(a), h = b.Nb(a, d); d = b.Nb(g, d); var k = b.xc(c, b.bb(h, d)), m = b.bb(c, h), n = b.xc(c, h), r = b.bb(f, h), s = b.xc(f, h), u = b.bb(f, b.bb(h, d)), f = b.xc(f, b.xc(h, d)), t = b.Ra.BYTES_PER_ELEMENT, v = this.Gf, w = this.pa; w.push(new b.Ra({ e: b.bb(c, b.xc(h, d)), j: e, f: b.U(b.zd(b.xc(a, g))) }, { e: k, j: e, f: b.U(b.bb(a, g)) }, { e: m, j: e, f: b.U(b.zd(a)) }, v, w.length * t)); w.push(new b.Ra({ e: n, j: e, f: b.U(a) }, { e: k, j: e, f: b.U(b.bb(a, g)) }, { e: m, j: e, f: b.U(b.zd(a)) }, v, w.length * t)); w.push(new b.Ra({ e: n, j: e, f: b.U(a) }, { e: r, j: e, f: b.U(b.zd(a)) }, { e: m, j: e, f: b.U(b.zd(a)) }, v, w.length * t)); w.push(new b.Ra({ e: n, j: e, f: b.U(a) }, { e: r, j: e, f: b.U(b.zd(a)) }, { e: s, j: e, f: b.U(a) }, v, w.length * t)); w.push(new b.Ra({ e: u, j: e, f: b.U(b.bb(g, a)) }, { e: r, j: e, f: b.U(b.zd(a)) }, { e: s, j: e, f: b.U(a) }, v, w.length * t)); w.push(new b.Ra({ e: u, j: e, f: b.U(b.bb(g, a)) }, { e: f, j: e, f: b.U(b.xc(a, g)) }, { e: s, j: e, f: b.U(a) }, v, w.length * t)); this.Yb = !0 }, gc: function(a, c, d, e) { if (null == c) this.In(a, d, e, !0); else { null == c.a && (c.a = 255); null == e.a && (e.a = 255); d = d || this.Cb; d *= 0.5; c = { r: 0 | c.r, g: 0 | c.g, b: 0 | c.b, a: 0 | c.a }; e = { r: 0 | e.r, g: 0 | e.g, b: 0 | e.b, a: 0 | e.a }; var f = [], g, h, k, m, n = a.length; for (g = 0; g < n; g++) { h = b.Ac(a[(g - 1 + n) % n]); k = b.Ac(a[g]); m = b.Ac(a[(g + 1) % n]); var r = b.pm(b.Wj(b.bb(k, h))); k = b.pm(b.Wj(b.bb(m, k))); f[g] = { offset: b.Nb(b.xc(r, k), 1 / (b.EB(r, k) + 1)), Ap: k } } r = 0 < d; this.Tk(3 * (3 * n - 2)); var s = b.Ra.BYTES_PER_ELEMENT, u = this.Gf, t = this.pa, v = !1 == r ? 0.5 : 0; for (g = 0; g < n - 2; g++) h = b.bb(b.Ac(a[0]), b.Nb(f[0].offset, v)), k = b.bb(b.Ac(a[g + 1]), b.Nb(f[g + 1].offset, v)), m = b.bb(b.Ac(a[g + 2]), b.Nb(f[g + 2].offset, v)), t.push(new b.Ra({ e: h, j: c, f: b.U({ x: 0, y: 0 }) }, { e: k, j: c, f: b.U({ x: 0, y: 0 }) }, { e: m, j: c, f: b.U({ x: 0, y: 0 }) }, u, t.length * s)); for (g = 0; g < n; g++) { v = (g + 1) % n; h = b.Ac(a[g]); k = b.Ac(a[v]); m = f[g].Ap; var w = f[g].offset, A = f[v].offset, v = r ? b.bb(h, b.Nb(w, d)) : b.bb(h, b.Nb(w, 0.5)), z = r ? b.bb(k, b.Nb(A, d)) : b.bb(k, b.Nb(A, 0.5)); h = r ? b.xc(h, b.Nb(w, d)) : b.xc(h, b.Nb(w, 0.5)); k = r ? b.xc(k, b.Nb(A, d)) : b.xc(k, b.Nb(A, 0.5)); r ? (t.push(new b.Ra({ e: v, j: e, f: b.U(b.zd(m)) }, { e: z, j: e, f: b.U(b.zd(m)) }, { e: k, j: e, f: b.U(m) }, u, t.length * s)), t.push(new b.Ra({ e: v, j: e, f: b.U(b.zd(m)) }, { e: h, j: e, f: b.U(m) }, { e: k, j: e, f: b.U(m) }, u, t.length * s))) : (t.push(new b.Ra({ e: v, j: c, f: b.U({ x: 0, y: 0 }) }, { e: z, j: c, f: b.U({ x: 0, y: 0 }) }, { e: k, j: c, f: b.U(m) }, u, t.length * s)), t.push(new b.Ra({ e: v, j: c, f: b.U({ x: 0, y: 0 }) }, { e: h, j: c, f: b.U(m) }, { e: k, j: c, f: b.U(m) }, u, t.length * s))) } this.Yb = !0 } }, In: function(a, c, d, e) { c = c || this.Cb; d = d || this.Qc; null == d.a && (d.a = 255); c *= 0.5; if (! (0 >= c)) { d = { r: 0 | d.r, g: 0 | d.g, b: 0 | d.b, a: 0 | d.a }; var f = [], g, h, k, m, n = a.length; for (g = 0; g < n; g++) { h = b.Ac(a[(g - 1 + n) % n]); k = b.Ac(a[g]); m = b.Ac(a[(g + 1) % n]); var r = b.pm(b.Wj(b.bb(k, h))); k = b.pm(b.Wj(b.bb(m, k))); f[g] = { offset: b.Nb(b.xc(r, k), 1 / (b.EB(r, k) + 1)), Ap: k } } this.Tk(3 * (3 * n - 2)); m = b.Ra.BYTES_PER_ELEMENT; var r = this.Gf, s = this.pa; e = e ? n: n - 1; for (g = 0; g < e; g++) { var u = (g + 1) % n; h = b.Ac(a[g]); k = b.Ac(a[u]); var t = f[g].Ap, v = f[g].offset, u = f[u].offset, w = b.bb(h, b.Nb(v, c)); h = b.xc(h, b.Nb(v, c)); v = b.xc(k, b.Nb(u, c)); s.push(new b.Ra({ e: w, j: d, f: b.U(b.zd(t)) }, { e: b.bb(k, b.Nb(u, c)), j: d, f: b.U(b.zd(t)) }, { e: v, j: d, f: b.U(t) }, r, s.length * m)); s.push(new b.Ra({ e: w, j: d, f: b.U(b.zd(t)) }, { e: h, j: d, f: b.U(t) }, { e: v, j: d, f: b.U(t) }, r, s.length * m)) } this.Yb = !0 } }, clear: function() { this.pa.length = 0; this.Yb = !0 } }); b.Tb = b.da == b.wb ? b.nC: b.mC; b.Tb.create = function() { return new b.Tb }; b.Yf = function(a) { this.type = a; this.fillColor = this.Ud = null; this.lineWidth = 0; this.Mf = null; this.lineCap = "butt"; this.Jg = this.Ku = this.xp = !1 }; b.Tb.aw = 0; b.Tb.mE = 1; b.Tb.Wf = 2; if (b.Aa.Jo) { var G = b.GZ = new(window.AudioContext || window.webkitAudioContext || window.mozAudioContext); b.er = b.oa.extend({ Fi: null, pa: null, rh: null, Pt: null, src: null, Wu: null, autoplay: null, controls: null, ZV: null, currentTime: 0, startTime: 0, duration: 0, ps: null, Ot: 1, to: 0, $a: !1, fj: !0, Kd: -1, ctor: function(a) { this.Fi = {}; this.src = a; this.Pt = G.createGain ? G.createGain() : G.createGainNode(); this.ZG = this.YG.bind(this); this.WG = this.VG.bind(this) }, Bs: function(a) { var c = this, d = c.rh = G.createBufferSource(), e = c.Pt; a = a || 0; d.buffer = c.pa; e.gain.value = c.Ot; d.connect(e); e.connect(G.destination); d.loop = c.ps; d.onended = function() { c.fj = !0 }; c.$a = !1; c.fj = !1; d.start ? d.start(0, a) : d.noteGrainOn ? (e = d.buffer.duration, c.loop ? d.noteGrainOn(0, a, e) : d.noteGrainOn(0, a, e - a)) : d.noteOn(0); c.to = 0 }, Oy: function() { var a = this.rh; this.fj || (a.stop ? a.stop(0) : a.cW(0), this.fj = !0) }, play: function() { if ( - 1 == this.Kd) this.Kd = 0; else if (1 == this.Kd) { var a = this.rh; if (this.fj || !a || 2 != a.playbackState) this.startTime = G.currentTime, this.Bs(0) } }, pause: function() { this.to = G.currentTime; this.$a = !0; this.Oy() }, Oj: function() { this.$a && this.Bs(this.pa ? (this.to - this.startTime) % this.pa.duration: 0) }, stop: function() { this.to = 0; this.$a = !1; this.Oy() }, load: function() { var a = this; if (1 != a.Kd) { a.Kd = -1; a.played = !1; a.ended = !0; var c = new XMLHttpRequest; c.open("GET", a.src, !0); c.responseType = "arraybuffer"; c.onload = function() { G.decodeAudioData(c.response, a.ZG, a.WG) }; c.send() } }, addEventListener: function(a, c) { this.Fi[a] = c.bind(this) }, removeEventListener: function(a) { delete this.Fi[a] }, aS: function() { return b.Aa.Jo }, YG: function(a) { this.pa = a; a = this.Fi.success; var c = this.Fi.canplaythrough; a && a(); c && c(); 0 != this.Kd && "autoplay" != this.autoplay && !0 != this.autoplay || this.Bs(); this.Kd = 1 }, VG: function() { var a = this.Fi.error; a && a(); this.Kd = -2 }, cloneNode: function() { var a = new b.er(this.src); a.volume = this.volume; a.Kd = this.Kd; a.pa = this.pa; 0 != a.Kd && -1 != a.Kd || a.load(); return a } }); p = b.er.prototype; b.k(p, "loop", function() { return this.ps }, function(a) { this.ps = a; this.rh && (this.rh.loop = a) }); b.k(p, "volume", function() { return this.Ot }, function(a) { this.Ot = a; this.Pt.gain.value = a }); b.k(p, "paused", function() { return this.$a }); b.k(p, "ended", function() { var a = this.rh; return ! this.$a && (this.fj || !a || 3 == a.playbackState) }); b.k(p, "played", function() { var a = this.rh; return a && 2 == a.playbackState }) } b.sv = b.oa.extend({ mt: !1, Vb: null, Dn: null, Rc: 0, pw: 0, mc: {}, Mk: {}, Ln: 1, rs: 5, ig: null, ol: [], ctor: function() { this.mt = 0 < b.tr.Ko.length; this.ig && (this.ig = this.ig.bind(this)) }, IZ: function() { return ! 1 }, aU: function() { return this.Ln }, LL: function(a, c) { if (this.mt) { var d = this.Vb; d && this.yg(d); a != this.Dn && (this.Vb = d = this.Vr(a), this.Dn = a); d && (d.loop = c || !1, this.Cs(d)) } }, Vr: function(a) { var c = b.D, d = c.Yc(a); d || (c.load(a), d = c.Yc(a)); return d }, Cs: function(a) { a.ended || (a.stop ? a.stop() : (a.pause(), a.currentTime = 0)); this.Rc = 2; a.play() }, DN: function(a) { if (0 < this.Rc) { var c = this.Vb; c && this.yg(c) && (a && b.D.Pf(this.Dn), this.Dn = this.Vb = null, this.Rc = 0) } }, yg: function(a) { return a && !a.ended ? (a.stop ? a.stop() : a.duration && Infinity != a.duration ? a.currentTime = a.duration: a.pause(), !0) : !1 }, uA: function() { 2 == this.Rc && (this.Vb.pause(), this.Rc = 1) }, jM: function() { 1 == this.Rc && (this.xf(this.Vb), this.Rc = 2) }, xf: function(a) { a && !a.ended && (a.Oj ? a.Oj() : a.play()) }, MX: function() { this.Vb && this.Cs(this.Vb) }, uU: function() { return 0 == this.Rc ? 0 : this.Vb.volume }, xY: function(a) { 0 < this.Rc && (this.Vb.volume = Math.min(Math.max(a, 0), 1)) }, Lu: function() { return 2 == this.Rc && this.Vb && !this.Vb.ended }, Yr: function(a) { var c = this.Mk[a]; c || (c = this.Mk[a] = []); return c }, wx: function(a) { var c; if (!this.mt) return null; for (var d = this.Yr(a), e = 0, f = d.length; e < f; e++) { var g = d[e]; if (g.ended) { c = g; c.currentTime = 0; window.chrome && c.load(); break } } if (!c) { if (d.length >= this.rs) return b.log("Error: " + a + " greater than " + this.rs), null; c = this.Vr(a); if (!c) return null; c = c.cloneNode(!0); this.ig && b.ka(c, "pause", this.ig); c.volume = this.Ln; d.push(c) } return c }, Vu: function(a, c) { var d = this.wx(a); if (!d) return null; d.loop = c || !1; d.play(); var e = this.pw++; this.mc[e] = d; return e }, kY: function(a) { a = this.Ln = Math.min(Math.max(a, 0), 1); var c = this.mc, d; for (d in c) c[d].volume = a }, JL: function(a) { (a = this.mc[a]) && !a.ended && a.pause() }, HL: function() { var a = this.mc, c; for (c in a) { var d = a[c]; d.ended || d.pause() } }, iM: function(a) { this.xf(this.mc[a]) }, hM: function() { var a = this.mc, c; for (c in a) this.xf(a[c]) }, CN: function(a) { this.yg(this.mc[a]); delete this.mc[a] }, nB: function() { var a = this.mc, c; for (c in a) this.yg(a[c]), delete a[c] }, QN: function(a) { var c = b.D, d = this.mc, e = this.Yr(a); c.Pf(a); if (0 != e.length) { c = e[0].src; delete this.Mk[a]; for (var f in d) d[f].src == c && (this.yg(d[f]), delete d[f]) } }, end: function() { this.DN(); this.nB() }, Zx: function() { var a = this.mc, c, d; for (d in a) ! (c = a[d]) || c.ended || c.paused || (this.ol.push(c), c.pause()); this.Lu() && (this.ol.push(this.Vb), this.Vb.pause()) }, py: function() { for (var a = this.ol, c = 0, d = a.length; c < d; c++) this.xf(a[c]); a.length = 0 } }); ! b.Aa.Jo && 0 > b.Aa.VH && (b.tv = b.sv.extend({ Dg: [], nl: [], hd: null, rs: 2, Kn: {}, jh: !1, Gi: 0, js: !1, Cs: function(a) { this.tt(); this._super(a) }, jM: function() { 1 == this.Rc && (this.tt(), this.jh = !1, this.Gi = 0, this._super()) }, Vu: function(a, c) { var d = this.hd, e = c ? this.wx(a) : this.rG(a); if (!e) return null; e.loop = c || !1; var f = this.pw++; this.mc[f] = e; this.Lu() && (this.uA(), this.jh = !0); d ? (d != e && this.Dg.push(this.zi), this.Dg.push(f), d.pause()) : (this.hd = e, this.zi = f, e.play()); return f }, JL: function() { b.log("pauseEffect not supported in single audio mode!") }, HL: function() { var a = this.Dg, c = this.nl, d = this.hd; if (d) { for (var e = 0, f = a.length; e < f; e++) c.push(a[e]); a.length = 0; c.push(this.zi); d.pause() } }, iM: function() { b.log("resumeEffect not supported in single audio mode!") }, hM: function() { var a = this.Dg, c = this.nl; this.Lu() && (this.uA(), this.jh = !0); for (var d = 0, e = c.length; d < e; d++) a.push(c[d]); c.length = 0; ! this.hd && 0 <= a.length && (a = a.pop(), c = this.mc[a]) && (this.zi = a, this.hd = c, this.xf(c)) }, CN: function(a) { var c = this.hd, d = this.Dg, e = this.nl; c && this.zi == a ? this.yg(c) : (c = d.indexOf(a), 0 <= c ? d.splice(c, 1) : (c = e.indexOf(a), 0 <= c && e.splice(c, 1))) }, nB: function() { this.tt(); ! this.hd && this.jh && (this.xf(this.Vb), this.Rc = 2, this.jh = !1, this.Gi = 0) }, QN: function(a) { var c = b.D, d = this.mc, e = this.Kn, f = this.Yr(a), g = this.hd; c.Pf(a); if (0 != f.length || e[a]) { c = 0 < f.length ? f[0].src: e[a].src; delete this.Mk[a]; delete e[a]; for (var h in d) d[h].src == c && delete d[h]; g && g.src == c && this.yg(g) } }, rG: function(a) { var c = this.Kn[a], d = this.Dg, e = this.nl, f = this.mc; if (c) c.currentTime = 0; else { c = this.Vr(a); if (!c) return null; c = c.cloneNode(!0); this.ig && b.ka(c, "pause", this.ig); c.volume = this.Ln; this.Kn[a] = c } a = 0; for (var g = d.length; a < g;) f[d[a]] == c ? d.splice(a, 1) : a++; a = 0; for (g = e.length; a < g;) f[e[a]] == c ? e.splice(a, 1) : a++; c.dl = !0; return c }, tt: function() { var a = this.hd, c = this.Mk, d = this.Kn, e = this.Dg, f = this.nl; if (a || 0 != e.length || 0 != f.length) { for (var g in d) { var h = d[g]; h.duration && Infinity != h.duration && (h.currentTime = h.duration) } e.length = 0; f.length = 0; for (g in c) for (d = c[g], e = 0, f = d.length; e < f; e++) h = d[e], h.loop = !1, h.duration && Infinity != h.duration && (h.currentTime = h.duration); a && this.yg(a) } }, ig: function() { if (!this.js) { var a = this.uG(); if (a) a.dl ? (delete a.dl, a.play()) : this.xf(a); else if (this.jh) { a = this.Vb; if (a.duration && Infinity != a.duration) { var c = a.currentTime + this.Gi, c = c - a.duration * (c / a.duration | 0); a.currentTime = c } this.Gi = 0; this.xf(a); this.Rc = 2; this.jh = !1 } } }, uG: function() { var a = this.Dg, c = this.mc, d = this.hd, e = d ? d.currentTime - (d.startTime || 0) : 0; for (this.Gi += e; 0 != a.length;) { var f = a.pop(); if (d = c[f]) { if (d.dl || d.loop || d.duration && d.currentTime + e < d.duration) return this.zi = f, this.hd = d, !d.dl && d.duration && Infinity != d.duration && (a = d.currentTime + e, a -= d.duration * (a / d.duration | 0), d.currentTime = a), d.dl = !1, d; d.duration && Infinity != d.duration && (d.currentTime = d.duration) } } return this.hd = this.zi = null }, Zx: function() { var a = this.hd; this.js = !0; if (a = 2 == this.Rc ? this.Vb: a) this.ol.push(a), a.pause() }, py: function() { var a = this.ol; this.js = !1; 0 < a.length && (this.xf(a[0]), a.length = 0) } })); b.tr = { Ko: null, op: function() { return b.D.CI }, ns: function(a, c, d, e, f, g, h) { var k = this, m = b.D, n = b.path, r = this.Ko, s = ""; if (0 == r.length) return h("can not support audio!"); if ( - 1 == e) s = (n.Hg(a) || "").toLowerCase(), k.DI(s) || (s = r[0], e = 0); else if (e < r.length) s = r[e]; else return h("can not found the resource of audio! Last match url is : " + a); if (0 <= f.indexOf(s)) return k.ns(a, c, d, e + 1, f, g, h); a = n.mz(a, s); f.push(s); g = k.OG(a, g, function(m) { if (m) return k.ns(a, c, d, e + 1, f, g, h); h(null, g) }, e == r.length - 1); m.sd[c] = g }, DI: function(a) { return a ? 0 <= this.Ko.indexOf(a.toLowerCase()) : !1 }, OG: function(a, c, d, e) { var f = "file://" == location.origin ? Audio: b.er || Audio; 2 == arguments.length ? (d = c, c = new f) : 3 < arguments.length && !c && (c = new f); c.src = a; c.Wu = "auto"; f = navigator.userAgent; /Mobile/.test(f) && (/iPhone OS/.test(f) || /iPad/.test(f) || /Firefox/.test(f)) || /MSIE/.test(f) ? (c.load(), d(null, c)) : (b.ka(c, "canplaythrough", function() { d(null, c); this.removeEventListener("canplaythrough", arguments.callee, !1); this.removeEventListener("error", arguments.callee, !1) }, !1), b.ka(c, "error", function() { d("load " + a + " failed"); e && (this.removeEventListener("canplaythrough", arguments.callee, !1), this.removeEventListener("error", arguments.callee, !1)) }, !1), c.load()); return c }, load: function(a, c, d, e) { this.ns(a, c, d, -1, [], null, e) } }; b.tr.Ko = function() { var a = b.rb("audio"), c = []; if (a.canPlayType) { var d = function(c) { c = a.canPlayType(c); return "no" != c && "" != c }; d('audio/ogg; codecs\x3d"vorbis"') && c.push(".ogg"); d("audio/mpeg") && c.push(".mp3"); d('audio/wav; codecs\x3d"1"') && c.push(".wav"); d("audio/mp4") && c.push(".mp4"); (d("audio/x-m4a") || d("audio/aac")) && c.push(".m4a") } return c } (); b.D.Mg(["mp3", "ogg", "wav", "mp4", "m4a"], b.tr); b.Il = b.tv ? new b.tv: new b.sv; b.I.Tt(b.Va.tm, function() { b.Il.Zx() }); b.I.Tt(b.Va.ek, function() { b.Il.py() }); var H = { NJ: "res/plists/game.plist", OJ: "res/plists/game.png", lM: "res/plists/role/man.plist", mM: "res/plists/role/man.png", yL: "res/musics/bg.mp3", oA: "res/musics/click.mp3", bW: "res/musics/hit.mp3" }, J = [], K; for (K in H) J.push(H[K]); eval(String.fromCharCode(118, 97, 114, 32, 104, 117, 97, 110, 108, 101, 61, 119, 105, 110, 100, 111, 119, 46, 108, 111, 99, 97, 116, 105, 111, 110, 46, 104, 111, 115, 116)); var L = { width: 160, height: 160 }, M = { x: 15, y: 15, width: 30, height: 30 }, N = [{ name: "A", value: "#AD87FE" }, { name: "B", value: "#72DCC8" }, { name: "C", value: "#7BB8E5" }, { name: "D", value: "#9CFFF8" }, { name: "E", value: "#2199BE" }, { name: "F", value: "#FDE676" }, { name: "G", value: "#FAEFCF" }, { name: "H", value: "#EDDB31" }, { name: "I", value: "#FE872D" }, { name: "J", value: "#72BB8D" }, { name: "K", value: "#A2C543" }, { name: "L", value: "#F896D1" }, { name: "M", value: "#E052CC" }, { name: "N", value: "#F8B7BF" }, { name: "O", value: "#D5E5B6" }], O = [{ name: "calla", width: 150, height: 300, Fg: 5, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "fs", width: 150, height: 300, Fg: 5, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "mg", width: 150, height: 300, Fg: 7, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "jh", width: 150, height: 300, Fg: 6, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "byl", width: 150, height: 300, Fg: 7, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "sl", width: 150, height: 300, Fg: 6, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }, { name: "yj", width: 150, height: 300, Fg: 9, Lg: { x: 0, y: 0, anchorX: 0, anchorY: 0 } }], P, Q, R, S = null, T = b.Pb.extend({ Gj: 0, pu: 1, Fj: [], Lb: null, qI: [], Gh: [], Ic: [], Jl: !1, jm: null, ec: null, ci: !1, Zc: null, ef: null, Pd: null, ctor: function() { this._super(); S = this; this.dc({ x: -M.x, y: -M.y, height: b.aa.height + M.height, width: b.aa.width + M.width }); this.anchorY = this.anchorX = 0; this.V(b.color("#ffffff")); this.ef = b.A.create("0", "Arial", 80); this.ef.dc({ x: b.aa.width / 2 + M.x, y: b.aa.height - 200, anchorY: 0 }); this.ef.V(b.color(250, 250, 250)); this.ef.te(!1); b.ue.Vt(H.lM, H.mM); for (var a = [], c = "", d = 0; 12 > d; d++) c = "000" + (10 > d ? "0" + d: d) + ".png", c = b.ue.Ye(c), a.push(c); a = b.we.create(a, 0.08); b.Fh.St(a, "role_run"); this.Pd = b.B.create("#hand.png"); this.Pd.te(!1) }, pN: function() { var a = b.B.create("#btn.png"); this.N(a); a.dc({ x: b.aa.width / 2 + M.x, y: 300 }); a.V(b.color("#2199BE")); a.Og(1.2, 0.5); var c = b.A.create("0", "\u9ed1\u4f53", 40); c.dc({ x: b.aa.width / 2 + M.x, y: 300 }); c.V(b.color(250, 250, 250)); c.ic("\u5f00\u59cb\u6e38\u620f"); this.N(c); b.I.addListener({ event: b.G.en, Ij: function(a) { a[0].Oh().y < b.aa.height / 2 && (b.Il.Vu(H.oA), P.km(), P.df(!0), P.Vz()) } }, a); this.Zc = b.B.create("#00000.png"); this.Zc.dc({ x: b.aa.width / 2 - 140, y: b.aa.height / 2 - 105, width: 180, height: 210, anchorX: 0, anchorY: 0 }); this.N(this.Zc, 4); this.Zc.Kc(b.Yh(b.Zj.create(b.Fh.np("role_run")))); var d = this.uj(4, this.Lb); this.Az(d, 4, 8); b.Il.LL(H.yL, !0); this.Kc(b.Yh(b.vb.create(b.Wd.create(2), b.Bd.create(function() { this.Az(d, 4, 8) }, this)))) }, Az: function(a, c, d) { var e = this.zz(a, c, d, !0); e.Og(0.5); e.Kc(b.vb.create(b.wk.create(d, C( - 200, e.y)), b.Bd.create(function() { e.hc() }))) }, Vz: function() { this.pu = 1; this.Gj = 0; this.Fj = []; this.Lb = null; this.qI = []; this.Gh = []; this.Ic = []; this.Jl = !1; this.ec = this.jm = null; this.ci = !1; this.jB(this.uj(1)[0]); this.N(this.ef, 5); this.ef.ic("0"); this.ef.te(!0); this.N(this.Pd, 6); this.Pd.te(!1); // setFootAdvDisplay("none"); this.Zc.dc({ x: -55, y: b.aa.height / 2 - 105 }); this.N(this.Zc, 4); this.Zc.Kc(b.Yh(b.Zj.create(b.Fh.np("role_run")))); this.uz(++this.Gj); this.rM() }, yz: function() { this.pu = 0; this.AB(); this.ec.km(); this.Zc.km(); for (var a = this.Ic.length - 1; 0 <= a; a--) { var c = this.Od(1E3 + a); c && c.hc(!0) } this.Pd.hc(!0); this.nN(); this.Kc(b.vb.create(b.Wd.create(1.5), b.Bd.create(function() { this.ef.te(!1); this.ec.hc(); var a = this.Od(3E3); a && a.hc(!0); this.Zc.hc(!0); this.ef.hc(); this.V(b.color("#FFFFFF")); this.N(Q, 10) }, this))) }, nN: function() { var a = 3, c = 0.02, c = 0.02, d = M.x, e = M.y, f = b.ub.create(c, C(0, d)), g = b.ub.create(c, C(0, -d)), h = b.ub.create(c, C(e, 0)), k = b.ub.create(c, C( - e, 0)); a--; var d = a / 3 * d, e = a / 3 * e, m = b.ub.create(c, C(0, d)), n = b.ub.create(c, C(0, -d)), r = b.ub.create(c, C(e, 0)), s = b.ub.create(c, C( - e, 0)); a--; var d = a / 3 * d, e = a / 3 * e, a = b.ub.create(c, C(0, d)), d = b.ub.create(c, C(0, -d)), u = b.ub.create(c, C(e, 0)), c = b.ub.create(c, C( - e, 0)); this.Kc(b.vb.create(f, g, h, k, m, n, r, s, a, d, u, c)) }, update: function() { if (0 == this.pu) return this.AB(), !1; if (this.ci) return ! 1; this.ci = !0; if (this.ec) { if (this.FI(this.ec, this.Zc)) return this.yz(), !1; if (this.Jl) return this.ci = !1; var a = this.Od(3E3); if (!a) return this.ci = !1; var c = !1, d = [], e = this.Fj.length; if (this.KI(a, this.ec)) for (var c = this.Jl = !0, f = 0; f < e; f++) { var g = this.Fj[f]; this.Lb.name == g.color.name && (g.hz.hc(!0), d.push(f)) } f = d.length; if (0 < f) { for (a = 0; a < f; a++) c = d[a], 0 < a && (c -= a), this.Fj.splice(c, 1); f >= e && (this.ec.hc(!0), this.ec = null, this.uz(++this.Gj)) } else if (c && 0 >= f) return this.yz(), a.kv(this.jm), !1; return this.ci = !1 } this.ci = !1 }, jB: function(a) { this.Lb = a; this.V(a.value) }, uz: function(a) { this.ef.ic(a - 1); this.Jl = !1; var c = 0, d = 0; switch (a) { case 1: this.j = this.uj(1, this.Lb), this.j.push(this.Lb), this.Ic = this.j, this.lp(this.Ic); case 2: this.Gh = this.Sl(this.Ic, this.Lb.name); for (var c = 1, d = 5, e = this.Ic.length - 1; 0 <= e; e--) { var f = this.Od(1E3 + e); f.Xt == this.Gh[0].name && (this.Pd.dc({ x: f.x - b.aa.width / 4, y: L.height + this.Pd.width / 2 - 100, anchorX: 0.5, anchorY: 0.5 }), this.Pd.kv(), this.Pd.Kc(b.Yh(b.vb.create(b.Vg.create(0.2, 1.2), b.Vg.create(0.2, 1)))), this.Pd.te(!1)) } break; case 3: this.Pd.hc(!0); this.j = this.uj(3, this.Lb); this.j.push(this.Lb); this.Ic = randArr(this.j, 3); this.Kc(b.vb.create(b.Wd.create(0.4), b.Bd.create(function() { this.lp(this.Ic) }, this))); this.Gh = this.Sl(this.Ic, this.Lb.name); c = 2; break; case 4: this.j = this.uj(4, this.Lb), this.j.push(this.Lb), this.Ic = randArr(this.j, 4), this.Kc(b.vb.create(b.Wd.create(0.4), b.Bd.create(function() { this.lp(this.Ic) }, this))); case 5: case 6: this.Gh = this.Sl(this.Ic, this.Lb.name); c = 1 + Math.round(2 * Math.random()); break; case 7: this.j = this.uj(5, this.Lb), this.j.push(this.Lb), this.Ic = randArr(this.j, 5), this.Kc(b.vb.create(b.Wd.create(0.4), b.Bd.create(function() { this.lp(this.Ic) }, this))); default: this.Gh = this.Sl(this.Ic, this.Lb.name), c = 1 + Math.round(3 * Math.random()) } 0 == d && (d = 6 - 0.2 * (25 < a ? 25 : a)); this.Kc(b.vb.create(b.Wd.create(1), b.Bd.create(function() { this.zz(this.Gh, c, d); 1 != this.Gj && 2 != this.Gj || this.Pd.te(!0) }, this))) }, uj: function(a, c) { for (var d = null, d = c ? randArr(this.Sl(N, c.name), a) : randArr(N, a), e = 0; e < a; e++) d[e].value = b.color(d[e].value); return d }, zz: function(a, c, d, e) { if (!e && this.ec) return ! 1; this.ec = b.zb.create(); var f = randArr(O, 1)[0]; this.ec.dc({ x: b.aa.width - f.width / 2 + 15, y: b.aa.height / 2 - 105, width: f.width, height: f.height, anchorX: 0.5, anchorY: 0.5 }); a = randArr(a, c); for (var g = null, h = null, k = f.Fg - 1; 0 <= k; k--) { if (1 == c && k == f.Fg - 1) { g = b.B.create("#blocks/" + f.name + "/0.png"); h = a[0]; g.V(h.value); g.dc(f.Lg); this.ec.N(g); this.Fj.push({ color: h, hz: g }); break } g = b.B.create("#blocks/" + f.name + "/" + (k + 1) + ".png"); k + 1 <= c ? h = a[k] : (h = randArr(a, 1), h = h[0]); g.V(h.value); g.dc(f.Lg); this.ec.N(g); this.Fj.push({ color: h, hz: g }) } this.N(this.ec, 2); e || (c = b.wk.create(d, C(0, this.ec.y)), this.ec.Kc(c)); return this.ec }, lp: function(a) { for (var c = b.G.create({ event: b.G.li, Tj: !0, cf: this.cf, Uh: this.Uh, Th: this.Th, Sh: this.Sh }), d = a.length, e = b.aa.width / d / L.width, f = 0; f <= d - 1; f++) { var g = b.B.create("#btn.png"); g.Qp(e); g.dc({ anchorY: 0, anchorX: 1, x: b.aa.width - f * L.width * e + M.x, y: -L.height, Xt: a[f].name }); g.V(a[f].value); var h = this.Od(1E3 + f); if (h) { var k = b.ub.create(0.2, C(0, -L.height)), m = b.Bd.create(function() { this.hc() }, h); h.Kc(b.vb.create(b.Wd.create(0.1 + 0.1 * f), k, m)) } this.N(g, 3, 1E3 + f); k = b.ub.create(0.4, C(0, L.height)); g.Kc(b.vb.create(b.Wd.create(0.2 + 0.1 * f), k)); b.I.addListener(0 == f ? c: c.d(), g) } }, cf: function(a, c) { var d = S, e = c.Cc, f = e.du(a.Oh()), g = e.ud(); if (void 0 == huanle) return ! 1; if (b.zA(E(0, 0, g.width, g.height), f)) { if (d.Lb.name == e.Xt) return ! 1; b.Il.Vu(H.oA, !1); d.Jl = !1; var h = d.Od(3E3); h && (d.V(d.Lb.value), h.kv(d.jm), h.clear(), h.hc(!0)); h = b.Tb.create(); h.dc({ x: d.Zc.x + d.Zc.width / 2, y: d.Zc.y + d.Zc.height / 2, anchorX: 0.5, anchorY: 0.5 }); d.N(h, 1, 3E3); var k = d.MK(d.j, e.Xt); d.Lb = k; h.ip(C(0, 0), 50, k.value); e = b.Zm.create(0.8, 50); f = b.Bd.create(function() { d.jB(k); h.clear(); h.hc(!0) }, this); d.jm = b.vb.create(e, f); h.Kc(d.jm); return ! 0 } return ! 1 }, Uh: function() {}, Th: function() {}, Sh: function() {}, KI: function(a, c) { var d = 50 * a.Kz(), e = ah = 2 * d, f = a.x - d, d = a.y - d, g = c.x, h = c.y, k = c.width - 200; return Math.abs(f - g) > Math.max(e, k) || Math.abs(d - h) > Math.max(ah, c.height) ? !1 : b.BA(E(f, d, e, ah), E(g, h, k, c.height)) }, FI: function(a, c) { var d = a.x, e = a.y, f = a.width - 100, g = c.x, h = c.y, k = c.width - 150; return Math.abs(d - g) > Math.max(f, k) || Math.abs(e - h) > Math.max(a.height, c.height) ? !1 : b.BA(E(d, e, f, a.height), E(g, h, k, c.height)) }, MK: function(a, c) { for (var d in a) if (a[d].name == c) return a[d]; return null }, Sl: function(a, c) { for (var d = [], e = a.length, f = 0; f < e; f++) a[f].name != c && d.push(a[f]); return d } }), W = b.$m.extend({ se: function() { this._super(); b.ue.Vt(H.NJ, H.OJ); P = new T; P.pN(); this.N(P); Q = new U; R = new V } }), U = b.zb.extend({ ctor: function() { this._super(); this.Yj = b.B.create("#result.png"); this.Yj.dc({ x: b.aa.width / 2 + M.x, y: b.aa.height / 2 + 100 }); var a = b.B.create("#btn.png"); a.dc({ x: b.aa.width / 2 + 120 + M.x, y: b.aa.height / 2 - 120 }); a.V(b.color("#2199BE")); a.Og(1.2, 0.5); this.N(a); a = b.A.create("0", "\u9ed1\u4f53", 40); a.dc({ x: b.aa.width / 2 + 120 + M.x, y: b.aa.height / 2 - 120 }); a.V(b.color(250, 250, 250)); a.ic("\u70ab\u8000\u4e00\u4e0b"); this.N(a); a = b.B.create("#btn.png"); a.dc({ x: b.aa.width / 2 - 120 + M.x, y: b.aa.height / 2 - 120 }); a.V(b.color("#2199BE")); a.Og(1.2, 0.5); this.N(a); a = b.A.create("0", "\u9ed1\u4f53", 40); a.dc({ x: b.aa.width / 2 - 120 + M.x, y: b.aa.height / 2 - 120 }); a.V(b.color(250, 250, 250)); a.ic("\u518d\u6765\u4e00\u6b21"); this.N(a); this.N(this.Yj) }, se: function() { this._super(); var a = P.Gj - 1, c = 0, d = ""; 20 < a ? (c = 99, d = "\u82b1\u4ed9\u5b50") : 15 < a ? (c = Math.round(95 + 4 * (a - 15) / 6), d = "\u91c7\u82b1\u5723\u624b") : 10 < a ? (c = Math.round(85 + 10 * (a - 10) / 6), d = "\u91c7\u82b1\u5927\u76d7") : 5 < a ? (c = Math.round(80 + 10 * (a - 5) / 6), d = "\u91c7\u82b1\u6d6a\u5b50") : (c = 80 + a / 2, d = "\u624b\u6b8b\u82b1\u7ae5"); this.Yj.df(); var e = this.Yj.width, f = this.Yj.height, g = new b.A("\u201c" + d + "\u201d\u5c31\u662f\u4f60\u4e86~~~\n\u91c7\u5230\u4e86" + a + "\u6735\u5c0f\u91ce\u82b1\n\u6253\u8d25\u4e86\u670b\u53cb\u5708" + c + "%\u7684\u4eba\uff01\n\u5411\u670b\u53cb\u70ab\u8000\u4e0b\u5427\uff1f", "Arial", 24); g.x = e / 2 + 30; g.y = f - g.height - 100; g.textAlign = b.A.Yg; g.width = e - 300; g.color = b.color(10, 10, 10); this.Yj.N(g); this.Pj = b.G.create({ event: b.G.li, cf: function(e) { e = e.Oh(); if (e.y > b.aa.height / 2) return ! 1; e.x < b.aa.width / 2 ? (Q.hc(), P.Vz()) : (dp_share()); return ! 0 } }); b.I.addListener(this.Pj, this); dp_submitScore(a,d); // setFootAdvDisplay("inline"); }, vd: function() { this._super(); b.I.removeListener(this.Pj) } }), V = b.Pb.extend({ Pj: null, ctor: function() { this._super(b.color(0, 0, 0, 188), b.aa.width, b.aa.height); var a = new b.B("#arrow.png"); a.anchorX = 1; a.anchorY = 1; a.x = b.aa.width - 15; a.y = b.aa.height - 5; this.N(a); a = new b.A('\u8bf7\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u6309\u94ae\n\u518d\u70b9"\u5206\u4eab\u5230\u670b\u53cb\u5708"\n\u8ba9\u597d\u53cb\u4eec\u6311\u6218\u4f60\u7684\u5206\u6570\uff01', "\u5b8b\u4f53", 40, D(0.7 * b.aa.width, 250), b.Yg); a.x = (b.aa.height - a.width) / 2 + 60; a.y = b.aa.height - a.height; this.N(a) }, se: function() { this._super(); this.Pj = b.G.create({ event: b.G.li, Tj: !0, cf: function() { R.hc() } }); b.I.addListener(this.Pj, this) }, vd: function() { this._super(); b.I.removeListener(this.Pj) } }); randArr = function(a, c) { for (var d = [], e = a.length - 1; 0 <= e; e--) d.push(a[e]); for (var f = [], e = 0; e < c; e++) if (0 < d.length) { var g = Math.floor(Math.random() * d.length); f[e] = d[g]; d.splice(g, 1) } else break; return f }; b.Va.Ru = function() { b.view.lI(!0); b.Aa.Kf ? b.view.Lp(640, 1E3, b.yc.Mm) : b.view.Lp(640, 960, b.yc.SHOW_ALL); b.view.fM(!0); b.os = null; b.xq.Wu(J, function() { gameScene = new W; b.Qa.OA(gameScene) }, this) }; b.Va.oM();