/*!
 * VERSION: 1.18.5
 * DATE: 2016-05-24
 * 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-2016, 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 _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() {
        _gsScope._gsDefine("TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(D, C, B) {
                var A = function(f) {
                        var e, h = [],
                            g = f.length;
                        for (e = 0; e !== g; h.push(f[e++])) {}
                        return h
                    },
                    z = function(h, g, l) {
                        var k, j, i = h.cycle;
                        for (k in i) {
                            j = i[k], h[k] = "function" == typeof j ? j.call(g[l], l) : j[l % j.length]
                        }
                        delete h.cycle
                    },
                    y = function(e, c, f) {
                        B.call(this, e, c, f), this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._dirty = !0, this.render = y.prototype.render
                    },
                    x = 1e-10,
                    w = B._internals,
                    v = w.isSelector,
                    u = w.isArray,
                    t = y.prototype = B.to({}, 0.1, {}),
                    s = [];
                y.version = "1.18.5", t.constructor = y, t.kill()._gc = !1, y.killTweensOf = y.killDelayedCallsTo = B.killTweensOf, y.getTweensOf = B.getTweensOf, y.lagSmoothing = B.lagSmoothing, y.ticker = B.ticker, y.render = B.render, t.invalidate = function() {
                    return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), B.prototype.invalidate.call(this)
                }, t.updateTo = function(G, F) {
                    var E, o = this.ratio,
                        n = this.vars.immediateRender || G.immediateRender;
                    F && 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 (E in G) {
                        this.vars[E] = G[E]
                    }
                    if (this._initted || n) {
                        if (F) {
                            this._initted = !1, n && this.render(0, !0, !0)
                        } else {
                            if (this._gc && this._enabled(!0, !1), this._notifyPluginsOfEnabled && this._firstPT && B._onPluginEvent("_onDisable", this), this._time / this._duration > 0.998) {
                                var m = this._totalTime;
                                this.render(0, !0, !1), this._initted = !1, this.render(m, !0, !1)
                            } else {
                                if (this._initted = !1, this._init(), this._time > 0 || n) {
                                    for (var l, k = 1 / (1 - o), c = this._firstPT; c;) {
                                        l = c.s + c.c, c.c *= k, c.s = l - c.c, c = c._next
                                    }
                                }
                            }
                        }
                    }
                    return this
                }, t.render = function(R, Q, P) {
                    this._initted || 0 === this._duration && this.vars.repeat && this.invalidate();
                    var O, N, M, L, K, J, I, H, G = this._dirty ? this.totalDuration() : this._totalDuration,
                        F = this._time,
                        E = this._totalTime,
                        h = this._cycle,
                        g = this._duration,
                        S = this._rawPrevTime;
                    if (R >= G - 1e-7 ? (this._totalTime = G, this._cycle = this._repeat, this._yoyo && 0 !== (1 & this._cycle) ? (this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0) : (this._time = g, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1), this._reversed || (O = !0, N = "onComplete", P = P || this._timeline.autoRemoveChildren), 0 === g && (this._initted || !this.vars.lazy || P) && (this._startTime === this._timeline._duration && (R = 0), (0 > S || 0 >= R && R >= -1e-7 || S === x && "isPause" !== this.data) && S !== R && (P = !0, S > x && (N = "onReverseComplete")), this._rawPrevTime = H = !Q || R || S === R ? R : x)) : 1e-7 > R ? (this._totalTime = this._time = this._cycle = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== E || 0 === g && S > 0) && (N = "onReverseComplete", O = this._reversed), 0 > R && (this._active = !1, 0 === g && (this._initted || !this.vars.lazy || P) && (S >= 0 && (P = !0), this._rawPrevTime = H = !Q || R || S === R ? R : x)), this._initted || (P = !0)) : (this._totalTime = this._time = R, 0 !== this._repeat && (L = g + this._repeatDelay, this._cycle = this._totalTime / L >> 0, 0 !== this._cycle && this._cycle === this._totalTime / L && R >= E && this._cycle--, this._time = this._totalTime - this._cycle * L, this._yoyo && 0 !== (1 & this._cycle) && (this._time = g - this._time), this._time > g ? this._time = g : this._time < 0 && (this._time = 0)), this._easeType ? (K = this._time / g, J = this._easeType, I = this._easePower, (1 === J || 3 === J && K >= 0.5) && (K = 1 - K), 3 === J && (K *= 2), 1 === I ? K *= K : 2 === I ? K *= K * K : 3 === I ? K *= K * K * K : 4 === I && (K *= K * K * K * K), 1 === J ? this.ratio = 1 - K : 2 === J ? this.ratio = K : this._time / g < 0.5 ? this.ratio = K / 2 : this.ratio = 1 - K / 2) : this.ratio = this._ease.getRatio(this._time / g)), F === this._time && !P && h === this._cycle) {
                        return void(E !== this._totalTime && this._onUpdate && (Q || this._callback("onUpdate")))
                    }
                    if (!this._initted) {
                        if (this._init(), !this._initted || this._gc) {
                            return
                        }
                        if (!P && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) {
                            return this._time = F, this._totalTime = E, this._rawPrevTime = S, this._cycle = h, w.lazyTweens.push(this), void(this._lazy = [R, Q])
                        }
                        this._time && !O ? this.ratio = this._ease.getRatio(this._time / g) : O && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
                    }
                    for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== F && R >= 0 && (this._active = !0), 0 === E && (2 === this._initted && R > 0 && this._init(), this._startAt && (R >= 0 ? this._startAt.render(R, Q, P) : N || (N = "_dummyGS")), this.vars.onStart && (0 !== this._totalTime || 0 === g) && (Q || this._callback("onStart"))), M = this._firstPT; M;) {
                        M.f ? M.t[M.p](M.c * this.ratio + M.s) : M.t[M.p] = M.c * this.ratio + M.s, M = M._next
                    }
                    this._onUpdate && (0 > R && this._startAt && this._startTime && this._startAt.render(R, Q, P), Q || (this._totalTime !== E || N) && this._callback("onUpdate")), this._cycle !== h && (Q || this._gc || this.vars.onRepeat && this._callback("onRepeat")), N && (!this._gc || P) && (0 > R && this._startAt && !this._onUpdate && this._startTime && this._startAt.render(R, Q, P), O && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !Q && this.vars[N] && this._callback(N), 0 === g && this._rawPrevTime === x && H !== x && (this._rawPrevTime = 0))
                }, y.to = function(e, d, f) {
                    return new y(e, d, f)
                }, y.from = function(e, d, f) {
                    return f.runBackwards = !0, f.immediateRender = 0 != f.immediateRender, new y(e, d, f)
                }, y.fromTo = function(f, e, h, g) {
                    return g.startAt = h, g.immediateRender = 0 != g.immediateRender && 0 != h.immediateRender, new y(f, e, g)
                }, y.staggerTo = y.allTo = function(H, G, F, E, l, j, i) {
                    E = E || 0;
                    var f, e, d, c, M = 0,
                        L = [],
                        K = function() {
                            F.onComplete && F.onComplete.apply(F.onCompleteScope || this, arguments), l.apply(i || F.callbackScope || this, j || s)
                        },
                        J = F.cycle,
                        I = F.startAt && F.startAt.cycle;
                    for (u(H) || ("string" == typeof H && (H = B.selector(H) || H), v(H) && (H = A(H))), H = H || [], 0 > E && (H = A(H), H.reverse(), E *= -1), f = H.length - 1, d = 0; f >= d; d++) {
                        e = {};
                        for (c in F) {
                            e[c] = F[c]
                        }
                        if (J && (z(e, H, d), null != e.duration && (G = e.duration, delete e.duration)), I) {
                            I = e.startAt = {};
                            for (c in F.startAt) {
                                I[c] = F.startAt[c]
                            }
                            z(e.startAt, H, d)
                        }
                        e.delay = M + (e.delay || 0), d === f && l && (e.onComplete = K), L[d] = new y(H[d], G, e), M += E
                    }
                    return L
                }, y.staggerFrom = y.allFrom = function(i, f, n, m, l, k, j) {
                    return n.runBackwards = !0, n.immediateRender = 0 != n.immediateRender, y.staggerTo(i, f, n, m, l, k, j)
                }, y.staggerFromTo = y.allFromTo = function(j, f, E, o, n, m, l, k) {
                    return o.startAt = E, o.immediateRender = 0 != o.immediateRender && 0 != E.immediateRender, y.staggerTo(j, f, o, n, m, l, k)
                }, y.delayedCall = function(g, f, j, i, h) {
                    return new y(f, 0, {
                        delay: g,
                        onComplete: f,
                        onCompleteParams: j,
                        callbackScope: i,
                        onReverseComplete: f,
                        onReverseCompleteParams: j,
                        immediateRender: !1,
                        useFrames: h,
                        overwrite: 0
                    })
                }, y.set = function(d, c) {
                    return new y(d, 0, c)
                }, y.isTweening = function(b) {
                    return B.getTweensOf(b, !0).length > 0
                };
                var r = function(g, c) {
                        for (var j = [], i = 0, h = g._first; h;) {
                            h instanceof B ? j[i++] = h : (c && (j[i++] = h), j = j.concat(r(h, c)), i = j.length), h = h._next
                        }
                        return j
                    },
                    q = y.getAllTweens = function(a) {
                        return r(D._rootTimeline, a).concat(r(D._rootFramesTimeline, a))
                    };
                y.killAll = function(I, H, G, F) {
                    null == H && (H = !0), null == G && (G = !0);
                    var E, o, n, m = q(0 != F),
                        l = m.length,
                        b = H && G && F;
                    for (n = 0; l > n; n++) {
                        o = m[n], (b || o instanceof C || (E = o.target === o.vars.onComplete) && G || H && !E) && (I ? o.totalTime(o._reversed ? 0 : o.totalDuration()) : o._enabled(!1, !1))
                    }
                }, y.killChildTweensOf = function(h, d) {
                    if (null != h) {
                        var o, j, i, f, c, E = w.tweenLookup;
                        if ("string" == typeof h && (h = B.selector(h) || h), v(h) && (h = A(h)), u(h)) {
                            for (f = h.length; --f > -1;) {
                                y.killChildTweensOf(h[f], d)
                            }
                        } else {
                            o = [];
                            for (i in E) {
                                for (j = E[i].target.parentNode; j;) {
                                    j === h && (o = o.concat(E[i].tweens)), j = j.parentNode
                                }
                            }
                            for (c = o.length, f = 0; c > f; f++) {
                                d && o[f].totalTime(o[f].totalDuration()), o[f]._enabled(!1, !1)
                            }
                        }
                    }
                };
                var p = function(G, F, E, o) {
                    F = F !== !1, E = E !== !1, o = o !== !1;
                    for (var n, m, l = q(o), k = F && E && o, b = l.length; --b > -1;) {
                        m = l[b], (k || m instanceof C || (n = m.target === m.vars.onComplete) && E || F && !n) && m.paused(G)
                    }
                };
                return y.pauseAll = function(e, d, f) {
                    p(!0, e, d, f)
                }, y.resumeAll = function(e, d, f) {
                    p(!1, e, d, f)
                }, y.globalTimeScale = function(a) {
                    var f = D._rootTimeline,
                        c = B.ticker.time;
                    return arguments.length ? (a = a || x, f._startTime = c - (c - f._startTime) * f._timeScale / a, f = D._rootFramesTimeline, c = B.ticker.frame, f._startTime = c - (c - f._startTime) * f._timeScale / a, f._timeScale = D._rootTimeline._timeScale = a, a) : f._timeScale
                }, t.progress = function(d, c) {
                    return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - d : d) + this._cycle * (this._duration + this._repeatDelay), c) : this._time / this.duration()
                }, t.totalProgress = function(d, c) {
                    return arguments.length ? this.totalTime(this.totalDuration() * d, c) : this._totalTime / this.totalDuration()
                }, t.time = function(d, c) {
                    return arguments.length ? (this._dirty && this.totalDuration(), d > this._duration && (d = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? d = this._duration - d + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (d += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(d, c)) : this._time
                }, t.duration = function(a) {
                    return arguments.length ? D.prototype.duration.call(this, a) : this._duration
                }, t.totalDuration = function(b) {
                    return arguments.length ? -1 === this._repeat ? this : this.duration((b - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration)
                }, t.repeat = function(b) {
                    return arguments.length ? (this._repeat = b, this._uncache(!0)) : this._repeat
                }, t.repeatDelay = function(b) {
                    return arguments.length ? (this._repeatDelay = b, this._uncache(!0)) : this._repeatDelay
                }, t.yoyo = function(b) {
                    return arguments.length ? (this._yoyo = b, this) : this._yoyo
                }, y
            }, !0), _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(H, G, F) {
                var E = function(b) {
                        G.call(this, b), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate;
                        var h, g, f = this.vars;
                        for (g in f) {
                            h = f[g], z(h) && -1 !== h.join("").indexOf("{self}") && (f[g] = this._swapSelfInParams(h))
                        }
                        z(f.tweens) && this.add(f.tweens, 0, f.align, f.stagger)
                    },
                    D = 1e-10,
                    C = F._internals,
                    B = E._internals = {},
                    A = C.isSelector,
                    z = C.isArray,
                    y = C.lazyTweens,
                    x = C.lazyRender,
                    w = _gsScope._gsDefine.globals,
                    v = function(e) {
                        var d, f = {};
                        for (d in e) {
                            f[d] = e[d]
                        }
                        return f
                    },
                    u = function(h, g, l) {
                        var k, j, i = h.cycle;
                        for (k in i) {
                            j = i[k], h[k] = "function" == typeof j ? j.call(g[l], l) : j[l % j.length]
                        }
                        delete h.cycle
                    },
                    t = B.pauseCallback = function() {},
                    s = function(f) {
                        var e, h = [],
                            g = f.length;
                        for (e = 0; e !== g; h.push(f[e++])) {}
                        return h
                    },
                    r = E.prototype = new G;
                return E.version = "1.18.5", r.constructor = E, r.kill()._gc = r._forcingPlayhead = r._hasPause = !1, r.to = function(g, c, j, i) {
                    var h = j.repeat && w.TweenMax || F;
                    return c ? this.add(new h(g, c, j), i) : this.set(g, j, i)
                }, r.from = function(f, c, h, g) {
                    return this.add((h.repeat && w.TweenMax || F).from(f, c, h), g)
                }, r.fromTo = function(h, c, l, k, j) {
                    var i = k.repeat && w.TweenMax || F;
                    return c ? this.add(i.fromTo(h, c, l, k), j) : this.set(h, k, j)
                }, r.staggerTo = function(N, M, L, K, J, I, p, n) {
                    var m, h, d = new E({
                            onComplete: I,
                            onCompleteParams: p,
                            callbackScope: n,
                            smoothChildTiming: this.smoothChildTiming
                        }),
                        c = L.cycle;
                    for ("string" == typeof N && (N = F.selector(N) || N), N = N || [], A(N) && (N = s(N)), K = K || 0, 0 > K && (N = s(N), N.reverse(), K *= -1), h = 0; h < N.length; h++) {
                        m = v(L), m.startAt && (m.startAt = v(m.startAt), m.startAt.cycle && u(m.startAt, N, h)), c && (u(m, N, h), null != m.duration && (M = m.duration, delete m.duration)), d.to(N[h], M, m, h * K)
                    }
                    return this.add(d, J)
                }, r.staggerFrom = function(j, i, p, o, n, m, l, k) {
                    return p.immediateRender = 0 != p.immediateRender, p.runBackwards = !0, this.staggerTo(j, i, p, o, n, m, l, k)
                }, r.staggerFromTo = function(I, q, p, o, n, m, l, k, j) {
                    return o.startAt = p, o.immediateRender = 0 != o.immediateRender && 0 != p.immediateRender, this.staggerTo(I, q, o, n, m, l, k, j)
                }, r.call = function(f, c, h, g) {
                    return this.add(F.delayedCall(0, f, c, h), g)
                }, r.set = function(e, c, f) {
                    return f = this._parseTimeOrLabel(f, 0, !0), null == c.immediateRender && (c.immediateRender = f === this._time && !this._paused), this.add(new F(e, 0, c), f)
                }, E.exportRoot = function(d, c) {
                    d = d || {}, null == d.smoothChildTiming && (d.smoothChildTiming = !0);
                    var l, k, j = new E(d),
                        i = j._timeline;
                    for (null == c && (c = !0), i._remove(j, !0), j._startTime = 0, j._rawPrevTime = j._time = j._totalTime = i._time, l = i._first; l;) {
                        k = l._next, c && l instanceof F && l.target === l.vars.onComplete || j.add(l, l._startTime - l._delay), l = k
                    }
                    return i.add(j, 0), j
                }, r.add = function(K, J, I, q) {
                    var p, i, d, c, b, a;
                    if ("number" != typeof J && (J = this._parseTimeOrLabel(J, 0, !0, K)), !(K instanceof H)) {
                        if (K instanceof Array || K && K.push && z(K)) {
                            for (I = I || "normal", q = q || 0, p = J, i = K.length, d = 0; i > d; d++) {
                                z(c = K[d]) && (c = new E({
                                    tweens: c
                                })), this.add(c, p), "string" != typeof c && "function" != typeof c && ("sequence" === I ? p = c._startTime + c.totalDuration() / c._timeScale : "start" === I && (c._startTime -= c.delay())), p += q
                            }
                            return this._uncache(!0)
                        }
                        if ("string" == typeof K) {
                            return this.addLabel(K, J)
                        }
                        if ("function" != typeof K) {
                            throw "Cannot add " + K + " into the timeline; it is not a tween, timeline, function, or string."
                        }
                        K = F.delayedCall(0, K)
                    }
                    if (G.prototype.add.call(this, K, J), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration()) {
                        for (b = this, a = b.rawTime() > K._startTime; b._timeline;) {
                            a && b._timeline.smoothChildTiming ? b.totalTime(b._totalTime, !0) : b._gc && b._enabled(!0, !1), b = b._timeline
                        }
                    }
                    return this
                }, r.remove = function(a) {
                    if (a instanceof H) {
                        this._remove(a, !1);
                        var f = a._timeline = a.vars.useFrames ? H._rootFramesTimeline : H._rootTimeline;
                        return a._startTime = (a._paused ? a._pauseTime : f._time) - (a._reversed ? a.totalDuration() - a._totalTime : a._totalTime) / a._timeScale, this
                    }
                    if (a instanceof Array || a && a.push && z(a)) {
                        for (var e = a.length; --e > -1;) {
                            this.remove(a[e])
                        }
                        return this
                    }
                    return "string" == typeof a ? this.removeLabel(a) : this.kill(null, a)
                }, r._remove = function(b, f) {
                    G.prototype._remove.call(this, b, f);
                    var e = this._last;
                    return e ? this._time > e._startTime + e._totalDuration / e._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this
                }, r.append = function(d, c) {
                    return this.add(d, this._parseTimeOrLabel(null, c, !0, d))
                }, r.insert = r.insertMultiple = function(f, e, h, g) {
                    return this.add(f, e || 0, h, g)
                }, r.appendMultiple = function(f, e, h, g) {
                    return this.add(f, this._parseTimeOrLabel(null, e, !0, f), h, g)
                }, r.addLabel = function(d, c) {
                    return this._labels[d] = this._parseTimeOrLabel(c), this
                }, r.addPause = function(g, c, j, i) {
                    var h = F.delayedCall(0, t, j, i || this);
                    return h.vars.onComplete = h.vars.onReverseComplete = c, h.data = "isPause", this._hasPause = !0, this.add(h, g)
                }, r.removeLabel = function(b) {
                    return delete this._labels[b], this
                }, r.getLabelTime = function(b) {
                    return null != this._labels[b] ? this._labels[b] : -1
                }, r._parseTimeOrLabel = function(a, j, i, h) {
                    var g;
                    if (h instanceof H && h.timeline === this) {
                        this.remove(h)
                    } else {
                        if (h && (h instanceof Array || h.push && z(h))) {
                            for (g = h.length; --g > -1;) {
                                h[g] instanceof H && h[g].timeline === this && this.remove(h[g])
                            }
                        }
                    }
                    if ("string" == typeof j) {
                        return this._parseTimeOrLabel(j, i && "number" == typeof a && null == this._labels[j] ? a - this.duration() : 0, i)
                    }
                    if (j = j || 0, "string" != typeof a || !isNaN(a) && null == this._labels[a]) {
                        null == a && (a = this.duration())
                    } else {
                        if (g = a.indexOf("="), -1 === g) {
                            return null == this._labels[a] ? i ? this._labels[a] = this.duration() + j : j : this._labels[a] + j
                        }
                        j = parseInt(a.charAt(g - 1) + "1", 10) * Number(a.substr(g + 1)), a = g > 1 ? this._parseTimeOrLabel(a.substr(0, g - 1), 0, i) : this.duration()
                    }
                    return Number(a) + j
                }, r.seek = function(d, c) {
                    return this.totalTime("number" == typeof d ? d : this._parseTimeOrLabel(d), c !== !1)
                }, r.stop = function() {
                    return this.paused(!0)
                }, r.gotoAndPlay = function(d, c) {
                    return this.play(d, c)
                }, r.gotoAndStop = function(d, c) {
                    return this.pause(d, c)
                }, r.render = function(T, S, R) {
                    this._gc && this._enabled(!0, !1);
                    var Q, P, O, N, M, L, K, J = this._dirty ? this.totalDuration() : this._totalDuration,
                        I = this._time,
                        k = this._startTime,
                        j = this._timeScale,
                        e = this._paused;
                    if (T >= J - 1e-7) {
                        this._totalTime = this._time = J, this._reversed || this._hasPausedChild() || (P = !0, N = "onComplete", M = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 >= T && T >= -1e-7 || this._rawPrevTime < 0 || this._rawPrevTime === D) && this._rawPrevTime !== T && this._first && (M = !0, this._rawPrevTime > D && (N = "onReverseComplete"))), this._rawPrevTime = this._duration || !S || T || this._rawPrevTime === T ? T : D, T = J + 0.0001
                    } else {
                        if (1e-7 > T) {
                            if (this._totalTime = this._time = 0, (0 !== I || 0 === this._duration && this._rawPrevTime !== D && (this._rawPrevTime > 0 || 0 > T && this._rawPrevTime >= 0)) && (N = "onReverseComplete", P = this._reversed), 0 > T) {
                                this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (M = P = !0, N = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (M = !0), this._rawPrevTime = T
                            } else {
                                if (this._rawPrevTime = this._duration || !S || T || this._rawPrevTime === T ? T : D, 0 === T && P) {
                                    for (Q = this._first; Q && 0 === Q._startTime;) {
                                        Q._duration || (P = !1), Q = Q._next
                                    }
                                }
                                T = 0, this._initted || (M = !0)
                            }
                        } else {
                            if (this._hasPause && !this._forcingPlayhead && !S) {
                                if (T >= I) {
                                    for (Q = this._first; Q && Q._startTime <= T && !L;) {
                                        Q._duration || "isPause" !== Q.data || Q.ratio || 0 === Q._startTime && 0 === this._rawPrevTime || (L = Q), Q = Q._next
                                    }
                                } else {
                                    for (Q = this._last; Q && Q._startTime >= T && !L;) {
                                        Q._duration || "isPause" === Q.data && Q._rawPrevTime > 0 && (L = Q), Q = Q._prev
                                    }
                                }
                                L && (this._time = T = L._startTime, this._totalTime = T + this._cycle * (this._totalDuration + this._repeatDelay))
                            }
                            this._totalTime = this._time = this._rawPrevTime = T
                        }
                    }
                    if (this._time !== I && this._first || R || M || L) {
                        if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== I && T > 0 && (this._active = !0), 0 === I && this.vars.onStart && (0 === this._time && this._duration || S || this._callback("onStart")), K = this._time, K >= I) {
                            for (Q = this._first; Q && (O = Q._next, K === this._time && (!this._paused || e));) {
                                (Q._active || Q._startTime <= K && !Q._paused && !Q._gc) && (L === Q && this.pause(), Q._reversed ? Q.render((Q._dirty ? Q.totalDuration() : Q._totalDuration) - (T - Q._startTime) * Q._timeScale, S, R) : Q.render((T - Q._startTime) * Q._timeScale, S, R)), Q = O
                            }
                        } else {
                            for (Q = this._last; Q && (O = Q._prev, K === this._time && (!this._paused || e));) {
                                if (Q._active || Q._startTime <= I && !Q._paused && !Q._gc) {
                                    if (L === Q) {
                                        for (L = Q._prev; L && L.endTime() > this._time;) {
                                            L.render(L._reversed ? L.totalDuration() - (T - L._startTime) * L._timeScale : (T - L._startTime) * L._timeScale, S, R), L = L._prev
                                        }
                                        L = null, this.pause()
                                    }
                                    Q._reversed ? Q.render((Q._dirty ? Q.totalDuration() : Q._totalDuration) - (T - Q._startTime) * Q._timeScale, S, R) : Q.render((T - Q._startTime) * Q._timeScale, S, R)
                                }
                                Q = O
                            }
                        }
                        this._onUpdate && (S || (y.length && x(), this._callback("onUpdate"))), N && (this._gc || (k === this._startTime || j !== this._timeScale) && (0 === this._time || J >= this.totalDuration()) && (P && (y.length && x(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !S && this.vars[N] && this._callback(N)))
                    }
                }, r._hasPausedChild = function() {
                    for (var b = this._first; b;) {
                        if (b._paused || b instanceof E && b._hasPausedChild()) {
                            return !0
                        }
                        b = b._next
                    }
                    return !1
                }, r.getChildren = function(i, c, n, m) {
                    m = m || -9999999999;
                    for (var l = [], k = this._first, j = 0; k;) {
                        k._startTime < m || (k instanceof F ? c !== !1 && (l[j++] = k) : (n !== !1 && (l[j++] = k), i !== !1 && (l = l.concat(k.getChildren(!0, c, n)), j = l.length))), k = k._next
                    }
                    return l
                }, r.getTweensOf = function(i, c) {
                    var n, m, l = this._gc,
                        k = [],
                        j = 0;
                    for (l && this._enabled(!0, !0), n = F.getTweensOf(i), m = n.length; --m > -1;) {
                        (n[m].timeline === this || c && this._contains(n[m])) && (k[j++] = n[m])
                    }
                    return l && this._enabled(!1, !0), k
                }, r.recent = function() {
                    return this._recent
                }, r._contains = function(d) {
                    for (var c = d.timeline; c;) {
                        if (c === this) {
                            return !0
                        }
                        c = c.timeline
                    }
                    return !1
                }, r.shiftChildren = function(h, g, l) {
                    l = l || 0;
                    for (var k, j = this._first, i = this._labels; j;) {
                        j._startTime >= l && (j._startTime += h), j = j._next
                    }
                    if (g) {
                        for (k in i) {
                            i[k] >= l && (i[k] += h)
                        }
                    }
                    return this._uncache(!0)
                }, r._kill = function(g, f) {
                    if (!g && !f) {
                        return this._enabled(!1, !1)
                    }
                    for (var j = f ? this.getTweensOf(f) : this.getChildren(!0, !0, !1), i = j.length, h = !1; --i > -1;) {
                        j[i]._kill(g, f) && (h = !0)
                    }
                    return h
                }, r.clear = function(e) {
                    var d = this.getChildren(!1, !0, !0),
                        f = d.length;
                    for (this._time = this._totalTime = 0; --f > -1;) {
                        d[f]._enabled(!1, !1)
                    }
                    return e !== !1 && (this._labels = {}), this._uncache(!0)
                }, r.invalidate = function() {
                    for (var a = this._first; a;) {
                        a.invalidate(), a = a._next
                    }
                    return H.prototype.invalidate.call(this)
                }, r._enabled = function(b, f) {
                    if (b === this._gc) {
                        for (var e = this._first; e;) {
                            e._enabled(b, !0), e = e._next
                        }
                    }
                    return G.prototype._enabled.call(this, b, f)
                }, r.totalTime = function(a, h, g) {
                    this._forcingPlayhead = !0;
                    var f = H.prototype.totalTime.apply(this, arguments);
                    return this._forcingPlayhead = !1, f
                }, r.duration = function(b) {
                    return arguments.length ? (0 !== this.duration() && 0 !== b && this.timeScale(this._duration / b), this) : (this._dirty && this.totalDuration(), this._duration)
                }, r.totalDuration = function(h) {
                    if (!arguments.length) {
                        if (this._dirty) {
                            for (var g, l, k = 0, j = this._last, i = 999999999999; j;) {
                                g = j._prev, j._dirty && j.totalDuration(), j._startTime > i && this._sortChildren && !j._paused ? this.add(j, j._startTime - j._delay) : i = j._startTime, j._startTime < 0 && !j._paused && (k -= j._startTime, this._timeline.smoothChildTiming && (this._startTime += j._startTime / this._timeScale), this.shiftChildren(-j._startTime, !1, -9999999999), i = 0), l = j._startTime + j._totalDuration / j._timeScale, l > k && (k = l), j = g
                            }
                            this._duration = this._totalDuration = k, this._dirty = !1
                        }
                        return this._totalDuration
                    }
                    return h && this.totalDuration() ? this.timeScale(this._totalDuration / h) : this
                }, r.paused = function(a) {
                    if (!a) {
                        for (var f = this._first, e = this._time; f;) {
                            f._startTime === e && "isPause" === f.data && (f._rawPrevTime = 0), f = f._next
                        }
                    }
                    return H.prototype.paused.apply(this, arguments)
                }, r.usesFrames = function() {
                    for (var a = this._timeline; a._timeline;) {
                        a = a._timeline
                    }
                    return a === H._rootFramesTimeline
                }, r.rawTime = function() {
                    return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale
                }, E
            }, !0), _gsScope._gsDefine("TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function(t, s, r) {
                var q = function(a) {
                        t.call(this, a), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = this.vars.yoyo === !0, this._dirty = !0
                    },
                    p = 1e-10,
                    o = s._internals,
                    n = o.lazyTweens,
                    m = o.lazyRender,
                    l = new r(null, null, 1, 0),
                    k = q.prototype = new t;
                return k.constructor = q, k.kill()._gc = !1, q.version = "1.18.5", k.invalidate = function() {
                    return this._yoyo = this.vars.yoyo === !0, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), t.prototype.invalidate.call(this)
                }, k.addCallback = function(b, h, g, f) {
                    return this.add(s.delayedCall(0, b, g, f), h)
                }, k.removeCallback = function(g, f) {
                    if (g) {
                        if (null == f) {
                            this._kill(null, g)
                        } else {
                            for (var j = this.getTweensOf(g, !1), i = j.length, h = this._parseTimeOrLabel(f); --i > -1;) {
                                j[i]._startTime === h && j[i]._enabled(!1, !1)
                            }
                        }
                    }
                    return this
                }, k.removePause = function(a) {
                    return this.removeCallback(t._internals.pauseCallback, a)
                }, k.tweenTo = function(b, v) {
                    v = v || {};
                    var u, j, i, h = {
                        ease: l,
                        useFrames: this.usesFrames(),
                        immediateRender: !1
                    };
                    for (j in v) {
                        h[j] = v[j]
                    }
                    return h.time = this._parseTimeOrLabel(b), u = Math.abs(Number(h.time) - this._time) / this._timeScale || 0.001, i = new s(this, u, h), h.onStart = function() {
                        i.target.paused(!0), i.vars.time !== i.target.time() && u === i.duration() && i.duration(Math.abs(i.vars.time - i.target.time()) / i.target._timeScale), v.onStart && i._callback("onStart")
                    }, i
                }, k.tweenFromTo = function(f, e, h) {
                    h = h || {}, f = this._parseTimeOrLabel(f), h.startAt = {
                        onComplete: this.seek,
                        onCompleteParams: [f],
                        callbackScope: this
                    }, h.immediateRender = h.immediateRender !== !1;
                    var g = this.tweenTo(e, h);
                    return g.duration(Math.abs(g.vars.time - f) / this._timeScale || 0.001)
                }, k.render = function(Z, Y, X) {
                    this._gc && this._enabled(!0, !1);
                    var W, V, U, T, S, R, Q, P, O = this._dirty ? this.totalDuration() : this._totalDuration,
                        N = this._duration,
                        L = this._time,
                        J = this._totalTime,
                        H = this._startTime,
                        G = this._timeScale,
                        F = this._rawPrevTime,
                        E = this._paused,
                        D = this._cycle;
                    if (Z >= O - 1e-7) {
                        this._locked || (this._totalTime = O, this._cycle = this._repeat), this._reversed || this._hasPausedChild() || (V = !0, T = "onComplete", S = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 >= Z && Z >= -1e-7 || 0 > F || F === p) && F !== Z && this._first && (S = !0, F > p && (T = "onReverseComplete"))), this._rawPrevTime = this._duration || !Y || Z || this._rawPrevTime === Z ? Z : p, this._yoyo && 0 !== (1 & this._cycle) ? this._time = Z = 0 : (this._time = N, Z = N + 0.0001)
                    } else {
                        if (1e-7 > Z) {
                            if (this._locked || (this._totalTime = this._cycle = 0), this._time = 0, (0 !== L || 0 === N && F !== p && (F > 0 || 0 > Z && F >= 0) && !this._locked) && (T = "onReverseComplete", V = this._reversed), 0 > Z) {
                                this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (S = V = !0, T = "onReverseComplete") : F >= 0 && this._first && (S = !0), this._rawPrevTime = Z
                            } else {
                                if (this._rawPrevTime = N || !Y || Z || this._rawPrevTime === Z ? Z : p, 0 === Z && V) {
                                    for (W = this._first; W && 0 === W._startTime;) {
                                        W._duration || (V = !1), W = W._next
                                    }
                                }
                                Z = 0, this._initted || (S = !0)
                            }
                        } else {
                            if (0 === N && 0 > F && (S = !0), this._time = this._rawPrevTime = Z, this._locked || (this._totalTime = Z, 0 !== this._repeat && (R = N + this._repeatDelay, this._cycle = this._totalTime / R >> 0, 0 !== this._cycle && this._cycle === this._totalTime / R && Z >= J && this._cycle--, this._time = this._totalTime - this._cycle * R, this._yoyo && 0 !== (1 & this._cycle) && (this._time = N - this._time), this._time > N ? (this._time = N, Z = N + 0.0001) : this._time < 0 ? this._time = Z = 0 : Z = this._time)), this._hasPause && !this._forcingPlayhead && !Y) {
                                if (Z = this._time, Z >= L) {
                                    for (W = this._first; W && W._startTime <= Z && !Q;) {
                                        W._duration || "isPause" !== W.data || W.ratio || 0 === W._startTime && 0 === this._rawPrevTime || (Q = W), W = W._next
                                    }
                                } else {
                                    for (W = this._last; W && W._startTime >= Z && !Q;) {
                                        W._duration || "isPause" === W.data && W._rawPrevTime > 0 && (Q = W), W = W._prev
                                    }
                                }
                                Q && (this._time = Z = Q._startTime, this._totalTime = Z + this._cycle * (this._totalDuration + this._repeatDelay))
                            }
                        }
                    }
                    if (this._cycle !== D && !this._locked) {
                        var h = this._yoyo && 0 !== (1 & D),
                            g = h === (this._yoyo && 0 !== (1 & this._cycle)),
                            e = this._totalTime,
                            M = this._cycle,
                            K = this._rawPrevTime,
                            I = this._time;
                        if (this._totalTime = D * N, this._cycle < D ? h = !h : this._totalTime += N, this._time = L, this._rawPrevTime = 0 === N ? F - 0.0001 : F, this._cycle = D, this._locked = !0, L = h ? 0 : N, this.render(L, Y, 0 === N), Y || this._gc || this.vars.onRepeat && this._callback("onRepeat"), L !== this._time) {
                            return
                        }
                        if (g && (L = h ? N + 0.0001 : -0.0001, this.render(L, !0, !1)), this._locked = !1, this._paused && !E) {
                            return
                        }
                        this._time = I, this._totalTime = e, this._cycle = M, this._rawPrevTime = K
                    }
                    if (!(this._time !== L && this._first || X || S || Q)) {
                        return void(J !== this._totalTime && this._onUpdate && (Y || this._callback("onUpdate")))
                    }
                    if (this._initted || (this._initted = !0), this._active || !this._paused && this._totalTime !== J && Z > 0 && (this._active = !0), 0 === J && this.vars.onStart && (0 === this._totalTime && this._totalDuration || Y || this._callback("onStart")), P = this._time, P >= L) {
                        for (W = this._first; W && (U = W._next, P === this._time && (!this._paused || E));) {
                            (W._active || W._startTime <= this._time && !W._paused && !W._gc) && (Q === W && this.pause(), W._reversed ? W.render((W._dirty ? W.totalDuration() : W._totalDuration) - (Z - W._startTime) * W._timeScale, Y, X) : W.render((Z - W._startTime) * W._timeScale, Y, X)), W = U
                        }
                    } else {
                        for (W = this._last; W && (U = W._prev, P === this._time && (!this._paused || E));) {
                            if (W._active || W._startTime <= L && !W._paused && !W._gc) {
                                if (Q === W) {
                                    for (Q = W._prev; Q && Q.endTime() > this._time;) {
                                        Q.render(Q._reversed ? Q.totalDuration() - (Z - Q._startTime) * Q._timeScale : (Z - Q._startTime) * Q._timeScale, Y, X), Q = Q._prev
                                    }
                                    Q = null, this.pause()
                                }
                                W._reversed ? W.render((W._dirty ? W.totalDuration() : W._totalDuration) - (Z - W._startTime) * W._timeScale, Y, X) : W.render((Z - W._startTime) * W._timeScale, Y, X)
                            }
                            W = U
                        }
                    }
                    this._onUpdate && (Y || (n.length && m(), this._callback("onUpdate"))), T && (this._locked || this._gc || (H === this._startTime || G !== this._timeScale) && (0 === this._time || O >= this.totalDuration()) && (V && (n.length && m(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !Y && this.vars[T] && this._callback(T)))
                }, k.getActive = function(B, A, z) {
                    null == B && (B = !0), null == A && (A = !0), null == z && (z = !1);
                    var y, x, w = [],
                        v = this.getChildren(B, A, z),
                        u = 0,
                        j = v.length;
                    for (y = 0; j > y; y++) {
                        x = v[y], x.isActive() && (w[u++] = x)
                    }
                    return w
                }, k.getLabelAfter = function(f) {
                    f || 0 !== f && (f = this._time);
                    var e, h = this.getLabelsArray(),
                        g = h.length;
                    for (e = 0; g > e; e++) {
                        if (h[e].time > f) {
                            return h[e].name
                        }
                    }
                    return null
                }, k.getLabelBefore = function(e) {
                    null == e && (e = this._time);
                    for (var d = this.getLabelsArray(), f = d.length; --f > -1;) {
                        if (d[f].time < e) {
                            return d[f].name
                        }
                    }
                    return null
                }, k.getLabelsArray = function() {
                    var e, d = [],
                        f = 0;
                    for (e in this._labels) {
                        d[f++] = {
                            time: this._labels[e],
                            name: e
                        }
                    }
                    return d.sort(function(g, c) {
                        return g.time - c.time
                    }), d
                }, k.progress = function(d, c) {
                    return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - d : d) + this._cycle * (this._duration + this._repeatDelay), c) : this._time / this.duration()
                }, k.totalProgress = function(d, c) {
                    return arguments.length ? this.totalTime(this.totalDuration() * d, c) : this._totalTime / this.totalDuration()
                }, k.totalDuration = function(a) {
                    return arguments.length ? -1 !== this._repeat && a ? this.timeScale(this.totalDuration() / a) : this : (this._dirty && (t.prototype.totalDuration.call(this), this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration)
                }, k.time = function(d, c) {
                    return arguments.length ? (this._dirty && this.totalDuration(), d > this._duration && (d = this._duration), this._yoyo && 0 !== (1 & this._cycle) ? d = this._duration - d + this._cycle * (this._duration + this._repeatDelay) : 0 !== this._repeat && (d += this._cycle * (this._duration + this._repeatDelay)), this.totalTime(d, c)) : this._time
                }, k.repeat = function(b) {
                    return arguments.length ? (this._repeat = b, this._uncache(!0)) : this._repeat
                }, k.repeatDelay = function(b) {
                    return arguments.length ? (this._repeatDelay = b, this._uncache(!0)) : this._repeatDelay
                }, k.yoyo = function(b) {
                    return arguments.length ? (this._yoyo = b, this) : this._yoyo
                }, k.currentLabel = function(b) {
                    return arguments.length ? this.seek(b, !0) : this.getLabelBefore(this._time + 1e-8)
                }, q
            }, !0),
            function() {
                var H = 180 / Math.PI,
                    G = [],
                    F = [],
                    E = [],
                    D = {},
                    C = _gsScope._gsDefine.globals,
                    B = function(f, e, h, g) {
                        h === g && (h = g - (g - e) / 1000000), f === e && (e = f + (h - f) / 1000000), this.a = f, this.b = e, this.c = h, this.d = g, this.da = g - f, this.ca = h - f, this.ba = e - f
                    },
                    A = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",
                    z = function(S, R, Q, P) {
                        var O = {
                                a: S
                            },
                            N = {},
                            M = {},
                            L = {
                                c: P
                            },
                            K = (S + R) / 2,
                            J = (R + Q) / 2,
                            I = (Q + P) / 2,
                            q = (K + J) / 2,
                            p = (J + I) / 2,
                            o = (p - q) / 8;
                        return O.b = K + (S - K) / 4, N.b = q + o, O.c = N.a = (O.b + N.b) / 2, N.c = M.a = (q + p) / 2, M.b = p - o, L.b = I + (P - I) / 4, M.c = L.a = (M.b + L.b) / 2, [O, N, M, L]
                    },
                    y = function(Y, X, W, V, U) {
                        var T, S, R, Q, P, O, N, M, L, K, J, I, i, d = Y.length - 1,
                            c = 0,
                            b = Y[0].a;
                        for (T = 0; d > T; T++) {
                            P = Y[c], S = P.a, R = P.d, Q = Y[c + 1].d, U ? (J = G[T], I = F[T], i = (I + J) * X * 0.25 / (V ? 0.5 : E[T] || 0.5), O = R - (R - S) * (V ? 0.5 * X : 0 !== J ? i / J : 0), N = R + (Q - R) * (V ? 0.5 * X : 0 !== I ? i / I : 0), M = R - (O + ((N - O) * (3 * J / (J + I) + 0.5) / 4 || 0))) : (O = R - (R - S) * X * 0.5, N = R + (Q - R) * X * 0.5, M = R - (O + N) / 2), O += M, N += M, P.c = L = O, 0 !== T ? P.b = b : P.b = b = P.a + 0.6 * (P.c - P.a), P.da = R - S, P.ca = L - S, P.ba = b - S, W ? (K = z(S, b, L, R), Y.splice(c, 1, K[0], K[1], K[2], K[3]), c += 4) : c++, b = N
                        }
                        P = Y[c], P.b = b, P.c = b + 0.4 * (P.d - b), P.da = P.d - P.a, P.ca = P.c - P.a, P.ba = b - P.a, W && (K = z(P.a, b, P.c, P.d), Y.splice(c, 1, K[0], K[1], K[2], K[3]))
                    },
                    x = function(M, L, K, J) {
                        var I, q, p, o, g, c, b = [];
                        if (J) {
                            for (M = [J].concat(M), q = M.length; --q > -1;) {
                                "string" == typeof(c = M[q][L]) && "=" === c.charAt(1) && (M[q][L] = J[L] + Number(c.charAt(0) + c.substr(2)))
                            }
                        }
                        if (I = M.length - 2, 0 > I) {
                            return b[0] = new B(M[0][L], 0, 0, M[-1 > I ? 0 : 1][L]), b
                        }
                        for (q = 0; I > q; q++) {
                            p = M[q][L], o = M[q + 1][L], b[q] = new B(p, 0, 0, o), K && (g = M[q + 2][L], G[q] = (G[q] || 0) + (o - p) * (o - p), F[q] = (F[q] || 0) + (g - o) * (g - o))
                        }
                        return b[q] = new B(M[q][L], 0, 0, M[q + 1][L]), b
                    },
                    w = function(M, K, J, I, k, j) {
                        var h, e, d, c, b, R, Q, P, O = {},
                            N = [],
                            L = j || M[0];
                        k = "string" == typeof k ? "," + k + "," : A, null == K && (K = 1);
                        for (e in M[0]) {
                            N.push(e)
                        }
                        if (M.length > 1) {
                            for (P = M[M.length - 1], Q = !0, h = N.length; --h > -1;) {
                                if (e = N[h], Math.abs(L[e] - P[e]) > 0.05) {
                                    Q = !1;
                                    break
                                }
                            }
                            Q && (M = M.concat(), j && M.unshift(j), M.push(M[1]), j = M[M.length - 3])
                        }
                        for (G.length = F.length = E.length = 0, h = N.length; --h > -1;) {
                            e = N[h], D[e] = -1 !== k.indexOf("," + e + ","), O[e] = x(M, e, D[e], j)
                        }
                        for (h = G.length; --h > -1;) {
                            G[h] = Math.sqrt(G[h]), F[h] = Math.sqrt(F[h])
                        }
                        if (!I) {
                            for (h = N.length; --h > -1;) {
                                if (D[e]) {
                                    for (d = O[N[h]], R = d.length - 1, c = 0; R > c; c++) {
                                        b = d[c + 1].da / F[c] + d[c].da / G[c] || 0, E[c] = (E[c] || 0) + b * b
                                    }
                                }
                            }
                            for (h = E.length; --h > -1;) {
                                E[h] = Math.sqrt(E[h])
                            }
                        }
                        for (h = N.length, c = J ? 4 : 1; --h > -1;) {
                            e = N[h], d = O[e], y(d, K, J, I, D[e]), Q && (d.splice(0, c), d.splice(d.length - c, c))
                        }
                        return O
                    },
                    v = function(Y, X, W) {
                        X = X || "soft";
                        var V, U, T, S, R, Q, P, O, N, M, L, K = {},
                            J = "cubic" === X ? 3 : 2,
                            I = "soft" === X,
                            g = [];
                        if (I && W && (Y = [W].concat(Y)), null == Y || Y.length < J + 1) {
                            throw "invalid Bezier data"
                        }
                        for (N in Y[0]) {
                            g.push(N)
                        }
                        for (Q = g.length; --Q > -1;) {
                            for (N = g[Q], K[N] = R = [], M = 0, O = Y.length, P = 0; O > P; P++) {
                                V = null == W ? Y[P][N] : "string" == typeof(L = Y[P][N]) && "=" === L.charAt(1) ? W[N] + Number(L.charAt(0) + L.substr(2)) : Number(L), I && P > 1 && O - 1 > P && (R[M++] = (V + R[M - 2]) / 2), R[M++] = V
                            }
                            for (O = M - J + 1, M = 0, P = 0; O > P; P += J) {
                                V = R[P], U = R[P + 1], T = R[P + 2], S = 2 === J ? 0 : R[P + 3], R[M++] = L = 3 === J ? new B(V, U, T, S) : new B(V, (2 * U + V) / 3, (2 * U + T) / 3, T)
                            }
                            R.length = M
                        }
                        return K
                    },
                    u = function(W, V, U) {
                        for (var T, S, R, Q, P, O, N, M, L, K, J, I = 1 / U, q = W.length; --q > -1;) {
                            for (K = W[q], R = K.a, Q = K.d - R, P = K.c - R, O = K.b - R, T = S = 0, M = 1; U >= M; M++) {
                                N = I * M, L = 1 - N, T = S - (S = (N * N * Q + 3 * L * (N * P + L * O)) * N), J = q * U + M - 1, V[J] = (V[J] || 0) + T * T
                            }
                        }
                    },
                    t = function(Q, P) {
                        P = P >> 0 || 6;
                        var O, N, M, L, K = [],
                            J = [],
                            I = 0,
                            q = 0,
                            p = P - 1,
                            o = [],
                            n = [];
                        for (O in Q) {
                            u(Q[O], K, P)
                        }
                        for (M = K.length, N = 0; M > N; N++) {
                            I += Math.sqrt(K[N]), L = N % P, n[L] = I, L === p && (q += I, L = N / P >> 0, o[L] = n, J[L] = q, I = 0, n = [])
                        }
                        return {
                            length: q,
                            lengths: J,
                            segments: o
                        }
                    },
                    s = _gsScope._gsDefine.plugin({
                        propName: "bezier",
                        priority: -1,
                        version: "1.3.6",
                        API: 2,
                        global: !0,
                        init: function(Q, P, O) {
                            this._target = Q, P instanceof Array && (P = {
                                values: P
                            }), this._func = {}, this._round = {}, this._props = [], this._timeRes = null == P.timeResolution ? 6 : parseInt(P.timeResolution, 10);
                            var N, M, L, K, J, I = P.values || [],
                                q = {},
                                o = I[0],
                                m = P.autoRotate || O.vars.orientToBezier;
                            this._autoRotate = m ? m instanceof Array ? m : [
                                ["x", "y", "rotation", m === !0 ? 0 : Number(m) || 0]
                            ] : null;
                            for (N in o) {
                                this._props.push(N)
                            }
                            for (L = this._props.length; --L > -1;) {
                                N = this._props[L], this._overwriteProps.push(N), M = this._func[N] = "function" == typeof Q[N], q[N] = M ? Q[N.indexOf("set") || "function" != typeof Q["get" + N.substr(3)] ? N : "get" + N.substr(3)]() : parseFloat(Q[N]), J || q[N] !== I[0][N] && (J = q)
                            }
                            if (this._beziers = "cubic" !== P.type && "quadratic" !== P.type && "soft" !== P.type ? w(I, isNaN(P.curviness) ? 1 : P.curviness, !1, "thruBasic" === P.type, P.correlate, J) : v(I, P.type, q), this._segCount = this._beziers[N].length, this._timeRes) {
                                var l = t(this._beziers, this._timeRes);
                                this._length = l.length, this._lengths = l.lengths, this._segments = l.segments, this._l1 = this._li = this._s1 = this._si = 0, this._l2 = this._lengths[0], this._curSeg = this._segments[0], this._s2 = this._curSeg[0], this._prec = 1 / this._curSeg.length
                            }
                            if (m = this._autoRotate) {
                                for (this._initialRotations = [], m[0] instanceof Array || (this._autoRotate = m = [m]), L = m.length; --L > -1;) {
                                    for (K = 0; 3 > K; K++) {
                                        N = m[L][K], this._func[N] = "function" == typeof Q[N] ? Q[N.indexOf("set") || "function" != typeof Q["get" + N.substr(3)] ? N : "get" + N.substr(3)] : !1
                                    }
                                    N = m[L][2], this._initialRotations[L] = (this._func[N] ? this._func[N].call(this._target) : this._target[N]) || 0
                                }
                            }
                            return this._startRatio = O.vars.runBackwards ? 1 : 0, !0
                        },
                        set: function(ad) {
                            var ac, ab, aa, Z, Y, X, W, V, U, T, S = this._segCount,
                                R = this._func,
                                Q = this._target,
                                P = ad !== this._startRatio;
                            if (this._timeRes) {
                                if (U = this._lengths, T = this._curSeg, ad *= this._length, aa = this._li, ad > this._l2 && S - 1 > aa) {
                                    for (V = S - 1; V > aa && (this._l2 = U[++aa]) <= ad;) {}
                                    this._l1 = U[aa - 1], this._li = aa, this._curSeg = T = this._segments[aa], this._s2 = T[this._s1 = this._si = 0]
                                } else {
                                    if (ad < this._l1 && aa > 0) {
                                        for (; aa > 0 && (this._l1 = U[--aa]) >= ad;) {}
                                        0 === aa && ad < this._l1 ? this._l1 = 0 : aa++, this._l2 = U[aa], this._li = aa, this._curSeg = T = this._segments[aa], this._s1 = T[(this._si = T.length - 1) - 1] || 0, this._s2 = T[this._si]
                                    }
                                }
                                if (ac = aa, ad -= this._l1, aa = this._si, ad > this._s2 && aa < T.length - 1) {
                                    for (V = T.length - 1; V > aa && (this._s2 = T[++aa]) <= ad;) {}
                                    this._s1 = T[aa - 1], this._si = aa
                                } else {
                                    if (ad < this._s1 && aa > 0) {
                                        for (; aa > 0 && (this._s1 = T[--aa]) >= ad;) {}
                                        0 === aa && ad < this._s1 ? this._s1 = 0 : aa++, this._s2 = T[aa], this._si = aa
                                    }
                                }
                                X = (aa + (ad - this._s1) / (this._s2 - this._s1)) * this._prec || 0
                            } else {
                                ac = 0 > ad ? 0 : ad >= 1 ? S - 1 : S * ad >> 0, X = (ad - ac * (1 / S)) * S
                            }
                            for (ab = 1 - X, aa = this._props.length; --aa > -1;) {
                                Z = this._props[aa], Y = this._beziers[Z][ac], W = (X * X * Y.da + 3 * ab * (X * Y.ca + ab * Y.ba)) * X + Y.a, this._round[Z] && (W = Math.round(W)), R[Z] ? Q[Z](W) : Q[Z] = W
                            }
                            if (this._autoRotate) {
                                var O, N, M, L, K, J, I, a = this._autoRotate;
                                for (aa = a.length; --aa > -1;) {
                                    Z = a[aa][2], J = a[aa][3] || 0, I = a[aa][4] === !0 ? 1 : H, Y = this._beziers[a[aa][0]], O = this._beziers[a[aa][1]], Y && O && (Y = Y[ac], O = O[ac], N = Y.a + (Y.b - Y.a) * X, L = Y.b + (Y.c - Y.b) * X, N += (L - N) * X, L += (Y.c + (Y.d - Y.c) * X - L) * X, M = O.a + (O.b - O.a) * X, K = O.b + (O.c - O.b) * X, M += (K - M) * X, K += (O.c + (O.d - O.c) * X - K) * X, W = P ? Math.atan2(K - M, L - N) * I + J : this._initialRotations[aa], R[Z] ? Q[Z](W) : Q[Z] = W)
                                }
                            }
                        }
                    }),
                    r = s.prototype;
                s.bezierThrough = w, s.cubicToQuadratic = z, s._autoCSS = !0, s.quadraticToCubic = function(e, d, f) {
                    return new B(e, (2 * d + e) / 3, (2 * d + f) / 3, f)
                }, s._cssRegister = function() {
                    var g = C.CSSPlugin;
                    if (g) {
                        var f = g._internals,
                            j = f._parseToProxy,
                            i = f._setPluginRatio,
                            h = f.CSSPropTween;
                        f._registerComplexSpecialProp("bezier", {
                            parser: function(Q, P, O, N, M, L) {
                                P instanceof Array && (P = {
                                    values: P
                                }), L = new s;
                                var K, J, I, p = P.values,
                                    e = p.length - 1,
                                    d = [],
                                    c = {};
                                if (0 > e) {
                                    return M
                                }
                                for (K = 0; e >= K; K++) {
                                    I = j(Q, p[K], N, M, L, e !== K), d[K] = I.end
                                }
                                for (J in P) {
                                    c[J] = P[J]
                                }
                                return c.values = d, M = new h(Q, "bezier", 0, 0, I.pt, 2), M.data = I, M.plugin = L, M.setRatio = i, 0 === c.autoRotate && (c.autoRotate = !0), !c.autoRotate || c.autoRotate instanceof Array || (K = c.autoRotate === !0 ? 0 : Number(c.autoRotate), c.autoRotate = null != I.end.left ? [
                                    ["left", "top", "rotation", K, !1]
                                ] : null != I.end.x ? [
                                    ["x", "y", "rotation", K, !1]
                                ] : !1), c.autoRotate && (N._transform || N._enableTransforms(!1), I.autoRotate = N._target._gsTransform, I.proxy.rotation = I.autoRotate.rotation || 0), L._onInitTween(I.proxy, c, N._tween), M
                            }
                        })
                    }
                }, r._roundProps = function(f, e) {
                    for (var h = this._overwriteProps, g = h.length; --g > -1;) {
                        (f[h[g]] || f.bezier || f.bezierThrough) && (this._round[h[g]] = e)
                    }
                }, r._kill = function(f) {
                    var e, h, g = this._props;
                    for (e in this._beziers) {
                        if (e in f) {
                            for (delete this._beziers[e], delete this._func[e], h = g.length; --h > -1;) {
                                g[h] === e && g.splice(h, 1)
                            }
                        }
                    }
                    return this._super._kill.call(this, f)
                }
            }(), _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function(aW, aV) {
                var aU, aR, aQ, aP, aO = function() {
                        aW.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = aO.prototype.setRatio
                    },
                    aN = _gsScope._gsDefine.globals,
                    aK = {},
                    aJ = aO.prototype = new aW("css");
                aJ.constructor = aO, aO.version = "1.18.5", aO.API = 2, aO.defaultTransformPerspective = 0, aO.defaultSkewType = "compensated", aO.defaultSmoothOrigin = !0, aJ = "px", aO.suffixMap = {
                    top: aJ,
                    right: aJ,
                    bottom: aJ,
                    left: aJ,
                    width: aJ,
                    height: aJ,
                    fontSize: aJ,
                    padding: aJ,
                    margin: aJ,
                    perspective: aJ,
                    lineHeight: ""
                };
                var aI, aH, aG, aE, aD, aC, aB = /(?:\-|\.|\b)(\d|\.|e\-)+/g,
                    aA = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
                    az = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,
                    ay = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,
                    ax = /(?:\d|\-|\+|=|#|\.)*/g,
                    aw = /opacity *= *([^)]*)/i,
                    av = /opacity:([^;]*)/i,
                    au = /alpha\(opacity *=.+?\)/i,
                    at = /^(rgb|hsl)/,
                    ar = /([A-Z])/g,
                    bw = /-([a-z])/gi,
                    bv = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,
                    bu = function(d, c) {
                        return c.toUpperCase()
                    },
                    bt = /(?:Left|Right|Width)/i,
                    bq = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
                    bp = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,
                    bo = /,(?=[^\)]*(?:\(|$))/gi,
                    bn = /[\s,\(]/i,
                    bm = Math.PI / 180,
                    bj = 180 / Math.PI,
                    bi = {},
                    bh = document,
                    bg = function(b) {
                        return bh.createElementNS ? bh.createElementNS("http://www.w3.org/1999/xhtml", b) : bh.createElement(b)
                    },
                    bf = bg("div"),
                    be = bg("img"),
                    bc = aO._internals = {
                        _specialProps: aK
                    },
                    bb = navigator.userAgent,
                    a9 = function() {
                        var d = bb.indexOf("Android"),
                            c = bg("a");
                        return aG = -1 !== bb.indexOf("Safari") && -1 === bb.indexOf("Chrome") && (-1 === d || Number(bb.substr(d + 8, 1)) > 3), aD = aG && Number(bb.substr(bb.indexOf("Version/") + 8, 1)) < 6, aE = -1 !== bb.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(bb) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(bb)) && (aC = parseFloat(RegExp.$1)), c ? (c.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(c.style.opacity)) : !1
                    }(),
                    a8 = function(b) {
                        return aw.test("string" == typeof b ? b : (b.currentStyle ? b.currentStyle.filter : b.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
                    },
                    a7 = function(b) {
                        window.console && console.log(b)
                    },
                    a6 = "",
                    a5 = "",
                    a4 = function(g, f) {
                        f = f || bf;
                        var j, i, h = f.style;
                        if (void 0 !== h[g]) {
                            return g
                        }
                        for (g = g.charAt(0).toUpperCase() + g.substr(1), j = ["O", "Moz", "ms", "Ms", "Webkit"], i = 5; --i > -1 && void 0 === h[j[i] + g];) {}
                        return i >= 0 ? (a5 = 3 === i ? "ms" : j[i], a6 = "-" + a5.toLowerCase() + "-", a5 + g) : null
                    },
                    a3 = bh.defaultView ? bh.defaultView.getComputedStyle : function() {},
                    a2 = aO.getStyle = function(h, g, l, k, j) {
                        var i;
                        return a9 || "opacity" !== g ? (!k && h.style[g] ? i = h.style[g] : (l = l || a3(h)) ? i = l[g] || l.getPropertyValue(g) || l.getPropertyValue(g.replace(ar, "-$1").toLowerCase()) : h.currentStyle && (i = h.currentStyle[g]), null == j || i && "none" !== i && "auto" !== i && "auto auto" !== i ? i : j) : a8(h)
                    },
                    a0 = bc.convertToPixels = function(z, y, x, w, v) {
                        if ("px" === w || !w) {
                            return x
                        }
                        if ("auto" === w || !x) {
                            return 0
                        }
                        var u, t, s, r = bt.test(y),
                            q = z,
                            p = bf.style,
                            g = 0 > x,
                            b = 1 === x;
                        if (g && (x = -x), b && (x *= 100), "%" === w && -1 !== y.indexOf("border")) {
                            u = x / 100 * (r ? z.clientWidth : z.clientHeight)
                        } else {
                            if (p.cssText = "border:0 solid red;position:" + a2(z, "position") + ";line-height:0;", "%" !== w && q.appendChild && "v" !== w.charAt(0) && "rem" !== w) {
                                p[r ? "borderLeftWidth" : "borderTopWidth"] = x + w
                            } else {
                                if (q = z.parentNode || bh.body, t = q._gsCache, s = aV.ticker.frame, t && r && t.time === s) {
                                    return t.width * x / 100
                                }
                                p[r ? "width" : "height"] = x + w
                            }
                            q.appendChild(bf), u = parseFloat(bf[r ? "offsetWidth" : "offsetHeight"]), q.removeChild(bf), r && "%" === w && aO.cacheWidths !== !1 && (t = q._gsCache = q._gsCache || {}, t.time = s, t.width = u / x * 100), 0 !== u || v || (u = a0(z, y, x, w, !0))
                        }
                        return b && (u /= 100), g ? -u : u
                    },
                    bG = bc.calculateOffset = function(g, f, j) {
                        if ("absolute" !== a2(g, "position", j)) {
                            return 0
                        }
                        var i = "left" === f ? "Left" : "Top",
                            h = a2(g, "margin" + i, j);
                        return g["offset" + i] - (a0(g, f, parseFloat(h), h.replace(ax, "")) || 0)
                    },
                    aY = function(h, g) {
                        var l, k, j, i = {};
                        if (g = g || a3(h, null)) {
                            if (l = g.length) {
                                for (; --l > -1;) {
                                    j = g[l], (-1 === j.indexOf("-transform") || bM === j) && (i[j.replace(bw, bu)] = g.getPropertyValue(j))
                                }
                            } else {
                                for (l in g) {
                                    (-1 === l.indexOf("Transform") || bz === l) && (i[l] = g[l])
                                }
                            }
                        } else {
                            if (g = h.currentStyle || h.style) {
                                for (l in g) {
                                    "string" == typeof l && void 0 === i[l] && (i[l.replace(bw, bu)] = g[l])
                                }
                            }
                        }
                        return a9 || (i.opacity = a8(h)), k = bI(h, g, !1), i.rotation = k.rotation, i.skewX = k.skewX, i.scaleX = k.scaleX, i.scaleY = k.scaleY, i.x = k.x, i.y = k.y, bl && (i.z = k.z, i.rotationX = k.rotationX, i.rotationY = k.rotationY, i.scaleZ = k.scaleZ), i.filters && delete i.filters, i
                    },
                    bB = function(t, s, r, q, p) {
                        var o, n, m, l = {},
                            k = t.style;
                        for (n in r) {
                            "cssText" !== n && "length" !== n && isNaN(n) && (s[n] !== (o = r[n]) || p && p[n]) && -1 === n.indexOf("Origin") && ("number" == typeof o || "string" == typeof o) && (l[n] = "auto" !== o || "left" !== n && "top" !== n ? "" !== o && "auto" !== o && "none" !== o || "string" != typeof s[n] || "" === s[n].replace(ay, "") ? o : 0 : bG(t, n), void 0 !== k[n] && (m = new an(k, n, k[n], m)))
                        }
                        if (q) {
                            for (n in q) {
                                "className" !== n && (l[n] = q[n])
                            }
                        }
                        return {
                            difs: l,
                            firstMPT: m
                        }
                    },
                    bd = {
                        width: ["Left", "Right"],
                        height: ["Top", "Bottom"]
                    },
                    aF = ["marginLeft", "marginRight", "marginTop", "marginBottom"],
                    ak = function(h, g, l) {
                        if ("svg" === (h.nodeName + "").toLowerCase()) {
                            return (l || a3(h))[g] || 0
                        }
                        if (h.getBBox && ao(h)) {
                            return h.getBBox()[g] || 0
                        }
                        var k = parseFloat("width" === g ? h.offsetWidth : h.offsetHeight),
                            j = bd[g],
                            i = j.length;
                        for (l = l || a3(h, null); --i > -1;) {
                            k -= parseFloat(a2(h, "padding" + j[i], l, !0)) || 0, k -= parseFloat(a2(h, "border" + j[i] + "Width", l, !0)) || 0
                        }
                        return k
                    },
                    ad = function(h, g) {
                        if ("contain" === h || "auto" === h || "auto auto" === h) {
                            return h + " "
                        }(null == h || "" === h) && (h = "0 0");
                        var l, k = h.split(" "),
                            j = -1 !== h.indexOf("left") ? "0%" : -1 !== h.indexOf("right") ? "100%" : k[0],
                            i = -1 !== h.indexOf("top") ? "0%" : -1 !== h.indexOf("bottom") ? "100%" : k[1];
                        if (k.length > 3 && !g) {
                            for (k = h.split(", ").join(",").split(","), h = [], l = 0; l < k.length; l++) {
                                h.push(ad(k[l]))
                            }
                            return h.join(",")
                        }
                        return null == i ? i = "center" === j ? "50%" : "0" : "center" === i && (i = "50%"), ("center" === j || isNaN(parseFloat(j)) && -1 === (j + "").indexOf("=")) && (j = "50%"), h = j + " " + i + (k.length > 2 ? " " + k[2] : ""), g && (g.oxp = -1 !== j.indexOf("%"), g.oyp = -1 !== i.indexOf("%"), g.oxr = "=" === j.charAt(1), g.oyr = "=" === i.charAt(1), g.ox = parseFloat(j.replace(ay, "")), g.oy = parseFloat(i.replace(ay, "")), g.v = h), g || h
                    },
                    bL = function(d, c) {
                        return "string" == typeof d && "=" === d.charAt(1) ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) : parseFloat(d) - parseFloat(c) || 0
                    },
                    bC = function(d, c) {
                        return null == d ? c : "string" == typeof d && "=" === d.charAt(1) ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) + c : parseFloat(d) || 0
                    },
                    bk = function(t, s, r, q) {
                        var p, o, n, m, l, k = 0.000001;
                        return null == t ? m = s : "number" == typeof t ? m = t : (p = 360, o = t.split("_"), l = "=" === t.charAt(1), n = (l ? parseInt(t.charAt(0) + "1", 10) * parseFloat(o[0].substr(2)) : parseFloat(o[0])) * (-1 === t.indexOf("rad") ? 1 : bj) - (l ? 0 : s), o.length && (q && (q[r] = s + n), -1 !== t.indexOf("short") && (n %= p, n !== n % (p / 2) && (n = 0 > n ? n + p : n - p)), -1 !== t.indexOf("_cw") && 0 > n ? n = (n + 9999999999 * p) % p - (n / p | 0) * p : -1 !== t.indexOf("ccw") && n > 0 && (n = (n - 9999999999 * p) % p - (n / p | 0) * p)), m = s + n), k > m && m > -k && (m = 0), m
                    },
                    aL = {
                        aqua: [0, 255, 255],
                        lime: [0, 255, 0],
                        silver: [192, 192, 192],
                        black: [0, 0, 0],
                        maroon: [128, 0, 0],
                        teal: [0, 128, 128],
                        blue: [0, 0, 255],
                        navy: [0, 0, 128],
                        white: [255, 255, 255],
                        fuchsia: [255, 0, 255],
                        olive: [128, 128, 0],
                        yellow: [255, 255, 0],
                        orange: [255, 165, 0],
                        gray: [128, 128, 128],
                        purple: [128, 0, 128],
                        green: [0, 128, 0],
                        red: [255, 0, 0],
                        pink: [255, 192, 203],
                        cyan: [0, 255, 255],
                        transparent: [255, 255, 255, 0]
                    },
                    al = function(e, d, f) {
                        return e = 0 > e ? e + 1 : e > 1 ? e - 1 : e, 255 * (1 > 6 * e ? d + (f - d) * e * 6 : 0.5 > e ? f : 2 > 3 * e ? d + (f - d) * (2 / 3 - e) * 6 : d) + 0.5 | 0
                    },
                    ae = aO.parseColor = function(z, y) {
                        var x, w, v, u, t, s, r, q, p, o, n;
                        if (z) {
                            if ("number" == typeof z) {
                                x = [z >> 16, z >> 8 & 255, 255 & z]
                            } else {
                                if ("," === z.charAt(z.length - 1) && (z = z.substr(0, z.length - 1)), aL[z]) {
                                    x = aL[z]
                                } else {
                                    if ("#" === z.charAt(0)) {
                                        4 === z.length && (w = z.charAt(1), v = z.charAt(2), u = z.charAt(3), z = "#" + w + w + v + v + u + u), z = parseInt(z.substr(1), 16), x = [z >> 16, z >> 8 & 255, 255 & z]
                                    } else {
                                        if ("hsl" === z.substr(0, 3)) {
                                            if (x = n = z.match(aB), y) {
                                                if (-1 !== z.indexOf("=")) {
                                                    return z.match(aA)
                                                }
                                            } else {
                                                t = Number(x[0]) % 360 / 360, s = Number(x[1]) / 100, r = Number(x[2]) / 100, v = 0.5 >= r ? r * (s + 1) : r + s - r * s, w = 2 * r - v, x.length > 3 && (x[3] = Number(z[3])), x[0] = al(t + 1 / 3, w, v), x[1] = al(t, w, v), x[2] = al(t - 1 / 3, w, v)
                                            }
                                        } else {
                                            x = z.match(aB) || aL.transparent
                                        }
                                    }
                                }
                                x[0] = Number(x[0]), x[1] = Number(x[1]), x[2] = Number(x[2]), x.length > 3 && (x[3] = Number(x[3]))
                            }
                        } else {
                            x = aL.black
                        }
                        return y && !n && (w = x[0] / 255, v = x[1] / 255, u = x[2] / 255, q = Math.max(w, v, u), p = Math.min(w, v, u), r = (q + p) / 2, q === p ? t = s = 0 : (o = q - p, s = r > 0.5 ? o / (2 - q - p) : o / (q + p), t = q === w ? (v - u) / o + (u > v ? 6 : 0) : q === v ? (u - w) / o + 2 : (w - v) / o + 4, t *= 60), x[0] = t + 0.5 | 0, x[1] = 100 * s + 0.5 | 0, x[2] = 100 * r + 0.5 | 0), x
                    },
                    bN = function(j, i) {
                        var p, o, n, m = j.match(bE) || [],
                            l = 0,
                            k = m.length ? "" : j;
                        for (p = 0; p < m.length; p++) {
                            o = m[p], n = j.substr(l, j.indexOf(o, l) - l), l += n.length + o.length, o = ae(o, i), 3 === o.length && o.push(1), k += n + (i ? "hsla(" + o[0] + "," + o[1] + "%," + o[2] + "%," + o[3] : "rgba(" + o.join(",")) + ")"
                        }
                        return k + j.substr(l)
                    },
                    bE = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";
                for (aJ in aL) {
                    bE += "|" + aJ + "\\b"
                }
                bE = new RegExp(bE + ")", "gi"), aO.colorStringFilter = function(e) {
                    var d, f = e[0] + e[1];
                    bE.test(f) && (d = -1 !== f.indexOf("hsl(") || -1 !== f.indexOf("hsla("), e[0] = bN(e[0], d), e[1] = bN(e[1], d)), bE.lastIndex = 0
                }, aV.defaultStringFilter || (aV.defaultStringFilter = aO.colorStringFilter);
                var br = function(x, w, v, u) {
                        if (null == x) {
                            return function(b) {
                                return b
                            }
                        }
                        var t, s = w ? (x.match(bE) || [""])[0] : "",
                            r = x.split(s).join("").match(az) || [],
                            q = x.substr(0, x.indexOf(r[0])),
                            p = ")" === x.charAt(x.length - 1) ? ")" : "",
                            o = -1 !== x.indexOf(" ") ? " " : ",",
                            n = r.length,
                            m = n > 0 ? r[0].replace(aB, "") : "";
                        return n ? t = w ? function(e) {
                            var d, c, g, f;
                            if ("number" == typeof e) {
                                e += m
                            } else {
                                if (u && bo.test(e)) {
                                    for (f = e.replace(bo, "|").split("|"), g = 0; g < f.length; g++) {
                                        f[g] = t(f[g])
                                    }
                                    return f.join(",")
                                }
                            }
                            if (d = (e.match(bE) || [s])[0], c = e.split(d).join("").match(az) || [], g = c.length, n > g--) {
                                for (; ++g < n;) {
                                    c[g] = v ? c[(g - 1) / 2 | 0] : r[g]
                                }
                            }
                            return q + c.join(o) + o + d + p + (-1 !== e.indexOf("inset") ? " inset" : "")
                        } : function(e) {
                            var d, g, c;
                            if ("number" == typeof e) {
                                e += m
                            } else {
                                if (u && bo.test(e)) {
                                    for (g = e.replace(bo, "|").split("|"), c = 0; c < g.length; c++) {
                                        g[c] = t(g[c])
                                    }
                                    return g.join(",")
                                }
                            }
                            if (d = e.match(az) || [], c = d.length, n > c--) {
                                for (; ++c < n;) {
                                    d[c] = v ? d[(c - 1) / 2 | 0] : r[c]
                                }
                            }
                            return q + d.join(o) + p
                        } : function(b) {
                            return b
                        }
                    },
                    aS = function(b) {
                        return b = b.split(","),
                            function(r, q, p, o, n, m, l) {
                                var k, a = (q + "").split(" ");
                                for (l = {}, k = 0; 4 > k; k++) {
                                    l[b[k]] = a[k] = a[k] || a[(k - 1) / 2 >> 0]
                                }
                                return o.parse(r, l, n, m)
                            }
                    },
                    an = (bc._setPluginRatio = function(t) {
                        this.plugin.setRatio(t);
                        for (var s, r, q, p, o, n = this.data, m = n.proxy, l = n.firstMPT, k = 0.000001; l;) {
                            s = m[l.v], l.r ? s = Math.round(s) : k > s && s > -k && (s = 0), l.t[l.p] = s, l = l._next
                        }
                        if (n.autoRotate && (n.autoRotate.rotation = m.rotation), 1 === t || 0 === t) {
                            for (l = n.firstMPT, o = 1 === t ? "e" : "b"; l;) {
                                if (r = l.t, r.type) {
                                    if (1 === r.type) {
                                        for (p = r.xs0 + r.s + r.xs1, q = 1; q < r.l; q++) {
                                            p += r["xn" + q] + r["xs" + (q + 1)]
                                        }
                                        r[o] = p
                                    }
                                } else {
                                    r[o] = r.s + r.xs0
                                }
                                l = l._next
                            }
                        }
                    }, function(g, f, j, i, h) {
                        this.t = g, this.p = f, this.v = j, this.r = h, i && (i._prev = this, this._next = i)
                    }),
                    ag = (bc._parseToProxy = function(F, E, D, C, B, A) {
                        var z, y, x, w, v, u = C,
                            t = {},
                            s = {},
                            r = D._transform,
                            q = bi;
                        for (D._transform = null, bi = E, C = v = D.parse(F, E, C, B), bi = q, A && (D._transform = r, u && (u._prev = null, u._prev && (u._prev._next = null))); C && C !== u;) {
                            if (C.type <= 1 && (y = C.p, s[y] = C.s + C.c, t[y] = C.s, A || (w = new an(C, "s", y, w, C.r), C.c = 0), 1 === C.type)) {
                                for (z = C.l; --z > 0;) {
                                    x = "xn" + z, y = C.p + "_" + x, s[y] = C.data[x], t[y] = C[x], A || (w = new an(C, x, y, w, C.rxp[x]))
                                }
                            }
                            C = C._next
                        }
                        return {
                            proxy: t,
                            end: s,
                            firstMPT: w,
                            pt: v
                        }
                    }, bc.CSSPropTween = function(v, u, t, s, r, q, p, o, n, f, c) {
                        this.t = v, this.p = u, this.s = t, this.c = s, this.n = p || u, v instanceof ag || aP.push(this.n), this.r = o, this.type = q || 0, n && (this.pr = n, aU = !0), this.b = void 0 === f ? t : f, this.e = void 0 === c ? t + s : c, r && (this._next = r, r._prev = this)
                    }),
                    bP = function(i, h, n, m, l, k) {
                        var j = new ag(i, h, n, m - n, l, -1, k);
                        return j.b = n, j.e = j.xs0 = m, j
                    },
                    bH = aO.parseComplex = function(ba, aa, Z, Y, X, W, V, U, T, S) {
                        Z = Z || W || "", V = new ag(ba, aa, 0, 0, V, S ? 2 : 1, null, !1, U, Z, Y), Y += "", X && bE.test(Y + Z) && (Y = [Z, Y], aO.colorStringFilter(Y), Z = Y[0], Y = Y[1]);
                        var R, Q, P, O, K, I, G, F, r, q, k, g, N, M = Z.split(", ").join(",").split(" "),
                            L = Y.split(", ").join(",").split(" "),
                            J = M.length,
                            H = aI !== !1;
                        for ((-1 !== Y.indexOf(",") || -1 !== Z.indexOf(",")) && (M = M.join(" ").replace(bo, ", ").split(" "), L = L.join(" ").replace(bo, ", ").split(" "), J = M.length), J !== L.length && (M = (W || "").split(" "), J = M.length), V.plugin = T, V.setRatio = S, bE.lastIndex = 0, R = 0; J > R; R++) {
                            if (O = M[R], K = L[R], F = parseFloat(O), F || 0 === F) {
                                V.appendXtra("", F, bL(K, F), K.replace(aA, ""), H && -1 !== K.indexOf("px"), !0)
                            } else {
                                if (X && bE.test(O)) {
                                    g = K.indexOf(")") + 1, g = ")" + (g ? K.substr(g) : ""), N = -1 !== K.indexOf("hsl") && a9, O = ae(O, N), K = ae(K, N), r = O.length + K.length > 6, r && !a9 && 0 === K[3] ? (V["xs" + V.l] += V.l ? " transparent" : "transparent", V.e = V.e.split(L[R]).join("transparent")) : (a9 || (r = !1), N ? V.appendXtra(r ? "hsla(" : "hsl(", O[0], bL(K[0], O[0]), ",", !1, !0).appendXtra("", O[1], bL(K[1], O[1]), "%,", !1).appendXtra("", O[2], bL(K[2], O[2]), r ? "%," : "%" + g, !1) : V.appendXtra(r ? "rgba(" : "rgb(", O[0], K[0] - O[0], ",", !0, !0).appendXtra("", O[1], K[1] - O[1], ",", !0).appendXtra("", O[2], K[2] - O[2], r ? "," : g, !0), r && (O = O.length < 4 ? 1 : O[3], V.appendXtra("", O, (K.length < 4 ? 1 : K[3]) - O, g, !1))), bE.lastIndex = 0
                                } else {
                                    if (I = O.match(aB)) {
                                        if (G = K.match(aA), !G || G.length !== I.length) {
                                            return V
                                        }
                                        for (P = 0, Q = 0; Q < I.length; Q++) {
                                            k = I[Q], q = O.indexOf(k, P), V.appendXtra(O.substr(P, q - P), Number(k), bL(G[Q], k), "", H && "px" === O.substr(q + k.length, 2), 0 === Q), P = q + k.length
                                        }
                                        V["xs" + V.l] += O.substr(P)
                                    } else {
                                        V["xs" + V.l] += V.l || V["xs" + V.l] ? " " + K : K
                                    }
                                }
                            }
                        }
                        if (-1 !== Y.indexOf("=") && V.data) {
                            for (g = V.xs0 + V.data.s, R = 1; R < V.l; R++) {
                                g += V["xs" + R] + V.data["xn" + R]
                            }
                            V.e = g + V["xs" + R]
                        }
                        return V.l || (V.type = -1, V.xs0 = V.e), V.xfirst || V
                    },
                    bx = 9;
                for (aJ = ag.prototype, aJ.l = aJ.pr = 0; --bx > 0;) {
                    aJ["xn" + bx] = 0, aJ["xs" + bx] = ""
                }
                aJ.xs0 = "", aJ._next = aJ._prev = aJ.xfirst = aJ.data = aJ.plugin = aJ.setRatio = aJ.rxp = null, aJ.appendXtra = function(j, i, p, o, n, m) {
                    var l = this,
                        k = l.l;
                    return l["xs" + k] += m && (k || l["xs" + k]) ? " " + j : j || "", p || 0 === k || l.plugin ? (l.l++, l.type = l.setRatio ? 2 : 1, l["xs" + l.l] = o || "", k > 0 ? (l.data["xn" + k] = i + p, l.rxp["xn" + k] = n, l["xn" + k] = i, l.plugin || (l.xfirst = new ag(l, "xn" + k, i, p, l.xfirst || l, 0, l.n, n, l.pr), l.xfirst.xs0 = 0), l) : (l.data = {
                        s: i + p
                    }, l.rxp = {}, l.s = i, l.c = p, l.r = n, l)) : (l["xs" + k] += i + (o || ""), l)
                };
                var aX = function(d, c) {
                        c = c || {}, this.p = c.prefix ? a4(d) || d : d, aK[d] = aK[this.p] = this, this.format = c.formatter || br(c.defaultValue, c.color, c.collapsible, c.multi), c.parser && (this.parse = c.parser), this.clrs = c.color, this.multi = c.multi, this.keyword = c.keyword, this.dflt = c.defaultValue, this.pr = c.priority || 0
                    },
                    ap = bc._registerComplexSpecialProp = function(i, h, n) {
                        "object" != typeof h && (h = {
                            parser: n
                        });
                        var m, l, k = i.split(","),
                            j = h.defaultValue;
                        for (n = n || [j], m = 0; m < k.length; m++) {
                            h.prefix = 0 === m && h.prefix, h.defaultValue = n[m] || j, l = new aX(k[m], h)
                        }
                    },
                    ai = function(d) {
                        if (!aK[d]) {
                            var c = d.charAt(0).toUpperCase() + d.substr(1) + "Plugin";
                            ap(d, {
                                parser: function(b, p, o, n, m, l, i) {
                                    var h = aN.com.greensock.plugins[c];
                                    return h ? (h._cssRegister(), aK[o].parse(b, p, o, n, m, l, i)) : (a7("Error: " + c + " js file not loaded."), m)
                                }
                            })
                        }
                    };
                aJ = aX.prototype, aJ.parseComplex = function(z, y, x, w, v, u) {
                    var t, s, r, q, p, o, n = this.keyword;
                    if (this.multi && (bo.test(x) || bo.test(y) ? (s = y.replace(bo, "|").split("|"), r = x.replace(bo, "|").split("|")) : n && (s = [y], r = [x])), r) {
                        for (q = r.length > s.length ? r.length : s.length, t = 0; q > t; t++) {
                            y = s[t] = s[t] || this.dflt, x = r[t] = r[t] || this.dflt, n && (p = y.indexOf(n), o = x.indexOf(n), p !== o && (-1 === o ? s[t] = s[t].split(n).join("") : -1 === p && (s[t] += " " + n)))
                        }
                        y = s.join(", "), x = r.join(", ")
                    }
                    return bH(z, this.p, y, x, this.clrs, this.dflt, w, this.pr, v, u)
                }, aJ.parse = function(i, e, n, m, l, k, j) {
                    return this.parseComplex(i.style, this.format(a2(i, this.p, aQ, !1, this.dflt)), this.format(e), l, k)
                }, aO.registerSpecialProp = function(e, d, f) {
                    ap(e, {
                        parser: function(b, p, o, n, m, l, k) {
                            var c = new ag(b, o, 0, 0, m, 2, o, !1, f);
                            return c.plugin = l, c.setRatio = d(b, p, n._tween, o), c
                        },
                        priority: f
                    })
                }, aO.useSVGTransformAttr = aG || aE;
                var ab, bJ = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),
                    bz = a4("transform"),
                    bM = a6 + "transform",
                    bD = a4("transformOrigin"),
                    bl = null !== a4("perspective"),
                    aM = bc.Transform = function() {
                        this.perspective = parseFloat(aO.defaultTransformPerspective) || 0, this.force3D = aO.defaultForce3D !== !1 && bl ? aO.defaultForce3D || "auto" : !1
                    },
                    am = window.SVGElement,
                    af = function(h, g, l) {
                        var k, j = bh.createElementNS("http://www.w3.org/2000/svg", h),
                            i = /([a-z])([A-Z])/g;
                        for (k in l) {
                            j.setAttributeNS(null, k.replace(i, "$1-$2").toLowerCase(), l[k])
                        }
                        return g.appendChild(j), j
                    },
                    bO = bh.documentElement,
                    bF = function() {
                        var f, e, h, g = aC || /Android/i.test(bb) && !window.chrome;
                        return bh.createElementNS && !g && (f = af("svg", bO), e = af("rect", f, {
                            width: 100,
                            height: 50,
                            x: 100
                        }), h = e.getBoundingClientRect().width, e.style[bD] = "50% 50%", e.style[bz] = "scaleX(0.5)", g = h === e.getBoundingClientRect().width && !(aE && bl), bO.removeChild(f)), g
                    }(),
                    bs = function(R, Q, P, O, N, M) {
                        var L, K, J, I, H, G, F, E, D, C, B, A, z, y, x = R._gsTransform,
                            g = bQ(R, !0);
                        x && (z = x.xOrigin, y = x.yOrigin), (!O || (L = O.split(" ")).length < 2) && (F = R.getBBox(), Q = ad(Q).split(" "), L = [(-1 !== Q[0].indexOf("%") ? parseFloat(Q[0]) / 100 * F.width : parseFloat(Q[0])) + F.x, (-1 !== Q[1].indexOf("%") ? parseFloat(Q[1]) / 100 * F.height : parseFloat(Q[1])) + F.y]), P.xOrigin = I = parseFloat(L[0]), P.yOrigin = H = parseFloat(L[1]), O && g !== ah && (G = g[0], F = g[1], E = g[2], D = g[3], C = g[4], B = g[5], A = G * D - F * E, K = I * (D / A) + H * (-E / A) + (E * B - D * C) / A, J = I * (-F / A) + H * (G / A) - (G * B - F * C) / A, I = P.xOrigin = L[0] = K, H = P.yOrigin = L[1] = J), x && (M && (P.xOffset = x.xOffset, P.yOffset = x.yOffset, x = P), N || N !== !1 && aO.defaultSmoothOrigin !== !1 ? (K = I - z, J = H - y, x.xOffset += K * g[0] + J * g[2] - K, x.yOffset += K * g[1] + J * g[3] - J) : x.xOffset = x.yOffset = 0), M || R.setAttribute("data-svg-origin", L.join(" "))
                    },
                    aT = function(b) {
                        try {
                            return b.getBBox()
                        } catch (b) {}
                    },
                    ao = function(b) {
                        return !!(am && b.getBBox && b.getCTM && aT(b) && (!b.parentNode || b.parentNode.getBBox && b.parentNode.getCTM))
                    },
                    ah = [1, 0, 0, 1, 0, 0],
                    bQ = function(v, u) {
                        var t, s, r, q, p, o, n = v._gsTransform || new aM,
                            m = 100000,
                            l = v.style;
                        if (bz ? s = a2(v, bM, null, !0) : v.currentStyle && (s = v.currentStyle.filter.match(bq), s = s && 4 === s.length ? [s[0].substr(4), Number(s[2].substr(4)), Number(s[1].substr(4)), s[3].substr(4), n.x || 0, n.y || 0].join(",") : ""), t = !s || "none" === s || "matrix(1, 0, 0, 1, 0, 0)" === s, t && bz && ((o = "none" === a3(v).display) || !v.parentNode) && (o && (q = l.display, l.display = "block"), v.parentNode || (p = 1, bO.appendChild(v)), s = a2(v, bM, null, !0), t = !s || "none" === s || "matrix(1, 0, 0, 1, 0, 0)" === s, q ? l.display = q : o && aj(l, "display"), p && bO.removeChild(v)), (n.svg || v.getBBox && ao(v)) && (t && -1 !== (l[bz] + "").indexOf("matrix") && (s = l[bz], t = 0), r = v.getAttribute("transform"), t && r && (-1 !== r.indexOf("matrix") ? (s = r, t = 0) : -1 !== r.indexOf("translate") && (s = "matrix(1,0,0,1," + r.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")", t = 0))), t) {
                            return ah
                        }
                        for (r = (s || "").match(aB) || [], bx = r.length; --bx > -1;) {
                            q = Number(r[bx]), r[bx] = (p = q - (q |= 0)) ? (p * m + (0 > p ? -0.5 : 0.5) | 0) / m + q : q
                        }
                        return u && r.length > 6 ? [r[0], r[1], r[4], r[5], r[12], r[13]] : r
                    },
                    bI = bc.getTransform = function(ck, cj, ci, ch) {
                        if (ck._gsTransform && ci && !ch) {
                            return ck._gsTransform
                        }
                        var cg, cf, ce, cd, cc, cb, ca = ci ? ck._gsTransform || new aM : new aM,
                            b9 = ca.scaleX < 0,
                            b8 = 0.00002,
                            b7 = 100000,
                            b6 = bl ? parseFloat(a2(ck, bD, cj, !1, "0 0 0").split(" ")[2]) || ca.zOrigin || 0 : 0,
                            b5 = parseFloat(aO.defaultTransformPerspective) || 0;
                        if (ca.svg = !(!ck.getBBox || !ao(ck)), ca.svg && (bs(ck, a2(ck, bD, cj, !1, "50% 50%") + "", ca, ck.getAttribute("data-svg-origin")), ab = aO.useSVGTransformAttr || bF), cg = bQ(ck), cg !== ah) {
                            if (16 === cg.length) {
                                var b4, b3, b2, b1, b0, bZ = cg[0],
                                    bY = cg[1],
                                    bX = cg[2],
                                    bW = cg[3],
                                    bV = cg[4],
                                    bU = cg[5],
                                    bT = cg[6],
                                    bS = cg[7],
                                    bR = cg[8],
                                    ba = cg[9],
                                    aa = cg[10],
                                    Z = cg[12],
                                    Y = cg[13],
                                    X = cg[14],
                                    W = cg[11],
                                    V = Math.atan2(bT, aa);
                                ca.zOrigin && (X = -ca.zOrigin, Z = bR * X - cg[12], Y = ba * X - cg[13], X = aa * X + ca.zOrigin - cg[14]), ca.rotationX = V * bj, V && (b1 = Math.cos(-V), b0 = Math.sin(-V), b4 = bV * b1 + bR * b0, b3 = bU * b1 + ba * b0, b2 = bT * b1 + aa * b0, bR = bV * -b0 + bR * b1, ba = bU * -b0 + ba * b1, aa = bT * -b0 + aa * b1, W = bS * -b0 + W * b1, bV = b4, bU = b3, bT = b2), V = Math.atan2(-bX, aa), ca.rotationY = V * bj, V && (b1 = Math.cos(-V), b0 = Math.sin(-V), b4 = bZ * b1 - bR * b0, b3 = bY * b1 - ba * b0, b2 = bX * b1 - aa * b0, ba = bY * b0 + ba * b1, aa = bX * b0 + aa * b1, W = bW * b0 + W * b1, bZ = b4, bY = b3, bX = b2), V = Math.atan2(bY, bZ), ca.rotation = V * bj, V && (b1 = Math.cos(-V), b0 = Math.sin(-V), bZ = bZ * b1 + bV * b0, b3 = bY * b1 + bU * b0, bU = bY * -b0 + bU * b1, bT = bX * -b0 + bT * b1, bY = b3), ca.rotationX && Math.abs(ca.rotationX) + Math.abs(ca.rotation) > 359.9 && (ca.rotationX = ca.rotation = 0, ca.rotationY = 180 - ca.rotationY), ca.scaleX = (Math.sqrt(bZ * bZ + bY * bY) * b7 + 0.5 | 0) / b7, ca.scaleY = (Math.sqrt(bU * bU + ba * ba) * b7 + 0.5 | 0) / b7, ca.scaleZ = (Math.sqrt(bT * bT + aa * aa) * b7 + 0.5 | 0) / b7, ca.rotationX || ca.rotationY ? ca.skewX = 0 : (ca.skewX = bV || bU ? Math.atan2(bV, bU) * bj + ca.rotation : ca.skewX || 0, Math.abs(ca.skewX) > 90 && Math.abs(ca.skewX) < 270 && (b9 ? (ca.scaleX *= -1, ca.skewX += ca.rotation <= 0 ? 180 : -180, ca.rotation += ca.rotation <= 0 ? 180 : -180) : (ca.scaleY *= -1, ca.skewX += ca.skewX <= 0 ? 180 : -180))), ca.perspective = W ? 1 / (0 > W ? -W : W) : 0, ca.x = Z, ca.y = Y, ca.z = X, ca.svg && (ca.x -= ca.xOrigin - (ca.xOrigin * bZ - ca.yOrigin * bV), ca.y -= ca.yOrigin - (ca.yOrigin * bY - ca.xOrigin * bU))
                            } else {
                                if (!bl || ch || !cg.length || ca.x !== cg[4] || ca.y !== cg[5] || !ca.rotationX && !ca.rotationY) {
                                    var U = cg.length >= 6,
                                        T = U ? cg[0] : 1,
                                        J = cg[1] || 0,
                                        g = cg[2] || 0,
                                        b = U ? cg[3] : 1;
                                    ca.x = cg[4] || 0, ca.y = cg[5] || 0, ce = Math.sqrt(T * T + J * J), cd = Math.sqrt(b * b + g * g), cc = T || J ? Math.atan2(J, T) * bj : ca.rotation || 0, cb = g || b ? Math.atan2(g, b) * bj + cc : ca.skewX || 0, Math.abs(cb) > 90 && Math.abs(cb) < 270 && (b9 ? (ce *= -1, cb += 0 >= cc ? 180 : -180, cc += 0 >= cc ? 180 : -180) : (cd *= -1, cb += 0 >= cb ? 180 : -180)), ca.scaleX = ce, ca.scaleY = cd, ca.rotation = cc, ca.skewX = cb, bl && (ca.rotationX = ca.rotationY = ca.z = 0, ca.perspective = b5, ca.scaleZ = 1), ca.svg && (ca.x -= ca.xOrigin - (ca.xOrigin * T + ca.yOrigin * g), ca.y -= ca.yOrigin - (ca.xOrigin * J + ca.yOrigin * b))
                                }
                            }
                            ca.zOrigin = b6;
                            for (cf in ca) {
                                ca[cf] < b8 && ca[cf] > -b8 && (ca[cf] = 0)
                            }
                        }
                        return ci && (ck._gsTransform = ca, ca.svg && (ab && ck.style[bz] ? aV.delayedCall(0.001, function() {
                            aj(ck.style, bz)
                        }) : !ab && ck.getAttribute("transform") && aV.delayedCall(0.001, function() {
                            ck.removeAttribute("transform")
                        }))), ca
                    },
                    by = function(X) {
                        var W, V, U = this.data,
                            T = -U.rotation * bm,
                            S = T + U.skewX * bm,
                            R = 100000,
                            Q = (Math.cos(T) * U.scaleX * R | 0) / R,
                            P = (Math.sin(T) * U.scaleX * R | 0) / R,
                            O = (Math.sin(S) * -U.scaleY * R | 0) / R,
                            N = (Math.cos(S) * U.scaleY * R | 0) / R,
                            M = this.t.style,
                            L = this.t.currentStyle;
                        if (L) {
                            V = P, P = -O, O = -V, W = L.filter, M.filter = "";
                            var K, J, H = this.t.offsetWidth,
                                F = this.t.offsetHeight,
                                E = "absolute" !== L.position,
                                D = "progid:DXImageTransform.Microsoft.Matrix(M11=" + Q + ", M12=" + P + ", M21=" + O + ", M22=" + N,
                                C = U.x + H * U.xPercent / 100,
                                v = U.y + F * U.yPercent / 100;
                            if (null != U.ox && (K = (U.oxp ? H * U.ox * 0.01 : U.ox) - H / 2, J = (U.oyp ? F * U.oy * 0.01 : U.oy) - F / 2, C += K - (K * Q + J * P), v += J - (K * O + J * N)), E ? (K = H / 2, J = F / 2, D += ", Dx=" + (K - (K * Q + J * P) + C) + ", Dy=" + (J - (K * O + J * N) + v) + ")") : D += ", sizingMethod='auto expand')", -1 !== W.indexOf("DXImageTransform.Microsoft.Matrix(") ? M.filter = W.replace(bp, D) : M.filter = D + " " + W, (0 === X || 1 === X) && 1 === Q && 0 === P && 0 === O && 1 === N && (E && -1 === D.indexOf("Dx=0, Dy=0") || aw.test(W) && 100 !== parseFloat(RegExp.$1) || -1 === W.indexOf(W.indexOf("Alpha")) && M.removeAttribute("filter")), !E) {
                                var u, p, I, G = 8 > aC ? 1 : -1;
                                for (K = U.ieOffsetX || 0, J = U.ieOffsetY || 0, U.ieOffsetX = Math.round((H - ((0 > Q ? -Q : Q) * H + (0 > P ? -P : P) * F)) / 2 + C), U.ieOffsetY = Math.round((F - ((0 > N ? -N : N) * F + (0 > O ? -O : O) * H)) / 2 + v), bx = 0; 4 > bx; bx++) {
                                    p = aF[bx], u = L[p], V = -1 !== u.indexOf("px") ? parseFloat(u) : a0(this.t, p, parseFloat(u), u.replace(ax, "")) || 0, I = V !== U[p] ? 2 > bx ? -U.ieOffsetX : -U.ieOffsetY : 2 > bx ? K - U.ieOffsetX : J - U.ieOffsetY, M[p] = (U[p] = Math.round(V - I * (0 === bx || 2 === bx ? 1 : G))) + "px"
                                }
                            }
                        }
                    },
                    aZ = bc.set3DTransformRatio = bc.setTransformRatio = function(cc) {
                        var cb, ca, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0, bZ, bY, bX, bW, bV, bU, bT, bS, bR, ba, aa, Z = this.data,
                            Y = this.t.style,
                            X = Z.rotation,
                            W = Z.rotationX,
                            V = Z.rotationY,
                            U = Z.scaleX,
                            T = Z.scaleY,
                            S = Z.scaleZ,
                            R = Z.x,
                            Q = Z.y,
                            P = Z.z,
                            O = Z.svg,
                            I = Z.perspective,
                            n = Z.force3D;
                        if (((1 === cc || 0 === cc) && "auto" === n && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime) || !n) && !P && !I && !V && !W && 1 === S || ab && O || !bl) {
                            return void(X || Z.skewX || O ? (X *= bm, ba = Z.skewX * bm, aa = 100000, cb = Math.cos(X) * U, b8 = Math.sin(X) * U, ca = Math.sin(X - ba) * -T, b7 = Math.cos(X - ba) * T, ba && "simple" === Z.skewType && (bV = Math.tan(ba), bV = Math.sqrt(1 + bV * bV), ca *= bV, b7 *= bV, Z.skewY && (cb *= bV, b8 *= bV)), O && (R += Z.xOrigin - (Z.xOrigin * cb + Z.yOrigin * ca) + Z.xOffset, Q += Z.yOrigin - (Z.xOrigin * b8 + Z.yOrigin * b7) + Z.yOffset, ab && (Z.xPercent || Z.yPercent) && (bY = this.t.getBBox(), R += 0.01 * Z.xPercent * bY.width, Q += 0.01 * Z.yPercent * bY.height), bY = 0.000001, bY > R && R > -bY && (R = 0), bY > Q && Q > -bY && (Q = 0)), bT = (cb * aa | 0) / aa + "," + (b8 * aa | 0) / aa + "," + (ca * aa | 0) / aa + "," + (b7 * aa | 0) / aa + "," + R + "," + Q + ")", O && ab ? this.t.setAttribute("transform", "matrix(" + bT) : Y[bz] = (Z.xPercent || Z.yPercent ? "translate(" + Z.xPercent + "%," + Z.yPercent + "%) matrix(" : "matrix(") + bT) : Y[bz] = (Z.xPercent || Z.yPercent ? "translate(" + Z.xPercent + "%," + Z.yPercent + "%) matrix(" : "matrix(") + U + ",0,0," + T + "," + R + "," + Q + ")")
                        }
                        if (aE && (bY = 0.0001, bY > U && U > -bY && (U = S = 0.00002), bY > T && T > -bY && (T = S = 0.00002), !I || Z.z || Z.rotationX || Z.rotationY || (I = 0)), X || Z.skewX) {
                            X *= bm, bX = cb = Math.cos(X), bW = b8 = Math.sin(X), Z.skewX && (X -= Z.skewX * bm, bX = Math.cos(X), bW = Math.sin(X), "simple" === Z.skewType && (bV = Math.tan(Z.skewX * bm), bV = Math.sqrt(1 + bV * bV), bX *= bV, bW *= bV, Z.skewY && (cb *= bV, b8 *= bV))), ca = -bW, b7 = bX
                        } else {
                            if (!(V || W || 1 !== S || I || O)) {
                                return void(Y[bz] = (Z.xPercent || Z.yPercent ? "translate(" + Z.xPercent + "%," + Z.yPercent + "%) translate3d(" : "translate3d(") + R + "px," + Q + "px," + P + "px)" + (1 !== U || 1 !== T ? " scale(" + U + "," + T + ")" : ""))
                            }
                            cb = b7 = 1, ca = b8 = 0
                        }
                        b3 = 1, b9 = b6 = b5 = b4 = b2 = b1 = 0, b0 = I ? -1 / I : 0, bZ = Z.zOrigin, bY = 0.000001, bS = ",", bR = "0", X = V * bm, X && (bX = Math.cos(X), bW = Math.sin(X), b5 = -bW, b2 = b0 * -bW, b9 = cb * bW, b6 = b8 * bW, b3 = bX, b0 *= bX, cb *= bX, b8 *= bX), X = W * bm, X && (bX = Math.cos(X), bW = Math.sin(X), bV = ca * bX + b9 * bW, bU = b7 * bX + b6 * bW, b4 = b3 * bW, b1 = b0 * bW, b9 = ca * -bW + b9 * bX, b6 = b7 * -bW + b6 * bX, b3 *= bX, b0 *= bX, ca = bV, b7 = bU), 1 !== S && (b9 *= S, b6 *= S, b3 *= S, b0 *= S), 1 !== T && (ca *= T, b7 *= T, b4 *= T, b1 *= T), 1 !== U && (cb *= U, b8 *= U, b5 *= U, b2 *= U), (bZ || O) && (bZ && (R += b9 * -bZ, Q += b6 * -bZ, P += b3 * -bZ + bZ), O && (R += Z.xOrigin - (Z.xOrigin * cb + Z.yOrigin * ca) + Z.xOffset, Q += Z.yOrigin - (Z.xOrigin * b8 + Z.yOrigin * b7) + Z.yOffset), bY > R && R > -bY && (R = bR), bY > Q && Q > -bY && (Q = bR), bY > P && P > -bY && (P = 0)), bT = Z.xPercent || Z.yPercent ? "translate(" + Z.xPercent + "%," + Z.yPercent + "%) matrix3d(" : "matrix3d(", bT += (bY > cb && cb > -bY ? bR : cb) + bS + (bY > b8 && b8 > -bY ? bR : b8) + bS + (bY > b5 && b5 > -bY ? bR : b5), bT += bS + (bY > b2 && b2 > -bY ? bR : b2) + bS + (bY > ca && ca > -bY ? bR : ca) + bS + (bY > b7 && b7 > -bY ? bR : b7), W || V || 1 !== S ? (bT += bS + (bY > b4 && b4 > -bY ? bR : b4) + bS + (bY > b1 && b1 > -bY ? bR : b1) + bS + (bY > b9 && b9 > -bY ? bR : b9), bT += bS + (bY > b6 && b6 > -bY ? bR : b6) + bS + (bY > b3 && b3 > -bY ? bR : b3) + bS + (bY > b0 && b0 > -bY ? bR : b0) + bS) : bT += ",0,0,0,0,1,0,", bT += R + bS + Q + bS + P + bS + (I ? 1 + -P / I : 1) + ")", Y[bz] = bT
                    };
                aJ = aM.prototype, aJ.x = aJ.y = aJ.z = aJ.skewX = aJ.skewY = aJ.rotation = aJ.rotationX = aJ.rotationY = aJ.zOrigin = aJ.xPercent = aJ.yPercent = aJ.xOffset = aJ.yOffset = 0, aJ.scaleX = aJ.scaleY = aJ.scaleZ = 1, ap("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {
                    parser: function(V, U, T, S, R, Q, P) {
                        if (S._lastParsedTransform === P) {
                            return R
                        }
                        S._lastParsedTransform = P;
                        var O, N, M, L, K, J, I, H, G, F = V._gsTransform,
                            E = V.style,
                            D = 0.000001,
                            C = bJ.length,
                            B = P,
                            A = {},
                            g = "transformOrigin",
                            e = bI(V, aQ, !0, P.parseTransform);
                        if (S._transform = e, "string" == typeof B.transform && bz) {
                            N = bf.style, N[bz] = B.transform, N.display = "block", N.position = "absolute", bh.body.appendChild(bf), O = bI(bf, null, !1), e.svg && (I = e.xOrigin, H = e.yOrigin, O.x -= e.xOffset, O.y -= e.yOffset, (B.transformOrigin || B.svgOrigin) && (M = {}, bs(V, ad(B.transformOrigin), M, B.svgOrigin, B.smoothOrigin, !0), I = M.xOrigin, H = M.yOrigin, O.x -= M.xOffset - e.xOffset, O.y -= M.yOffset - e.yOffset), (I || H) && (G = bQ(bf, !0), O.x -= I - (I * G[0] + H * G[2]), O.y -= H - (I * G[1] + H * G[3]))), bh.body.removeChild(bf), O.perspective || (O.perspective = e.perspective), null != B.xPercent && (O.xPercent = bC(B.xPercent, e.xPercent)), null != B.yPercent && (O.yPercent = bC(B.yPercent, e.yPercent))
                        } else {
                            if ("object" == typeof B) {
                                if (O = {
                                        scaleX: bC(null != B.scaleX ? B.scaleX : B.scale, e.scaleX),
                                        scaleY: bC(null != B.scaleY ? B.scaleY : B.scale, e.scaleY),
                                        scaleZ: bC(B.scaleZ, e.scaleZ),
                                        x: bC(B.x, e.x),
                                        y: bC(B.y, e.y),
                                        z: bC(B.z, e.z),
                                        xPercent: bC(B.xPercent, e.xPercent),
                                        yPercent: bC(B.yPercent, e.yPercent),
                                        perspective: bC(B.transformPerspective, e.perspective)
                                    }, J = B.directionalRotation, null != J) {
                                    if ("object" == typeof J) {
                                        for (N in J) {
                                            B[N] = J[N]
                                        }
                                    } else {
                                        B.rotation = J
                                    }
                                }
                                "string" == typeof B.x && -1 !== B.x.indexOf("%") && (O.x = 0, O.xPercent = bC(B.x, e.xPercent)), "string" == typeof B.y && -1 !== B.y.indexOf("%") && (O.y = 0, O.yPercent = bC(B.y, e.yPercent)), O.rotation = bk("rotation" in B ? B.rotation : "shortRotation" in B ? B.shortRotation + "_short" : "rotationZ" in B ? B.rotationZ : e.rotation - e.skewY, e.rotation - e.skewY, "rotation", A), bl && (O.rotationX = bk("rotationX" in B ? B.rotationX : "shortRotationX" in B ? B.shortRotationX + "_short" : e.rotationX || 0, e.rotationX, "rotationX", A), O.rotationY = bk("rotationY" in B ? B.rotationY : "shortRotationY" in B ? B.shortRotationY + "_short" : e.rotationY || 0, e.rotationY, "rotationY", A)), O.skewX = bk(B.skewX, e.skewX - e.skewY), (O.skewY = bk(B.skewY, e.skewY)) && (O.skewX += O.skewY, O.rotation += O.skewY)
                            }
                        }
                        for (bl && null != B.force3D && (e.force3D = B.force3D, K = !0), e.skewType = B.skewType || e.skewType || aO.defaultSkewType, L = e.force3D || e.z || e.rotationX || e.rotationY || O.z || O.rotationX || O.rotationY || O.perspective, L || null == B.scale || (O.scaleZ = 1); --C > -1;) {
                            T = bJ[C], M = O[T] - e[T], (M > D || -D > M || null != B[T] || null != bi[T]) && (K = !0, R = new ag(e, T, e[T], M, R), T in A && (R.e = A[T]), R.xs0 = 0, R.plugin = Q, S._overwriteProps.push(R.n))
                        }
                        return M = B.transformOrigin, e.svg && (M || B.svgOrigin) && (I = e.xOffset, H = e.yOffset, bs(V, ad(M), O, B.svgOrigin, B.smoothOrigin), R = bP(e, "xOrigin", (F ? e : O).xOrigin, O.xOrigin, R, g), R = bP(e, "yOrigin", (F ? e : O).yOrigin, O.yOrigin, R, g), (I !== e.xOffset || H !== e.yOffset) && (R = bP(e, "xOffset", F ? I : e.xOffset, e.xOffset, R, g), R = bP(e, "yOffset", F ? H : e.yOffset, e.yOffset, R, g)), M = ab ? null : "0px 0px"), (M || bl && L && e.zOrigin) && (bz ? (K = !0, T = bD, M = (M || a2(V, T, aQ, !1, "50% 50%")) + "", R = new ag(E, T, 0, 0, R, -1, g), R.b = E[T], R.plugin = Q, bl ? (N = e.zOrigin, M = M.split(" "), e.zOrigin = (M.length > 2 && (0 === N || "0px" !== M[2]) ? parseFloat(M[2]) : N) || 0, R.xs0 = R.e = M[0] + " " + (M[1] || "50%") + " 0px", R = new ag(e, "zOrigin", 0, 0, R, -1, R.n), R.b = N, R.xs0 = R.e = e.zOrigin) : R.xs0 = R.e = M) : ad(M + "", e)), K && (S._transformType = e.svg && ab || !L && 3 !== this._transformType ? 2 : 3), R
                    },
                    prefix: !0
                }), ap("boxShadow", {
                    defaultValue: "0px 0px 0px 0px #999",
                    prefix: !0,
                    color: !0,
                    multi: !0,
                    keyword: "inset"
                }), ap("borderRadius", {
                    defaultValue: "0px",
                    parser: function(V, U, T, S, R, Q) {
                        U = this.format(U);
                        var P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A, e = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
                            d = V.style;
                        for (H = parseFloat(V.offsetWidth), G = parseFloat(V.offsetHeight), P = U.split(" "), O = 0; O < e.length; O++) {
                            this.p.indexOf("border") && (e[O] = a4(e[O])), L = M = a2(V, e[O], aQ, !1, "0px"), -1 !== L.indexOf(" ") && (M = L.split(" "), L = M[0], M = M[1]), K = N = P[O], J = parseFloat(L), E = L.substr((J + "").length), D = "=" === K.charAt(1), D ? (I = parseInt(K.charAt(0) + "1", 10), K = K.substr(2), I *= parseFloat(K), F = K.substr((I + "").length - (0 > I ? 1 : 0)) || "") : (I = parseFloat(K), F = K.substr((I + "").length)), "" === F && (F = aR[T] || E), F !== E && (C = a0(V, "borderLeft", J, E), B = a0(V, "borderTop", J, E), "%" === F ? (L = C / H * 100 + "%", M = B / G * 100 + "%") : "em" === F ? (A = a0(V, "borderLeft", 1, "em"), L = C / A + "em", M = B / A + "em") : (L = C + "px", M = B + "px"), D && (K = parseFloat(L) + I + F, N = parseFloat(M) + I + F)), R = bH(d, e[O], L + " " + M, K + " " + N, !1, "0px", R)
                        }
                        return R
                    },
                    prefix: !0,
                    formatter: br("0px 0px 0px 0px", !1, !0)
                }), ap("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius", {
                    defaultValue: "0px",
                    parser: function(h, e, l, k, j, i) {
                        return bH(h.style, l, this.format(a2(h, l, aQ, !1, "0px 0px")), this.format(e), !1, "0px", j)
                    },
                    prefix: !0,
                    formatter: br("0px 0px", !1, !0)
                }), ap("backgroundPosition", {
                    defaultValue: "0 0",
                    parser: function(F, E, D, C, B, A) {
                        var z, y, x, w, v, u, t = "background-position",
                            s = aQ || a3(F, null),
                            p = this.format((s ? aC ? s.getPropertyValue(t + "-x") + " " + s.getPropertyValue(t + "-y") : s.getPropertyValue(t) : F.currentStyle.backgroundPositionX + " " + F.currentStyle.backgroundPositionY) || "0 0"),
                            e = this.format(E);
                        if (-1 !== p.indexOf("%") != (-1 !== e.indexOf("%")) && e.split(",").length < 2 && (u = a2(F, "backgroundImage").replace(bv, ""), u && "none" !== u)) {
                            for (z = p.split(" "), y = e.split(" "), be.setAttribute("src", u), x = 2; --x > -1;) {
                                p = z[x], w = -1 !== p.indexOf("%"), w !== (-1 !== y[x].indexOf("%")) && (v = 0 === x ? F.offsetWidth - be.width : F.offsetHeight - be.height, z[x] = w ? parseFloat(p) / 100 * v + "px" : parseFloat(p) / v * 100 + "%")
                            }
                            p = z.join(" ")
                        }
                        return this.parseComplex(F.style, p, e, B, A)
                    },
                    formatter: ad
                }), ap("backgroundSize", {
                    defaultValue: "0 0",
                    formatter: ad
                }), ap("perspective", {
                    defaultValue: "0px",
                    prefix: !0
                }), ap("perspectiveOrigin", {
                    defaultValue: "50% 50%",
                    prefix: !0
                }), ap("transformStyle", {
                    prefix: !0
                }), ap("backfaceVisibility", {
                    prefix: !0
                }), ap("userSelect", {
                    prefix: !0
                }), ap("margin", {
                    parser: aS("marginTop,marginRight,marginBottom,marginLeft")
                }), ap("padding", {
                    parser: aS("paddingTop,paddingRight,paddingBottom,paddingLeft")
                }), ap("clip", {
                    defaultValue: "rect(0px,0px,0px,0px)",
                    parser: function(r, q, p, o, n, m) {
                        var l, k, e;
                        return 9 > aC ? (k = r.currentStyle, e = 8 > aC ? " " : ",", l = "rect(" + k.clipTop + e + k.clipRight + e + k.clipBottom + e + k.clipLeft + ")", q = this.format(q).split(",").join(e)) : (l = this.format(a2(r, this.p, aQ, !1, this.dflt)), q = this.format(q)), this.parseComplex(r.style, l, q, n, m)
                    }
                }), ap("textShadow", {
                    defaultValue: "0px 0px 0px #999",
                    color: !0,
                    multi: !0
                }), ap("autoRound,strictUnits", {
                    parser: function(g, f, j, i, h) {
                        return h
                    }
                }), ap("border", {
                    defaultValue: "0px solid #000",
                    parser: function(r, q, p, o, n, m) {
                        var l = a2(r, "borderTopWidth", aQ, !1, "0px"),
                            k = this.format(q).split(" "),
                            e = k[0].replace(ax, "");
                        return "px" !== e && (l = parseFloat(l) / a0(r, "borderTopWidth", 1, e) + e), this.parseComplex(r.style, this.format(l + " " + a2(r, "borderTopStyle", aQ, !1, "solid") + " " + a2(r, "borderTopColor", aQ, !1, "#000")), k.join(" "), n, m)
                    },
                    color: !0,
                    formatter: function(d) {
                        var c = d.split(" ");
                        return c[0] + " " + (c[1] || "solid") + " " + (d.match(bE) || ["#000"])[0]
                    }
                }), ap("borderWidth", {
                    parser: aS("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")
                }), ap("float,cssFloat,styleFloat", {
                    parser: function(j, i, p, o, n, m) {
                        var l = j.style,
                            k = "cssFloat" in l ? "cssFloat" : "styleFloat";
                        return new ag(l, k, 0, 0, n, -1, p, !1, 0, l[k], i)
                    }
                });
                var aq = function(g) {
                    var f, j = this.t,
                        i = j.filter || a2(this.data, "filter") || "",
                        h = this.s + this.c * g | 0;
                    100 === h && (-1 === i.indexOf("atrix(") && -1 === i.indexOf("radient(") && -1 === i.indexOf("oader(") ? (j.removeAttribute("filter"), f = !a2(this.data, "filter")) : (j.filter = i.replace(au, ""), f = !0)), f || (this.xn1 && (j.filter = i = i || "alpha(opacity=" + h + ")"), -1 === i.indexOf("pacity") ? 0 === h && this.xn1 || (j.filter = i + " alpha(opacity=" + h + ")") : j.filter = i.replace(aw, "opacity=" + h))
                };
                ap("opacity,alpha,autoAlpha", {
                    defaultValue: "1",
                    parser: function(r, q, p, o, n, m) {
                        var l = parseFloat(a2(r, "opacity", aQ, !1, "1")),
                            k = r.style,
                            e = "autoAlpha" === p;
                        return "string" == typeof q && "=" === q.charAt(1) && (q = ("-" === q.charAt(0) ? -1 : 1) * parseFloat(q.substr(2)) + l), e && 1 === l && "hidden" === a2(r, "visibility", aQ) && 0 !== q && (l = 0), a9 ? n = new ag(k, "opacity", l, q - l, n) : (n = new ag(k, "opacity", 100 * l, 100 * (q - l), n), n.xn1 = e ? 1 : 0, k.zoom = 1, n.type = 2, n.b = "alpha(opacity=" + n.s + ")", n.e = "alpha(opacity=" + (n.s + n.c) + ")", n.data = r, n.plugin = m, n.setRatio = aq), e && (n = new ag(k, "visibility", 0, 0, n, -1, null, !1, 0, 0 !== l ? "inherit" : "hidden", 0 === q ? "hidden" : "inherit"), n.xs0 = "inherit", o._overwriteProps.push(n.n), o._overwriteProps.push(p)), n
                    }
                });
                var aj = function(d, c) {
                        c && (d.removeProperty ? (("ms" === c.substr(0, 2) || "webkit" === c.substr(0, 6)) && (c = "-" + c), d.removeProperty(c.replace(ar, "-$1").toLowerCase())) : d.removeAttribute(c))
                    },
                    ac = function(e) {
                        if (this.t._gsClassPT = this, 1 === e || 0 === e) {
                            this.t.setAttribute("class", 0 === e ? this.b : this.e);
                            for (var d = this.data, f = this.t.style; d;) {
                                d.v ? f[d.p] = d.v : aj(f, d.p), d = d._next
                            }
                            1 === e && this.t._gsClassPT === this && (this.t._gsClassPT = null)
                        } else {
                            this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e)
                        }
                    };
                ap("className", {
                    parser: function(B, A, z, y, x, w, v) {
                        var u, t, s, r, q, e = B.getAttribute("class") || "",
                            c = B.style.cssText;
                        if (x = y._classNamePT = new ag(B, z, 0, 0, x, 2), x.setRatio = ac, x.pr = -11, aU = !0, x.b = e, t = aY(B, aQ), s = B._gsClassPT) {
                            for (r = {}, q = s.data; q;) {
                                r[q.p] = 1, q = q._next
                            }
                            s.setRatio(1)
                        }
                        return B._gsClassPT = x, x.e = "=" !== A.charAt(1) ? A : e.replace(new RegExp("(?:\\s|^)" + A.substr(2) + "(?![\\w-])"), "") + ("+" === A.charAt(0) ? " " + A.substr(2) : ""), B.setAttribute("class", x.e), u = bB(B, t, aY(B), v, r), B.setAttribute("class", e), x.data = u.firstMPT, B.style.cssText = c, x = x.xfirst = y.parse(B, u.difs, x, w)
                    }
                });
                var bK = function(j) {
                    if ((1 === j || 0 === j) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
                        var i, p, o, n, m, l = this.t.style,
                            k = aK.transform.parse;
                        if ("all" === this.e) {
                            l.cssText = "", n = !0
                        } else {
                            for (i = this.e.split(" ").join("").split(","), o = i.length; --o > -1;) {
                                p = i[o], aK[p] && (aK[p].parse === k ? n = !0 : p = "transformOrigin" === p ? bD : aK[p].p), aj(l, p)
                            }
                        }
                        n && (aj(l, bz), m = this.t._gsTransform, m && (m.svg && (this.t.removeAttribute("data-svg-origin"), this.t.removeAttribute("transform")), delete this.t._gsTransform))
                    }
                };
                for (ap("clearProps", {
                        parser: function(g, c, j, i, h) {
                            return h = new ag(g, j, 0, 0, h, 2), h.setRatio = bK, h.e = c, h.pr = -10, h.data = i._tween, aU = !0, h
                        }
                    }), aJ = "bezier,throwProps,physicsProps,physics2D".split(","), bx = aJ.length; bx--;) {
                    ai(aJ[bx])
                }
                aJ = aO.prototype, aJ._firstPT = aJ._lastParsedTransform = aJ._transform = null, aJ._onInitTween = function(m, k, i) {
                    if (!m.nodeType) {
                        return !1
                    }
                    this._target = m, this._tween = i, this._vars = k, aI = k.autoRound, aU = !1, aR = k.suffixMap || aO.suffixMap, aQ = a3(m, ""), aP = this._overwriteProps;
                    var g, f, e, d, c, z, y, w, o, l = m.style;
                    if (aH && "" === l.zIndex && (g = a2(m, "zIndex", aQ), ("auto" === g || "" === g) && this._addLazySet(l, "zIndex", 0)), "string" == typeof k && (d = l.cssText, g = aY(m, aQ), l.cssText = d + ";" + k, g = bB(m, g, aY(m)).difs, !a9 && av.test(k) && (g.opacity = parseFloat(RegExp.$1)), k = g, l.cssText = d), k.className ? this._firstPT = f = aK.className.parse(m, k.className, "className", this, null, null, k) : this._firstPT = f = this.parse(m, k, null), this._transformType) {
                        for (o = 3 === this._transformType, bz ? aG && (aH = !0, "" === l.zIndex && (y = a2(m, "zIndex", aQ), ("auto" === y || "" === y) && this._addLazySet(l, "zIndex", 0)), aD && this._addLazySet(l, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (o ? "visible" : "hidden"))) : l.zoom = 1, e = f; e && e._next;) {
                            e = e._next
                        }
                        w = new ag(m, "transform", 0, 0, null, 2), this._linkCSSP(w, null, e), w.setRatio = bz ? aZ : by, w.data = this._transform || bI(m, aQ, !0), w.tween = i, w.pr = -1, aP.pop()
                    }
                    if (aU) {
                        for (; f;) {
                            for (z = f._next, e = d; e && e.pr > f.pr;) {
                                e = e._next
                            }(f._prev = e ? e._prev : c) ? f._prev._next = f: d = f, (f._next = e) ? e._prev = f : c = f, f = z
                        }
                        this._firstPT = d
                    }
                    return !0
                }, aJ.parse = function(C, B, A, z) {
                    var y, x, w, v, u, t, k, i, e, d, D = C.style;
                    for (y in B) {
                        t = B[y], x = aK[y], x ? A = x.parse(C, t, y, this, A, z, B) : (u = a2(C, y, aQ) + "", e = "string" == typeof t, "color" === y || "fill" === y || "stroke" === y || -1 !== y.indexOf("Color") || e && at.test(t) ? (e || (t = ae(t), t = (t.length > 3 ? "rgba(" : "rgb(") + t.join(",") + ")"), A = bH(D, y, u, t, !0, "transparent", A, 0, z)) : e && bn.test(t) ? A = bH(D, y, u, t, !0, null, A, 0, z) : (w = parseFloat(u), k = w || 0 === w ? u.substr((w + "").length) : "", ("" === u || "auto" === u) && ("width" === y || "height" === y ? (w = ak(C, y, aQ), k = "px") : "left" === y || "top" === y ? (w = bG(C, y, aQ), k = "px") : (w = "opacity" !== y ? 0 : 1, k = "")), d = e && "=" === t.charAt(1), d ? (v = parseInt(t.charAt(0) + "1", 10), t = t.substr(2), v *= parseFloat(t), i = t.replace(ax, "")) : (v = parseFloat(t), i = e ? t.replace(ax, "") : ""), "" === i && (i = y in aR ? aR[y] : k), t = v || 0 === v ? (d ? v + w : v) + i : B[y], k !== i && "" !== i && (v || 0 === v) && w && (w = a0(C, y, w, k), "%" === i ? (w /= a0(C, y, 100, "%") / 100, B.strictUnits !== !0 && (u = w + "%")) : "em" === i || "rem" === i || "vw" === i || "vh" === i ? w /= a0(C, y, 1, i) : "px" !== i && (v = a0(C, y, v, i), i = "px"), d && (v || 0 === v) && (t = v + w + i)), d && (v += w), !w && 0 !== w || !v && 0 !== v ? void 0 !== D[y] && (t || t + "" != "NaN" && null != t) ? (A = new ag(D, y, v || w || 0, 0, A, -1, y, !1, 0, u, t), A.xs0 = "none" !== t || "display" !== y && -1 === y.indexOf("Style") ? t : u) : a7("invalid " + y + " tween value: " + B[y]) : (A = new ag(D, y, w, v - w, A, 0, y, aI !== !1 && ("px" === i || "zIndex" === y), 0, u, t), A.xs0 = i))), z && A && !A.plugin && (A.plugin = z)
                    }
                    return A
                }, aJ.setRatio = function(h) {
                    var g, l, k, j = this._firstPT,
                        i = 0.000001;
                    if (1 !== h || this._tween._time !== this._tween._duration && 0 !== this._tween._time) {
                        if (h || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -0.000001) {
                            for (; j;) {
                                if (g = j.c * h + j.s, j.r ? g = Math.round(g) : i > g && g > -i && (g = 0), j.type) {
                                    if (1 === j.type) {
                                        if (k = j.l, 2 === k) {
                                            j.t[j.p] = j.xs0 + g + j.xs1 + j.xn1 + j.xs2
                                        } else {
                                            if (3 === k) {
                                                j.t[j.p] = j.xs0 + g + j.xs1 + j.xn1 + j.xs2 + j.xn2 + j.xs3
                                            } else {
                                                if (4 === k) {
                                                    j.t[j.p] = j.xs0 + g + j.xs1 + j.xn1 + j.xs2 + j.xn2 + j.xs3 + j.xn3 + j.xs4
                                                } else {
                                                    if (5 === k) {
                                                        j.t[j.p] = j.xs0 + g + j.xs1 + j.xn1 + j.xs2 + j.xn2 + j.xs3 + j.xn3 + j.xs4 + j.xn4 + j.xs5
                                                    } else {
                                                        for (l = j.xs0 + g + j.xs1, k = 1; k < j.l; k++) {
                                                            l += j["xn" + k] + j["xs" + (k + 1)]
                                                        }
                                                        j.t[j.p] = l
                                                    }
                                                }
                                            }
                                        }
                                    } else {
                                        -1 === j.type ? j.t[j.p] = j.xs0 : j.setRatio && j.setRatio(h)
                                    }
                                } else {
                                    j.t[j.p] = g + j.xs0
                                }
                                j = j._next
                            }
                        } else {
                            for (; j;) {
                                2 !== j.type ? j.t[j.p] = j.b : j.setRatio(h), j = j._next
                            }
                        }
                    } else {
                        for (; j;) {
                            if (2 !== j.type) {
                                if (j.r && -1 !== j.type) {
                                    if (g = Math.round(j.s + j.c), j.type) {
                                        if (1 === j.type) {
                                            for (k = j.l, l = j.xs0 + g + j.xs1, k = 1; k < j.l; k++) {
                                                l += j["xn" + k] + j["xs" + (k + 1)]
                                            }
                                            j.t[j.p] = l
                                        }
                                    } else {
                                        j.t[j.p] = g + j.xs0
                                    }
                                } else {
                                    j.t[j.p] = j.e
                                }
                            } else {
                                j.setRatio(h)
                            }
                            j = j._next
                        }
                    }
                }, aJ._enableTransforms = function(b) {
                    this._transform = this._transform || bI(this._target, aQ, !0), this._transformType = this._transform.svg && ab || !b && 3 !== this._transformType ? 2 : 3
                };
                var bA = function(b) {
                    this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0)
                };
                aJ._addLazySet = function(f, e, h) {
                    var g = this._firstPT = new ag(f, e, 0, 0, this._firstPT, 2);
                    g.e = h, g.setRatio = bA, g.data = this
                }, aJ._linkCSSP = function(f, e, h, g) {
                    return f && (e && (e._prev = f), f._next && (f._next._prev = f._prev), f._prev ? f._prev._next = f._next : this._firstPT === f && (this._firstPT = f._next, g = !0), h ? h._next = f : g || null !== this._firstPT || (this._firstPT = f), f._next = e, f._prev = h), f
                }, aJ._kill = function(a) {
                    var j, i, h, g = a;
                    if (a.autoAlpha || a.alpha) {
                        g = {};
                        for (i in a) {
                            g[i] = a[i]
                        }
                        g.opacity = 1, g.autoAlpha && (g.visibility = 1)
                    }
                    return a.className && (j = this._classNamePT) && (h = j.xfirst, h && h._prev ? this._linkCSSP(h._prev, j._next, h._prev._prev) : h === this._firstPT && (this._firstPT = j._next), j._next && this._linkCSSP(j._next, j._next._next, h._prev), this._classNamePT = null), aW.prototype._kill.call(this, g)
                };
                var a1 = function(i, h, n) {
                    var m, l, k, j;
                    if (i.slice) {
                        for (l = i.length; --l > -1;) {
                            a1(i[l], h, n)
                        }
                    } else {
                        for (m = i.childNodes, l = m.length; --l > -1;) {
                            k = m[l], j = k.type, k.style && (h.push(aY(k)), n && n.push(k)), 1 !== j && 9 !== j && 11 !== j || !k.childNodes.length || a1(k, h, n)
                        }
                    }
                };
                return aO.cascadeTo = function(z, y, x) {
                    var w, v, u, t, s = aV.to(z, y, x),
                        r = [s],
                        q = [],
                        p = [],
                        o = [],
                        b = aV._internals.reservedProps;
                    for (z = s._targets || s.target, a1(z, q, o), s.render(y, !0, !0), a1(z, p), s.render(0, !0, !0), s._enabled(!0), w = o.length; --w > -1;) {
                        if (v = bB(o[w], q[w], p[w]), v.firstMPT) {
                            v = v.difs;
                            for (u in x) {
                                b[u] && (v[u] = x[u])
                            }
                            t = {};
                            for (u in v) {
                                t[u] = q[w][u]
                            }
                            r.push(aV.fromTo(o[w], y, t, v))
                        }
                    }
                    return r
                }, aW.activate([aO]), aO
            }, !0),
            function() {
                var e = _gsScope._gsDefine.plugin({
                        propName: "roundProps",
                        version: "1.5",
                        priority: -1,
                        API: 2,
                        init: function(h, g, i) {
                            return this._tween = i, !0
                        }
                    }),
                    d = function(b) {
                        for (; b;) {
                            b.f || b.blob || (b.r = 1), b = b._next
                        }
                    },
                    f = e.prototype;
                f._onInitAllProps = function() {
                    for (var b, p, o, n = this._tween, m = n.vars.roundProps.join ? n.vars.roundProps : n.vars.roundProps.split(","), l = m.length, k = {}, j = n._propLookup.roundProps; --l > -1;) {
                        k[m[l]] = 1
                    }
                    for (l = m.length; --l > -1;) {
                        for (b = m[l], p = n._firstPT; p;) {
                            o = p._next, p.pg ? p.t._roundProps(k, !0) : p.n === b && (2 === p.f && p.t ? d(p.t._firstPT) : (this._add(p.t, b, p.s, p.c), o && (o._prev = p._prev), p._prev ? p._prev._next = o : n._firstPT === p && (n._firstPT = o), p._next = p._prev = null, n._propLookup[b] = j)), p = o
                        }
                    }
                    return !1
                }, f._add = function(h, g, j, i) {
                    this._addTween(h, g, j, j + i, g, !0), this._overwriteProps.push(g)
                }
            }(),
            function() {
                _gsScope._gsDefine.plugin({
                    propName: "attr",
                    API: 2,
                    version: "0.5.0",
                    init: function(f, e, h) {
                        var g;
                        if ("function" != typeof f.setAttribute) {
                            return !1
                        }
                        for (g in e) {
                            this._addTween(f, "setAttribute", f.getAttribute(g) + "", e[g] + "", g, !1, g), this._overwriteProps.push(g)
                        }
                        return !0
                    }
                })
            }(), _gsScope._gsDefine.plugin({
                propName: "directionalRotation",
                version: "0.2.1",
                API: 2,
                init: function(v, u, t) {
                    "object" != typeof u && (u = {
                        rotation: u
                    }), this.finals = {};
                    var s, r, q, p, o, n, m = u.useRadians === !0 ? 2 * Math.PI : 360,
                        l = 0.000001;
                    for (s in u) {
                        "useRadians" !== s && (n = (u[s] + "").split("_"), r = n[0], q = parseFloat("function" != typeof v[s] ? v[s] : v[s.indexOf("set") || "function" != typeof v["get" + s.substr(3)] ? s : "get" + s.substr(3)]()), p = this.finals[s] = "string" == typeof r && "=" === r.charAt(1) ? q + parseInt(r.charAt(0) + "1", 10) * Number(r.substr(2)) : Number(r) || 0, o = p - q, n.length && (r = n.join("_"), -1 !== r.indexOf("short") && (o %= m, o !== o % (m / 2) && (o = 0 > o ? o + m : o - m)), -1 !== r.indexOf("_cw") && 0 > o ? o = (o + 9999999999 * m) % m - (o / m | 0) * m : -1 !== r.indexOf("ccw") && o > 0 && (o = (o - 9999999999 * m) % m - (o / m | 0) * m)), (o > l || -l > o) && (this._addTween(v, s, q, q + o, s), this._overwriteProps.push(s)))
                    }
                    return !0
                },
                set: function(d) {
                    var c;
                    if (1 !== d) {
                        this._super.setRatio.call(this, d)
                    } else {
                        for (c = this._firstPT; c;) {
                            c.f ? c.t[c.p](this.finals[c.p]) : c.t[c.p] = this.finals[c.p], c = c._next
                        }
                    }
                }
            })._autoCSS = !0, _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(H) {
                var G, F, E, D = _gsScope.GreenSockGlobals || _gsScope,
                    C = D.com.greensock,
                    B = 2 * Math.PI,
                    A = Math.PI / 2,
                    z = C._class,
                    y = function(a, h) {
                        var g = z("easing." + a, function() {}, !0),
                            f = g.prototype = new H;
                        return f.constructor = g, f.getRatio = h, g
                    },
                    x = H.register || function() {},
                    w = function(h, g, l, k, j) {
                        var i = z("easing." + h, {
                            easeOut: new g,
                            easeIn: new l,
                            easeInOut: new k
                        }, !0);
                        return x(i, h), i
                    },
                    v = function(e, d, f) {
                        this.t = e, this.v = d, f && (this.next = f, f.prev = this, this.c = f.v - d, this.gap = f.t - e)
                    },
                    u = function(a, h) {
                        var g = z("easing." + a, function(b) {
                                this._p1 = b || 0 === b ? b : 1.70158, this._p2 = 1.525 * this._p1
                            }, !0),
                            f = g.prototype = new H;
                        return f.constructor = g, f.getRatio = h, f.config = function(b) {
                            return new g(b)
                        }, g
                    },
                    t = w("Back", u("BackOut", function(b) {
                        return (b -= 1) * b * ((this._p1 + 1) * b + this._p1) + 1
                    }), u("BackIn", function(b) {
                        return b * b * ((this._p1 + 1) * b - this._p1)
                    }), u("BackInOut", function(b) {
                        return (b *= 2) < 1 ? 0.5 * b * b * ((this._p2 + 1) * b - this._p2) : 0.5 * ((b -= 2) * b * ((this._p2 + 1) * b + this._p2) + 2)
                    })),
                    s = z("easing.SlowMo", function(e, d, f) {
                        d = d || 0 === d ? d : 0.7, null == e ? e = 0.7 : e > 1 && (e = 1), this._p = 1 !== e ? d : 0, this._p1 = (1 - e) / 2, this._p2 = e, this._p3 = this._p1 + this._p2, this._calcEnd = f === !0
                    }, !0),
                    r = s.prototype = new H;
                return r.constructor = s, r.getRatio = function(d) {
                    var c = d + (0.5 - d) * this._p;
                    return d < this._p1 ? this._calcEnd ? 1 - (d = 1 - d / this._p1) * d : c - (d = 1 - d / this._p1) * d * d * d * c : d > this._p3 ? this._calcEnd ? 1 - (d = (d - this._p3) / this._p1) * d : c + (d - c) * (d = (d - this._p3) / this._p1) * d * d * d : this._calcEnd ? 1 : c
                }, s.ease = new s(0.7, 0.7), r.config = s.config = function(e, d, f) {
                    return new s(e, d, f)
                }, G = z("easing.SteppedEase", function(b) {
                    b = b || 1, this._p1 = 1 / b, this._p2 = b + 1
                }, !0), r = G.prototype = new H, r.constructor = G, r.getRatio = function(b) {
                    return 0 > b ? b = 0 : b >= 1 && (b = 0.999999999), (this._p2 * b >> 0) * this._p1
                }, r.config = G.config = function(b) {
                    return new G(b)
                }, F = z("easing.RoughEase", function(V) {
                    V = V || {};
                    for (var U, T, S, R, Q, P, O = V.taper || "none", N = [], M = 0, L = 0 | (V.points || 20), K = L, J = V.randomize !== !1, I = V.clamp === !0, m = V.template instanceof H ? V.template : null, a = "number" == typeof V.strength ? 0.4 * V.strength : 0.4; --K > -1;) {
                        U = J ? Math.random() : 1 / L * K, T = m ? m.getRatio(U) : U, "none" === O ? S = a : "out" === O ? (R = 1 - U, S = R * R * a) : "in" === O ? S = U * U * a : 0.5 > U ? (R = 2 * U, S = R * R * 0.5 * a) : (R = 2 * (1 - U), S = R * R * 0.5 * a), J ? T += Math.random() * S - 0.5 * S : K % 2 ? T += 0.5 * S : T -= 0.5 * S, I && (T > 1 ? T = 1 : 0 > T && (T = 0)), N[M++] = {
                            x: U,
                            y: T
                        }
                    }
                    for (N.sort(function(d, c) {
                            return d.x - c.x
                        }), P = new v(1, 1, null), K = L; --K > -1;) {
                        Q = N[K], P = new v(Q.x, Q.y, P)
                    }
                    this._prev = new v(0, 0, 0 !== P.t ? P : P.next)
                }, !0), r = F.prototype = new H, r.constructor = F, r.getRatio = function(d) {
                    var c = this._prev;
                    if (d > c.t) {
                        for (; c.next && d >= c.t;) {
                            c = c.next
                        }
                        c = c.prev
                    } else {
                        for (; c.prev && d <= c.t;) {
                            c = c.prev
                        }
                    }
                    return this._prev = c, c.v + (d - c.t) / c.gap * c.c
                }, r.config = function(b) {
                    return new F(b)
                }, F.ease = new F, w("Bounce", y("BounceOut", function(b) {
                    return 1 / 2.75 > b ? 7.5625 * b * b : 2 / 2.75 > b ? 7.5625 * (b -= 1.5 / 2.75) * b + 0.75 : 2.5 / 2.75 > b ? 7.5625 * (b -= 2.25 / 2.75) * b + 0.9375 : 7.5625 * (b -= 2.625 / 2.75) * b + 0.984375
                }), y("BounceIn", function(b) {
                    return (b = 1 - b) < 1 / 2.75 ? 1 - 7.5625 * b * b : 2 / 2.75 > b ? 1 - (7.5625 * (b -= 1.5 / 2.75) * b + 0.75) : 2.5 / 2.75 > b ? 1 - (7.5625 * (b -= 2.25 / 2.75) * b + 0.9375) : 1 - (7.5625 * (b -= 2.625 / 2.75) * b + 0.984375)
                }), y("BounceInOut", function(d) {
                    var c = 0.5 > d;
                    return d = c ? 1 - 2 * d : 2 * d - 1, d = 1 / 2.75 > d ? 7.5625 * d * d : 2 / 2.75 > d ? 7.5625 * (d -= 1.5 / 2.75) * d + 0.75 : 2.5 / 2.75 > d ? 7.5625 * (d -= 2.25 / 2.75) * d + 0.9375 : 7.5625 * (d -= 2.625 / 2.75) * d + 0.984375, c ? 0.5 * (1 - d) : 0.5 * d + 0.5
                })), w("Circ", y("CircOut", function(b) {
                    return Math.sqrt(1 - (b -= 1) * b)
                }), y("CircIn", function(b) {
                    return -(Math.sqrt(1 - b * b) - 1)
                }), y("CircInOut", function(b) {
                    return (b *= 2) < 1 ? -0.5 * (Math.sqrt(1 - b * b) - 1) : 0.5 * (Math.sqrt(1 - (b -= 2) * b) + 1)
                })), E = function(a, j, i) {
                    var h = z("easing." + a, function(d, c) {
                            this._p1 = d >= 1 ? d : 1, this._p2 = (c || i) / (1 > d ? d : 1), this._p3 = this._p2 / B * (Math.asin(1 / this._p1) || 0), this._p2 = B / this._p2
                        }, !0),
                        g = h.prototype = new H;
                    return g.constructor = h, g.getRatio = j, g.config = function(d, c) {
                        return new h(d, c)
                    }, h
                }, w("Elastic", E("ElasticOut", function(b) {
                    return this._p1 * Math.pow(2, -10 * b) * Math.sin((b - this._p3) * this._p2) + 1
                }, 0.3), E("ElasticIn", function(b) {
                    return -(this._p1 * Math.pow(2, 10 * (b -= 1)) * Math.sin((b - this._p3) * this._p2))
                }, 0.3), E("ElasticInOut", function(b) {
                    return (b *= 2) < 1 ? -0.5 * (this._p1 * Math.pow(2, 10 * (b -= 1)) * Math.sin((b - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 * (b -= 1)) * Math.sin((b - this._p3) * this._p2) * 0.5 + 1
                }, 0.45)), w("Expo", y("ExpoOut", function(b) {
                    return 1 - Math.pow(2, -10 * b)
                }), y("ExpoIn", function(b) {
                    return Math.pow(2, 10 * (b - 1)) - 0.001
                }), y("ExpoInOut", function(b) {
                    return (b *= 2) < 1 ? 0.5 * Math.pow(2, 10 * (b - 1)) : 0.5 * (2 - Math.pow(2, -10 * (b - 1)))
                })), w("Sine", y("SineOut", function(b) {
                    return Math.sin(b * A)
                }), y("SineIn", function(b) {
                    return -Math.cos(b * A) + 1
                }), y("SineInOut", function(b) {
                    return -0.5 * (Math.cos(Math.PI * b) - 1)
                })), z("easing.EaseLookup", {
                    find: function(a) {
                        return H.map[a]
                    }
                }, !0), x(D.SlowMo, "SlowMo", "ease,"), x(F, "RoughEase", "ease,"), x(G, "SteppedEase", "ease,"), t
            }, !0)
    }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(),
    function(a3, a2) {
        var a1 = {},
            a0 = a3.GreenSockGlobals = a3.GreenSockGlobals || a3;
        if (!a0.TweenLite) {
            var aZ, aY, aX, aW, aV, aU = function(f) {
                    var d, h = f.split("."),
                        g = a0;
                    for (d = 0; d < h.length; d++) {
                        g[h[d]] = g = g[h[d]] || {}
                    }
                    return g
                },
                aT = aU("com.greensock"),
                aS = 1e-10,
                aR = function(f) {
                    var e, h = [],
                        g = f.length;
                    for (e = 0; e !== g; h.push(f[e++])) {}
                    return h
                },
                aQ = function() {},
                aP = function() {
                    var d = Object.prototype.toString,
                        c = d.call([]);
                    return function(a) {
                        return null != a && (a instanceof Array || "object" == typeof a && !!a.push && d.call(a) === c)
                    }
                }(),
                aO = {},
                aN = function(j, d, c, b) {
                    this.sc = aO[j] ? aO[j].sc : [], aO[j] = this, this.gsClass = null, this.func = c;
                    var a = [];
                    this.check = function(g) {
                        for (var f, e, u, q, p, i = d.length, h = i; --i > -1;) {
                            (f = aO[d[i]] || new aN(d[i], [])).gsClass ? (a[i] = f.gsClass, h--) : g && f.sc.push(this)
                        }
                        if (0 === h && c) {
                            if (e = ("com.greensock." + j).split("."), u = e.pop(), q = aU(e.join("."))[u] = this.gsClass = c.apply(c, a), b) {
                                if (a0[u] = q, p = "undefined" != typeof module && module.exports, !p && "function" == typeof define && define.amd) {
                                    define((a3.GreenSockAMDPath ? a3.GreenSockAMDPath + "/" : "") + j.split(".").pop(), [], function() {
                                        return q
                                    })
                                } else {
                                    if (p) {
                                        if (j === a2) {
                                            module.exports = a1[a2] = q;
                                            for (i in a1) {
                                                q[i] = a1[i]
                                            }
                                        } else {
                                            a1[a2] && (a1[a2][u] = q)
                                        }
                                    }
                                }
                            }
                            for (i = 0; i < this.sc.length; i++) {
                                this.sc[i].check()
                            }
                        }
                    }, this.check(!0)
                },
                aM = a3._gsDefine = function(f, e, h, g) {
                    return new aN(f, e, h, g)
                },
                aL = aT._class = function(e, d, f) {
                    return d = d || function() {}, aM(e, [], function() {
                        return d
                    }, f), d
                };
            aM.globals = a0;
            var aK = [0, 0, 1, 1],
                aJ = [],
                aI = aL("easing.Ease", function(f, e, h, g) {
                    this._func = f, this._type = h || 0, this._power = g || 0, this._params = e ? aK.concat(e) : aK
                }, !0),
                aH = aI.map = {},
                aG = aI.register = function(v, u, t, s) {
                    for (var r, q, p, o, n = u.split(","), m = n.length, k = (t || "easeIn,easeOut,easeInOut").split(","); --m > -1;) {
                        for (q = n[m], r = s ? aL("easing." + q, null, !0) : aT.easing[q] || {}, p = k.length; --p > -1;) {
                            o = k[p], aH[q + "." + o] = aH[o + q] = r[o] = v.getRatio ? v : v[o] || new v
                        }
                    }
                };
            for (aX = aI.prototype, aX._calcEnd = !1, aX.getRatio = function(f) {
                    if (this._func) {
                        return this._params[0] = f, this._func.apply(null, this._params)
                    }
                    var e = this._type,
                        h = this._power,
                        g = 1 === e ? 1 - f : 2 === e ? f : 0.5 > f ? 2 * f : 2 * (1 - f);
                    return 1 === h ? g *= g : 2 === h ? g *= g * g : 3 === h ? g *= g * g * g : 4 === h && (g *= g * g * g * g), 1 === e ? 1 - g : 2 === e ? g : 0.5 > f ? g / 2 : 1 - g / 2
                }, aZ = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], aY = aZ.length; --aY > -1;) {
                aX = aZ[aY] + ",Power" + aY, aG(new aI(null, null, 1, aY), aX, "easeOut", !0), aG(new aI(null, null, 2, aY), aX, "easeIn" + (0 === aY ? ",easeNone" : "")), aG(new aI(null, null, 3, aY), aX, "easeInOut")
            }
            aH.linear = aT.easing.Linear.easeIn, aH.swing = aT.easing.Quad.easeInOut;
            var aF = aL("events.EventDispatcher", function(b) {
                this._listeners = {}, this._eventTarget = b || this
            });
            aX = aF.prototype, aX.addEventListener = function(r, q, p, o, n) {
                n = n || 0;
                var m, l, i = this._listeners[r],
                    h = 0;
                for (this !== aW || aV || aW.wake(), null == i && (this._listeners[r] = i = []), l = i.length; --l > -1;) {
                    m = i[l], m.c === q && m.s === p ? i.splice(l, 1) : 0 === h && m.pr < n && (h = l + 1)
                }
                i.splice(h, 0, {
                    c: q,
                    s: p,
                    up: o,
                    pr: n
                })
            }, aX.removeEventListener = function(f, e) {
                var h, g = this._listeners[f];
                if (g) {
                    for (h = g.length; --h > -1;) {
                        if (g[h].c === e) {
                            return void g.splice(h, 1)
                        }
                    }
                }
            }, aX.dispatchEvent = function(g) {
                var f, j, i, h = this._listeners[g];
                if (h) {
                    for (f = h.length, j = this._eventTarget; --f > -1;) {
                        i = h[f], i && (i.up ? i.c.call(i.s || j, {
                            type: g,
                            target: j
                        }) : i.c.call(i.s || j))
                    }
                }
            };
            var aE = a3.requestAnimationFrame,
                aB = a3.cancelAnimationFrame,
                aA = Date.now || function() {
                    return (new Date).getTime()
                },
                az = aA();
            for (aZ = ["ms", "moz", "webkit", "o"], aY = aZ.length; --aY > -1 && !aE;) {
                aE = a3[aZ[aY] + "RequestAnimationFrame"], aB = a3[aZ[aY] + "CancelAnimationFrame"] || a3[aZ[aY] + "CancelRequestAnimationFrame"]
            }
            aL("Ticker", function(B, A) {
                var z, y, x, w, v, u = this,
                    t = aA(),
                    s = A !== !1 && aE ? "auto" : !1,
                    n = 500,
                    l = 33,
                    i = "tick",
                    h = function(d) {
                        var c, f, e = aA() - az;
                        e > n && (t += e - l), az += e, u.time = (az - t) / 1000, c = u.time - v, (!z || c > 0 || d === !0) && (u.frame++, v += c + (c >= w ? 0.004 : w - c), f = !0), d !== !0 && (x = y(h)), f && u.dispatchEvent(i)
                    };
                aF.call(u), u.time = u.frame = 0, u.tick = function() {
                    h(!0)
                }, u.lagSmoothing = function(d, c) {
                    n = d || 1 / aS, l = Math.min(c, n, 0)
                }, u.sleep = function() {
                    null != x && (s && aB ? aB(x) : clearTimeout(x), y = aQ, x = null, u === aW && (aV = !1))
                }, u.wake = function(b) {
                    null !== x ? u.sleep() : b ? t += -az + (az = aA()) : u.frame > 10 && (az = aA() - n + 5), y = 0 === z ? aQ : s && aE ? aE : function(c) {
                        return setTimeout(c, 1000 * (v - u.time) + 1 | 0)
                    }, u === aW && (aV = !0), h(2)
                }, u.fps = function(b) {
                    return arguments.length ? (z = b, w = 1 / (z || 60), v = this.time + w, void u.wake()) : z
                }, u.useRAF = function(b) {
                    return arguments.length ? (u.sleep(), s = b, void u.fps(z)) : s
                }, u.fps(B), setTimeout(function() {
                    "auto" === s && u.frame < 5 && "hidden" !== document.visibilityState && u.useRAF(!1)
                }, 1500)
            }), aX = aT.Ticker.prototype = new aT.events.EventDispatcher, aX.constructor = aT.Ticker;
            var ay = aL("core.Animation", function(e, d) {
                if (this.vars = d = d || {}, this._duration = this._totalDuration = e || 0, this._delay = Number(d.delay) || 0, this._timeScale = 1, this._active = d.immediateRender === !0, this.data = d.data, this._reversed = d.reversed === !0, ae) {
                    aV || aW.wake();
                    var f = this.vars.useFrames ? af : ae;
                    f.add(this, f._time), this.vars.paused && this.paused(!0)
                }
            });
            aW = ay.ticker = new aT.Ticker, aX = ay.prototype, aX._dirty = aX._gc = aX._initted = aX._paused = !1, aX._totalTime = aX._time = 0, aX._rawPrevTime = -1, aX._next = aX._last = aX._onUpdate = aX._timeline = aX.timeline = null, aX._paused = !1;
            var ax = function() {
                aV && aA() - az > 2000 && aW.wake(), setTimeout(ax, 2000)
            };
            ax(), aX.play = function(d, c) {
                return null != d && this.seek(d, c), this.reversed(!1).paused(!1)
            }, aX.pause = function(d, c) {
                return null != d && this.seek(d, c), this.paused(!0)
            }, aX.resume = function(d, c) {
                return null != d && this.seek(d, c), this.paused(!1)
            }, aX.seek = function(d, c) {
                return this.totalTime(Number(d), c !== !1)
            }, aX.restart = function(d, c) {
                return this.reversed(!1).paused(!1).totalTime(d ? -this._delay : 0, c !== !1, !0)
            }, aX.reverse = function(d, c) {
                return null != d && this.seek(d || this.totalDuration(), c), this.reversed(!0).paused(!1)
            }, aX.render = function(e, d, f) {}, aX.invalidate = function() {
                return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this
            }, aX.isActive = function() {
                var e, d = this._timeline,
                    f = this._startTime;
                return !d || !this._gc && !this._paused && d.isActive() && (e = d.rawTime()) >= f && e < f + this.totalDuration() / this._timeScale
            }, aX._enabled = function(d, c) {
                return aV || aW.wake(), this._gc = !d, this._active = this.isActive(), c !== !0 && (d && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !d && this.timeline && this._timeline._remove(this, !0)), !1
            }, aX._kill = function(d, c) {
                return this._enabled(!1, !1)
            }, aX.kill = function(d, c) {
                return this._kill(d, c), this
            }, aX._uncache = function(d) {
                for (var c = d ? this : this.timeline; c;) {
                    c._dirty = !0, c = c.timeline
                }
                return this
            }, aX._swapSelfInParams = function(e) {
                for (var d = e.length, f = e.concat(); --d > -1;) {
                    "{self}" === e[d] && (f[d] = this)
                }
                return f
            }, aX._callback = function(d) {
                var c = this.vars;
                c[d].apply(c[d + "Scope"] || c.callbackScope || this, c[d + "Params"] || aJ)
            }, aX.eventCallback = function(g, f, j, i) {
                if ("on" === (g || "").substr(0, 2)) {
                    var h = this.vars;
                    if (1 === arguments.length) {
                        return h[g]
                    }
                    null == f ? delete h[g] : (h[g] = f, h[g + "Params"] = aP(j) && -1 !== j.join("").indexOf("{self}") ? this._swapSelfInParams(j) : j, h[g + "Scope"] = i), "onUpdate" === g && (this._onUpdate = f)
                }
                return this
            }, aX.delay = function(b) {
                return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + b - this._delay), this._delay = b, this) : this._delay
            }, aX.duration = function(b) {
                return arguments.length ? (this._duration = this._totalDuration = b, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== b && this.totalTime(this._totalTime * (b / this._duration), !0), this) : (this._dirty = !1, this._duration)
            }, aX.totalDuration = function(b) {
                return this._dirty = !1, arguments.length ? this.duration(b) : this._totalDuration
            }, aX.time = function(d, c) {
                return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(d > this._duration ? this._duration : d, c)) : this._time
            }, aX.totalTime = function(g, f, j) {
                if (aV || aW.wake(), !arguments.length) {
                    return this._totalTime
                }
                if (this._timeline) {
                    if (0 > g && !j && (g += this.totalDuration()), this._timeline.smoothChildTiming) {
                        this._dirty && this.totalDuration();
                        var i = this._totalDuration,
                            h = this._timeline;
                        if (g > i && !j && (g = i), this._startTime = (this._paused ? this._pauseTime : h._time) - (this._reversed ? i - g : g) / this._timeScale, h._dirty || this._uncache(!1), h._timeline) {
                            for (; h._timeline;) {
                                h._timeline._time !== (h._startTime + h._totalTime) / h._timeScale && h.totalTime(h._totalTime, !0), h = h._timeline
                            }
                        }
                    }
                    this._gc && this._enabled(!0, !1), (this._totalTime !== g || 0 === this._duration) && (ar.length && ac(), this.render(g, f, !1), ar.length && ac())
                }
                return this
            }, aX.progress = aX.totalProgress = function(e, d) {
                var f = this.duration();
                return arguments.length ? this.totalTime(f * e, d) : f ? this._time / f : this.ratio
            }, aX.startTime = function(b) {
                return arguments.length ? (b !== this._startTime && (this._startTime = b, this.timeline && this.timeline._sortChildren && this.timeline.add(this, b - this._delay)), this) : this._startTime
            }, aX.endTime = function(b) {
                return this._startTime + (0 != b ? this.totalDuration() : this.duration()) / this._timeScale
            }, aX.timeScale = function(e) {
                if (!arguments.length) {
                    return this._timeScale
                }
                if (e = e || aS, this._timeline && this._timeline.smoothChildTiming) {
                    var d = this._pauseTime,
                        f = d || 0 === d ? d : this._timeline.totalTime();
                    this._startTime = f - (f - this._startTime) * this._timeScale / e
                }
                return this._timeScale = e, this._uncache(!1)
            }, aX.reversed = function(b) {
                return arguments.length ? (b != this._reversed && (this._reversed = b, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed
            }, aX.paused = function(f) {
                if (!arguments.length) {
                    return this._paused
                }
                var e, h, g = this._timeline;
                return f != this._paused && g && (aV || f || aW.wake(), e = g.rawTime(), h = e - this._pauseTime, !f && g.smoothChildTiming && (this._startTime += h, this._uncache(!1)), this._pauseTime = f ? e : null, this._paused = f, this._active = this.isActive(), !f && 0 !== h && this._initted && this.duration() && (e = g.smoothChildTiming ? this._totalTime : (e - this._startTime) / this._timeScale, this.render(e, e === this._totalTime, !0))), this._gc && !f && this._enabled(!0, !1), this
            };
            var aw = aL("core.SimpleTimeline", function(b) {
                ay.call(this, 0, b), this.autoRemoveChildren = this.smoothChildTiming = !0
            });
            aX = aw.prototype = new ay, aX.constructor = aw, aX.kill()._gc = !1, aX._first = aX._last = aX._recent = null, aX._sortChildren = !1, aX.add = aX.insert = function(h, g, l, k) {
                var j, i;
                if (h._startTime = Number(g || 0) + h._delay, h._paused && this !== h._timeline && (h._pauseTime = h._startTime + (this.rawTime() - h._startTime) / h._timeScale), h.timeline && h.timeline._remove(h, !0), h.timeline = h._timeline = this, h._gc && h._enabled(!0, !0), j = this._last, this._sortChildren) {
                    for (i = h._startTime; j && j._startTime > i;) {
                        j = j._prev
                    }
                }
                return j ? (h._next = j._next, j._next = h) : (h._next = this._first, this._first = h), h._next ? h._next._prev = h : this._last = h, h._prev = j, this._recent = h, this._timeline && this._uncache(!0), this
            }, aX._remove = function(d, c) {
                return d.timeline === this && (c || d._enabled(!1, !0), d._prev ? d._prev._next = d._next : this._first === d && (this._first = d._next), d._next ? d._next._prev = d._prev : this._last === d && (this._last = d._prev), d._next = d._prev = d.timeline = null, d === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this
            }, aX.render = function(g, f, j) {
                var i, h = this._first;
                for (this._totalTime = this._time = this._rawPrevTime = g; h;) {
                    i = h._next, (h._active || g >= h._startTime && !h._paused) && (h._reversed ? h.render((h._dirty ? h.totalDuration() : h._totalDuration) - (g - h._startTime) * h._timeScale, f, j) : h.render((g - h._startTime) * h._timeScale, f, j)), h = i
                }
            }, aX.rawTime = function() {
                return aV || aW.wake(), this._totalTime
            };
            var av = aL("TweenLite", function(a, p, o) {
                    if (ay.call(this, p, o), this.render = av.prototype.render, null == a) {
                        throw "Cannot tween a null target."
                    }
                    this.target = a = "string" != typeof a ? a : av.selector(a) || a;
                    var n, m, l, k = a.jquery || a.length && a !== a3 && a[0] && (a[0] === a3 || a[0].nodeType && a[0].style && !a.nodeType),
                        j = this.vars.overwrite;
                    if (this._overwrite = j = null == j ? ag[av.defaultOverwrite] : "number" == typeof j ? j >> 0 : ag[j], (k || a instanceof Array || a.push && aP(a)) && "number" != typeof a[0]) {
                        for (this._targets = l = aR(a), this._propLookup = [], this._siblings = [], n = 0; n < l.length; n++) {
                            m = l[n], m ? "string" != typeof m ? m.length && m !== a3 && m[0] && (m[0] === a3 || m[0].nodeType && m[0].style && !m.nodeType) ? (l.splice(n--, 1), this._targets = l = l.concat(aR(m))) : (this._siblings[n] = ab(m, this, !1), 1 === j && this._siblings[n].length > 1 && a5(m, this, null, 1, this._siblings[n])) : (m = l[n--] = av.selector(m), "string" == typeof m && l.splice(n + 1, 1)) : l.splice(n--, 1)
                        }
                    } else {
                        this._propLookup = {}, this._siblings = ab(a, this, !1), 1 === j && this._siblings.length > 1 && a5(a, this, null, 1, this._siblings)
                    }(this.vars.immediateRender || 0 === p && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -aS, this.render(Math.min(0, -this._delay)))
                }, !0),
                au = function(a) {
                    return a && a.length && a !== a3 && a[0] && (a[0] === a3 || a[0].nodeType && a[0].style && !a.nodeType)
                },
                at = function(f, e) {
                    var h, g = {};
                    for (h in f) {
                        ah[h] || h in e && "transform" !== h && "x" !== h && "y" !== h && "width" !== h && "height" !== h && "className" !== h && "border" !== h || !(!ak[h] || ak[h] && ak[h]._autoCSS) || (g[h] = f[h], delete f[h])
                    }
                    f.css = g
                };
            aX = av.prototype = new ay, aX.constructor = av, aX.kill()._gc = !1, aX.ratio = 0, aX._firstPT = aX._targets = aX._overwrittenProps = aX._startAt = null, aX._notifyPluginsOfEnabled = aX._lazy = !1, av.version = "1.18.5", av.defaultEase = aX._ease = new aI(null, null, 1, 1), av.defaultOverwrite = "auto", av.ticker = aW, av.autoSleep = 120, av.lagSmoothing = function(d, c) {
                aW.lagSmoothing(d, c)
            }, av.selector = a3.$ || a3.jQuery || function(a) {
                var d = a3.$ || a3.jQuery;
                return d ? (av.selector = d, d(a)) : "undefined" == typeof document ? a : document.querySelectorAll ? document.querySelectorAll(a) : document.getElementById("#" === a.charAt(0) ? a.substr(1) : a)
            };
            var ar = [],
                aq = {},
                ap = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,
                ao = function(f) {
                    for (var e, h = this._firstPT, g = 0.000001; h;) {
                        e = h.blob ? f ? this.join("") : this.start : h.c * f + h.s, h.r ? e = Math.round(e) : g > e && e > -g && (e = 0), h.f ? h.fp ? h.t[h.p](h.fp, e) : h.t[h.p](e) : h.t[h.p] = e, h = h._next
                    }
                },
                an = function(D, C, B, A) {
                    var z, y, x, w, v, u, t, s = [D, C],
                        r = 0,
                        q = "",
                        p = 0;
                    for (s.start = D, B && (B(s), D = s[0], C = s[1]), s.length = 0, z = D.match(ap) || [], y = C.match(ap) || [], A && (A._next = null, A.blob = 1, s._firstPT = A), v = y.length, w = 0; v > w; w++) {
                        t = y[w], u = C.substr(r, C.indexOf(t, r) - r), q += u || !w ? u : ",", r += u.length, p ? p = (p + 1) % 5 : "rgba(" === u.substr(-5) && (p = 1), t === z[w] || z.length <= w ? q += t : (q && (s.push(q), q = ""), x = parseFloat(z[w]), s.push(x), s._firstPT = {
                            _next: s._firstPT,
                            t: s,
                            p: s.length - 1,
                            s: x,
                            c: ("=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) : parseFloat(t) - x) || 0,
                            f: 0,
                            r: p && 4 > p
                        }), r += t.length
                    }
                    return q += C.substr(r), q && s.push(q), s.setRatio = ao, s
                },
                am = function(B, A, z, y, x, w, v, u) {
                    var t, s, r = "get" === z ? B[A] : z,
                        q = typeof B[A],
                        p = "string" == typeof y && "=" === y.charAt(1),
                        o = {
                            t: B,
                            p: A,
                            s: r,
                            f: "function" === q,
                            pg: 0,
                            n: x || A,
                            r: w,
                            pr: 0,
                            c: p ? parseInt(y.charAt(0) + "1", 10) * parseFloat(y.substr(2)) : parseFloat(y) - r || 0
                        };
                    return "number" !== q && ("function" === q && "get" === z && (s = A.indexOf("set") || "function" != typeof B["get" + A.substr(3)] ? A : "get" + A.substr(3), o.s = r = v ? B[s](v) : B[s]()), "string" == typeof r && (v || isNaN(r)) ? (o.fp = v, t = an(r, y, u || av.defaultStringFilter, o), o = {
                        t: t,
                        p: "setRatio",
                        s: 0,
                        c: 1,
                        f: 2,
                        pg: 0,
                        n: x || A,
                        pr: 0
                    }) : p || (o.s = parseFloat(r), o.c = parseFloat(y) - o.s || 0)), o.c ? ((o._next = this._firstPT) && (o._next._prev = o), this._firstPT = o, o) : void 0
                },
                al = av._internals = {
                    isArray: aP,
                    isSelector: au,
                    lazyTweens: ar,
                    blobDif: an
                },
                ak = av._plugins = {},
                aj = al.tweenLookup = {},
                ai = 0,
                ah = al.reservedProps = {
                    ease: 1,
                    delay: 1,
                    overwrite: 1,
                    onComplete: 1,
                    onCompleteParams: 1,
                    onCompleteScope: 1,
                    useFrames: 1,
                    runBackwards: 1,
                    startAt: 1,
                    onUpdate: 1,
                    onUpdateParams: 1,
                    onUpdateScope: 1,
                    onStart: 1,
                    onStartParams: 1,
                    onStartScope: 1,
                    onReverseComplete: 1,
                    onReverseCompleteParams: 1,
                    onReverseCompleteScope: 1,
                    onRepeat: 1,
                    onRepeatParams: 1,
                    onRepeatScope: 1,
                    easeParams: 1,
                    yoyo: 1,
                    immediateRender: 1,
                    repeat: 1,
                    repeatDelay: 1,
                    data: 1,
                    paused: 1,
                    reversed: 1,
                    autoCSS: 1,
                    lazy: 1,
                    onOverwrite: 1,
                    callbackScope: 1,
                    stringFilter: 1,
                    id: 1
                },
                ag = {
                    none: 0,
                    all: 1,
                    auto: 2,
                    concurrent: 3,
                    allOnStart: 4,
                    preexisting: 5,
                    "true": 1,
                    "false": 0
                },
                af = ay._rootFramesTimeline = new aw,
                ae = ay._rootTimeline = new aw,
                ad = 30,
                ac = al.lazyRender = function() {
                    var d, c = ar.length;
                    for (aq = {}; --c > -1;) {
                        d = ar[c], d && d._lazy !== !1 && (d.render(d._lazy[0], d._lazy[1], !0), d._lazy = !1)
                    }
                    ar.length = 0
                };
            ae._startTime = aW.time, af._startTime = aW.frame, ae._active = af._active = !0, setTimeout(ac, 1), ay._updateRoot = av.render = function() {
                var e, d, f;
                if (ar.length && ac(), ae.render((aW.time - ae._startTime) * ae._timeScale, !1, !1), af.render((aW.frame - af._startTime) * af._timeScale, !1, !1), ar.length && ac(), aW.frame >= ad) {
                    ad = aW.frame + (parseInt(av.autoSleep, 10) || 120);
                    for (f in aj) {
                        for (d = aj[f].tweens, e = d.length; --e > -1;) {
                            d[e]._gc && d.splice(e, 1)
                        }
                        0 === d.length && delete aj[f]
                    }
                    if (f = ae._first, (!f || f._paused) && av.autoSleep && !af._first && 1 === aW._listeners.tick.length) {
                        for (; f && f._paused;) {
                            f = f._next
                        }
                        f || aW.sleep()
                    }
                }
            }, aW.addEventListener("tick", ay._updateRoot);
            var ab = function(h, g, l) {
                    var k, j, i = h._gsTweenID;
                    if (aj[i || (h._gsTweenID = i = "t" + ai++)] || (aj[i] = {
                            target: h,
                            tweens: []
                        }), g && (k = aj[i].tweens, k[j = k.length] = g, l)) {
                        for (; --j > -1;) {
                            k[j] === g && k.splice(j, 1)
                        }
                    }
                    return aj[i].tweens
                },
                aD = function(i, h, n, m) {
                    var l, k, j = i.vars.onOverwrite;
                    return j && (l = j(i, h, n, m)), j = av.onOverwrite, j && (k = j(i, h, n, m)), l !== !1 && k !== !1
                },
                a5 = function(B, A, z, y, x) {
                    var w, v, u, t;
                    if (1 === y || y >= 4) {
                        for (t = x.length, w = 0; t > w; w++) {
                            if ((u = x[w]) !== A) {
                                u._gc || u._kill(null, B, A) && (v = !0)
                            } else {
                                if (5 === y) {
                                    break
                                }
                            }
                        }
                        return v
                    }
                    var s, r = A._startTime + aS,
                        q = [],
                        p = 0,
                        l = 0 === A._duration;
                    for (w = x.length; --w > -1;) {
                        (u = x[w]) === A || u._gc || u._paused || (u._timeline !== A._timeline ? (s = s || aC(A, 0, l), 0 === aC(u, s, l) && (q[p++] = u)) : u._startTime <= r && u._startTime + u.totalDuration() / u._timeScale > r && ((l || !u._initted) && r - u._startTime <= 2e-10 || (q[p++] = u)))
                    }
                    for (w = p; --w > -1;) {
                        if (u = q[w], 2 === y && u._kill(z, B, A) && (v = !0), 2 !== y || !u._firstPT && u._initted) {
                            if (2 !== y && !aD(u, A)) {
                                continue
                            }
                            u._enabled(!1, !1) && (v = !0)
                        }
                    }
                    return v
                },
                aC = function(h, g, l) {
                    for (var k = h._timeline, j = k._timeScale, i = h._startTime; k._timeline;) {
                        if (i += k._startTime, j *= k._timeScale, k._paused) {
                            return -100
                        }
                        k = k._timeline
                    }
                    return i /= j, i > g ? i - g : l && i === g || !h._initted && 2 * aS > i - g ? aS : (i += h.totalDuration() / h._timeScale / j) > g + aS ? 0 : i - g - aS
                };
            aX._init = function() {
                var t, s, r, q, p, o = this.vars,
                    n = this._overwrittenProps,
                    m = this._duration,
                    l = !!o.immediateRender,
                    k = o.ease;
                if (o.startAt) {
                    this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), p = {};
                    for (q in o.startAt) {
                        p[q] = o.startAt[q]
                    }
                    if (p.overwrite = !1, p.immediateRender = !0, p.lazy = l && o.lazy !== !1, p.startAt = p.delay = null, this._startAt = av.to(this.target, 0, p), l) {
                        if (this._time > 0) {
                            this._startAt = null
                        } else {
                            if (0 !== m) {
                                return
                            }
                        }
                    }
                } else {
                    if (o.runBackwards && 0 !== m) {
                        if (this._startAt) {
                            this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null
                        } else {
                            0 !== this._time && (l = !1), r = {};
                            for (q in o) {
                                ah[q] && "autoCSS" !== q || (r[q] = o[q])
                            }
                            if (r.overwrite = 0, r.data = "isFromStart", r.lazy = l && o.lazy !== !1, r.immediateRender = l, this._startAt = av.to(this.target, 0, r), l) {
                                if (0 === this._time) {
                                    return
                                }
                            } else {
                                this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null)
                            }
                        }
                    }
                }
                if (this._ease = k = k ? k instanceof aI ? k : "function" == typeof k ? new aI(k, o.easeParams) : aH[k] || av.defaultEase : av.defaultEase, o.easeParams instanceof Array && k.config && (this._ease = k.config.apply(k, o.easeParams)), this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets) {
                    for (t = this._targets.length; --t > -1;) {
                        this._initProps(this._targets[t], this._propLookup[t] = {}, this._siblings[t], n ? n[t] : null) && (s = !0)
                    }
                } else {
                    s = this._initProps(this.target, this._propLookup, this._siblings, n)
                }
                if (s && av._onPluginEvent("_onInitAllProps", this), n && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), o.runBackwards) {
                    for (r = this._firstPT; r;) {
                        r.s += r.c, r.c = -r.c, r = r._next
                    }
                }
                this._onUpdate = o.onUpdate, this._initted = !0
            }, aX._initProps = function(t, s, r, q) {
                var p, o, n, m, l, a;
                if (null == t) {
                    return !1
                }
                aq[t._gsTweenID] && ac(), this.vars.css || t.style && t !== a3 && t.nodeType && ak.css && this.vars.autoCSS !== !1 && at(this.vars, t);
                for (p in this.vars) {
                    if (a = this.vars[p], ah[p]) {
                        a && (a instanceof Array || a.push && aP(a)) && -1 !== a.join("").indexOf("{self}") && (this.vars[p] = a = this._swapSelfInParams(a, this))
                    } else {
                        if (ak[p] && (m = new ak[p])._onInitTween(t, this.vars[p], this)) {
                            for (this._firstPT = l = {
                                    _next: this._firstPT,
                                    t: m,
                                    p: "setRatio",
                                    s: 0,
                                    c: 1,
                                    f: 1,
                                    n: p,
                                    pg: 1,
                                    pr: m._priority
                                }, o = m._overwriteProps.length; --o > -1;) {
                                s[m._overwriteProps[o]] = this._firstPT
                            }(m._priority || m._onInitAllProps) && (n = !0), (m._onDisable || m._onEnable) && (this._notifyPluginsOfEnabled = !0), l._next && (l._next._prev = l)
                        } else {
                            s[p] = am.call(this, t, p, "get", a, p, 0, null, this.vars.stringFilter)
                        }
                    }
                }
                return q && this._kill(q, t) ? this._initProps(t, s, r, q) : this._overwrite > 1 && this._firstPT && r.length > 1 && a5(t, this, s, this._overwrite, r) ? (this._kill(s, t), this._initProps(t, s, r, q)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (aq[t._gsTweenID] = !0), n)
            }, aX.render = function(z, y, x) {
                var w, v, u, t, s = this._time,
                    r = this._duration,
                    q = this._rawPrevTime;
                if (z >= r - 1e-7) {
                    this._totalTime = this._time = r, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (w = !0, v = "onComplete", x = x || this._timeline.autoRemoveChildren), 0 === r && (this._initted || !this.vars.lazy || x) && (this._startTime === this._timeline._duration && (z = 0), (0 > q || 0 >= z && z >= -1e-7 || q === aS && "isPause" !== this.data) && q !== z && (x = !0, q > aS && (v = "onReverseComplete")), this._rawPrevTime = t = !y || z || q === z ? z : aS)
                } else {
                    if (1e-7 > z) {
                        this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== s || 0 === r && q > 0) && (v = "onReverseComplete", w = this._reversed), 0 > z && (this._active = !1, 0 === r && (this._initted || !this.vars.lazy || x) && (q >= 0 && (q !== aS || "isPause" !== this.data) && (x = !0), this._rawPrevTime = t = !y || z || q === z ? z : aS)), this._initted || (x = !0)
                    } else {
                        if (this._totalTime = this._time = z, this._easeType) {
                            var p = z / r,
                                o = this._easeType,
                                l = this._easePower;
                            (1 === o || 3 === o && p >= 0.5) && (p = 1 - p), 3 === o && (p *= 2), 1 === l ? p *= p : 2 === l ? p *= p * p : 3 === l ? p *= p * p * p : 4 === l && (p *= p * p * p * p), 1 === o ? this.ratio = 1 - p : 2 === o ? this.ratio = p : 0.5 > z / r ? this.ratio = p / 2 : this.ratio = 1 - p / 2
                        } else {
                            this.ratio = this._ease.getRatio(z / r)
                        }
                    }
                }
                if (this._time !== s || x) {
                    if (!this._initted) {
                        if (this._init(), !this._initted || this._gc) {
                            return
                        }
                        if (!x && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) {
                            return this._time = this._totalTime = s, this._rawPrevTime = q, ar.push(this), void(this._lazy = [z, y])
                        }
                        this._time && !w ? this.ratio = this._ease.getRatio(this._time / r) : w && this._ease._calcEnd && (this.ratio = this._ease.getRatio(0 === this._time ? 0 : 1))
                    }
                    for (this._lazy !== !1 && (this._lazy = !1), this._active || !this._paused && this._time !== s && z >= 0 && (this._active = !0), 0 === s && (this._startAt && (z >= 0 ? this._startAt.render(z, y, x) : v || (v = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === r) && (y || this._callback("onStart"))), u = this._firstPT; u;) {
                        u.f ? u.t[u.p](u.c * this.ratio + u.s) : u.t[u.p] = u.c * this.ratio + u.s, u = u._next
                    }
                    this._onUpdate && (0 > z && this._startAt && z !== -0.0001 && this._startAt.render(z, y, x), y || (this._time !== s || w || x) && this._callback("onUpdate")), v && (!this._gc || x) && (0 > z && this._startAt && !this._onUpdate && z !== -0.0001 && this._startAt.render(z, y, x), w && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !y && this.vars[v] && this._callback(v), 0 === r && this._rawPrevTime === aS && t !== aS && (this._rawPrevTime = 0))
                }
            }, aX._kill = function(z, y, x) {
                if ("all" === z && (z = null), null == z && (null == y || y === this.target)) {
                    return this._lazy = !1, this._enabled(!1, !1)
                }
                y = "string" != typeof y ? y || this._targets || this.target : av.selector(y) || y;
                var w, v, u, t, s, r, q, p, o, n = x && this._time && x._startTime === this._startTime && this._timeline === x._timeline;
                if ((aP(y) || au(y)) && "number" != typeof y[0]) {
                    for (w = y.length; --w > -1;) {
                        this._kill(z, y[w], x) && (r = !0)
                    }
                } else {
                    if (this._targets) {
                        for (w = this._targets.length; --w > -1;) {
                            if (y === this._targets[w]) {
                                s = this._propLookup[w] || {}, this._overwrittenProps = this._overwrittenProps || [], v = this._overwrittenProps[w] = z ? this._overwrittenProps[w] || {} : "all";
                                break
                            }
                        }
                    } else {
                        if (y !== this.target) {
                            return !1
                        }
                        s = this._propLookup, v = this._overwrittenProps = z ? this._overwrittenProps || {} : "all"
                    }
                    if (s) {
                        if (q = z || s, p = z !== v && "all" !== v && z !== s && ("object" != typeof z || !z._tempKill), x && (av.onOverwrite || this.vars.onOverwrite)) {
                            for (u in q) {
                                s[u] && (o || (o = []), o.push(u))
                            }
                            if ((o || !z) && !aD(this, x, y, o)) {
                                return !1
                            }
                        }
                        for (u in q) {
                            (t = s[u]) && (n && (t.f ? t.t[t.p](t.s) : t.t[t.p] = t.s, r = !0), t.pg && t.t._kill(q) && (r = !0), t.pg && 0 !== t.t._overwriteProps.length || (t._prev ? t._prev._next = t._next : t === this._firstPT && (this._firstPT = t._next), t._next && (t._next._prev = t._prev), t._next = t._prev = null), delete s[u]), p && (v[u] = 1)
                        }!this._firstPT && this._initted && this._enabled(!1, !1)
                    }
                }
                return r
            }, aX.invalidate = function() {
                return this._notifyPluginsOfEnabled && av._onPluginEvent("_onDisable", this), this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], ay.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -aS, this.render(Math.min(0, -this._delay))), this
            }, aX._enabled = function(f, e) {
                if (aV || aW.wake(), f && this._gc) {
                    var h, g = this._targets;
                    if (g) {
                        for (h = g.length; --h > -1;) {
                            this._siblings[h] = ab(g[h], this, !0)
                        }
                    } else {
                        this._siblings = ab(this.target, this, !0)
                    }
                }
                return ay.prototype._enabled.call(this, f, e), this._notifyPluginsOfEnabled && this._firstPT ? av._onPluginEvent(f ? "_onEnable" : "_onDisable", this) : !1
            }, av.to = function(e, d, f) {
                return new av(e, d, f)
            }, av.from = function(e, d, f) {
                return f.runBackwards = !0, f.immediateRender = 0 != f.immediateRender, new av(e, d, f)
            }, av.fromTo = function(f, e, h, g) {
                return g.startAt = h, g.immediateRender = 0 != g.immediateRender && 0 != h.immediateRender, new av(f, e, g)
            }, av.delayedCall = function(g, f, j, i, h) {
                return new av(f, 0, {
                    delay: g,
                    onComplete: f,
                    onCompleteParams: j,
                    callbackScope: i,
                    onReverseComplete: f,
                    onReverseCompleteParams: j,
                    immediateRender: !1,
                    lazy: !1,
                    useFrames: h,
                    overwrite: 0
                })
            }, av.set = function(d, c) {
                return new av(d, 0, c)
            }, av.getTweensOf = function(h, g) {
                if (null == h) {
                    return []
                }
                h = "string" != typeof h ? h : av.selector(h) || h;
                var l, k, j, i;
                if ((aP(h) || au(h)) && "number" != typeof h[0]) {
                    for (l = h.length, k = []; --l > -1;) {
                        k = k.concat(av.getTweensOf(h[l], g))
                    }
                    for (l = k.length; --l > -1;) {
                        for (i = k[l], j = l; --j > -1;) {
                            i === k[j] && k.splice(l, 1)
                        }
                    }
                } else {
                    for (k = ab(h).concat(), l = k.length; --l > -1;) {
                        (k[l]._gc || g && !k[l].isActive()) && k.splice(l, 1)
                    }
                }
                return k
            }, av.killTweensOf = av.killDelayedCallsTo = function(g, f, j) {
                "object" == typeof f && (j = f, f = !1);
                for (var i = av.getTweensOf(g, f), h = i.length; --h > -1;) {
                    i[h]._kill(j, g)
                }
            };
            var a4 = aL("plugins.TweenPlugin", function(d, c) {
                this._overwriteProps = (d || "").split(","), this._propName = this._overwriteProps[0], this._priority = c || 0, this._super = a4.prototype
            }, !0);
            if (aX = a4.prototype, a4.version = "1.18.0", a4.API = 2, aX._firstPT = null, aX._addTween = am, aX.setRatio = ao, aX._kill = function(f) {
                    var e, h = this._overwriteProps,
                        g = this._firstPT;
                    if (null != f[this._propName]) {
                        this._overwriteProps = []
                    } else {
                        for (e = h.length; --e > -1;) {
                            null != f[h[e]] && h.splice(e, 1)
                        }
                    }
                    for (; g;) {
                        null != f[g.n] && (g._next && (g._next._prev = g._prev), g._prev ? (g._prev._next = g._next, g._prev = null) : this._firstPT === g && (this._firstPT = g._next)), g = g._next
                    }
                    return !1
                }, aX._roundProps = function(e, d) {
                    for (var f = this._firstPT; f;) {
                        (e[this._propName] || null != f.n && e[f.n.split(this._propName + "_").join("")]) && (f.r = d), f = f._next
                    }
                }, av._onPluginEvent = function(j, i) {
                    var p, o, n, m, l, k = i._firstPT;
                    if ("_onInitAllProps" === j) {
                        for (; k;) {
                            for (l = k._next, o = n; o && o.pr > k.pr;) {
                                o = o._next
                            }(k._prev = o ? o._prev : m) ? k._prev._next = k: n = k, (k._next = o) ? o._prev = k : m = k, k = l
                        }
                        k = i._firstPT = n
                    }
                    for (; k;) {
                        k.pg && "function" == typeof k.t[j] && k.t[j]() && (p = !0), k = k._next
                    }
                    return p
                }, a4.activate = function(d) {
                    for (var c = d.length; --c > -1;) {
                        d[c].API === a4.API && (ak[(new d[c])._propName] = d[c])
                    }
                    return !0
                }, aM.plugin = function(j) {
                    if (!(j && j.propName && j.init && j.API)) {
                        throw "illegal plugin definition."
                    }
                    var i, p = j.propName,
                        o = j.priority || 0,
                        n = j.overwriteProps,
                        m = {
                            init: "_onInitTween",
                            set: "setRatio",
                            kill: "_kill",
                            round: "_roundProps",
                            initAll: "_onInitAllProps"
                        },
                        l = aL("plugins." + p.charAt(0).toUpperCase() + p.substr(1) + "Plugin", function() {
                            a4.call(this, p, o), this._overwriteProps = n || []
                        }, j.global === !0),
                        k = l.prototype = new a4(p);
                    k.constructor = l, l.API = j.API;
                    for (i in m) {
                        "function" == typeof j[i] && (k[m[i]] = j[i])
                    }
                    return l.version = j.version, a4.activate([l]), l
                }, aZ = a3._gsQueue) {
                for (aY = 0; aY < aZ.length; aY++) {
                    aZ[aY]()
                }
                for (aX in aO) {
                    aO[aX].func || a3.console.log("GSAP encountered missing dependency: com.greensock." + aX)
                }
            }
            aV = !1
        }
    }("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenMax");
$(document).ready(function() {
    $('a[href*="#"]:not([href="#"])').click(function() {
        var h = this;
        var f = $(this.hash);
        f = f.length ? f : $("[name=" + this.hash.slice(1) + "]");
        if (f.length) {
            var g;
            if ($(".wrap-header header").length) {
                g = $(".wrap-header header").innerHeight()
            } else {
                g = 0
            }
            $("html, body").animate({
                scrollTop: f.offset().top - g
            }, 1200)
        }
        $(this).blur();
        var e = this;
        var d = e.parentNode;
        var c = e.nextSibling;
        d.removeChild(e);
        setTimeout(function() {
            d.insertBefore(e, c)
        }, 0)
    });
    if (window.matchMedia("(min-width: 1200px)").matches) {
        $(".product-details li").hover(function() {
            $(".product-details li").not(this).find(".wrap-details").css("opacity", 0)
        }, function() {
            $(".product-details li").not(this).find(".wrap-details").css("opacity", 1)
        })
    }
    $(window).on("resize", function() {
        if (window.matchMedia("(max-width: 1023px)").matches) {
            if (!$("#grid-large").hasClass("owl-loaded")) {
                $("#grid-large").owlCarousel({
                    margin: 10,
                    nav: true,
                    items: 1,
                    loop: true,
                    navText: ["<", ">"]
                })
            }
        } else {
            if ($("#grid-large").hasClass("owl-loaded")) {
                $("#grid-large").trigger("destroy.owl.carousel")
            }
        }
    });
    $(window).trigger("resize");
    $("#modalYoutube").on("hidden.bs.modal", function() {
        $("#modalYoutube iframe").attr("src", $("#modalYoutube iframe").attr("src"))
    });

    function b(c) {
        c.target.playVideo()
    }

    function a() {
        if (window.YT) {
            mainVideoPlayer = new YT.Player("player", {
                height: "100%",
                width: "100%",
                videoId: "IUMa7o1IHnE",
                playerVars: {
                    autoplay: 0,
                    controls: 0,
                    rel: 0,
                    showinfo: 0
                },
                events: {
                    onReady: b
                }
            })
        }
    }
    $("#player").click(function() {
        a()
    });
    $(".square-content").click(function() {
        $("#myModal").modal()
    });
    $(function() {
        tl = new TimelineMax({
            repeat: -1,
            repeatDelay: 6
        });
        tl.to($(".aspirateur"), 1, {
            opacity: 1,
            delay: -1
        });
        tl.from($(".layer1"), 5, {
            right: "0%",
            delay: -0.3
        });
        tl.to($(".aspirateur"), 5, {
            left: "10px",
            delay: 0
        }, "-=5");
        tl.to($(".aspirateur"), 1, {
            opacity: 0
        });
        tl.to($(".wrap-txt3 "), 1, {
            opacity: 1
        });
        tl.staggerFromTo(".wrap-txt3 .line", 0.5, {
            opacity: 0,
            y: 100,
            ease: Back.easeOut
        }, {
            opacity: 1,
            y: 0,
            ease: Back.easeOut
        }, 0.1)
    })
});
var mainVideoPlayer = null;
var bannerPlayer = null;

function onYouTubeIframeAPIReady() {
    if (bannerPlayer != null) {
        return
    }
    if ($("#headerYouTubeVideoPlayer").length == 0) {
        return
    }
    $("#headerYouTubeVideoPlayer").height(Math.min($(".video-container").height(), 550) + ($(window).width() < 768 ? 0 : 100));
    bannerPlayer = new YT.Player("headerYouTubeVideoPlayer", {
        videoId: "IUMa7o1IHnE",
        width: 845,
        height: Math.min($(".video-container").height(), 550),
        playerVars: {
            autoplay: 1,
            controls: 2,
            showinfo: 0,
            rel: 0,
            modestbranding: 1,
            loop: 1,
            autohide: 0
        },
        events: {
            onReady: function(a) {
                a.target.mute();
                bannerPlayer.playVideo()
            },
            onStateChange: function(a) {
                if (a.data === YT.PlayerState.ENDED) {
                    bannerPlayer.playVideo()
                }
            }
        }
    });
    setTimeout(onYouTubeIframeAPIReady, 1000)
}
if ($("#headerYouTubeVideoPlayer").length == 1 && $("window").width() > 767) {
    setTimeout(onYouTubeIframeAPIReady, 1000)
} else {
    $(".video-container .dog").fadeIn("quick")
}! function(b) {
    "function" == typeof define && define.amd ? define(["jquery"], b) : "undefined" != typeof exports ? module.exports = b(require("jquery")) : b(jQuery)
}(function(d) {
    var c = window.Slick || {};
    c = function() {
        function e(i, h) {
            var b, g = this;
            g.defaults = {
                accessibility: !0,
                adaptiveHeight: !1,
                appendArrows: d(i),
                appendDots: d(i),
                arrows: !0,
                asNavFor: null,
                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
                autoplay: !1,
                autoplaySpeed: 3000,
                centerMode: !1,
                centerPadding: "50px",
                cssEase: "ease",
                customPaging: function(f, j) {
                    return d('<button type="button" data-role="none" role="button" tabindex="0" />').text(j + 1)
                },
                dots: !1,
                dotsClass: "slick-dots",
                draggable: !0,
                easing: "linear",
                edgeFriction: 0.35,
                fade: !1,
                focusOnSelect: !1,
                infinite: !0,
                initialSlide: 0,
                lazyLoad: "ondemand",
                mobileFirst: !1,
                pauseOnHover: !0,
                pauseOnFocus: !0,
                pauseOnDotsHover: !1,
                respondTo: "window",
                responsive: null,
                rows: 1,
                rtl: !1,
                slide: "",
                slidesPerRow: 1,
                slidesToShow: 1,
                slidesToScroll: 1,
                speed: 500,
                swipe: !0,
                swipeToSlide: !1,
                touchMove: !0,
                touchThreshold: 5,
                useCSS: !0,
                useTransform: !0,
                variableWidth: !1,
                vertical: !1,
                verticalSwiping: !1,
                waitForAnimate: !0,
                zIndex: 1000
            }, g.initials = {
                animating: !1,
                dragging: !1,
                autoPlayTimer: null,
                currentDirection: 0,
                currentLeft: null,
                currentSlide: 0,
                direction: 1,
                $dots: null,
                listWidth: null,
                listHeight: null,
                loadIndex: 0,
                $nextArrow: null,
                $prevArrow: null,
                slideCount: null,
                slideWidth: null,
                $slideTrack: null,
                $slides: null,
                sliding: !1,
                slideOffset: 0,
                swipeLeft: null,
                $list: null,
                touchObject: {},
                transformsEnabled: !1,
                unslicked: !1
            }, d.extend(g, g.initials), g.activeBreakpoint = null, g.animType = null, g.animProp = null, g.breakpoints = [], g.breakpointSettings = [], g.cssTransitions = !1, g.focussed = !1, g.interrupted = !1, g.hidden = "hidden", g.paused = !0, g.positionProp = null, g.respondTo = null, g.rowCount = 1, g.shouldClick = !0, g.$slider = d(i), g.$slidesCache = null, g.transformType = null, g.transitionType = null, g.visibilityChange = "visibilitychange", g.windowWidth = 0, g.windowTimer = null, b = d(i).data("slick") || {}, g.options = d.extend({}, g.defaults, h, b), g.currentSlide = g.options.initialSlide, g.originalSettings = g.options, "undefined" != typeof document.mozHidden ? (g.hidden = "mozHidden", g.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (g.hidden = "webkitHidden", g.visibilityChange = "webkitvisibilitychange"), g.autoPlay = d.proxy(g.autoPlay, g), g.autoPlayClear = d.proxy(g.autoPlayClear, g), g.autoPlayIterator = d.proxy(g.autoPlayIterator, g), g.changeSlide = d.proxy(g.changeSlide, g), g.clickHandler = d.proxy(g.clickHandler, g), g.selectHandler = d.proxy(g.selectHandler, g), g.setPosition = d.proxy(g.setPosition, g), g.swipeHandler = d.proxy(g.swipeHandler, g), g.dragHandler = d.proxy(g.dragHandler, g), g.keyHandler = d.proxy(g.keyHandler, g), g.instanceUid = a++, g.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, g.registerBreakpoints(), g.init(!0)
        }
        var a = 0;
        return e
    }(), c.prototype.activateADA = function() {
        var b = this;
        b.$slideTrack.find(".slick-active").attr({
            "aria-hidden": "false"
        }).find("a, input, button, select").attr({
            tabindex: "0"
        })
    }, c.prototype.addSlide = c.prototype.slickAdd = function(a, h, g) {
        var f = this;
        if ("boolean" == typeof h) {
            g = h, h = null
        } else {
            if (0 > h || h >= f.slideCount) {
                return !1
            }
        }
        f.unload(), "number" == typeof h ? 0 === h && 0 === f.$slides.length ? d(a).appendTo(f.$slideTrack) : g ? d(a).insertBefore(f.$slides.eq(h)) : d(a).insertAfter(f.$slides.eq(h)) : g === !0 ? d(a).prependTo(f.$slideTrack) : d(a).appendTo(f.$slideTrack), f.$slides = f.$slideTrack.children(this.options.slide), f.$slideTrack.children(this.options.slide).detach(), f.$slideTrack.append(f.$slides), f.$slides.each(function(e, i) {
            d(i).attr("data-slick-index", e)
        }), f.$slidesCache = f.$slides, f.reinit()
    }, c.prototype.animateHeight = function() {
        var f = this;
        if (1 === f.options.slidesToShow && f.options.adaptiveHeight === !0 && f.options.vertical === !1) {
            var e = f.$slides.eq(f.currentSlide).outerHeight(!0);
            f.$list.animate({
                height: e
            }, f.options.speed)
        }
    }, c.prototype.animateSlide = function(a, h) {
        var g = {},
            f = this;
        f.animateHeight(), f.options.rtl === !0 && f.options.vertical === !1 && (a = -a), f.transformsEnabled === !1 ? f.options.vertical === !1 ? f.$slideTrack.animate({
            left: a
        }, f.options.speed, f.options.easing, h) : f.$slideTrack.animate({
            top: a
        }, f.options.speed, f.options.easing, h) : f.cssTransitions === !1 ? (f.options.rtl === !0 && (f.currentLeft = -f.currentLeft), d({
            animStart: f.currentLeft
        }).animate({
            animStart: a
        }, {
            duration: f.options.speed,
            easing: f.options.easing,
            step: function(b) {
                b = Math.ceil(b), f.options.vertical === !1 ? (g[f.animType] = "translate(" + b + "px, 0px)", f.$slideTrack.css(g)) : (g[f.animType] = "translate(0px," + b + "px)", f.$slideTrack.css(g))
            },
            complete: function() {
                h && h.call()
            }
        })) : (f.applyTransition(), a = Math.ceil(a), f.options.vertical === !1 ? g[f.animType] = "translate3d(" + a + "px, 0px, 0px)" : g[f.animType] = "translate3d(0px," + a + "px, 0px)", f.$slideTrack.css(g), h && setTimeout(function() {
            f.disableTransition(), h.call()
        }, f.options.speed))
    }, c.prototype.getNavTarget = function() {
        var a = this,
            e = a.options.asNavFor;
        return e && null !== e && (e = d(e).not(a.$slider)), e
    }, c.prototype.asNavFor = function(a) {
        var f = this,
            e = f.getNavTarget();
        null !== e && "object" == typeof e && e.each(function() {
            var b = d(this).slick("getSlick");
            b.unslicked || b.slideHandler(a, !0)
        })
    }, c.prototype.applyTransition = function(f) {
        var e = this,
            g = {};
        e.options.fade === !1 ? g[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : g[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, e.options.fade === !1 ? e.$slideTrack.css(g) : e.$slides.eq(f).css(g)
    }, c.prototype.autoPlay = function() {
        var b = this;
        b.autoPlayClear(), b.slideCount > b.options.slidesToShow && (b.autoPlayTimer = setInterval(b.autoPlayIterator, b.options.autoplaySpeed))
    }, c.prototype.autoPlayClear = function() {
        var b = this;
        b.autoPlayTimer && clearInterval(b.autoPlayTimer)
    }, c.prototype.autoPlayIterator = function() {
        var f = this,
            e = f.currentSlide + f.options.slidesToScroll;
        f.paused || f.interrupted || f.focussed || (f.options.infinite === !1 && (1 === f.direction && f.currentSlide + 1 === f.slideCount - 1 ? f.direction = 0 : 0 === f.direction && (e = f.currentSlide - f.options.slidesToScroll, f.currentSlide - 1 === 0 && (f.direction = 1))), f.slideHandler(e))
    }, c.prototype.buildArrows = function() {
        var a = this;
        a.options.arrows === !0 && (a.$prevArrow = d(a.options.prevArrow).addClass("slick-arrow"), a.$nextArrow = d(a.options.nextArrow).addClass("slick-arrow"), a.slideCount > a.options.slidesToShow ? (a.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), a.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), a.htmlExpr.test(a.options.prevArrow) && a.$prevArrow.prependTo(a.options.appendArrows), a.htmlExpr.test(a.options.nextArrow) && a.$nextArrow.appendTo(a.options.appendArrows), a.options.infinite !== !0 && a.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : a.$prevArrow.add(a.$nextArrow).addClass("slick-hidden").attr({
            "aria-disabled": "true",
            tabindex: "-1"
        }))
    }, c.prototype.buildDots = function() {
        var f, e, a = this;
        if (a.options.dots === !0 && a.slideCount > a.options.slidesToShow) {
            for (a.$slider.addClass("slick-dotted"), e = d("<ul />").addClass(a.options.dotsClass), f = 0; f <= a.getDotCount(); f += 1) {
                e.append(d("<li />").append(a.options.customPaging.call(this, a, f)))
            }
            a.$dots = e.appendTo(a.options.appendDots), a.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false")
        }
    }, c.prototype.buildOut = function() {
        var a = this;
        a.$slides = a.$slider.children(a.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), a.slideCount = a.$slides.length, a.$slides.each(function(e, f) {
            d(f).attr("data-slick-index", e).data("originalStyling", d(f).attr("style") || "")
        }), a.$slider.addClass("slick-slider"), a.$slideTrack = 0 === a.slideCount ? d('<div class="slick-track"/>').appendTo(a.$slider) : a.$slides.wrapAll('<div class="slick-track"/>').parent(), a.$list = a.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), a.$slideTrack.css("opacity", 0), (a.options.centerMode === !0 || a.options.swipeToSlide === !0) && (a.options.slidesToScroll = 1), d("img[data-lazy]", a.$slider).not("[src]").addClass("slick-loading"), a.setupInfinite(), a.buildArrows(), a.buildDots(), a.updateDots(), a.setSlideClasses("number" == typeof a.currentSlide ? a.currentSlide : 0), a.options.draggable === !0 && a.$list.addClass("draggable")
    }, c.prototype.buildRows = function() {
        var u, t, s, r, q, p, o, v = this;
        if (r = document.createDocumentFragment(), p = v.$slider.children(), v.options.rows > 1) {
            for (o = v.options.slidesPerRow * v.options.rows, q = Math.ceil(p.length / o), u = 0; q > u; u++) {
                var n = document.createElement("div");
                for (t = 0; t < v.options.rows; t++) {
                    var m = document.createElement("div");
                    for (s = 0; s < v.options.slidesPerRow; s++) {
                        var l = u * o + (t * v.options.slidesPerRow + s);
                        p.get(l) && m.appendChild(p.get(l))
                    }
                    n.appendChild(m)
                }
                r.appendChild(n)
            }
            v.$slider.empty().append(r), v.$slider.children().children().children().css({
                width: 100 / v.options.slidesPerRow + "%",
                display: "inline-block"
            })
        }
    }, c.prototype.checkResponsive = function(r, q) {
        var o, n, m, p = this,
            l = !1,
            k = p.$slider.width(),
            a = window.innerWidth || d(window).width();
        if ("window" === p.respondTo ? m = a : "slider" === p.respondTo ? m = k : "min" === p.respondTo && (m = Math.min(a, k)), p.options.responsive && p.options.responsive.length && null !== p.options.responsive) {
            n = null;
            for (o in p.breakpoints) {
                p.breakpoints.hasOwnProperty(o) && (p.originalSettings.mobileFirst === !1 ? m < p.breakpoints[o] && (n = p.breakpoints[o]) : m > p.breakpoints[o] && (n = p.breakpoints[o]))
            }
            null !== n ? null !== p.activeBreakpoint ? (n !== p.activeBreakpoint || q) && (p.activeBreakpoint = n, "unslick" === p.breakpointSettings[n] ? p.unslick(n) : (p.options = d.extend({}, p.originalSettings, p.breakpointSettings[n]), r === !0 && (p.currentSlide = p.options.initialSlide), p.refresh(r)), l = n) : (p.activeBreakpoint = n, "unslick" === p.breakpointSettings[n] ? p.unslick(n) : (p.options = d.extend({}, p.originalSettings, p.breakpointSettings[n]), r === !0 && (p.currentSlide = p.options.initialSlide), p.refresh(r)), l = n) : null !== p.activeBreakpoint && (p.activeBreakpoint = null, p.options = p.originalSettings, r === !0 && (p.currentSlide = p.options.initialSlide), p.refresh(r), l = n), r || l === !1 || p.$slider.trigger("breakpoint", [p, l])
        }
    }, c.prototype.changeSlide = function(a, p) {
        var m, l, k, o = this,
            n = d(a.currentTarget);
        switch (n.is("a") && a.preventDefault(), n.is("li") || (n = n.closest("li")), k = o.slideCount % o.options.slidesToScroll !== 0, m = k ? 0 : (o.slideCount - o.currentSlide) % o.options.slidesToScroll, a.data.message) {
            case "previous":
                l = 0 === m ? o.options.slidesToScroll : o.options.slidesToShow - m, o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide - l, !1, p);
                break;
            case "next":
                l = 0 === m ? o.options.slidesToScroll : m, o.slideCount > o.options.slidesToShow && o.slideHandler(o.currentSlide + l, !1, p);
                break;
            case "index":
                var j = 0 === a.data.index ? 0 : a.data.index || n.index() * o.options.slidesToScroll;
                o.slideHandler(o.checkNavigable(j), !1, p), n.children().trigger("focus");
                break;
            default:
                return
        }
    }, c.prototype.checkNavigable = function(g) {
        var j, i, f = this;
        if (j = f.getNavigableIndexes(), i = 0, g > j[j.length - 1]) {
            g = j[j.length - 1]
        } else {
            for (var h in j) {
                if (g < j[h]) {
                    g = i;
                    break
                }
                i = j[h]
            }
        }
        return g
    }, c.prototype.cleanUpEvents = function() {
        var a = this;
        a.options.dots && null !== a.$dots && d("li", a.$dots).off("click.slick", a.changeSlide).off("mouseenter.slick", d.proxy(a.interrupt, a, !0)).off("mouseleave.slick", d.proxy(a.interrupt, a, !1)), a.$slider.off("focus.slick blur.slick"), a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow && a.$prevArrow.off("click.slick", a.changeSlide), a.$nextArrow && a.$nextArrow.off("click.slick", a.changeSlide)), a.$list.off("touchstart.slick mousedown.slick", a.swipeHandler), a.$list.off("touchmove.slick mousemove.slick", a.swipeHandler), a.$list.off("touchend.slick mouseup.slick", a.swipeHandler), a.$list.off("touchcancel.slick mouseleave.slick", a.swipeHandler), a.$list.off("click.slick", a.clickHandler), d(document).off(a.visibilityChange, a.visibility), a.cleanUpSlideEvents(), a.options.accessibility === !0 && a.$list.off("keydown.slick", a.keyHandler), a.options.focusOnSelect === !0 && d(a.$slideTrack).children().off("click.slick", a.selectHandler), d(window).off("orientationchange.slick.slick-" + a.instanceUid, a.orientationChange), d(window).off("resize.slick.slick-" + a.instanceUid, a.resize), d("[draggable!=true]", a.$slideTrack).off("dragstart", a.preventDefault), d(window).off("load.slick.slick-" + a.instanceUid, a.setPosition), d(document).off("ready.slick.slick-" + a.instanceUid, a.setPosition)
    }, c.prototype.cleanUpSlideEvents = function() {
        var a = this;
        a.$list.off("mouseenter.slick", d.proxy(a.interrupt, a, !0)), a.$list.off("mouseleave.slick", d.proxy(a.interrupt, a, !1))
    }, c.prototype.cleanUpRows = function() {
        var e, f = this;
        f.options.rows > 1 && (e = f.$slides.children().children(), e.removeAttr("style"), f.$slider.empty().append(e))
    }, c.prototype.clickHandler = function(f) {
        var e = this;
        e.shouldClick === !1 && (f.stopImmediatePropagation(), f.stopPropagation(), f.preventDefault())
    }, c.prototype.destroy = function(a) {
        var e = this;
        e.autoPlayClear(), e.touchObject = {}, e.cleanUpEvents(), d(".slick-cloned", e.$slider).detach(), e.$dots && e.$dots.remove(), e.$prevArrow && e.$prevArrow.length && (e.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove()), e.$nextArrow && e.$nextArrow.length && (e.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove()), e.$slides && (e.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
            d(this).attr("style", d(this).data("originalStyling"))
        }), e.$slideTrack.children(this.options.slide).detach(), e.$slideTrack.detach(), e.$list.detach(), e.$slider.append(e.$slides)), e.cleanUpRows(), e.$slider.removeClass("slick-slider"), e.$slider.removeClass("slick-initialized"), e.$slider.removeClass("slick-dotted"), e.unslicked = !0, a || e.$slider.trigger("destroy", [e])
    }, c.prototype.disableTransition = function(f) {
        var e = this,
            g = {};
        g[e.transitionType] = "", e.options.fade === !1 ? e.$slideTrack.css(g) : e.$slides.eq(f).css(g)
    }, c.prototype.fadeSlide = function(f, e) {
        var g = this;
        g.cssTransitions === !1 ? (g.$slides.eq(f).css({
            zIndex: g.options.zIndex
        }), g.$slides.eq(f).animate({
            opacity: 1
        }, g.options.speed, g.options.easing, e)) : (g.applyTransition(f), g.$slides.eq(f).css({
            opacity: 1,
            zIndex: g.options.zIndex
        }), e && setTimeout(function() {
            g.disableTransition(f), e.call()
        }, g.options.speed))
    }, c.prototype.fadeSlideOut = function(f) {
        var e = this;
        e.cssTransitions === !1 ? e.$slides.eq(f).animate({
            opacity: 0,
            zIndex: e.options.zIndex - 2
        }, e.options.speed, e.options.easing) : (e.applyTransition(f), e.$slides.eq(f).css({
            opacity: 0,
            zIndex: e.options.zIndex - 2
        }))
    }, c.prototype.filterSlides = c.prototype.slickFilter = function(f) {
        var e = this;
        null !== f && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(f).appendTo(e.$slideTrack), e.reinit())
    }, c.prototype.focusHandler = function() {
        var a = this;
        a.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*:not(.slick-arrow)", function(e) {
            e.stopImmediatePropagation();
            var b = d(this);
            setTimeout(function() {
                a.options.pauseOnFocus && (a.focussed = b.is(":focus"), a.autoPlay())
            }, 0)
        })
    }, c.prototype.getCurrent = c.prototype.slickCurrentSlide = function() {
        var b = this;
        return b.currentSlide
    }, c.prototype.getDotCount = function() {
        var f = this,
            e = 0,
            h = 0,
            g = 0;
        if (f.options.infinite === !0) {
            for (; e < f.slideCount;) {
                ++g, e = h + f.options.slidesToScroll, h += f.options.slidesToScroll <= f.options.slidesToShow ? f.options.slidesToScroll : f.options.slidesToShow
            }
        } else {
            if (f.options.centerMode === !0) {
                g = f.slideCount
            } else {
                if (f.options.asNavFor) {
                    for (; e < f.slideCount;) {
                        ++g, e = h + f.options.slidesToScroll, h += f.options.slidesToScroll <= f.options.slidesToShow ? f.options.slidesToScroll : f.options.slidesToShow
                    }
                } else {
                    g = 1 + Math.ceil((f.slideCount - f.options.slidesToShow) / f.options.slidesToScroll)
                }
            }
        }
        return g - 1
    }, c.prototype.getLeft = function(h) {
        var l, k, i, g = this,
            j = 0;
        return g.slideOffset = 0, k = g.$slides.first().outerHeight(!0), g.options.infinite === !0 ? (g.slideCount > g.options.slidesToShow && (g.slideOffset = g.slideWidth * g.options.slidesToShow * -1, j = k * g.options.slidesToShow * -1), g.slideCount % g.options.slidesToScroll !== 0 && h + g.options.slidesToScroll > g.slideCount && g.slideCount > g.options.slidesToShow && (h > g.slideCount ? (g.slideOffset = (g.options.slidesToShow - (h - g.slideCount)) * g.slideWidth * -1, j = (g.options.slidesToShow - (h - g.slideCount)) * k * -1) : (g.slideOffset = g.slideCount % g.options.slidesToScroll * g.slideWidth * -1, j = g.slideCount % g.options.slidesToScroll * k * -1))) : h + g.options.slidesToShow > g.slideCount && (g.slideOffset = (h + g.options.slidesToShow - g.slideCount) * g.slideWidth, j = (h + g.options.slidesToShow - g.slideCount) * k), g.slideCount <= g.options.slidesToShow && (g.slideOffset = 0, j = 0), g.options.centerMode === !0 && g.options.infinite === !0 ? g.slideOffset += g.slideWidth * Math.floor(g.options.slidesToShow / 2) - g.slideWidth : g.options.centerMode === !0 && (g.slideOffset = 0, g.slideOffset += g.slideWidth * Math.floor(g.options.slidesToShow / 2)), l = g.options.vertical === !1 ? h * g.slideWidth * -1 + g.slideOffset : h * k * -1 + j, g.options.variableWidth === !0 && (i = g.slideCount <= g.options.slidesToShow || g.options.infinite === !1 ? g.$slideTrack.children(".slick-slide").eq(h) : g.$slideTrack.children(".slick-slide").eq(h + g.options.slidesToShow), l = g.options.rtl === !0 ? i[0] ? -1 * (g.$slideTrack.width() - i[0].offsetLeft - i.width()) : 0 : i[0] ? -1 * i[0].offsetLeft : 0, g.options.centerMode === !0 && (i = g.slideCount <= g.options.slidesToShow || g.options.infinite === !1 ? g.$slideTrack.children(".slick-slide").eq(h) : g.$slideTrack.children(".slick-slide").eq(h + g.options.slidesToShow + 1), l = g.options.rtl === !0 ? i[0] ? -1 * (g.$slideTrack.width() - i[0].offsetLeft - i.width()) : 0 : i[0] ? -1 * i[0].offsetLeft : 0, l += (g.$list.width() - i.outerWidth()) / 2)), l
    }, c.prototype.getOption = c.prototype.slickGetOption = function(f) {
        var e = this;
        return e.options[f]
    }, c.prototype.getNavigableIndexes = function() {
        var h, g = this,
            f = 0,
            j = 0,
            i = [];
        for (g.options.infinite === !1 ? h = g.slideCount : (f = -1 * g.options.slidesToScroll, j = -1 * g.options.slidesToScroll, h = 2 * g.slideCount); h > f;) {
            i.push(f), f = j + g.options.slidesToScroll, j += g.options.slidesToScroll <= g.options.slidesToShow ? g.options.slidesToScroll : g.options.slidesToShow
        }
        return i
    }, c.prototype.getSlick = function() {
        return this
    }, c.prototype.getSlideCount = function() {
        var h, g, f, a = this;
        return f = a.options.centerMode === !0 ? a.slideWidth * Math.floor(a.options.slidesToShow / 2) : 0, a.options.swipeToSlide === !0 ? (a.$slideTrack.find(".slick-slide").each(function(e, b) {
            return b.offsetLeft - f + d(b).outerWidth() / 2 > -1 * a.swipeLeft ? (g = b, !1) : void 0
        }), h = Math.abs(d(g).attr("data-slick-index") - a.currentSlide) || 1) : a.options.slidesToScroll
    }, c.prototype.goTo = c.prototype.slickGoTo = function(f, e) {
        var g = this;
        g.changeSlide({
            data: {
                message: "index",
                index: parseInt(f)
            }
        }, e)
    }, c.prototype.init = function(a) {
        var e = this;
        d(e.$slider).hasClass("slick-initialized") || (d(e.$slider).addClass("slick-initialized"), e.buildRows(), e.buildOut(), e.setProps(), e.startLoad(), e.loadSlider(), e.initializeEvents(), e.updateArrows(), e.updateDots(), e.checkResponsive(!0), e.focusHandler()), a && e.$slider.trigger("init", [e]), e.options.accessibility === !0 && e.initADA(), e.options.autoplay && (e.paused = !1, e.autoPlay())
    }, c.prototype.initADA = function() {
        var a = this;
        a.$slides.add(a.$slideTrack.find(".slick-cloned")).attr({
            "aria-hidden": "true",
            tabindex: "-1"
        }).find("a, input, button, select").attr({
            tabindex: "-1"
        }), a.$slideTrack.attr("role", "listbox"), a.$slides.not(a.$slideTrack.find(".slick-cloned")).each(function(b) {
            d(this).attr({
                role: "option",
                "aria-describedby": "slick-slide" + a.instanceUid + b
            })
        }), null !== a.$dots && a.$dots.attr("role", "tablist").find("li").each(function(b) {
            d(this).attr({
                role: "presentation",
                "aria-selected": "false",
                "aria-controls": "navigation" + a.instanceUid + b,
                id: "slick-slide" + a.instanceUid + b
            })
        }).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), a.activateADA()
    }, c.prototype.initArrowEvents = function() {
        var b = this;
        b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow.off("click.slick").on("click.slick", {
            message: "previous"
        }, b.changeSlide), b.$nextArrow.off("click.slick").on("click.slick", {
            message: "next"
        }, b.changeSlide))
    }, c.prototype.initDotEvents = function() {
        var a = this;
        a.options.dots === !0 && a.slideCount > a.options.slidesToShow && d("li", a.$dots).on("click.slick", {
            message: "index"
        }, a.changeSlide), a.options.dots === !0 && a.options.pauseOnDotsHover === !0 && d("li", a.$dots).on("mouseenter.slick", d.proxy(a.interrupt, a, !0)).on("mouseleave.slick", d.proxy(a.interrupt, a, !1))
    }, c.prototype.initSlideEvents = function() {
        var a = this;
        a.options.pauseOnHover && (a.$list.on("mouseenter.slick", d.proxy(a.interrupt, a, !0)), a.$list.on("mouseleave.slick", d.proxy(a.interrupt, a, !1)))
    }, c.prototype.initializeEvents = function() {
        var a = this;
        a.initArrowEvents(), a.initDotEvents(), a.initSlideEvents(), a.$list.on("touchstart.slick mousedown.slick", {
            action: "start"
        }, a.swipeHandler), a.$list.on("touchmove.slick mousemove.slick", {
            action: "move"
        }, a.swipeHandler), a.$list.on("touchend.slick mouseup.slick", {
            action: "end"
        }, a.swipeHandler), a.$list.on("touchcancel.slick mouseleave.slick", {
            action: "end"
        }, a.swipeHandler), a.$list.on("click.slick", a.clickHandler), d(document).on(a.visibilityChange, d.proxy(a.visibility, a)), a.options.accessibility === !0 && a.$list.on("keydown.slick", a.keyHandler), a.options.focusOnSelect === !0 && d(a.$slideTrack).children().on("click.slick", a.selectHandler), d(window).on("orientationchange.slick.slick-" + a.instanceUid, d.proxy(a.orientationChange, a)), d(window).on("resize.slick.slick-" + a.instanceUid, d.proxy(a.resize, a)), d("[draggable!=true]", a.$slideTrack).on("dragstart", a.preventDefault), d(window).on("load.slick.slick-" + a.instanceUid, a.setPosition), d(document).on("ready.slick.slick-" + a.instanceUid, a.setPosition)
    }, c.prototype.initUI = function() {
        var b = this;
        b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow.show(), b.$nextArrow.show()), b.options.dots === !0 && b.slideCount > b.options.slidesToShow && b.$dots.show()
    }, c.prototype.keyHandler = function(f) {
        var e = this;
        f.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === f.keyCode && e.options.accessibility === !0 ? e.changeSlide({
            data: {
                message: e.options.rtl === !0 ? "next" : "previous"
            }
        }) : 39 === f.keyCode && e.options.accessibility === !0 && e.changeSlide({
            data: {
                message: e.options.rtl === !0 ? "previous" : "next"
            }
        }))
    }, c.prototype.lazyLoad = function() {
        function h(b) {
            d("img[data-lazy]", b).each(function() {
                var m = d(this),
                    g = d(this).attr("data-lazy"),
                    f = document.createElement("img");
                f.onload = function() {
                    m.animate({
                        opacity: 0
                    }, 100, function() {
                        m.attr("src", g).animate({
                            opacity: 1
                        }, 200, function() {
                            m.removeAttr("data-lazy").removeClass("slick-loading")
                        }), a.$slider.trigger("lazyLoaded", [a, m, g])
                    })
                }, f.onerror = function() {
                    m.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), a.$slider.trigger("lazyLoadError", [a, m, g])
                }, f.src = g
            })
        }
        var l, k, j, i, a = this;
        a.options.centerMode === !0 ? a.options.infinite === !0 ? (j = a.currentSlide + (a.options.slidesToShow / 2 + 1), i = j + a.options.slidesToShow + 2) : (j = Math.max(0, a.currentSlide - (a.options.slidesToShow / 2 + 1)), i = 2 + (a.options.slidesToShow / 2 + 1) + a.currentSlide) : (j = a.options.infinite ? a.options.slidesToShow + a.currentSlide : a.currentSlide, i = Math.ceil(j + a.options.slidesToShow), a.options.fade === !0 && (j > 0 && j--, i <= a.slideCount && i++)), l = a.$slider.find(".slick-slide").slice(j, i), h(l), a.slideCount <= a.options.slidesToShow ? (k = a.$slider.find(".slick-slide"), h(k)) : a.currentSlide >= a.slideCount - a.options.slidesToShow ? (k = a.$slider.find(".slick-cloned").slice(0, a.options.slidesToShow), h(k)) : 0 === a.currentSlide && (k = a.$slider.find(".slick-cloned").slice(-1 * a.options.slidesToShow), h(k))
    }, c.prototype.loadSlider = function() {
        var b = this;
        b.setPosition(), b.$slideTrack.css({
            opacity: 1
        }), b.$slider.removeClass("slick-loading"), b.initUI(), "progressive" === b.options.lazyLoad && b.progressiveLazyLoad()
    }, c.prototype.next = c.prototype.slickNext = function() {
        var b = this;
        b.changeSlide({
            data: {
                message: "next"
            }
        })
    }, c.prototype.orientationChange = function() {
        var b = this;
        b.checkResponsive(), b.setPosition()
    }, c.prototype.pause = c.prototype.slickPause = function() {
        var b = this;
        b.autoPlayClear(), b.paused = !0
    }, c.prototype.play = c.prototype.slickPlay = function() {
        var b = this;
        b.autoPlay(), b.options.autoplay = !0, b.paused = !1, b.focussed = !1, b.interrupted = !1
    }, c.prototype.postSlide = function(f) {
        var e = this;
        e.unslicked || (e.$slider.trigger("afterChange", [e, f]), e.animating = !1, e.setPosition(), e.swipeLeft = null, e.options.autoplay && e.autoPlay(), e.options.accessibility === !0 && e.initADA())
    }, c.prototype.prev = c.prototype.slickPrev = function() {
        var b = this;
        b.changeSlide({
            data: {
                message: "previous"
            }
        })
    }, c.prototype.preventDefault = function(b) {
        b.preventDefault()
    }, c.prototype.progressiveLazyLoad = function(a) {
        a = a || 1;
        var j, i, h, l = this,
            k = d("img[data-lazy]", l.$slider);
        k.length ? (j = k.first(), i = j.attr("data-lazy"), h = document.createElement("img"), h.onload = function() {
            j.attr("src", i).removeAttr("data-lazy").removeClass("slick-loading"), l.options.adaptiveHeight === !0 && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, j, i]), l.progressiveLazyLoad()
        }, h.onerror = function() {
            3 > a ? setTimeout(function() {
                l.progressiveLazyLoad(a + 1)
            }, 500) : (j.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, j, i]), l.progressiveLazyLoad())
        }, h.src = i) : l.$slider.trigger("allImagesLoaded", [l])
    }, c.prototype.refresh = function(a) {
        var g, f, h = this;
        f = h.slideCount - h.options.slidesToShow, !h.options.infinite && h.currentSlide > f && (h.currentSlide = f), h.slideCount <= h.options.slidesToShow && (h.currentSlide = 0), g = h.currentSlide, h.destroy(!0), d.extend(h, h.initials, {
            currentSlide: g
        }), h.init(), a || h.changeSlide({
            data: {
                message: "index",
                index: g
            }
        }, !1)
    }, c.prototype.registerBreakpoints = function() {
        var j, i, h, a = this,
            g = a.options.responsive || null;
        if ("array" === d.type(g) && g.length) {
            a.respondTo = a.options.respondTo || "window";
            for (j in g) {
                if (h = a.breakpoints.length - 1, i = g[j].breakpoint, g.hasOwnProperty(j)) {
                    for (; h >= 0;) {
                        a.breakpoints[h] && a.breakpoints[h] === i && a.breakpoints.splice(h, 1), h--
                    }
                    a.breakpoints.push(i), a.breakpointSettings[i] = g[j].settings
                }
            }
            a.breakpoints.sort(function(b, e) {
                return a.options.mobileFirst ? b - e : e - b
            })
        }
    }, c.prototype.reinit = function() {
        var a = this;
        a.$slides = a.$slideTrack.children(a.options.slide).addClass("slick-slide"), a.slideCount = a.$slides.length, a.currentSlide >= a.slideCount && 0 !== a.currentSlide && (a.currentSlide = a.currentSlide - a.options.slidesToScroll), a.slideCount <= a.options.slidesToShow && (a.currentSlide = 0), a.registerBreakpoints(), a.setProps(), a.setupInfinite(), a.buildArrows(), a.updateArrows(), a.initArrowEvents(), a.buildDots(), a.updateDots(), a.initDotEvents(), a.cleanUpSlideEvents(), a.initSlideEvents(), a.checkResponsive(!1, !0), a.options.focusOnSelect === !0 && d(a.$slideTrack).children().on("click.slick", a.selectHandler), a.setSlideClasses("number" == typeof a.currentSlide ? a.currentSlide : 0), a.setPosition(), a.focusHandler(), a.paused = !a.options.autoplay, a.autoPlay(), a.$slider.trigger("reInit", [a])
    }, c.prototype.resize = function() {
        var a = this;
        d(window).width() !== a.windowWidth && (clearTimeout(a.windowDelay), a.windowDelay = window.setTimeout(function() {
            a.windowWidth = d(window).width(), a.checkResponsive(), a.unslicked || a.setPosition()
        }, 50))
    }, c.prototype.removeSlide = c.prototype.slickRemove = function(f, e, h) {
        var g = this;
        return "boolean" == typeof f ? (e = f, f = e === !0 ? 0 : g.slideCount - 1) : f = e === !0 ? --f : f, g.slideCount < 1 || 0 > f || f > g.slideCount - 1 ? !1 : (g.unload(), h === !0 ? g.$slideTrack.children().remove() : g.$slideTrack.children(this.options.slide).eq(f).remove(), g.$slides = g.$slideTrack.children(this.options.slide), g.$slideTrack.children(this.options.slide).detach(), g.$slideTrack.append(g.$slides), g.$slidesCache = g.$slides, void g.reinit())
    }, c.prototype.setCSS = function(g) {
        var i, h, f = this,
            j = {};
        f.options.rtl === !0 && (g = -g), i = "left" == f.positionProp ? Math.ceil(g) + "px" : "0px", h = "top" == f.positionProp ? Math.ceil(g) + "px" : "0px", j[f.positionProp] = g, f.transformsEnabled === !1 ? f.$slideTrack.css(j) : (j = {}, f.cssTransitions === !1 ? (j[f.animType] = "translate(" + i + ", " + h + ")", f.$slideTrack.css(j)) : (j[f.animType] = "translate3d(" + i + ", " + h + ", 0px)", f.$slideTrack.css(j)))
    }, c.prototype.setDimensions = function() {
        var f = this;
        f.options.vertical === !1 ? f.options.centerMode === !0 && f.$list.css({
            padding: "0px " + f.options.centerPadding
        }) : (f.$list.height(f.$slides.first().outerHeight(!0) * f.options.slidesToShow), f.options.centerMode === !0 && f.$list.css({
            padding: f.options.centerPadding + " 0px"
        })), f.listWidth = f.$list.width(), f.listHeight = f.$list.height(), f.options.vertical === !1 && f.options.variableWidth === !1 ? (f.slideWidth = Math.ceil(f.listWidth / f.options.slidesToShow), f.$slideTrack.width(Math.ceil(f.slideWidth * f.$slideTrack.children(".slick-slide").length))) : f.options.variableWidth === !0 ? f.$slideTrack.width(5000 * f.slideCount) : (f.slideWidth = Math.ceil(f.listWidth), f.$slideTrack.height(Math.ceil(f.$slides.first().outerHeight(!0) * f.$slideTrack.children(".slick-slide").length)));
        var e = f.$slides.first().outerWidth(!0) - f.$slides.first().width();
        f.options.variableWidth === !1 && f.$slideTrack.children(".slick-slide").width(f.slideWidth - e)
    }, c.prototype.setFade = function() {
        var e, a = this;
        a.$slides.each(function(f, b) {
            e = a.slideWidth * f * -1, a.options.rtl === !0 ? d(b).css({
                position: "relative",
                right: e,
                top: 0,
                zIndex: a.options.zIndex - 2,
                opacity: 0
            }) : d(b).css({
                position: "relative",
                left: e,
                top: 0,
                zIndex: a.options.zIndex - 2,
                opacity: 0
            })
        }), a.$slides.eq(a.currentSlide).css({
            zIndex: a.options.zIndex - 1,
            opacity: 1
        })
    }, c.prototype.setHeight = function() {
        var f = this;
        if (1 === f.options.slidesToShow && f.options.adaptiveHeight === !0 && f.options.vertical === !1) {
            var e = f.$slides.eq(f.currentSlide).outerHeight(!0);
            f.$list.css("height", e)
        }
    }, c.prototype.setOption = c.prototype.slickSetOption = function() {
        var n, m, l, k, i, a = this,
            j = !1;
        if ("object" === d.type(arguments[0]) ? (l = arguments[0], j = arguments[1], i = "multiple") : "string" === d.type(arguments[0]) && (l = arguments[0], k = arguments[1], j = arguments[2], "responsive" === arguments[0] && "array" === d.type(arguments[1]) ? i = "responsive" : "undefined" != typeof arguments[1] && (i = "single")), "single" === i) {
            a.options[l] = k
        } else {
            if ("multiple" === i) {
                d.each(l, function(b, e) {
                    a.options[b] = e
                })
            } else {
                if ("responsive" === i) {
                    for (m in k) {
                        if ("array" !== d.type(a.options.responsive)) {
                            a.options.responsive = [k[m]]
                        } else {
                            for (n = a.options.responsive.length - 1; n >= 0;) {
                                a.options.responsive[n].breakpoint === k[m].breakpoint && a.options.responsive.splice(n, 1), n--
                            }
                            a.options.responsive.push(k[m])
                        }
                    }
                }
            }
        }
        j && (a.unload(), a.reinit())
    }, c.prototype.setPosition = function() {
        var b = this;
        b.setDimensions(), b.setHeight(), b.options.fade === !1 ? b.setCSS(b.getLeft(b.currentSlide)) : b.setFade(), b.$slider.trigger("setPosition", [b])
    }, c.prototype.setProps = function() {
        var f = this,
            e = document.body.style;
        f.positionProp = f.options.vertical === !0 ? "top" : "left", "top" === f.positionProp ? f.$slider.addClass("slick-vertical") : f.$slider.removeClass("slick-vertical"), (void 0 !== e.WebkitTransition || void 0 !== e.MozTransition || void 0 !== e.msTransition) && f.options.useCSS === !0 && (f.cssTransitions = !0), f.options.fade && ("number" == typeof f.options.zIndex ? f.options.zIndex < 3 && (f.options.zIndex = 3) : f.options.zIndex = f.defaults.zIndex), void 0 !== e.OTransform && (f.animType = "OTransform", f.transformType = "-o-transform", f.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (f.animType = !1)), void 0 !== e.MozTransform && (f.animType = "MozTransform", f.transformType = "-moz-transform", f.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (f.animType = !1)), void 0 !== e.webkitTransform && (f.animType = "webkitTransform", f.transformType = "-webkit-transform", f.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (f.animType = !1)), void 0 !== e.msTransform && (f.animType = "msTransform", f.transformType = "-ms-transform", f.transitionType = "msTransition", void 0 === e.msTransform && (f.animType = !1)), void 0 !== e.transform && f.animType !== !1 && (f.animType = "transform", f.transformType = "transform", f.transitionType = "transition"), f.transformsEnabled = f.options.useTransform && null !== f.animType && f.animType !== !1
    }, c.prototype.setSlideClasses = function(h) {
        var l, k, j, i, g = this;
        k = g.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), g.$slides.eq(h).addClass("slick-current"), g.options.centerMode === !0 ? (l = Math.floor(g.options.slidesToShow / 2), g.options.infinite === !0 && (h >= l && h <= g.slideCount - 1 - l ? g.$slides.slice(h - l, h + l + 1).addClass("slick-active").attr("aria-hidden", "false") : (j = g.options.slidesToShow + h, k.slice(j - l + 1, j + l + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === h ? k.eq(k.length - 1 - g.options.slidesToShow).addClass("slick-center") : h === g.slideCount - 1 && k.eq(g.options.slidesToShow).addClass("slick-center")), g.$slides.eq(h).addClass("slick-center")) : h >= 0 && h <= g.slideCount - g.options.slidesToShow ? g.$slides.slice(h, h + g.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : k.length <= g.options.slidesToShow ? k.addClass("slick-active").attr("aria-hidden", "false") : (i = g.slideCount % g.options.slidesToShow, j = g.options.infinite === !0 ? g.options.slidesToShow + h : h, g.options.slidesToShow == g.options.slidesToScroll && g.slideCount - h < g.options.slidesToShow ? k.slice(j - (g.options.slidesToShow - i), j + i).addClass("slick-active").attr("aria-hidden", "false") : k.slice(j, j + g.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), "ondemand" === g.options.lazyLoad && g.lazyLoad()
    }, c.prototype.setupInfinite = function() {
        var h, g, f, a = this;
        if (a.options.fade === !0 && (a.options.centerMode = !1), a.options.infinite === !0 && a.options.fade === !1 && (g = null, a.slideCount > a.options.slidesToShow)) {
            for (f = a.options.centerMode === !0 ? a.options.slidesToShow + 1 : a.options.slidesToShow, h = a.slideCount; h > a.slideCount - f; h -= 1) {
                g = h - 1, d(a.$slides[g]).clone(!0).attr("id", "").attr("data-slick-index", g - a.slideCount).prependTo(a.$slideTrack).addClass("slick-cloned")
            }
            for (h = 0; f > h; h += 1) {
                g = h, d(a.$slides[g]).clone(!0).attr("id", "").attr("data-slick-index", g + a.slideCount).appendTo(a.$slideTrack).addClass("slick-cloned")
            }
            a.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
                d(this).attr("id", "")
            })
        }
    }, c.prototype.interrupt = function(f) {
        var e = this;
        f || e.autoPlay(), e.interrupted = f
    }, c.prototype.selectHandler = function(a) {
        var h = this,
            g = d(a.target).is(".slick-slide") ? d(a.target) : d(a.target).parents(".slick-slide"),
            f = parseInt(g.attr("data-slick-index"));
        return f || (f = 0), h.slideCount <= h.options.slidesToShow ? (h.setSlideClasses(f), void h.asNavFor(f)) : void h.slideHandler(f)
    }, c.prototype.slideHandler = function(t, s, r) {
        var q, p, o, n, k, m = null,
            l = this;
        return s = s || !1, l.animating === !0 && l.options.waitForAnimate === !0 || l.options.fade === !0 && l.currentSlide === t || l.slideCount <= l.options.slidesToShow ? void 0 : (s === !1 && l.asNavFor(t), q = t, m = l.getLeft(q), n = l.getLeft(l.currentSlide), l.currentLeft = null === l.swipeLeft ? n : l.swipeLeft, l.options.infinite === !1 && l.options.centerMode === !1 && (0 > t || t > l.getDotCount() * l.options.slidesToScroll) ? void(l.options.fade === !1 && (q = l.currentSlide, r !== !0 ? l.animateSlide(n, function() {
            l.postSlide(q)
        }) : l.postSlide(q))) : l.options.infinite === !1 && l.options.centerMode === !0 && (0 > t || t > l.slideCount - l.options.slidesToScroll) ? void(l.options.fade === !1 && (q = l.currentSlide, r !== !0 ? l.animateSlide(n, function() {
            l.postSlide(q)
        }) : l.postSlide(q))) : (l.options.autoplay && clearInterval(l.autoPlayTimer), p = 0 > q ? l.slideCount % l.options.slidesToScroll !== 0 ? l.slideCount - l.slideCount % l.options.slidesToScroll : l.slideCount + q : q >= l.slideCount ? l.slideCount % l.options.slidesToScroll !== 0 ? 0 : q - l.slideCount : q, l.animating = !0, l.$slider.trigger("beforeChange", [l, l.currentSlide, p]), o = l.currentSlide, l.currentSlide = p, l.setSlideClasses(l.currentSlide), l.options.asNavFor && (k = l.getNavTarget(), k = k.slick("getSlick"), k.slideCount <= k.options.slidesToShow && k.setSlideClasses(l.currentSlide)), l.updateDots(), l.updateArrows(), l.options.fade === !0 ? (r !== !0 ? (l.fadeSlideOut(o), l.fadeSlide(p, function() {
            l.postSlide(p)
        })) : l.postSlide(p), void l.animateHeight()) : void(r !== !0 ? l.animateSlide(m, function() {
            l.postSlide(p)
        }) : l.postSlide(p))))
    }, c.prototype.startLoad = function() {
        var b = this;
        b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow.hide(), b.$nextArrow.hide()), b.options.dots === !0 && b.slideCount > b.options.slidesToShow && b.$dots.hide(), b.$slider.addClass("slick-loading")
    }, c.prototype.swipeDirection = function() {
        var g, f, j, i, h = this;
        return g = h.touchObject.startX - h.touchObject.curX, f = h.touchObject.startY - h.touchObject.curY, j = Math.atan2(f, g), i = Math.round(180 * j / Math.PI), 0 > i && (i = 360 - Math.abs(i)), 45 >= i && i >= 0 ? h.options.rtl === !1 ? "left" : "right" : 360 >= i && i >= 315 ? h.options.rtl === !1 ? "left" : "right" : i >= 135 && 225 >= i ? h.options.rtl === !1 ? "right" : "left" : h.options.verticalSwiping === !0 ? i >= 35 && 135 >= i ? "down" : "up" : "vertical"
    }, c.prototype.swipeEnd = function(f) {
        var h, g, e = this;
        if (e.dragging = !1, e.interrupted = !1, e.shouldClick = e.touchObject.swipeLength > 10 ? !1 : !0, void 0 === e.touchObject.curX) {
            return !1
        }
        if (e.touchObject.edgeHit === !0 && e.$slider.trigger("edge", [e, e.swipeDirection()]), e.touchObject.swipeLength >= e.touchObject.minSwipe) {
            switch (g = e.swipeDirection()) {
                case "left":
                case "down":
                    h = e.options.swipeToSlide ? e.checkNavigable(e.currentSlide + e.getSlideCount()) : e.currentSlide + e.getSlideCount(), e.currentDirection = 0;
                    break;
                case "right":
                case "up":
                    h = e.options.swipeToSlide ? e.checkNavigable(e.currentSlide - e.getSlideCount()) : e.currentSlide - e.getSlideCount(), e.currentDirection = 1
            }
            "vertical" != g && (e.slideHandler(h), e.touchObject = {}, e.$slider.trigger("swipe", [e, g]))
        } else {
            e.touchObject.startX !== e.touchObject.curX && (e.slideHandler(e.currentSlide), e.touchObject = {})
        }
    }, c.prototype.swipeHandler = function(f) {
        var e = this;
        if (!(e.options.swipe === !1 || "ontouchend" in document && e.options.swipe === !1 || e.options.draggable === !1 && -1 !== f.type.indexOf("mouse"))) {
            switch (e.touchObject.fingerCount = f.originalEvent && void 0 !== f.originalEvent.touches ? f.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, e.options.verticalSwiping === !0 && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), f.data.action) {
                case "start":
                    e.swipeStart(f);
                    break;
                case "move":
                    e.swipeMove(f);
                    break;
                case "end":
                    e.swipeEnd(f)
            }
        }
    }, c.prototype.swipeMove = function(j) {
        var o, n, m, l, k, i = this;
        return k = void 0 !== j.originalEvent ? j.originalEvent.touches : null, !i.dragging || k && 1 !== k.length ? !1 : (o = i.getLeft(i.currentSlide), i.touchObject.curX = void 0 !== k ? k[0].pageX : j.clientX, i.touchObject.curY = void 0 !== k ? k[0].pageY : j.clientY, i.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(i.touchObject.curX - i.touchObject.startX, 2))), i.options.verticalSwiping === !0 && (i.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(i.touchObject.curY - i.touchObject.startY, 2)))), n = i.swipeDirection(), "vertical" !== n ? (void 0 !== j.originalEvent && i.touchObject.swipeLength > 4 && j.preventDefault(), l = (i.options.rtl === !1 ? 1 : -1) * (i.touchObject.curX > i.touchObject.startX ? 1 : -1), i.options.verticalSwiping === !0 && (l = i.touchObject.curY > i.touchObject.startY ? 1 : -1), m = i.touchObject.swipeLength, i.touchObject.edgeHit = !1, i.options.infinite === !1 && (0 === i.currentSlide && "right" === n || i.currentSlide >= i.getDotCount() && "left" === n) && (m = i.touchObject.swipeLength * i.options.edgeFriction, i.touchObject.edgeHit = !0), i.options.vertical === !1 ? i.swipeLeft = o + m * l : i.swipeLeft = o + m * (i.$list.height() / i.listWidth) * l, i.options.verticalSwiping === !0 && (i.swipeLeft = o + m * l), i.options.fade === !0 || i.options.touchMove === !1 ? !1 : i.animating === !0 ? (i.swipeLeft = null, !1) : void i.setCSS(i.swipeLeft)) : void 0)
    }, c.prototype.swipeStart = function(f) {
        var g, e = this;
        return e.interrupted = !0, 1 !== e.touchObject.fingerCount || e.slideCount <= e.options.slidesToShow ? (e.touchObject = {}, !1) : (void 0 !== f.originalEvent && void 0 !== f.originalEvent.touches && (g = f.originalEvent.touches[0]), e.touchObject.startX = e.touchObject.curX = void 0 !== g ? g.pageX : f.clientX, e.touchObject.startY = e.touchObject.curY = void 0 !== g ? g.pageY : f.clientY, void(e.dragging = !0))
    }, c.prototype.unfilterSlides = c.prototype.slickUnfilter = function() {
        var b = this;
        null !== b.$slidesCache && (b.unload(), b.$slideTrack.children(this.options.slide).detach(), b.$slidesCache.appendTo(b.$slideTrack), b.reinit())
    }, c.prototype.unload = function() {
        var a = this;
        d(".slick-cloned", a.$slider).remove(), a.$dots && a.$dots.remove(), a.$prevArrow && a.htmlExpr.test(a.options.prevArrow) && a.$prevArrow.remove(), a.$nextArrow && a.htmlExpr.test(a.options.nextArrow) && a.$nextArrow.remove(), a.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
    }, c.prototype.unslick = function(f) {
        var e = this;
        e.$slider.trigger("unslick", [e, f]), e.destroy()
    }, c.prototype.updateArrows = function() {
        var e, f = this;
        e = Math.floor(f.options.slidesToShow / 2), f.options.arrows === !0 && f.slideCount > f.options.slidesToShow && !f.options.infinite && (f.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), f.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === f.currentSlide ? (f.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), f.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : f.currentSlide >= f.slideCount - f.options.slidesToShow && f.options.centerMode === !1 ? (f.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), f.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : f.currentSlide >= f.slideCount - 1 && f.options.centerMode === !0 && (f.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), f.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
    }, c.prototype.updateDots = function() {
        var b = this;
        null !== b.$dots && (b.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), b.$dots.find("li").eq(Math.floor(b.currentSlide / b.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false"))
    }, c.prototype.visibility = function() {
        var b = this;
        b.options.autoplay && (document[b.hidden] ? b.interrupted = !0 : b.interrupted = !1)
    }, d.fn.slick = function() {
        var i, h, b = this,
            l = arguments[0],
            k = Array.prototype.slice.call(arguments, 1),
            j = b.length;
        for (i = 0; j > i; i++) {
            if ("object" == typeof l || "undefined" == typeof l ? b[i].slick = new c(b[i], l) : h = b[i].slick[l].apply(b[i].slick, k), "undefined" != typeof h) {
                return h
            }
        }
        return b
    }
});
$(document).ready(function() {
    if (typeof productList != "array" && typeof productList != "object") {
        console.error("No products available");
        return
    }
    for (var d = 0; d < productList.length; d++) {
        var c = productList[d];
        if (typeof c == "object") {
            var b = $(".product_slider");
            $(b).append("<div></div>");
            var a = $(b).find(">div:last-child");
            $(a).attr("attr-price", c.price);
            $(a).attr("attr-ref", c.ref);
            $(a).attr("attr-ean", c.ean);
            $(a).addClass("product");
            $(a).append("<img class='img' src='" + c.image + "'' />");
            $(a).append('<div class="name">' + c.name + "</div>");
            $(a).append('<div class="desc">' + c.desc + "</div>");
            $(a).append('<div class="sn">' + c.ref + "</div>");
            $(a).append('<div class="price">' + c.price + "</div>");
            if (c.link != null) {
                $(a).append('<a href="' + c.link + '" class="btn knowmore">See more</a>')
            }
            if (c.cmmf != null) {
                $(a).find(".knowmore").addClass("grey");
                $(a).append('<p><a data-analytics-buyonlinebutton=""  data-analytics-buyonlinebutton-productname="' + c.name + '"  class="btns btn_open_info_about_product btn btn-action buy buyonline" data-analytics-buyonlinebutton-productid="' + c.cmmf + '" data-analytics-buyonlinebutton-productprice="' + c.price + '" seo-data-url="/buyonline/' + c.cmmf + '" title="Acheter en ligne">Acheter</a> <a id="buyonline-redirect-link" class="hide"></a></p>')
            }
        }
    }
    $(".buyonline").on("click", function(f) {
        ACC.product.checkBuyOnline(this);
        f.preventDefault()
    });
    $(".product_slider").slick({
        dots: false,
        infinite: true,
        speed: 600,
        centerMode: false,
        variableWidth: true,
        adaptiveHeight: false,
        slidesToShow: 4,
        slidesToScroll: 2,
        responsive: [{
            breakpoint: 999,
            settings: {
                slidesToShow: 2,
                slidesToScroll: 2
            }
        }, {
            breakpoint: 500,
            settings: {
                slidesToShow: 1,
                variableWidth: false,
                slidesToScroll: 1
            }
        }]
    })


    /** Gestion de la video header */

    if (window.innerWidth > 768) {
        $("#aaaa .video-container video").on("play", function(){
            $(this).parents(".video-container").addClass("active");
        });

        $("#aaaa .video-container video").on("ended", function(){
            $(this).parents(".video-container").removeClass("active");
        });

        $("#aaaa .desktop-player-launcher").click(function(){
            $("#aaaa .video-container video").trigger("play");
        }).click();
    } else {
        $("#aaaa #header .mobile-player-launcher").click(function(){
            $("#aaaa .video-popup-container").fadeIn();
            $("#aaaa .video-popup-container video")[0].currentTime = 0;
            $("#aaaa .video-popup-container video").trigger("play");
        });
        $("#aaaa .video-popup-container video").on("ended pause", function(){
            $("#aaaa .video-popup-container").fadeOut(); 
        });
        $("#aaaa .video-popup-container").on("click", function(){
            $("#aaaa .video-popup-container video").trigger("pause");
        });
    }
});