UNPKG

chbim-plugins

Version:

此插件和chbim云平台强绑定

842 lines 1.38 MB
var Ty = Object.defineProperty; var My = (x, a, o) => a in x ? Ty(x, a, { enumerable: !0, configurable: !0, writable: !0, value: o }) : x[a] = o; var Ho = (x, a, o) => (My(x, typeof a != "symbol" ? a + "" : a, o), o); import { openBlock as Ju, createElementBlock as $u, normalizeClass as Ud, renderSlot as Gd, defineComponent as sf, ref as Uc, onMounted as af, createElementVNode as Sr, toDisplayString as Sy, createApp as wd } from "vue"; const Ey = (x, a) => { const o = x.__vccOpts || x; for (const [c, f] of a) o[c] = f; return o; }, by = { name: "MukButton" }, Cy = /* @__PURE__ */ Object.assign(by, { props: { size: { type: String, default: "middle" }, type: { type: String, default: "default" } }, setup(x) { return (a, o) => (Ju(), $u("button", { class: Ud(["muk-btn", [x.size, x.type]]) }, [ Gd(a.$slots, "default", {}, void 0, !0) ], 2)); } }), Ay = /* @__PURE__ */ Ey(Cy, [["__scopeId", "data-v-0e6d93cd"]]); class Py { constructor() { this.dom = { mask: document.querySelector(".js-mask"), slices: [...document.querySelectorAll(".js-mask__slice")], lines: [...document.querySelectorAll(".js-mask-line")], logo: document.querySelector(".js-logo"), titles: [...document.querySelectorAll(".js-transition-title")] }, this.tl = null, this.state = !1, this.init(); } resetScroll() { window.scrollTo(0, 0); } createTimeline() { this.tl = new TimelineMax({ paused: !0, onComplete: () => { this.state = !1; } }), this.tl.set(this.dom.titles, { yPercent: 0 }).set(this.dom.mask, { autoAlpha: 1 }).staggerFromTo( this.dom.slices, 1.5, { xPercent: 100 }, { xPercent: 0, ease: Expo.easeInOut }, -0.075 ).addCallback(this.resetScroll.bind(this)).addLabel("loaderStart").set(this.dom.titles, { yPercent: -100 }).set([this.dom.lines[0], this.dom.logo], { autoAlpha: 1 }).fromTo( this.dom.logo, 1, { yPercent: -100, rotation: 10 }, { yPercent: 0, rotation: 0, ease: Expo.easeOut } ).addLabel("intermediateFrame").staggerFromTo( this.dom.lines, 0.5, { scaleX: 0 }, { scaleX: 1, ease: Expo.easeInOut }, 0.75, "-=1" ).set(this.dom.lines, { transformOrigin: "right" }).fromTo( this.dom.lines[0], 1, { scaleX: 1 }, { scaleX: 0, ease: Expo.easeInOut } ).fromTo( this.dom.logo, 1, { yPercent: 0 }, { yPercent: 105, ease: Expo.easeOut }, "-=1" ).staggerFromTo( this.dom.slices, 0.5, { xPercent: 0 }, { xPercent: 100, ease: Expo.easeInOut }, 0.075 ).set(this.dom.mask, { autoAlpha: 0 }).addLabel("imagesStart", "-=0.85").staggerFromTo( this.dom.titles, 1.5, { yPercent: 100 }, { yPercent: 0, ease: Expo.easeInOut }, 0.05, "imagesStart" ).addLabel("loaderEnd"); } continuation() { this.init(), this.resetScroll(), this.tl.tweenFromTo("loaderStart", "loaderEnd"); } show() { this.init(), this.tl.tweenFromTo("loaderStart", "intermediateFrame"); } hide() { this.resetScroll(), this.tl.tweenFromTo("intermediateFrame", "loaderEnd"); } init() { document.querySelector(".mask-line.js-mask-line") && document.querySelector(".mask-line.js-mask-line").removeAttribute("style"), document.querySelector(".mask-line__inner.js-mask-line") && document.querySelector(".mask-line__inner.js-mask-line").removeAttribute("style"), this.createTimeline(); } } const Ly = { class: "mask js-mask" }, Ry = /* @__PURE__ */ Sr("div", { class: "mask__slice js-mask__slice" }, null, -1), Oy = /* @__PURE__ */ Sr("div", { class: "mask__slice js-mask__slice" }, null, -1), Iy = /* @__PURE__ */ Sr("div", { class: "mask__slice js-mask__slice" }, null, -1), Dy = { class: "mask__inner" }, zy = { class: "logo logo--mask" }, ky = { class: "js-logo", style: { color: "#fff" } }, By = /* @__PURE__ */ Sr("div", { class: "mask-line js-mask-line" }, [ /* @__PURE__ */ Sr("div", { class: "mask-line__inner js-mask-line" }) ], -1), Ny = { name: "BimCutscenes" }, Fy = /* @__PURE__ */ sf({ ...Ny, props: { text: { type: String, default: "CHBIM云平台" } }, setup(x, { expose: a }) { const o = Uc(null), c = () => { o.value === null && (o.value = new Py()); }, f = () => { c(), o.value.continuation(); }; return af(() => { c(); }), a({ continuation: f }), (u, m) => (Ju(), $u("div", Ly, [ Ry, Oy, Iy, Sr("div", Dy, [ Sr("figure", zy, [ Sr("p", ky, Sy(x.text), 1) ]), By ]) ])); } }); /*! * VERSION: 2.0.2 * DATE: 2018-08-27 * UPDATES AND DOCS AT: http://greensock.com * * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin * * @license Copyright (c) 2008-2018, GreenSock. All rights reserved. * This work is subject to the terms at http://greensock.com/standard-license or for * Club GreenSock members, the software agreement that was issued with your membership. * * @author: Jack Doyle, jack@greensock.com **/ var hn = typeof module < "u" && module.exports && typeof global < "u" ? global : globalThis || window; (hn._gsQueue || (hn._gsQueue = [])).push(function() { hn._gsDefine( "TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(x, a, o) { var c = function(E) { var P, w = [], M = E.length; for (P = 0; P !== M; w.push(E[P++])) ; return w; }, f = function(E, P, w) { var M, I, C = E.cycle; for (M in C) I = C[M], E[M] = typeof I == "function" ? I(w, P[w]) : I[w % I.length]; delete E.cycle; }, u = function(E, P, w) { o.call(this, E, P, w), this._cycle = 0, this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._repeat && this._uncache(!0), this.render = u.prototype.render; }, m = 1e-10, g = o._internals, v = g.isSelector, S = g.isArray, b = u.prototype = o.to({}, 0.1, {}), O = []; u.version = "2.0.2", b.constructor = u, b.kill()._gc = !1, u.killTweensOf = u.killDelayedCallsTo = o.killTweensOf, u.getTweensOf = o.getTweensOf, u.lagSmoothing = o.lagSmoothing, u.ticker = o.ticker, u.render = o.render, b.invalidate = function() { return this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._yoyoEase = null, this._uncache(!0), o.prototype.invalidate.call(this); }, b.updateTo = function(E, P) { var w, M = this.ratio, I = this.vars.immediateRender || E.immediateRender; P && this._startTime < this._timeline._time && (this._startTime = this._timeline._time, this._uncache(!1), this._gc ? this._enabled(!0, !1) : this._timeline.insert(this, this._startTime - this._delay)); for (w in E) this.vars[w] = E[w]; if (this._initted || I) { if (P) this._initted = !1, I && this.render(0, !0, !0); else if (this._gc && this._enabled(!0, !1), this._notifyPluginsOfEnabled && this._firstPT && o._onPluginEvent("_onDisable", this), this._time / this._duration > 0.998) { var C = this._totalTime; this.render(0, !0, !1), this._initted = !1, this.render(C, !0, !1); } else if (this._initted = !1, this._init(), this._time > 0 || I) for (var U, N = 1 / (1 - M), X = this._firstPT; X; ) U = X.s + X.c, X.c *= N, X.s = U - X.c, X = X._next; } return this; }, b.render = function(E, P, w) { this._initted || this._duration === 0 && this.vars.repeat && this.invalidate(); var M, I, C, U, N, X, J, Z, ct, Rt = this._dirty ? this.totalDuration() : this._totalDuration, tt = this._time, _t = this._totalTime, G = this._cycle, Pt = this._duration, Et = this._rawPrevTime; if (E >= Rt - 1e-7 && E >= 0 ? (this._totalTime = Rt, this._cycle = this._repeat, this._yoyo && 1 & this._cycle ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = Pt, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (M = !0, I = "onComplete", w = w || this._timeline.autoRemoveChildren), Pt === 0 && (this._initted || !this.vars.lazy || w) && (this._startTime === this._timeline._duration && (E = 0), (0 > Et || 0 >= E && E >= -1e-7 || Et === m && this.data !== "isPause") && Et !== E && (w = !0, Et > m && (I = "onReverseComplete")), this._rawPrevTime = Z = !P || E || Et === E ? E : m)) : 1e-7 > E ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (_t !== 0 || Pt === 0 && Et > 0) && (I = "onReverseComplete", M = this._reversed), 0 > E && (this._active = !1, Pt === 0 && (this._initted || !this.vars.lazy || w) && (Et >= 0 && (w = !0), this._rawPrevTime = Z = !P || E || Et === E ? E : m)), this._initted || (w = !0)) : (this._totalTime = this._time = E, this._repeat !== 0 && (U = Pt + this._repeatDelay, this._cycle = this._totalTime / U >> 0, this._cycle !== 0 && this._cycle === this._totalTime / U && E >= _t && this._cycle--, this._time = this._totalTime - this._cycle * U, this._yoyo && 1 & this._cycle && (this._time = Pt - this._time, ct = this._yoyoEase || this.vars.yoyoEase, ct && (this._yoyoEase || (ct !== !0 || this._initted ? this._yoyoEase = ct = ct === !0 ? this._ease : ct instanceof Ease ? ct : Ease.map[ct] : (ct = this.vars.ease, this._yoyoEase = ct = ct ? ct instanceof Ease ? ct : typeof ct == "function" ? new Ease(ct, this.vars.easeParams) : Ease.map[ct] || o.defaultEase : o.defaultEase)), this.ratio = ct ? 1 - ct.getRatio((Pt - this._time) / Pt) : 0)), this._time > Pt ? this._time = Pt : this._time < 0 && (this._time = 0)), this._easeType && !ct ? (N = this._time / Pt, X = this._easeType, J = this._easePower, (X === 1 || X === 3 && N >= 0.5) && (N = 1 - N), X === 3 && (N *= 2), J === 1 ? N *= N : J === 2 ? N *= N * N : J === 3 ? N *= N * N * N : J === 4 && (N *= N * N * N * N), X === 1 ? this.ratio = 1 - N : X === 2 ? this.ratio = N : this._time / Pt < 0.5 ? this.ratio = N / 2 : this.ratio = 1 - N / 2) : ct || (this.ratio = this._ease.getRatio(this._time / Pt))), tt === this._time && !w && G === this._cycle) return void (_t !== this._totalTime && this._onUpdate && (P || this._callback("onUpdate"))); if (!this._initted) { if (this._init(), !this._initted || this._gc) return; if (!w && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = tt, this._totalTime = _t, this._rawPrevTime = Et, this._cycle = G, g.lazyTweens.push(this), void (this._lazy = [E, P]); !this._time || M || ct ? M && this._ease._calcEnd && !ct && (this.ratio = this._ease.getRatio(this._time === 0 ? 0 : 1)) : this.ratio = this._ease.getRatio(this._time / Pt); } for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== tt && E >= 0 && (this._active = !0), _t === 0 && (this._initted === 2 && E > 0 && this._init(), this._startAt && (E >= 0 ? this._startAt.render(E, !0, w) : I || (I = "_dummyGS")), this.vars.onStart && (this._totalTime !== 0 || Pt === 0) && (P || this._callback("onStart"))), C = this._firstPT; C; ) C.f ? C.t[C.p](C.c * this.ratio + C.s) : C.t[C.p] = C.c * this.ratio + C.s, C = C._next; this._onUpdate && (0 > E && this._startAt && this._startTime && this._startAt.render(E, !0, w), P || (this._totalTime !== _t || I) && this._callback("onUpdate")), this._cycle !== G && (P || this._gc || this.vars.onRepeat && this._callback("onRepeat")), I && (!this._gc || w) && (0 > E && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(E, !0, w), M && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !P && this.vars[I] && this._callback(I), Pt === 0 && this._rawPrevTime === m && Z !== m && (this._rawPrevTime = 0)); }, u.to = function(E, P, w) { return new u(E, P, w); }, u.from = function(E, P, w) { return w.runBackwards = !0, w.immediateRender = w.immediateRender != 0, new u(E, P, w); }, u.fromTo = function(E, P, w, M) { return M.startAt = w, M.immediateRender = M.immediateRender != 0 && w.immediateRender != 0, new u(E, P, M); }, u.staggerTo = u.allTo = function(E, P, w, M, I, C, U) { M = M || 0; var N, X, J, Z, ct = 0, Rt = [], tt = function() { w.onComplete && w.onComplete.apply(w.onCompleteScope || this, arguments), I.apply(U || w.callbackScope || this, C || O); }, _t = w.cycle, G = w.startAt && w.startAt.cycle; for (S(E) || (typeof E == "string" && (E = o.selector(E) || E), v(E) && (E = c(E))), E = E || [], 0 > M && (E = c(E), E.reverse(), M *= -1), N = E.length - 1, J = 0; N >= J; J++) { X = {}; for (Z in w) X[Z] = w[Z]; if (_t && (f(X, E, J), X.duration != null && (P = X.duration, delete X.duration)), G) { G = X.startAt = {}; for (Z in w.startAt) G[Z] = w.startAt[Z]; f(X.startAt, E, J); } X.delay = ct + (X.delay || 0), J === N && I && (X.onComplete = tt), Rt[J] = new u(E[J], P, X), ct += M; } return Rt; }, u.staggerFrom = u.allFrom = function(E, P, w, M, I, C, U) { return w.runBackwards = !0, w.immediateRender = w.immediateRender != 0, u.staggerTo(E, P, w, M, I, C, U); }, u.staggerFromTo = u.allFromTo = function(E, P, w, M, I, C, U, N) { return M.startAt = w, M.immediateRender = M.immediateRender != 0 && w.immediateRender != 0, u.staggerTo(E, P, M, I, C, U, N); }, u.delayedCall = function(E, P, w, M, I) { return new u(P, 0, { delay: E, onComplete: P, onCompleteParams: w, callbackScope: M, onReverseComplete: P, onReverseCompleteParams: w, immediateRender: !1, useFrames: I, overwrite: 0 }); }, u.set = function(E, P) { return new u(E, 0, P); }, u.isTweening = function(E) { return o.getTweensOf(E, !0).length > 0; }; var k = function(E, P) { for (var w = [], M = 0, I = E._first; I; ) I instanceof o ? w[M++] = I : (P && (w[M++] = I), w = w.concat(k(I, P)), M = w.length), I = I._next; return w; }, R = u.getAllTweens = function(E) { return k(x._rootTimeline, E).concat(k(x._rootFramesTimeline, E)); }; u.killAll = function(E, P, w, M) { P == null && (P = !0), w == null && (w = !0); var I, C, U, N = R(M != 0), X = N.length, J = P && w && M; for (U = 0; X > U; U++) C = N[U], (J || C instanceof a || (I = C.target === C.vars.onComplete) && w || P && !I) && (E ? C.totalTime(C._reversed ? 0 : C.totalDuration()) : C._enabled(!1, !1)); }, u.killChildTweensOf = function(E, P) { if (E != null) { var w, M, I, C, U, N = g.tweenLookup; if (typeof E == "string" && (E = o.selector(E) || E), v(E) && (E = c(E)), S(E)) for (C = E.length; --C > -1; ) u.killChildTweensOf(E[C], P); else { w = []; for (I in N) for (M = N[I].target.parentNode; M; ) M === E && (w = w.concat(N[I].tweens)), M = M.parentNode; for (U = w.length, C = 0; U > C; C++) P && w[C].totalTime(w[C].totalDuration()), w[C]._enabled(!1, !1); } } }; var F = function(E, P, w, M) { P = P !== !1, w = w !== !1, M = M !== !1; for (var I, C, U = R(M), N = P && w && M, X = U.length; --X > -1; ) C = U[X], (N || C instanceof a || (I = C.target === C.vars.onComplete) && w || P && !I) && C.paused(E); }; return u.pauseAll = function(E, P, w) { F(!0, E, P, w); }, u.resumeAll = function(E, P, w) { F(!1, E, P, w); }, u.globalTimeScale = function(E) { var P = x._rootTimeline, w = o.ticker.time; return arguments.length ? (E = E || m, P._startTime = w - (w - P._startTime) * P._timeScale / E, P = x._rootFramesTimeline, w = o.ticker.frame, P._startTime = w - (w - P._startTime) * P._timeScale / E, P._timeScale = x._rootTimeline._timeScale = E, E) : P._timeScale; }, b.progress = function(E, P) { return arguments.length ? this.totalTime( this.duration() * (this._yoyo && 1 & this._cycle ? 1 - E : E) + this._cycle * (this._duration + this._repeatDelay), P ) : this._time / this.duration(); }, b.totalProgress = function(E, P) { return arguments.length ? this.totalTime(this.totalDuration() * E, P) : this._totalTime / this.totalDuration(); }, b.time = function(E, P) { return arguments.length ? (this._dirty && this.totalDuration(), E > this._duration && (E = this._duration), this._yoyo && 1 & this._cycle ? E = this._duration - E + this._cycle * (this._duration + this._repeatDelay) : this._repeat !== 0 && (E += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(E, P)) : this._time; }, b.duration = function(E) { return arguments.length ? x.prototype.duration.call(this, E) : this._duration; }, b.totalDuration = function(E) { return arguments.length ? this._repeat === -1 ? this : this.duration( (E - this._repeat * this._repeatDelay) / (this._repeat + 1) ) : (this._dirty && (this._totalDuration = this._repeat === -1 ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration); }, b.repeat = function(E) { return arguments.length ? (this._repeat = E, this._uncache(!0)) : this._repeat; }, b.repeatDelay = function(E) { return arguments.length ? (this._repeatDelay = E, this._uncache(!0)) : this._repeatDelay; }, b.yoyo = function(E) { return arguments.length ? (this._yoyo = E, this) : this._yoyo; }, u; }, !0 ), hn._gsDefine( "TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(x, a, o) { var c = function(w) { a.call(this, w), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate; var M, I, C = this.vars; for (I in C) M = C[I], v(M) && M.join("").indexOf("{self}") !== -1 && (C[I] = this._swapSelfInParams(M)); v(C.tweens) && this.add(C.tweens, 0, C.align, C.stagger); }, f = 1e-10, u = o._internals, m = c._internals = {}, g = u.isSelector, v = u.isArray, S = u.lazyTweens, b = u.lazyRender, O = hn._gsDefine.globals, k = function(w) { var M, I = {}; for (M in w) I[M] = w[M]; return I; }, R = function(w, M, I) { var C, U, N = w.cycle; for (C in N) U = N[C], w[C] = typeof U == "function" ? U(I, M[I]) : U[I % U.length]; delete w.cycle; }, F = m.pauseCallback = function() { }, E = function(w) { var M, I = [], C = w.length; for (M = 0; M !== C; I.push(w[M++])) ; return I; }, P = c.prototype = new a(); return c.version = "2.0.2", P.constructor = c, P.kill()._gc = P._forcingPlayhead = P._hasPause = !1, P.to = function(w, M, I, C) { var U = I.repeat && O.TweenMax || o; return M ? this.add(new U(w, M, I), C) : this.set(w, I, C); }, P.from = function(w, M, I, C) { return this.add((I.repeat && O.TweenMax || o).from(w, M, I), C); }, P.fromTo = function(w, M, I, C, U) { var N = C.repeat && O.TweenMax || o; return M ? this.add(N.fromTo(w, M, I, C), U) : this.set(w, C, U); }, P.staggerTo = function(w, M, I, C, U, N, X, J) { var Z, ct, Rt = new c({ onComplete: N, onCompleteParams: X, callbackScope: J, smoothChildTiming: this.smoothChildTiming }), tt = I.cycle; for (typeof w == "string" && (w = o.selector(w) || w), w = w || [], g(w) && (w = E(w)), C = C || 0, 0 > C && (w = E(w), w.reverse(), C *= -1), ct = 0; ct < w.length; ct++) Z = k(I), Z.startAt && (Z.startAt = k(Z.startAt), Z.startAt.cycle && R(Z.startAt, w, ct)), tt && (R(Z, w, ct), Z.duration != null && (M = Z.duration, delete Z.duration)), Rt.to(w[ct], M, Z, ct * C); return this.add(Rt, U); }, P.staggerFrom = function(w, M, I, C, U, N, X, J) { return I.immediateRender = I.immediateRender != 0, I.runBackwards = !0, this.staggerTo(w, M, I, C, U, N, X, J); }, P.staggerFromTo = function(w, M, I, C, U, N, X, J, Z) { return C.startAt = I, C.immediateRender = C.immediateRender != 0 && I.immediateRender != 0, this.staggerTo(w, M, C, U, N, X, J, Z); }, P.call = function(w, M, I, C) { return this.add(o.delayedCall(0, w, M, I), C); }, P.set = function(w, M, I) { return I = this._parseTimeOrLabel(I, 0, !0), M.immediateRender == null && (M.immediateRender = I === this._time && !this._paused), this.add(new o(w, 0, M), I); }, c.exportRoot = function(w, M) { w = w || {}, w.smoothChildTiming == null && (w.smoothChildTiming = !0); var I, C, U, N, X = new c(w), J = X._timeline; for (M == null && (M = !0), J._remove(X, !0), X._startTime = 0, X._rawPrevTime = X._time = X._totalTime = J._time, U = J._first; U; ) N = U._next, M && U instanceof o && U.target === U.vars.onComplete || (C = U._startTime - U._delay, 0 > C && (I = 1), X.add(U, C)), U = N; return J.add(X, 0), I && X.totalDuration(), X; }, P.add = function(w, M, I, C) { var U, N, X, J, Z, ct; if (typeof M != "number" && (M = this._parseTimeOrLabel(M, 0, !0, w)), !(w instanceof x)) { if (w instanceof Array || w && w.push && v(w)) { for (I = I || "normal", C = C || 0, U = M, N = w.length, X = 0; N > X; X++) v(J = w[X]) && (J = new c({ tweens: J })), this.add(J, U), typeof J != "string" && typeof J != "function" && (I === "sequence" ? U = J._startTime + J.totalDuration() / J._timeScale : I === "start" && (J._startTime -= J.delay())), U += C; return this._uncache(!0); } if (typeof w == "string") return this.addLabel(w, M); if (typeof w != "function") throw "Cannot add " + w + " into the timeline; it is not a tween, timeline, function, or string."; w = o.delayedCall(0, w); } if (a.prototype.add.call(this, w, M), w._time && (U = Math.max( 0, Math.min( w.totalDuration(), (this.rawTime() - w._startTime) * w._timeScale ) ), Math.abs(U - w._totalTime) > 1e-5 && w.render(U, !1, !1)), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) for (Z = this, ct = Z.rawTime() > w._startTime; Z._timeline; ) ct && Z._timeline.smoothChildTiming ? Z.totalTime(Z._totalTime, !0) : Z._gc && Z._enabled(!0, !1), Z = Z._timeline; return this; }, P.remove = function(w) { if (w instanceof x) { this._remove(w, !1); var M = w._timeline = w.vars.useFrames ? x._rootFramesTimeline : x._rootTimeline; return w._startTime = (w._paused ? w._pauseTime : M._time) - (w._reversed ? w.totalDuration() - w._totalTime : w._totalTime) / w._timeScale, this; } if (w instanceof Array || w && w.push && v(w)) { for (var I = w.length; --I > -1; ) this.remove(w[I]); return this; } return typeof w == "string" ? this.removeLabel(w) : this.kill(null, w); }, P._remove = function(w, M) { a.prototype._remove.call(this, w, M); var I = this._last; return I ? this._time > this.duration() && (this._time = this._duration, this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this; }, P.append = function(w, M) { return this.add(w, this._parseTimeOrLabel(null, M, !0, w)); }, P.insert = P.insertMultiple = function(w, M, I, C) { return this.add(w, M || 0, I, C); }, P.appendMultiple = function(w, M, I, C) { return this.add(w, this._parseTimeOrLabel(null, M, !0, w), I, C); }, P.addLabel = function(w, M) { return this._labels[w] = this._parseTimeOrLabel(M), this; }, P.addPause = function(w, M, I, C) { var U = o.delayedCall(0, F, I, C || this); return U.vars.onComplete = U.vars.onReverseComplete = M, U.data = "isPause", this._hasPause = !0, this.add(U, w); }, P.removeLabel = function(w) { return delete this._labels[w], this; }, P.getLabelTime = function(w) { return this._labels[w] != null ? this._labels[w] : -1; }, P._parseTimeOrLabel = function(w, M, I, C) { var U, N; if (C instanceof x && C.timeline === this) this.remove(C); else if (C && (C instanceof Array || C.push && v(C))) for (N = C.length; --N > -1; ) C[N] instanceof x && C[N].timeline === this && this.remove(C[N]); if (U = typeof w != "number" || M ? this.duration() > 99999999999 ? this.recent().endTime(!1) : this._duration : 0, typeof M == "string") return this._parseTimeOrLabel( M, I && typeof w == "number" && this._labels[M] == null ? w - U : 0, I ); if (M = M || 0, typeof w != "string" || !isNaN(w) && this._labels[w] == null) w == null && (w = U); else { if (N = w.indexOf("="), N === -1) return this._labels[w] == null ? I ? this._labels[w] = U + M : M : this._labels[w] + M; M = parseInt(w.charAt(N - 1) + "1", 10) * Number(w.substr(N + 1)), w = N > 1 ? this._parseTimeOrLabel(w.substr(0, N - 1), 0, I) : U; } return Number(w) + M; }, P.seek = function(w, M) { return this.totalTime( typeof w == "number" ? w : this._parseTimeOrLabel(w), M !== !1 ); }, P.stop = function() { return this.paused(!0); }, P.gotoAndPlay = function(w, M) { return this.play(w, M); }, P.gotoAndStop = function(w, M) { return this.pause(w, M); }, P.render = function(w, M, I) { this._gc && this._enabled(!0, !1); var C, U, N, X, J, Z, ct, Rt = this._time, tt = this._dirty ? this.totalDuration() : this._totalDuration, _t = this._startTime, G = this._timeScale, Pt = this._paused; if (Rt !== this._time && (w += this._time - Rt), w >= tt - 1e-7 && w >= 0) this._totalTime = this._time = tt, this._reversed || this._hasPausedChild() || (U = !0, X = "onComplete", J = !!this._timeline.autoRemoveChildren, this._duration === 0 && (0 >= w && w >= -1e-7 || this._rawPrevTime < 0 || this._rawPrevTime === f) && this._rawPrevTime !== w && this._first && (J = !0, this._rawPrevTime > f && (X = "onReverseComplete"))), this._rawPrevTime = this._duration || !M || w || this._rawPrevTime === w ? w : f, w = tt + 1e-4; else if (1e-7 > w) if (this._totalTime = this._time = 0, (Rt !== 0 || this._duration === 0 && this._rawPrevTime !== f && (this._rawPrevTime > 0 || 0 > w && this._rawPrevTime >= 0)) && (X = "onReverseComplete", U = this._reversed), 0 > w) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (J = U = !0, X = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (J = !0), this._rawPrevTime = w; else { if (this._rawPrevTime = this._duration || !M || w || this._rawPrevTime === w ? w : f, w === 0 && U) for (C = this._first; C && C._startTime === 0; ) C._duration || (U = !1), C = C._next; w = 0, this._initted || (J = !0); } else { if (this._hasPause && !this._forcingPlayhead && !M) { if (w >= Rt) for (C = this._first; C && C._startTime <= w && !Z; ) C._duration || C.data !== "isPause" || C.ratio || C._startTime === 0 && this._rawPrevTime === 0 || (Z = C), C = C._next; else for (C = this._last; C && C._startTime >= w && !Z; ) C._duration || C.data === "isPause" && C._rawPrevTime > 0 && (Z = C), C = C._prev; Z && (this._time = w = Z._startTime, this._totalTime = w + this._cycle * (this._totalDuration + this._repeatDelay)); } this._totalTime = this._time = this._rawPrevTime = w; } if (this._time !== Rt && this._first || I || J || Z) { if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== Rt && w > 0 && (this._active = !0), Rt === 0 && this.vars.onStart && (this._time === 0 && this._duration || M || this._callback("onStart")), ct = this._time, ct >= Rt) for (C = this._first; C && (N = C._next, ct === this._time && (!this._paused || Pt)); ) (C._active || C._startTime <= ct && !C._paused && !C._gc) && (Z === C && this.pause(), C._reversed ? C.render( (C._dirty ? C.totalDuration() : C._totalDuration) - (w - C._startTime) * C._timeScale, M, I ) : C.render((w - C._startTime) * C._timeScale, M, I)), C = N; else for (C = this._last; C && (N = C._prev, ct === this._time && (!this._paused || Pt)); ) { if (C._active || C._startTime <= Rt && !C._paused && !C._gc) { if (Z === C) { for (Z = C._prev; Z && Z.endTime() > this._time; ) Z.render( Z._reversed ? Z.totalDuration() - (w - Z._startTime) * Z._timeScale : (w - Z._startTime) * Z._timeScale, M, I ), Z = Z._prev; Z = null, this.pause(); } C._reversed ? C.render( (C._dirty ? C.totalDuration() : C._totalDuration) - (w - C._startTime) * C._timeScale, M, I ) : C.render((w - C._startTime) * C._timeScale, M, I); } C = N; } this._onUpdate && (M || (S.length && b(), this._callback("onUpdate"))), X && (this._gc || (_t === this._startTime || G !== this._timeScale) && (this._time === 0 || tt >= this.totalDuration()) && (U && (S.length && b(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !M && this.vars[X] && this._callback(X))); } }, P._hasPausedChild = function() { for (var w = this._first; w; ) { if (w._paused || w instanceof c && w._hasPausedChild()) return !0; w = w._next; } return !1; }, P.getChildren = function(w, M, I, C) { C = C || -9999999999; for (var U = [], N = this._first, X = 0; N; ) N._startTime < C || (N instanceof o ? M !== !1 && (U[X++] = N) : (I !== !1 && (U[X++] = N), w !== !1 && (U = U.concat(N.getChildren(!0, M, I)), X = U.length))), N = N._next; return U; }, P.getTweensOf = function(w, M) { var I, C, U = this._gc, N = [], X = 0; for (U && this._enabled(!0, !0), I = o.getTweensOf(w), C = I.length; --C > -1; ) (I[C].timeline === this || M && this._contains(I[C])) && (N[X++] = I[C]); return U && this._enabled(!1, !0), N; }, P.recent = function() { return this._recent; }, P._contains = function(w) { for (var M = w.timeline; M; ) { if (M === this) return !0; M = M.timeline; } return !1; }, P.shiftChildren = function(w, M, I) { I = I || 0; for (var C, U = this._first, N = this._labels; U; ) U._startTime >= I && (U._startTime += w), U = U._next; if (M) for (C in N) N[C] >= I && (N[C] += w); return this._uncache(!0); }, P._kill = function(w, M) { if (!w && !M) return this._enabled(!1, !1); for (var I = M ? this.getTweensOf(M) : this.getChildren(!0, !0, !1), C = I.length, U = !1; --C > -1; ) I[C]._kill(w, M) && (U = !0); return U; }, P.clear = function(w) { var M = this.getChildren(!1, !0, !0), I = M.length; for (this._time = this._totalTime = 0; --I > -1; ) M[I]._enabled(!1, !1); return w !== !1 && (this._labels = {}), this._uncache(!0); }, P.invalidate = function() { for (var w = this._first; w; ) w.invalidate(), w = w._next; return x.prototype.invalidate.call(this); }, P._enabled = function(w, M) { if (w === this._gc) for (var I = this._first; I; ) I._enabled(w, !0), I = I._next; return a.prototype._enabled.call(this, w, M); }, P.totalTime = function(w, M, I) { this._forcingPlayhead = !0; var C = x.prototype.totalTime.apply(this, arguments); return this._forcingPlayhead = !1, C; }, P.duration = function(w) { return arguments.length ? (this.duration() !== 0 && w !== 0 && this.timeScale(this._duration / w), this) : (this._dirty && this.totalDuration(), this._duration); }, P.totalDuration = function(w) { if (!arguments.length) { if (this._dirty) { for (var M, I, C = 0, U = this._last, N = 999999999999; U; ) M = U._prev, U._dirty && U.totalDuration(), U._startTime > N && this._sortChildren && !U._paused && !this._calculatingDuration ? (this._calculatingDuration = 1, this.add(U, U._startTime - U._delay), this._calculatingDuration = 0) : N = U._startTime, U._startTime < 0 && !U._paused && (C -= U._startTime, this._timeline.smoothChildTiming && (this._startTime += U._startTime / this._timeScale, this._time -= U._startTime, this._totalTime -= U._startTime, this._rawPrevTime -= U._startTime), this.shiftChildren(-U._startTime, !1, -9999999999), N = 0), I = U._startTime + U._totalDuration / U._timeScale, I > C && (C = I), U = M; this._duration = this._totalDuration = C, this._dirty = !1; } return this._totalDuration; } return w && this.totalDuration() ? this.timeScale(this._totalDuration / w) : this; }, P.paused = function(w) { if (!w) for (var M = this._first, I = this._time; M; ) M._startTime === I && M.data === "isPause" && (M._rawPrevTime = 0), M = M._next; return x.prototype.paused.apply(this, arguments); }, P.usesFrames = function() { for (var w = this._timeline; w._timeline; ) w = w._timeline; return w === x._rootFramesTimeline; }, P.rawTime = function(w) { return w && (this._paused || this._repeat && this.time() > 0 && this.totalProgress() < 1) ? this._totalTime % (this._duration + this._repeatDelay) : this._paused ? this._totalTime : (this._timeline.rawTime(w) - this._startTime) * this._timeScale; }, c; }, !0 ), hn._gsDefine( "TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function(x, a, o) { var c = function(O) { x.call(this, O), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._dirty = !0; }, f = 1e-10, u = a._internals, m = u.lazyTweens, g = u.lazyRender, v = hn._gsDefine.globals, S = new o(null, null, 1, 0), b = c.prototype = new x(); return b.constructor = c, b.kill()._gc = !1, c.version = "2.0.2", b.invalidate = function() { return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), x.prototype.invalidate.call(this); }, b.addCallback = function(O, k, R, F) { return this.add(a.delayedCall(0, O, R, F), k); }, b.removeCallback = function(O, k) { if (O) if (k == null) this._kill(null, O); else for (var R = this.getTweensOf(O, !1), F = R.length, E = this._parseTimeOrLabel(k); --F > -1; ) R[F]._startTime === E && R[F]._enabled(!1, !1); return this; }, b.removePause = function(O) { return this.removeCallback(x._internals.pauseCallback, O); }, b.tweenTo = function(O, k) { k = k || {}; var R, F, E, P = { ease: S, useFrames: this.usesFrames(), immediateRender: !1, lazy: !1 }, w = k.repeat && v.TweenMax || a; for (F in k) P[F] = k[F]; return P.time = this._parseTimeOrLabel(O), R = Math.abs(Number(P.time) - this._time) / this._timeScale || 1e-3, E = new w(this, R, P), P.onStart = function() { E.target.paused(!0), E.vars.time === E.target.time() || R !== E.duration() || E.isFromTo || E.duration( Math.abs(E.vars.time - E.target.time()) / E.target._timeScale ).render(E.time(), !0, !0), k.onStart && k.onStart.apply( k.onStartScope || k.callbackScope || E, k.onStartParams || [] ); }, E; }, b.tweenFromTo = function(O, k, R) { R = R || {}, O = this._parseTimeOrLabel(O), R.startAt = { onComplete: this.seek, onCompleteParams: [O], callbackScope: this }, R.immediateRender = R.immediateRender !== !1; var F = this.tweenTo(k, R); return F.isFromTo = 1, F.duration(Math.abs(F.vars.time - O) / this._timeScale || 1e-3); }, b.render = function(O, k, R) { this._gc && this._enabled(!0, !1); var F, E, P, w, M, I, C, U, N = this._time, X = this._dirty ? this.totalDuration() : this._totalDuration, J = this._duration, Z = this._totalTime, ct = this._startTime, Rt = this._timeScale, tt = this._rawPrevTime, _t = this._paused, G = this._cycle; if (N !== this._time && (O += this._time - N), O >= X - 1e-7 && O >= 0) this._locked || (this._totalTime = X, this._cycle = this._repeat), this._reversed || this._hasPausedChild() || (E = !0, w = "onComplete", M = !!this._timeline.autoRemoveChildren, this._duration === 0 && (0 >= O && O >= -1e-7 || 0 > tt || tt === f) && tt !== O && this._first && (M = !0, tt > f && (w = "onReverseComplete"))), this._rawPrevTime = this._duration || !k || O || this._rawPrevTime === O ? O : f, this._yoyo && 1 & this._cycle ? this._time = O = 0 : (this._time = J, O = J + 1e-4); else if (1e-7 > O) if (this._locked || (this._totalTime = this._cycle = 0), this._time = 0, (N !== 0 || J === 0 && tt !== f && (tt > 0 || 0 > O && tt >= 0) && !this._locked) && (w = "onReverseComplete", E = this._reversed), 0 > O) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (M = E = !0, w = "onReverseComplete") : tt >= 0 && this._first && (M = !0), this._rawPrevTime = O; else { if (this._rawPrevTime = J || !k || O || this._rawPrevTime === O ? O : f, O === 0 && E) for (F = this._first; F && F._startTime === 0; ) F._duration || (E = !1), F = F._next; O = 0, this._initted || (M = !0); } else if (J === 0 && 0 > tt && (M = !0), this._time = this._rawPrevTime = O, this._locked || (this._totalTime = O, this._repeat !== 0 && (I = J + this._repeatDelay, this._cycle = this._totalTime / I >> 0, this._cycle !== 0 && this._cycle === this._totalTime / I && O >= Z && this._cycle--, this._time = this._totalTime - this._cycle * I, this._yoyo && 1 & this._cycle && (this._time = J - this._time), this._time > J ? (this._time = J, O = J + 1e-4) : this._time < 0 ? this._time = O = 0 : O = this._time)), this._hasPause && !this._forcingPlayhead && !k) { if (O = this._time, O >= N || this._repeat && G !== this._cycle) for (F = this._first; F && F._startTime <= O && !C; ) F._duration || F.data !== "isPause" || F.ratio || F._startTime === 0 && this._rawPrevTime === 0 || (C = F), F = F._next; else for (F = this._last; F && F._startTime >= O && !C; ) F._duration || F.data === "isPause" && F._rawPrevTime > 0 && (C = F), F = F._prev; C && C._startTime < J && (this._time = O = C._startTime, this._totalTime = O + this._cycle * (this._totalDuration + this._repeatDelay)); } if (this._cycle !== G && !this._locked) { var Pt = this._yoyo && (1 & G) !== 0, Et = Pt === (this._yoyo && (1 & this._cycle) !== 0), At = this._totalTime, ce = this._cycle, re = this._rawPrevTime, Ft = this._time; if (this._totalTime = G * J, this._cycle < G ? Pt = !Pt : this._totalTime += J, this._time = N, this._rawPrevTime = J === 0 ? tt - 1e-4 : tt, this._cycle = G, this._locked = !0, N = Pt ? 0 : J, this.render(N, k, J === 0), k || this._gc || this.vars.onRepeat && (this._cycle = ce, this._locked = !1, this._callback("onRepeat")), N !== this._time || (Et && (this._cycle = G, this._locked = !0, N = Pt ? J + 1e-4 : -1e-4, this.render(N, !0, !1)), this._locked = !1, this._paused && !_t)) return; this._time = Ft, this._totalTime = At, this._cycle = ce, this._rawPrevTime = re; } if (!(this._time !== N && this._first || R || M || C)) return void (Z !== this._totalTime && this._onUpdate && (k || this._callback("onUpdate"))); if (this._initted || (this._initted = !0), this._active || !this._paused && this._totalTime !== Z && O > 0 && (this._active = !0), Z === 0 && this.vars.onStart && (this._totalTime === 0 && this._totalDuration || k || this._callback("onStart")), U = this._time, U >= N) for (F = this._first; F && (P = F._next, U === this._time && (!this._paused || _t)); ) (F._active || F._startTime <= this._time && !F._paused && !F._gc) && (C === F && this.pause(), F._reversed ? F.render( (F._dirty ? F.totalDuration() : F._totalDuration) - (O - F._startTime) * F._timeScale, k, R ) : F.render((O - F._startTime) * F._timeScale, k, R)), F = P; else for (F = this._last; F && (P = F._prev, U === this._time && (!this._paused || _t)); ) { if (F._active || F._startTime <= N && !F._paused && !F._gc) { if (C === F) { for (C = F._prev; C && C.endTime() > this._time; ) C.render( C._reversed ? C.totalDuration() - (O - C._startTime) * C._timeScale : (O - C._startTime) * C._timeScale, k, R ), C = C._prev; C = null, this.pause(); } F._reversed ? F.render( (F._dirty ? F.totalDuration() : F._totalDuration) - (O - F._startTime) * F._timeScale, k, R ) : F.render((O - F._startTime) * F._timeScale, k, R); } F = P; } this._onUpdate && (k || (m.length && g(), this._callback("onUpdate"))), w && (this._locked || this._gc || (ct === this._startTime || Rt !== this._timeScale) && (this._time === 0 || X >= this.totalDuration()) && (E && (m.length && g(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !k && this.vars[w] && this._callback(w))); }, b.getActive = function(O, k, R) { O == null && (O = !0), k == null && (k = !0), R == null && (R = !1); var F, E, P = [], w = this.getChildren(O, k, R), M = 0, I = w.length; for (F = 0; I > F; F++) E = w[F], E.isActive() && (P[M++] = E); return P; }, b.getLabelAfter = function(O) { O || O !== 0 && (O = this._time); var k, R = this.getLabelsArray(), F = R.length; for (k = 0; F > k; k++) if (R[k].time > O) return R[k].name; return null; }, b.getLabelBefore = function(O) { O == null && (O = this._time); for (var k = this.getLabelsArray(), R = k.length; --R > -1; ) if (k[R].time < O) return k[R].name; return null; }, b.getLabelsArray = function() { var O, k = [], R = 0; for (O in this._labels) k[R++] = { time: this._labels[O], name: O }; return k.sort(function(F, E) { return F.time - E.time; }), k; }, b.invalidate = function() { return this._locked = !1, x.prototype.invalidate.call(this); }, b.progress = function(O, k) { return arguments.length ? this.totalTime( this.duration() * (this._yoyo && 1 & this._cycle ? 1 - O : O) + this._cycle * (this._duration + this._repeatDelay), k ) : this._time / this.duration() || 0; }, b.totalProgress = function(O, k) { return arguments.length ? this.totalTime(this.totalDuration() * O, k) : this._totalTime / this.totalDuration() || 0; }, b.totalDuration = function(O) { return arguments.length ? this._repeat !== -1 && O ? this.timeScale(this.totalDuration() / O) : this : (this._dirty && (x.prototype.totalDuration.call(this), this._totalDuration = this._repeat === -1 ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration); }, b.time = function(O, k) { return arguments.length ? (this._dirty && this.totalDuration(), O > this._duration && (O = this._duration), this._yoyo && 1 & this._cycle ? O = this._duration - O + this._cycle * (this._duration + this._repeatDelay) : this._repeat !== 0 && (O += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(O, k)) : this._time; }, b.repeat = function(O) { return arguments.length ? (this._repeat = O, this._uncache(!0)) : this._repeat; }, b.repeatDelay = function(O) { return arguments.length ? (this._repeatDelay = O, this._uncache(!0)) : this._repeatDelay; }, b.yoyo = function(O) { return arguments.length ? (this._yoyo = O, this) : this._yoyo; }, b.currentLabel = function(O) { return arguments.length ? this.seek(O, !0) : this.getLabelBefore(this._time + 1e-8); }, c; }, !0 ), function() { var x = 180 / Math.PI, a = [], o = [], c = [], f = {}, u = hn._gsDefine.globals, m = function(w, M, I, C) { I === C && (I = C - (C - M) / 1e6), w === M && (M = w + (I - w) / 1e6), this.a = w, this.b = M, this.c = I, this.d = C, this.da = C - w, this.ca = I - w, this.ba = M - w; }, g = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,", v = function(w, M, I, C) { var U = { a: w }, N = {}, X = {}, J = { c: C }, Z = (w + M) / 2, ct = (M + I) / 2, Rt = (I + C) / 2, tt = (Z + ct) / 2, _t = (ct + Rt) / 2, G = (_t - tt) / 8; return U.b = Z + (w - Z) / 4, N.b = tt + G, U.c = N.a = (U.b + N.b) / 2, N.c = X.a = (tt + _t) / 2, X.b = _t - G, J.b = Rt + (C - Rt) / 4, X.c = J.a = (X.b + J.b) / 2, [U, N, X, J]; }, S = function(w, M, I, C, U) { var N, X, J, Z, ct, Rt, tt, _t, G, Pt, Et, At, ce, re = w.length - 1, Ft = 0, It = w[0].a; for (N = 0; re > N; N++) ct = w[Ft], X = ct.a, J = ct.d, Z = w[Ft + 1].d, U ? (Et = a[N], At = o[N], ce = (At + Et) * M * 0.25 / (C ? 0.5 : c[N] || 0.5), Rt = J - (J - X) * (C ? 0.5 * M : Et !== 0 ? ce / Et : 0), tt = J + (Z - J) * (C ? 0.5 * M : At !== 0 ? ce / At : 0), _t = J - (Rt + ((tt - Rt) * (3 * Et / (Et + At) + 0.5) / 4 || 0))) : (Rt = J - (J - X) * M * 0.5, tt = J + (Z - J) * M * 0.5, _t = J - (Rt + tt) / 2), Rt += _t, tt += _t, ct.c = G = Rt, N !== 0 ? ct.b = It : ct.b = It = ct.a + 0.6 * (ct.c - ct.a), ct.da = J - X, ct.ca = G - X, ct.ba = It - X, I ? (Pt = v(X, It, G, J), w.splice(Ft, 1, Pt[0], Pt[1], Pt[2], Pt[3]), Ft += 4) : Ft++, It = tt; ct = w[Ft], ct.b = It, ct.c = It + 0.4 * (ct.d - It), ct.da = ct.d - ct.a, ct.ca = ct.c - ct.a, ct.ba = It - ct.a, I && (Pt = v(ct.a, It, ct.c, ct.d), w.splice(Ft, 1, Pt[0], Pt[1], Pt[2], Pt[3])); }, b = function(w, M, I, C) { var U, N, X, J, Z, ct, Rt = []; if (C) for (w = [C].concat(w), N = w.length; --N > -1; ) typeof (ct = w[N][M]) == "string" && ct.charAt(1) === "=" && (w[N][M] = C[M] + Number(ct.charAt(0) + ct.substr(2))); if (U = w.length - 2, 0 > U) return Rt[0] = new m(w[0][M], 0, 0, w[0][M]), Rt; for (N = 0; U > N; N++) X = w[N][M], J = w[N + 1][M], Rt[N] = new m(X, 0, 0, J), I && (Z = w[N + 2][M], a[N] = (a[N] || 0) + (J - X) * (J - X), o[N] = (o[N] || 0) + (Z - J) * (Z - J)); return Rt[N] = new m(w[N][M], 0, 0, w[N + 1][M]), Rt; }, O = function(w, M, I, C, U, N) { var X, J, Z, ct, Rt, tt, _t, G, Pt = {}, Et = [], At = N || w[0]; U = typeof U == "string" ? "," + U + "," : g, M == null && (M = 1); for (J in w[0]) Et.push(J); if (w.length > 1) { for (G = w[w.length - 1], _t = !0, X = Et.length; --X > -1; ) if (J = Et[X], Math.abs(At[J] - G[J]) > 0.05) { _t = !1; break; } _t && (w = w.conc