Overview

URLdoriantrade.com/tvmu/trsucks
IP 192.232.219.76 (United States)
ASN#46606 UNIFIEDLAYER-AS-1
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Report completed2022-10-13 00:00:00 UTC
StatusLoading report..
IDS alerts0
Blocklist alert77
urlquery alerts No alerts detected
Tags None

Domain Summary (18)

Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
www.doriantrade.com (74) 0 2017-01-20 11:19:24 UTC 2022-10-11 21:02:45 UTC 192.232.219.76 Unknown ranking
fonts.gstatic.com (2) 0 2014-08-29 13:43:22 UTC 2022-10-12 08:19:39 UTC 216.58.207.195 Domain (gstatic.com) ranked at: 540
vsa107.tawk.to (1) 0 2020-06-19 06:23:18 UTC 2022-10-12 07:04:27 UTC 172.67.38.66 Domain (tawk.to) ranked at: 6313
va.tawk.to (1) 8297 2017-01-30 04:20:46 UTC 2022-10-12 12:11:05 UTC 104.22.25.131
r3.o.lencr.org (7) 344 2020-12-02 08:52:13 UTC 2022-10-12 04:58:09 UTC 23.36.77.32
content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2022-10-12 04:58:20 UTC 34.160.144.191
contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2022-10-12 04:58:51 UTC 34.117.237.239
ocsp.digicert.com (3) 86 2012-05-21 07:02:23 UTC 2022-10-12 19:59:18 UTC 93.184.220.29
doriantrade.com (1) 0 2015-05-19 22:11:23 UTC 2022-10-11 21:02:55 UTC 192.232.219.76 Unknown ranking
push.services.mozilla.com (1) 2140 2015-09-03 10:29:36 UTC 2022-10-12 05:00:17 UTC 34.218.164.174
ocsp.pki.goog (10) 175 2017-06-14 07:23:31 UTC 2022-10-12 04:59:04 UTC 142.250.74.3
www.googleadservices.com (1) 107 2012-07-21 05:05:30 UTC 2022-10-12 23:52:43 UTC 142.250.74.98
fonts.googleapis.com (2) 8877 2013-06-10 20:14:26 UTC 2022-10-12 11:41:31 UTC 142.250.74.10
cdn.jsdelivr.net (1) 439 2012-09-30 00:15:09 UTC 2022-10-12 05:07:11 UTC 151.101.85.229
firefox.settings.services.mozilla.com (2) 867 2020-06-27 01:58:08 UTC 2022-10-12 23:14:05 UTC 54.230.111.7
ocsp.sectigo.com (1) 487 2018-12-17 11:31:55 UTC 2022-10-12 18:33:14 UTC 172.64.155.188
img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2022-10-12 12:13:11 UTC 34.120.237.76
embed.tawk.to (6) 8650 2014-03-19 21:03:49 UTC 2022-10-12 12:12:15 UTC 104.22.25.131

Network Intrusion Detection Systemsinfo

Suricata /w Emerging Threats Pro
 No alerts detected

Blocklists

OpenPhish
 No alerts detected

PhishTank
 No alerts detected

Fortinet's Web Filter
Scan Date Severity Indicator Comment
2022-10-13 2 doriantrade.com/tvmu/trsucks Malware
2022-10-13 2 www.doriantrade.com/tvmu/trsucks Malware

mnemonic secure dns
 No alerts detected

Quad9 DNS
Scan Date Severity Indicator Comment
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed
2022-10-13 2 doriantrade.com Sinkholed


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 192.232.219.76
Date UQ / IDS / BL URL IP
2022-10-14 03:39:17 +0000 0 - 0 - 2 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-13 00:00:00 +0000 0 - 0 - 77 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-11 21:02:53 +0000 0 - 0 - 78 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-10 18:43:42 +0000 0 - 0 - 3 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-09 15:21:06 +0000 0 - 0 - 3 doriantrade.com/tvmu/trsucks 192.232.219.76


Last 5 reports on ASN: UNIFIEDLAYER-AS-1
Date UQ / IDS / BL URL IP
2023-01-29 05:12:09 +0000 0 - 0 - 2 teamswaner.com/auth 192.185.188.104
2023-01-29 05:12:04 +0000 0 - 3 - 3 mysouthbay.com/wp-content/uploads/2020/sup.exe 50.87.248.26
2023-01-29 05:11:59 +0000 0 - 2 - 3 mysouthbay.com/wp-content/uploads/supsss.exe 50.87.248.26
2023-01-29 05:11:55 +0000 0 - 2 - 3 mysouthbay.com/wp-content/uploads/2021/neww.exe 50.87.248.26
2023-01-29 05:11:31 +0000 0 - 2 - 3 mysouthbay.com/wp-content/uploads/2021/11/new (...) 50.87.248.26


Last 5 reports on domain: doriantrade.com
Date UQ / IDS / BL URL IP
2022-10-14 03:39:17 +0000 0 - 0 - 2 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-13 00:00:00 +0000 0 - 0 - 77 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-11 21:02:53 +0000 0 - 0 - 78 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-10 18:43:42 +0000 0 - 0 - 3 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-09 15:21:06 +0000 0 - 0 - 3 doriantrade.com/tvmu/trsucks 192.232.219.76


Last 2 reports with similar screenshot
Date UQ / IDS / BL URL IP
2022-10-14 03:39:17 +0000 0 - 0 - 2 doriantrade.com/tvmu/trsucks 192.232.219.76
2022-10-11 21:02:53 +0000 0 - 0 - 78 doriantrade.com/tvmu/trsucks 192.232.219.76

JavaScript

Executed Scripts (72)

Executed Evals (4)
#1 JavaScript::Eval (size: 79156) - SHA256: dafb3c695c6da2fdce4f40af5520413c9a67242b0d533bdf1f57ca4d3f3cda06
! function(t, e) {
    "use strict";
    var i = t.GreenSockGlobals = t.GreenSockGlobals || t;
    if (!i.TweenLite) {
        var r, s, n, a, o, l = function(t) {
                var e, r = t.split("."),
                    s = i;
                for (e = 0; r.length > e; e++) s[r[e]] = s = s[r[e]] || {};
                return s
            },
            h = l("com.greensock"),
            u = 1e-10,
            f = function(t) {
                var e, i = [],
                    r = t.length;
                for (e = 0; e !== r; i.push(t[e++]));
                return i
            },
            p = function() {},
            _ = function() {
                var t = Object.prototype.toString,
                    e = t.call([]);
                return function(i) {
                    return null != i && (i instanceof Array || "object" == typeof i && !!i.push && t.call(i) === e)
                }
            }(),
            c = {},
            d = function(r, s, n, a) {
                this.sc = c[r] ? c[r].sc : [], c[r] = this, this.gsClass = null, this.func = n;
                var o = [];
                this.check = function(h) {
                    for (var u, f, p, _, m = s.length, g = m; --m > -1;)(u = c[s[m]] || new d(s[m], [])).gsClass ? (o[m] = u.gsClass, g--) : h && u.sc.push(this);
                    if (0 === g && n)
                        for (f = ("com.greensock." + r).split("."), p = f.pop(), _ = l(f.join("."))[p] = this.gsClass = n.apply(n, o), a && (i[p] = _, "function" == typeof define && define.amd ? define((t.GreenSockAMDPath ? t.GreenSockAMDPath + "/" : "") + r.split(".").pop(), [], function() {
                                return _
                            }) : r === e && "undefined" != typeof module && module.exports && (module.exports = _)), m = 0; this.sc.length > m; m++) this.sc[m].check()
                }, this.check(!0)
            },
            m = t._gsDefine = function(t, e, i, r) {
                return new d(t, e, i, r)
            },
            g = h._class = function(t, e, i) {
                return e = e || function() {}, m(t, [], function() {
                    return e
                }, i), e
            };
        m.globals = i;
        var v = [0, 0, 1, 1],
            x = [],
            y = g("easing.Ease", function(t, e, i, r) {
                this._func = t, this._type = i || 0, this._power = r || 0, this._params = e ? v.concat(e) : v
            }, !0),
            T = y.map = {},
            w = y.register = function(t, e, i, r) {
                for (var s, n, a, o, l = e.split(","), u = l.length, f = (i || "easeIn,easeOut,easeInOut").split(","); --u > -1;)
                    for (n = l[u], s = r ? g("easing." + n, null, !0) : h.easing[n] || {}, a = f.length; --a > -1;) o = f[a], T[n + "." + o] = T[o + n] = s[o] = t.getRatio ? t : t[o] || new t
            };
        for (n = y.prototype, n._calcEnd = !1, n.getRatio = function(t) {
                if (this._func) return this._params[0] = t, this._func.apply(null, this._params);
                var e = this._type,
                    i = this._power,
                    r = 1 === e ? 1 - t : 2 === e ? t : .5 > t ? 2 * t : 2 * (1 - t);
                return 1 === i ? r *= r : 2 === i ? r *= r * r : 3 === i ? r *= r * r * r : 4 === i && (r *= r * r * r * r), 1 === e ? 1 - r : 2 === e ? r : .5 > t ? r / 2 : 1 - r / 2
            }, r = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], s = r.length; --s > -1;) n = r[s] + ",Power" + s, w(new y(null, null, 1, s), n, "easeOut", !0), w(new y(null, null, 2, s), n, "easeIn" + (0 === s ? ",easeNone" : "")), w(new y(null, null, 3, s), n, "easeInOut");
        T.linear = h.easing.Linear.easeIn, T.swing = h.easing.Quad.easeInOut;
        var b = g("events.EventDispatcher", function(t) {
            this._listeners = {}, this._eventTarget = t || this
        });
        n = b.prototype, n.addEventListener = function(t, e, i, r, s) {
            s = s || 0;
            var n, l, h = this._listeners[t],
                u = 0;
            for (null == h && (this._listeners[t] = h = []), l = h.length; --l > -1;) n = h[l], n.c === e && n.s === i ? h.splice(l, 1) : 0 === u && s > n.pr && (u = l + 1);
            h.splice(u, 0, {
                c: e,
                s: i,
                up: r,
                pr: s
            }), this !== a || o || a.wake()
        }, n.removeEventListener = function(t, e) {
            var i, r = this._listeners[t];
            if (r)
                for (i = r.length; --i > -1;)
                    if (r[i].c === e) return void r.splice(i, 1)
        }, n.dispatchEvent = function(t) {
            var e, i, r, s = this._listeners[t];
            if (s)
                for (e = s.length, i = this._eventTarget; --e > -1;) r = s[e], r && (r.up ? r.c.call(r.s || i, {
                    type: t,
                    target: i
                }) : r.c.call(r.s || i))
        };
        var P = t.requestAnimationFrame,
            O = t.cancelAnimationFrame,
            S = Date.now || function() {
                return (new Date).getTime()
            },
            k = S();
        for (r = ["ms", "moz", "webkit", "o"], s = r.length; --s > -1 && !P;) P = t[r[s] + "RequestAnimationFrame"], O = t[r[s] + "CancelAnimationFrame"] || t[r[s] + "CancelRequestAnimationFrame"];
        g("Ticker", function(t, e) {
            var i, r, s, n, l, h = this,
                f = S(),
                _ = e !== !1 && P,
                c = 500,
                d = 33,
                m = "tick",
                g = function(t) {
                    var e, a, o = S() - k;
                    o > c && (f += o - d), k += o, h.time = (k - f) / 1e3, e = h.time - l, (!i || e > 0 || t === !0) && (h.frame++, l += e + (e >= n ? .004 : n - e), a = !0), t !== !0 && (s = r(g)), a && h.dispatchEvent(m)
                };
            b.call(h), h.time = h.frame = 0, h.tick = function() {
                g(!0)
            }, h.lagSmoothing = function(t, e) {
                c = t || 1 / u, d = Math.min(e, c, 0)
            }, h.sleep = function() {
                null != s && (_ && O ? O(s) : clearTimeout(s), r = p, s = null, h === a && (o = !1))
            }, h.wake = function() {
                null !== s ? h.sleep() : h.frame > 10 && (k = S() - c + 5), r = 0 === i ? p : _ && P ? P : function(t) {
                    return setTimeout(t, 0 | 1e3 * (l - h.time) + 1)
                }, h === a && (o = !0), g(2)
            }, h.fps = function(t) {
                return arguments.length ? (i = t, n = 1 / (i || 60), l = this.time + n, void h.wake()) : i
            }, h.useRAF = function(t) {
                return arguments.length ? (h.sleep(), _ = t, void h.fps(i)) : _
            }, h.fps(t), setTimeout(function() {
                _ && 5 > h.frame && h.useRAF(!1)
            }, 1500)
        }), n = h.Ticker.prototype = new h.events.EventDispatcher, n.constructor = h.Ticker;
        var A = g("core.Animation", function(t, e) {
            if (this.vars = e = e || {}, this._duration = this._totalDuration = t || 0, this._delay = Number(e.delay) || 0, this._timeScale = 1, this._active = e.immediateRender === !0, this.data = e.data, this._reversed = e.reversed === !0, V) {
                o || a.wake();
                var i = this.vars.useFrames ? j : V;
                i.add(this, i._time), this.vars.paused && this.paused(!0)
            }
        });
        a = A.ticker = new h.Ticker, n = A.prototype, n._dirty = n._gc = n._initted = n._paused = !1, n._totalTime = n._time = 0, n._rawPrevTime = -1, n._next = n._last = n._onUpdate = n._timeline = n.timeline = null, n._paused = !1;
        var C = function() {
            o && S() - k > 2e3 && a.wake(), setTimeout(C, 2e3)
        };
        C(), n.play = function(t, e) {
            return null != t && this.seek(t, e), this.reversed(!1).paused(!1)
        }, n.pause = function(t, e) {
            return null != t && this.seek(t, e), this.paused(!0)
        }, n.resume = function(t, e) {
            return null != t && this.seek(t, e), this.paused(!1)
        }, n.seek = function(t, e) {
            return this.totalTime(Number(t), e !== !1)
        }, n.restart = function(t, e) {
            return this.reversed(!1).paused(!1).totalTime(t ? -this._delay : 0, e !== !1, !0)
        }, n.reverse = function(t, e) {
            return null != t && this.seek(t || this.totalDuration(), e), this.reversed(!0).paused(!1)
        }, n.render = function() {}, n.invalidate = function() {
            return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this
        }, n.isActive = function() {
            var t, e = this._timeline,
                i = this._startTime;
            return !e || !this._gc && !this._paused && e.isActive() && (t = e.rawTime()) >= i && i + this.totalDuration() / this._timeScale > t
        }, n._enabled = function(t, e) {
            return o || a.wake(), this._gc = !t, this._active = this.isActive(), e !== !0 && (t && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !t && this.timeline && this._timeline._remove(this, !0)), !1
        }, n._kill = function() {
            return this._enabled(!1, !1)
        }, n.kill = function(t, e) {
            return this._kill(t, e), this
        }, n._uncache = function(t) {
            for (var e = t ? this : this.timeline; e;) e._dirty = !0, e = e.timeline;
            return this
        }, n._swapSelfInParams = function(t) {
            for (var e = t.length, i = t.concat(); --e > -1;) "{self}" === t[e] && (i[e] = this);
            return i
        }, n._callback = function(t) {
            var e = this.vars;
            e[t].apply(e[t + "Scope"] || e.callbackScope || this, e[t + "Params"] || x)
        }, n.eventCallback = function(t, e, i, r) {
            if ("on" === (t || "").substr(0, 2)) {
                var s = this.vars;
                if (1 === arguments.length) return s[t];
                null == e ? delete s[t] : (s[t] = e, s[t + "Params"] = _(i) && -1 !== i.join("").indexOf("{self}") ? this._swapSelfInParams(i) : i, s[t + "Scope"] = r), "onUpdate" === t && (this._onUpdate = e)
            }
            return this
        }, n.delay = function(t) {
            return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + t - this._delay), this._delay = t, this) : this._delay
        }, n.duration = function(t) {
            return arguments.length ? (this._duration = this._totalDuration = t, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== t && this.totalTime(this._totalTime * (t / this._duration), !0), this) : (this._dirty = !1, this._duration)
        }, n.totalDuration = function(t) {
            return this._dirty = !1, arguments.length ? this.duration(t) : this._totalDuration
        }, n.time = function(t, e) {
            return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(t > this._duration ? this._duration : t, e)) : this._time
        }, n.totalTime = function(t, e, i) {
            if (o || a.wake(), !arguments.length) return this._totalTime;
            if (this._timeline) {
                if (0 > t && !i && (t += this.totalDuration()), this._timeline.smoothChildTiming) {
                    this._dirty && this.totalDuration();
                    var r = this._totalDuration,
                        s = this._timeline;
                    if (t > r && !i && (t = r), this._startTime = (this._paused ? this._pauseTime : s._time) - (this._reversed ? r - t : t) / this._timeScale, s._dirty || this._uncache(!1), s._timeline)
                        for (; s._timeline;) s._timeline._time !== (s._startTime + s._totalTime) / s._timeScale && s.totalTime(s._totalTime, !0), s = s._timeline
                }
                this._gc && this._enabled(!0, !1), (this._totalTime !== t || 0 === this._duration) && (this.render(t, e, !1), z.length && q())
            }
            return this
        }, n.progress = n.totalProgress = function(t, e) {
            return arguments.length ? this.totalTime(this.duration() * t, e) : this._time / this.duration()
        }, n.startTime = function(t) {
            return arguments.length ? (t !== this._startTime && (this._startTime = t, this.timeline && this.timeline._sortChildren && this.timeline.add(this, t - this._delay)), this) : this._startTime
        }, n.endTime = function(t) {
            return this._startTime + (0 != t ? this.totalDuration() : this.duration()) / this._timeScale
        }, n.timeScale = function(t) {
            if (!arguments.length) return this._timeScale;
            if (t = t || u, this._timeline && this._timeline.smoothChildTiming) {
                var e = this._pauseTime,
                    i = e || 0 === e ? e : this._timeline.totalTime();
                this._startTime = i - (i - this._startTime) * this._timeScale / t
            }
            return this._timeScale = t, this._uncache(!1)
        }, n.reversed = function(t) {
            return arguments.length ? (t != this._reversed && (this._reversed = t, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed
        }, n.paused = function(t) {
            if (!arguments.length) return this._paused;
            var e, i, r = this._timeline;
            return t != this._paused && r && (o || t || a.wake(), e = r.rawTime(), i = e - this._pauseTime, !t && r.smoothChildTiming && (this._startTime += i, this._uncache(!1)), this._pauseTime = t ? e : null, this._paused = t, this._active = this.isActive(), !t && 0 !== i && this._initted && this.duration() && this.render(r.smoothChildTiming ? this._totalTime : (e - this._startTime) / this._timeScale, !0, !0)), this._gc && !t && this._enabled(!0, !1), this
        };
        var R = g("core.SimpleTimeline", function(t) {
            A.call(this, 0, t), this.autoRemoveChildren = this.smoothChildTiming = !0
        });
        n = R.prototype = new A, n.constructor = R, n.kill()._gc = !1, n._first = n._last = n._recent = null, n._sortChildren = !1, n.add = n.insert = function(t, e) {
            var i, r;
            if (t._startTime = Number(e || 0) + t._delay, t._paused && this !== t._timeline && (t._pauseTime = t._startTime + (this.rawTime() - t._startTime) / t._timeScale), t.timeline && t.timeline._remove(t, !0), t.timeline = t._timeline = this, t._gc && t._enabled(!0, !0), i = this._last, this._sortChildren)
                for (r = t._startTime; i && i._startTime > r;) i = i._prev;
            return i ? (t._next = i._next, i._next = t) : (t._next = this._first, this._first = t), t._next ? t._next._prev = t : this._last = t, t._prev = i, this._recent = t, this._timeline && this._uncache(!0), this
        }, n._remove = function(t, e) {
            return t.timeline === this && (e || t._enabled(!1, !0), t._prev ? t._prev._next = t._next : this._first === t && (this._first = t._next), t._next ? t._next._prev = t._prev : this._last === t && (this._last = t._prev), t._next = t._prev = t.timeline = null, t === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this
        }, n.render = function(t, e, i) {
            var r, s = this._first;
            for (this._totalTime = this._time = this._rawPrevTime = t; s;) r = s._next, (s._active || t >= s._startTime && !s._paused) && (s._reversed ? s.render((s._dirty ? s.totalDuration() : s._totalDuration) - (t - s._startTime) * s._timeScale, e, i) : s.render((t - s._startTime) * s._timeScale, e, i)), s = r
        }, n.rawTime = function() {
            return o || a.wake(), this._totalTime
        };
        var M = g("TweenLite", function(e, i, r) {
                if (A.call(this, i, r), this.render = M.prototype.render, null == e) throw "Cannot tween a null target.";
                this.target = e = "string" != typeof e ? e : M.selector(e) || e;
                var s, n, a, o = e.jquery || e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType),
                    l = this.vars.overwrite;
                if (this._overwrite = l = null == l ? B[M.defaultOverwrite] : "number" == typeof l ? l >> 0 : B[l], (o || e instanceof Array || e.push && _(e)) && "number" != typeof e[0])
                    for (this._targets = a = f(e), this._propLookup = [], this._siblings = [], s = 0; a.length > s; s++) n = a[s], n ? "string" != typeof n ? n.length && n !== t && n[0] && (n[0] === t || n[0].nodeType && n[0].style && !n.nodeType) ? (a.splice(s--, 1), this._targets = a = a.concat(f(n))) : (this._siblings[s] = W(n, this, !1), 1 === l && this._siblings[s].length > 1 && G(n, this, null, 1, this._siblings[s])) : (n = a[s--] = M.selector(n), "string" == typeof n && a.splice(s + 1, 1)) : a.splice(s--, 1);
                else this._propLookup = {}, this._siblings = W(e, this, !1), 1 === l && this._siblings.length > 1 && G(e, this, null, 1, this._siblings);
                (this.vars.immediateRender || 0 === i && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -u, this.render(-this._delay))
            }, !0),
            D = function(e) {
                return e && e.length && e !== t && e[0] && (e[0] === t || e[0].nodeType && e[0].style && !e.nodeType)
            },
            X = function(t, e) {
                var i, r = {};
                for (i in t) Y[i] || i in e && "transform" !== i && "x" !== i && "y" !== i && "width" !== i && "height" !== i && "className" !== i && "border" !== i || !(!N[i] || N[i] && N[i]._autoCSS) || (r[i] = t[i], delete t[i]);
                t.css = r
            };
        n = M.prototype = new A, n.constructor = M, n.kill()._gc = !1, n.ratio = 0, n._firstPT = n._targets = n._overwrittenProps = n._startAt = null, n._notifyPluginsOfEnabled = n._lazy = !1, M.version = "1.17.0", M.defaultEase = n._ease = new y(null, null, 1, 1), M.defaultOverwrite = "auto", M.ticker = a, M.autoSleep = 120, M.lagSmoothing = function(t, e) {
            a.lagSmoothing(t, e)
        }, M.selector = t.$ || t.jQuery || function(e) {
            var i = t.$ || t.jQuery;
            return i ? (M.selector = i, i(e)) : "undefined" == typeof document ? e : document.querySelectorAll ? document.querySelectorAll(e) : document.getElementById("#" === e.charAt(0) ? e.substr(1) : e)
        };
        var z = [],
            F = {},
            I = M._internals = {
                isArray: _,
                isSelector: D,
                lazyTweens: z
            },
            N = M._plugins = {},
            E = I.tweenLookup = {},
            L = 0,
            Y = I.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
            },
            B = {
                none: 0,
                all: 1,
                auto: 2,
                concurrent: 3,
                allOnStart: 4,
                preexisting: 5,
                "true": 1,
                "false": 0
            },
            j = A._rootFramesTimeline = new R,
            V = A._rootTimeline = new R,
            U = 30,
            q = I.lazyRender = function() {
                var t, e = z.length;
                for (F = {}; --e > -1;) t = z[e], t && t._lazy !== !1 && (t.render(t._lazy[0], t._lazy[1], !0), t._lazy = !1);
                z.length = 0
            };
        V._startTime = a.time, j._startTime = a.frame, V._active = j._active = !0, setTimeout(q, 1), A._updateRoot = M.render = function() {
            var t, e, i;
            if (z.length && q(), V.render((a.time - V._startTime) * V._timeScale, !1, !1), j.render((a.frame - j._startTime) * j._timeScale, !1, !1), z.length && q(), a.frame >= U) {
                U = a.frame + (parseInt(M.autoSleep, 10) || 120);
                for (i in E) {
                    for (e = E[i].tweens, t = e.length; --t > -1;) e[t]._gc && e.splice(t, 1);
                    0 === e.length && delete E[i]
                }
                if (i = V._first, (!i || i._paused) && M.autoSleep && !j._first && 1 === a._listeners.tick.length) {
                    for (; i && i._paused;) i = i._next;
                    i || a.sleep()
                }
            }
        }, a.addEventListener("tick", A._updateRoot);
        var W = function(t, e, i) {
                var r, s, n = t._gsTweenID;
                if (E[n || (t._gsTweenID = n = "t" + L++)] || (E[n] = {
                        target: t,
                        tweens: []
                    }), e && (r = E[n].tweens, r[s = r.length] = e, i))
                    for (; --s > -1;) r[s] === e && r.splice(s, 1);
                return E[n].tweens
            },
            Z = function(t, e, i, r) {
                var s, n, a = t.vars.onOverwrite;
                return a && (s = a(t, e, i, r)), a = M.onOverwrite, a && (n = a(t, e, i, r)), s !== !1 && n !== !1
            },
            G = function(t, e, i, r, s) {
                var n, a, o, l;
                if (1 === r || r >= 4) {
                    for (l = s.length, n = 0; l > n; n++)
                        if ((o = s[n]) !== e) o._gc || o._kill(null, t, e) && (a = !0);
                        else if (5 === r) break;
                    return a
                }
                var h, f = e._startTime + u,
                    p = [],
                    _ = 0,
                    c = 0 === e._duration;
                for (n = s.length; --n > -1;)(o = s[n]) === e || o._gc || o._paused || (o._timeline !== e._timeline ? (h = h || Q(e, 0, c), 0 === Q(o, h, c) && (p[_++] = o)) : f >= o._startTime && o._startTime + o.totalDuration() / o._timeScale > f && ((c || !o._initted) && 2e-10 >= f - o._startTime || (p[_++] = o)));
                for (n = _; --n > -1;)
                    if (o = p[n], 2 === r && o._kill(i, t, e) && (a = !0), 2 !== r || !o._firstPT && o._initted) {
                        if (2 !== r && !Z(o, e)) continue;
                        o._enabled(!1, !1) && (a = !0)
                    }
                return a
            },
            Q = function(t, e, i) {
                for (var r = t._timeline, s = r._timeScale, n = t._startTime; r._timeline;) {
                    if (n += r._startTime, s *= r._timeScale, r._paused) return -100;
                    r = r._timeline
                }
                return n /= s, n > e ? n - e : i && n === e || !t._initted && 2 * u > n - e ? u : (n += t.totalDuration() / t._timeScale / s) > e + u ? 0 : n - e - u
            };
        n._init = function() {
            var t, e, i, r, s, n = this.vars,
                a = this._overwrittenProps,
                o = this._duration,
                l = !!n.immediateRender,
                h = n.ease;
            if (n.startAt) {
                this._startAt && (this._startAt.render(-1, !0), this._startAt.kill()), s = {};
                for (r in n.startAt) s[r] = n.startAt[r];
                if (s.overwrite = !1, s.immediateRender = !0, s.lazy = l && n.lazy !== !1, s.startAt = s.delay = null, this._startAt = M.to(this.target, 0, s), l)
                    if (this._time > 0) this._startAt = null;
                    else if (0 !== o) return
            } else if (n.runBackwards && 0 !== o)
                if (this._startAt) this._startAt.render(-1, !0), this._startAt.kill(), this._startAt = null;
                else {
                    0 !== this._time && (l = !1), i = {};
                    for (r in n) Y[r] && "autoCSS" !== r || (i[r] = n[r]);
                    if (i.overwrite = 0, i.data = "isFromStart", i.lazy = l && n.lazy !== !1, i.immediateRender = l, this._startAt = M.to(this.target, 0, i), l) {
                        if (0 === this._time) return
                    } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null)
                }
            if (this._ease = h = h ? h instanceof y ? h : "function" == typeof h ? new y(h, n.easeParams) : T[h] || M.defaultEase : M.defaultEase, n.easeParams instanceof Array && h.config && (this._ease = h.config.apply(h, n.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], a ? a[t] : null) && (e = !0);
            else e = this._initProps(this.target, this._propLookup, this._siblings, a);
            if (e && M._onPluginEvent("_onInitAllProps", this), a && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), n.runBackwards)
                for (i = this._firstPT; i;) i.s += i.c, i.c = -i.c, i = i._next;
            this._onUpdate = n.onUpdate, this._initted = !0
        }, n._initProps = function(e, i, r, s) {
            var n, a, o, l, h, u;
            if (null == e) return !1;
            F[e._gsTweenID] && q(), this.vars.css || e.style && e !== t && e.nodeType && N.css && this.vars.autoCSS !== !1 && X(this.vars, e);
            for (n in this.vars) {
                if (u = this.vars[n], Y[n]) u && (u instanceof Array || u.push && _(u)) && -1 !== u.join("").indexOf("{self}") && (this.vars[n] = u = this._swapSelfInParams(u, this));
                else if (N[n] && (l = new N[n])._onInitTween(e, this.vars[n], this)) {
                    for (this._firstPT = h = {
                            _next: this._firstPT,
                            t: l,
                            p: "setRatio",
                            s: 0,
                            c: 1,
                            f: !0,
                            n: n,
                            pg: !0,
                            pr: l._priority
                        }, a = l._overwriteProps.length; --a > -1;) i[l._overwriteProps[a]] = this._firstPT;
                    (l._priority || l._onInitAllProps) && (o = !0), (l._onDisable || l._onEnable) && (this._notifyPluginsOfEnabled = !0)
                } else this._firstPT = i[n] = h = {
                    _next: this._firstPT,
                    t: e,
                    p: n,
                    f: "function" == typeof e[n],
                    n: n,
                    pg: !1,
                    pr: 0
                }, h.s = h.f ? e[n.indexOf("set") || "function" != typeof e["get" + n.substr(3)] ? n : "get" + n.substr(3)]() : parseFloat(e[n]), h.c = "string" == typeof u && "=" === u.charAt(1) ? parseInt(u.charAt(0) + "1", 10) * Number(u.substr(2)) : Number(u) - h.s || 0;
                h && h._next && (h._next._prev = h)
            }
            return s && this._kill(s, e) ? this._initProps(e, i, r, s) : this._overwrite > 1 && this._firstPT && r.length > 1 && G(e, this, i, this._overwrite, r) ? (this._kill(i, e), this._initProps(e, i, r, s)) : (this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (F[e._gsTweenID] = !0), o)
        }, n.render = function(t, e, i) {
            var r, s, n, a, o = this._time,
                l = this._duration,
                h = this._rawPrevTime;
            if (t >= l) this._totalTime = this._time = l, this.ratio = this._ease._calcEnd ? this._ease.getRatio(1) : 1, this._reversed || (r = !0, s = "onComplete", i = i || this._timeline.autoRemoveChildren), 0 === l && (this._initted || !this.vars.lazy || i) && (this._startTime === this._timeline._duration && (t = 0), (0 === t || 0 > h || h === u && "isPause" !== this.data) && h !== t && (i = !0, h > u && (s = "onReverseComplete")), this._rawPrevTime = a = !e || t || h === t ? t : u);
            else if (1e-7 > t) this._totalTime = this._time = 0, this.ratio = this._ease._calcEnd ? this._ease.getRatio(0) : 0, (0 !== o || 0 === l && h > 0) && (s = "onReverseComplete", r = this._reversed), 0 > t && (this._active = !1, 0 === l && (this._initted || !this.vars.lazy || i) && (h >= 0 && (h !== u || "isPause" !== this.data) && (i = !0), this._rawPrevTime = a = !e || t || h === t ? t : u)), this._initted || (i = !0);
            else if (this._totalTime = this._time = t, this._easeType) {
                var f = t / l,
                    p = this._easeType,
                    _ = this._easePower;
                (1 === p || 3 === p && f >= .5) && (f = 1 - f), 3 === p && (f *= 2), 1 === _ ? f *= f : 2 === _ ? f *= f * f : 3 === _ ? f *= f * f * f : 4 === _ && (f *= f * f * f * f), this.ratio = 1 === p ? 1 - f : 2 === p ? f : .5 > t / l ? f / 2 : 1 - f / 2
            } else this.ratio = this._ease.getRatio(t / l);
            if (this._time !== o || i) {
                if (!this._initted) {
                    if (this._init(), !this._initted || this._gc) return;
                    if (!i && this._firstPT && (this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration)) return this._time = this._totalTime = o, this._rawPrevTime = h, z.push(this), void(this._lazy = [t, e]);
                    this._time && !r ? this.ratio = this._ease.getRatio(this._time / l) : r && 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 !== o && t >= 0 && (this._active = !0), 0 === o && (this._startAt && (t >= 0 ? this._startAt.render(t, e, i) : s || (s = "_dummyGS")), this.vars.onStart && (0 !== this._time || 0 === l) && (e || this._callback("onStart"))), n = this._firstPT; n;) n.f ? n.t[n.p](n.c * this.ratio + n.s) : n.t[n.p] = n.c * this.ratio + n.s, n = n._next;
                this._onUpdate && (0 > t && this._startAt && t !== -1e-4 && this._startAt.render(t, e, i), e || (this._time !== o || r) && this._callback("onUpdate")), s && (!this._gc || i) && (0 > t && this._startAt && !this._onUpdate && t !== -1e-4 && this._startAt.render(t, e, i), r && (this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[s] && this._callback(s), 0 === l && this._rawPrevTime === u && a !== u && (this._rawPrevTime = 0))
            }
        }, n._kill = function(t, e, i) {
            if ("all" === t && (t = null), null == t && (null == e || e === this.target)) return this._lazy = !1, this._enabled(!1, !1);
            e = "string" != typeof e ? e || this._targets || this.target : M.selector(e) || e;
            var r, s, n, a, o, l, h, u, f, p = i && this._time && i._startTime === this._startTime && this._timeline === i._timeline;
            if ((_(e) || D(e)) && "number" != typeof e[0])
                for (r = e.length; --r > -1;) this._kill(t, e[r], i) && (l = !0);
            else {
                if (this._targets) {
                    for (r = this._targets.length; --r > -1;)
                        if (e === this._targets[r]) {
                            o = this._propLookup[r] || {}, this._overwrittenProps = this._overwrittenProps || [], s = this._overwrittenProps[r] = t ? this._overwrittenProps[r] || {} : "all";
                            break
                        }
                } else {
                    if (e !== this.target) return !1;
                    o = this._propLookup, s = this._overwrittenProps = t ? this._overwrittenProps || {} : "all"
                }
                if (o) {
                    if (h = t || o, u = t !== s && "all" !== s && t !== o && ("object" != typeof t || !t._tempKill), i && (M.onOverwrite || this.vars.onOverwrite)) {
                        for (n in h) o[n] && (f || (f = []), f.push(n));
                        if ((f || !t) && !Z(this, i, e, f)) return !1
                    }
                    for (n in h)(a = o[n]) && (p && (a.f ? a.t[a.p](a.s) : a.t[a.p] = a.s, l = !0), a.pg && a.t._kill(h) && (l = !0), a.pg && 0 !== a.t._overwriteProps.length || (a._prev ? a._prev._next = a._next : a === this._firstPT && (this._firstPT = a._next), a._next && (a._next._prev = a._prev), a._next = a._prev = null), delete o[n]), u && (s[n] = 1);
                    !this._firstPT && this._initted && this._enabled(!1, !1)
                }
            }
            return l
        }, n.invalidate = function() {
            return this._notifyPluginsOfEnabled && M._onPluginEvent("_onDisable", this), this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], A.prototype.invalidate.call(this), this.vars.immediateRender && (this._time = -u, this.render(-this._delay)), this
        }, n._enabled = function(t, e) {
            if (o || a.wake(), t && this._gc) {
                var i, r = this._targets;
                if (r)
                    for (i = r.length; --i > -1;) this._siblings[i] = W(r[i], this, !0);
                else this._siblings = W(this.target, this, !0)
            }
            return A.prototype._enabled.call(this, t, e), this._notifyPluginsOfEnabled && this._firstPT ? M._onPluginEvent(t ? "_onEnable" : "_onDisable", this) : !1
        }, M.to = function(t, e, i) {
            return new M(t, e, i)
        }, M.from = function(t, e, i) {
            return i.runBackwards = !0, i.immediateRender = 0 != i.immediateRender, new M(t, e, i)
        }, M.fromTo = function(t, e, i, r) {
            return r.startAt = i, r.immediateRender = 0 != r.immediateRender && 0 != i.immediateRender, new M(t, e, r)
        }, M.delayedCall = function(t, e, i, r, s) {
            return new M(e, 0, {
                delay: t,
                onComplete: e,
                onCompleteParams: i,
                callbackScope: r,
                onReverseComplete: e,
                onReverseCompleteParams: i,
                immediateRender: !1,
                lazy: !1,
                useFrames: s,
                overwrite: 0
            })
        }, M.set = function(t, e) {
            return new M(t, 0, e)
        }, M.getTweensOf = function(t, e) {
            if (null == t) return [];
            t = "string" != typeof t ? t : M.selector(t) || t;
            var i, r, s, n;
            if ((_(t) || D(t)) && "number" != typeof t[0]) {
                for (i = t.length, r = []; --i > -1;) r = r.concat(M.getTweensOf(t[i], e));
                for (i = r.length; --i > -1;)
                    for (n = r[i], s = i; --s > -1;) n === r[s] && r.splice(i, 1)
            } else
                for (r = W(t).concat(), i = r.length; --i > -1;)(r[i]._gc || e && !r[i].isActive()) && r.splice(i, 1);
            return r
        }, M.killTweensOf = M.killDelayedCallsTo = function(t, e, i) {
            "object" == typeof e && (i = e, e = !1);
            for (var r = M.getTweensOf(t, e), s = r.length; --s > -1;) r[s]._kill(i, t)
        };
        var $ = g("plugins.TweenPlugin", function(t, e) {
            this._overwriteProps = (t || "").split(","), this._propName = this._overwriteProps[0], this._priority = e || 0, this._super = $.prototype
        }, !0);
        if (n = $.prototype, $.version = "1.10.1", $.API = 2, n._firstPT = null, n._addTween = function(t, e, i, r, s, n) {
                var a, o;
                return null != r && (a = "number" == typeof r || "=" !== r.charAt(1) ? Number(r) - Number(i) : parseInt(r.charAt(0) + "1", 10) * Number(r.substr(2))) ? (this._firstPT = o = {
                    _next: this._firstPT,
                    t: t,
                    p: e,
                    s: i,
                    c: a,
                    f: "function" == typeof t[e],
                    n: s || e,
                    r: n
                }, o._next && (o._next._prev = o), o) : void 0
            }, n.setRatio = function(t) {
                for (var e, i = this._firstPT, r = 1e-6; i;) e = i.c * t + i.s, i.r ? e = Math.round(e) : r > e && e > -r && (e = 0), i.f ? i.t[i.p](e) : i.t[i.p] = e, i = i._next
            }, n._kill = function(t) {
                var e, i = this._overwriteProps,
                    r = this._firstPT;
                if (null != t[this._propName]) this._overwriteProps = [];
                else
                    for (e = i.length; --e > -1;) null != t[i[e]] && i.splice(e, 1);
                for (; r;) null != t[r.n] && (r._next && (r._next._prev = r._prev), r._prev ? (r._prev._next = r._next, r._prev = null) : this._firstPT === r && (this._firstPT = r._next)), r = r._next;
                return !1
            }, n._roundProps = function(t, e) {
                for (var i = this._firstPT; i;)(t[this._propName] || null != i.n && t[i.n.split(this._propName + "_").join("")]) && (i.r = e), i = i._next
            }, M._onPluginEvent = function(t, e) {
                var i, r, s, n, a, o = e._firstPT;
                if ("_onInitAllProps" === t) {
                    for (; o;) {
                        for (a = o._next, r = s; r && r.pr > o.pr;) r = r._next;
                        (o._prev = r ? r._prev : n) ? o._prev._next = o: s = o, (o._next = r) ? r._prev = o : n = o, o = a
                    }
                    o = e._firstPT = s
                }
                for (; o;) o.pg && "function" == typeof o.t[t] && o.t[t]() && (i = !0), o = o._next;
                return i
            }, $.activate = function(t) {
                for (var e = t.length; --e > -1;) t[e].API === $.API && (N[(new t[e])._propName] = t[e]);
                return !0
            }, m.plugin = function(t) {
                if (!(t && t.propName && t.init && t.API)) throw "illegal plugin definition.";
                var e, i = t.propName,
                    r = t.priority || 0,
                    s = t.overwriteProps,
                    n = {
                        init: "_onInitTween",
                        set: "setRatio",
                        kill: "_kill",
                        round: "_roundProps",
                        initAll: "_onInitAllProps"
                    },
                    a = g("plugins." + i.charAt(0).toUpperCase() + i.substr(1) + "Plugin", function() {
                        $.call(this, i, r), this._overwriteProps = s || []
                    }, t.global === !0),
                    o = a.prototype = new $(i);
                o.constructor = a, a.API = t.API;
                for (e in n) "function" == typeof t[e] && (o[n[e]] = t[e]);
                return a.version = t.version, $.activate([a]), a
            }, r = t._gsQueue) {
            for (s = 0; r.length > s; s++) r[s]();
            for (n in c) c[n].func || t.console.log("GSAP encountered missing dependency: com.greensock." + n)
        }
        o = !1
    }
}("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenLite");
var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() {
        "use strict";
        _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(t, e, i) {
            var r = function(t) {
                    e.call(this, t), this._labels = {}, this.autoRemoveChildren = this.vars.autoRemoveChildren === !0, this.smoothChildTiming = this.vars.smoothChildTiming === !0, this._sortChildren = !0, this._onUpdate = this.vars.onUpdate;
                    var i, r, s = this.vars;
                    for (r in s) i = s[r], l(i) && -1 !== i.join("").indexOf("{self}") && (s[r] = this._swapSelfInParams(i));
                    l(s.tweens) && this.add(s.tweens, 0, s.align, s.stagger)
                },
                s = 1e-10,
                n = i._internals,
                a = r._internals = {},
                o = n.isSelector,
                l = n.isArray,
                h = n.lazyTweens,
                u = n.lazyRender,
                f = [],
                p = _gsScope._gsDefine.globals,
                _ = function(t) {
                    var e, i = {};
                    for (e in t) i[e] = t[e];
                    return i
                },
                c = a.pauseCallback = function(t, e, i, r) {
                    var n, a = t._timeline,
                        o = a._totalTime,
                        l = t._startTime,
                        h = 0 > t._rawPrevTime || 0 === t._rawPrevTime && a._reversed,
                        u = h ? 0 : s,
                        p = h ? s : 0;
                    if (e || !this._forcingPlayhead) {
                        for (a.pause(l), n = t._prev; n && n._startTime === l;) n._rawPrevTime = p, n = n._prev;
                        for (n = t._next; n && n._startTime === l;) n._rawPrevTime = u, n = n._next;
                        e && e.apply(r || a.vars.callbackScope || a, i || f), (this._forcingPlayhead || !a._paused) && a.seek(o)
                    }
                },
                d = function(t) {
                    var e, i = [],
                        r = t.length;
                    for (e = 0; e !== r; i.push(t[e++]));
                    return i
                },
                m = r.prototype = new e;
            return r.version = "1.17.0", m.constructor = r, m.kill()._gc = m._forcingPlayhead = !1, m.to = function(t, e, r, s) {
                var n = r.repeat && p.TweenMax || i;
                return e ? this.add(new n(t, e, r), s) : this.set(t, r, s)
            }, m.from = function(t, e, r, s) {
                return this.add((r.repeat && p.TweenMax || i).from(t, e, r), s)
            }, m.fromTo = function(t, e, r, s, n) {
                var a = s.repeat && p.TweenMax || i;
                return e ? this.add(a.fromTo(t, e, r, s), n) : this.set(t, s, n)
            }, m.staggerTo = function(t, e, s, n, a, l, h, u) {
                var f, p = new r({
                    onComplete: l,
                    onCompleteParams: h,
                    callbackScope: u,
                    smoothChildTiming: this.smoothChildTiming
                });
                for ("string" == typeof t && (t = i.selector(t) || t), t = t || [], o(t) && (t = d(t)), n = n || 0, 0 > n && (t = d(t), t.reverse(), n *= -1), f = 0; t.length > f; f++) s.startAt && (s.startAt = _(s.startAt)), p.to(t[f], e, _(s), f * n);
                return this.add(p, a)
            }, m.staggerFrom = function(t, e, i, r, s, n, a, o) {
                return i.immediateRender = 0 != i.immediateRender, i.runBackwards = !0, this.staggerTo(t, e, i, r, s, n, a, o)
            }, m.staggerFromTo = function(t, e, i, r, s, n, a, o, l) {
                return r.startAt = i, r.immediateRender = 0 != r.immediateRender && 0 != i.immediateRender, this.staggerTo(t, e, r, s, n, a, o, l)
            }, m.call = function(t, e, r, s) {
                return this.add(i.delayedCall(0, t, e, r), s)
            }, m.set = function(t, e, r) {
                return r = this._parseTimeOrLabel(r, 0, !0), null == e.immediateRender && (e.immediateRender = r === this._time && !this._paused), this.add(new i(t, 0, e), r)
            }, r.exportRoot = function(t, e) {
                t = t || {}, null == t.smoothChildTiming && (t.smoothChildTiming = !0);
                var s, n, a = new r(t),
                    o = a._timeline;
                for (null == e && (e = !0), o._remove(a, !0), a._startTime = 0, a._rawPrevTime = a._time = a._totalTime = o._time, s = o._first; s;) n = s._next, e && s instanceof i && s.target === s.vars.onComplete || a.add(s, s._startTime - s._delay), s = n;
                return o.add(a, 0), a
            }, m.add = function(s, n, a, o) {
                var h, u, f, p, _, c;
                if ("number" != typeof n && (n = this._parseTimeOrLabel(n, 0, !0, s)), !(s instanceof t)) {
                    if (s instanceof Array || s && s.push && l(s)) {
                        for (a = a || "normal", o = o || 0, h = n, u = s.length, f = 0; u > f; f++) l(p = s[f]) && (p = new r({
                            tweens: p
                        })), this.add(p, h), "string" != typeof p && "function" != typeof p && ("sequence" === a ? h = p._startTime + p.totalDuration() / p._timeScale : "start" === a && (p._startTime -= p.delay())), h += o;
                        return this._uncache(!0)
                    }
                    if ("string" == typeof s) return this.addLabel(s, n);
                    if ("function" != typeof s) throw "Cannot add " + s + " into the timeline; it is not a tween, timeline, function, or string.";
                    s = i.delayedCall(0, s)
                }
                if (e.prototype.add.call(this, s, n), (this._gc || this._time === this._duration) && !this._paused && this._duration < this.duration())
                    for (_ = this, c = _.rawTime() > s._startTime; _._timeline;) c && _._timeline.smoothChildTiming ? _.totalTime(_._totalTime, !0) : _._gc && _._enabled(!0, !1), _ = _._timeline;
                return this
            }, m.remove = function(e) {
                if (e instanceof t) return this._remove(e, !1);
                if (e instanceof Array || e && e.push && l(e)) {
                    for (var i = e.length; --i > -1;) this.remove(e[i]);
                    return this
                }
                return "string" == typeof e ? this.removeLabel(e) : this.kill(null, e)
            }, m._remove = function(t, i) {
                e.prototype._remove.call(this, t, i);
                var r = this._last;
                return r ? this._time > r._startTime + r._totalDuration / r._timeScale && (this._time = this.duration(), this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this
            }, m.append = function(t, e) {
                return this.add(t, this._parseTimeOrLabel(null, e, !0, t))
            }, m.insert = m.insertMultiple = function(t, e, i, r) {
                return this.add(t, e || 0, i, r)
            }, m.appendMultiple = function(t, e, i, r) {
                return this.add(t, this._parseTimeOrLabel(null, e, !0, t), i, r)
            }, m.addLabel = function(t, e) {
                return this._labels[t] = this._parseTimeOrLabel(e), this
            }, m.addPause = function(t, e, r, s) {
                var n = i.delayedCall(0, c, ["{self}", e, r, s], this);
                return n.data = "isPause", this.add(n, t)
            }, m.removeLabel = function(t) {
                return delete this._labels[t], this
            }, m.getLabelTime = function(t) {
                return null != this._labels[t] ? this._labels[t] : -1
            }, m._parseTimeOrLabel = function(e, i, r, s) {
                var n;
                if (s instanceof t && s.timeline === this) this.remove(s);
                else if (s && (s instanceof Array || s.push && l(s)))
                    for (n = s.length; --n > -1;) s[n] instanceof t && s[n].timeline === this && this.remove(s[n]);
                if ("string" == typeof i) return this._parseTimeOrLabel(i, r && "number" == typeof e && null == this._labels[i] ? e - this.duration() : 0, r);
                if (i = i || 0, "string" != typeof e || !isNaN(e) && null == this._labels[e]) null == e && (e = this.duration());
                else {
                    if (n = e.indexOf("="), -1 === n) return null == this._labels[e] ? r ? this._labels[e] = this.duration() + i : i : this._labels[e] + i;
                    i = parseInt(e.charAt(n - 1) + "1", 10) * Number(e.substr(n + 1)), e = n > 1 ? this._parseTimeOrLabel(e.substr(0, n - 1), 0, r) : this.duration()
                }
                return Number(e) + i
            }, m.seek = function(t, e) {
                return this.totalTime("number" == typeof t ? t : this._parseTimeOrLabel(t), e !== !1)
            }, m.stop = function() {
                return this.paused(!0)
            }, m.gotoAndPlay = function(t, e) {
                return this.play(t, e)
            }, m.gotoAndStop = function(t, e) {
                return this.pause(t, e)
            }, m.render = function(t, e, i) {
                this._gc && this._enabled(!0, !1);
                var r, n, a, o, l, f = this._dirty ? this.totalDuration() : this._totalDuration,
                    p = this._time,
                    _ = this._startTime,
                    c = this._timeScale,
                    d = this._paused;
                if (t >= f) this._totalTime = this._time = f, this._reversed || this._hasPausedChild() || (n = !0, o = "onComplete", l = !!this._timeline.autoRemoveChildren, 0 === this._duration && (0 === t || 0 > this._rawPrevTime || this._rawPrevTime === s) && this._rawPrevTime !== t && this._first && (l = !0, this._rawPrevTime > s && (o = "onReverseComplete"))), this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : s, t = f + 1e-4;
                else if (1e-7 > t)
                    if (this._totalTime = this._time = 0, (0 !== p || 0 === this._duration && this._rawPrevTime !== s && (this._rawPrevTime > 0 || 0 > t && this._rawPrevTime >= 0)) && (o = "onReverseComplete", n = this._reversed), 0 > t) this._active = !1, this._timeline.autoRemoveChildren && this._reversed ? (l = n = !0, o = "onReverseComplete") : this._rawPrevTime >= 0 && this._first && (l = !0), this._rawPrevTime = t;
                    else {
                        if (this._rawPrevTime = this._duration || !e || t || this._rawPrevTime === t ? t : s, 0 === t && n)
                            for (r = this._first; r && 0 === r._startTime;) r._duration || (n = !1), r = r._next;
                        t = 0, this._initted || (l = !0)
                    } else this._totalTime = this._time = this._rawPrevTime = t;
                if (this._time !== p && this._first || i || l) {
                    if (this._initted || (this._initted = !0), this._active || !this._paused && this._time !== p && t > 0 && (this._active = !0), 0 === p && this.vars.onStart && 0 !== this._time && (e || this._callback("onStart")), this._time >= p)
                        for (r = this._first; r && (a = r._next, !this._paused || d);)(r._active || r._startTime <= this._time && !r._paused && !r._gc) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (t - r._startTime) * r._timeScale, e, i) : r.render((t - r._startTime) * r._timeScale, e, i)), r = a;
                    else
                        for (r = this._last; r && (a = r._prev, !this._paused || d);)(r._active || p >= r._startTime && !r._paused && !r._gc) && (r._reversed ? r.render((r._dirty ? r.totalDuration() : r._totalDuration) - (t - r._startTime) * r._timeScale, e, i) : r.render((t - r._startTime) * r._timeScale, e, i)), r = a;
                    this._onUpdate && (e || (h.length && u(), this._callback("onUpdate"))), o && (this._gc || (_ === this._startTime || c !== this._timeScale) && (0 === this._time || f >= this.totalDuration()) && (n && (h.length && u(), this._timeline.autoRemoveChildren && this._enabled(!1, !1), this._active = !1), !e && this.vars[o] && this._callback(o)))
                }
            }, m._hasPausedChild = function() {
                for (var t = this._first; t;) {
                    if (t._paused || t instanceof r && t._hasPausedChild()) return !0;
                    t = t._next
                }
                return !1
            }, m.getChildren = function(t, e, r, s) {
                s = s || -9999999999;
                for (var n = [], a = this._first, o = 0; a;) s > a._startTime || (a instanceof i ? e !== !1 && (n[o++] = a) : (r !== !1 && (n[o++] = a), t !== !1 && (n = n.concat(a.getChildren(!0, e, r)), o = n.length))), a = a._next;
                return n
            }, m.getTweensOf = function(t, e) {
                var r, s, n = this._gc,
                    a = [],
                    o = 0;
                for (n && this._enabled(!0, !0), r = i.getTweensOf(t), s = r.length; --s > -1;)(r[s].timeline === this || e && this._contains(r[s])) && (a[o++] = r[s]);
                return n && this._enabled(!1, !0), a
            }, m.recent = function() {
                return this._recent
            }, m._contains = function(t) {
                for (var e = t.timeline; e;) {
                    if (e === this) return !0;
                    e = e.timeline
                }
                return !1
            }, m.shiftChildren = function(t, e, i) {
                i = i || 0;
                for (var r, s = this._first, n = this._labels; s;) s._startTime >= i && (s._startTime += t), s = s._next;
                if (e)
                    for (r in n) n[r] >= i && (n[r] += t);
                return this._uncache(!0)
            }, m._kill = function(t, e) {
                if (!t && !e) return this._enabled(!1, !1);
                for (var i = e ? this.getTweensOf(e) : this.getChildren(!0, !0, !1), r = i.length, s = !1; --r > -1;) i[r]._kill(t, e) && (s = !0);
                return s
            }, m.clear = function(t) {
                var e = this.getChildren(!1, !0, !0),
                    i = e.length;
                for (this._time = this._totalTime = 0; --i > -1;) e[i]._enabled(!1, !1);
                return t !== !1 && (this._labels = {}), this._uncache(!0)
            }, m.invalidate = function() {
                for (var e = this._first; e;) e.invalidate(), e = e._next;
                return t.prototype.invalidate.call(this)
            }, m._enabled = function(t, i) {
                if (t === this._gc)
                    for (var r = this._first; r;) r._enabled(t, !0), r = r._next;
                return e.prototype._enabled.call(this, t, i)
            }, m.totalTime = function() {
                this._forcingPlayhead = !0;
                var e = t.prototype.totalTime.apply(this, arguments);
                return this._forcingPlayhead = !1, e
            }, m.duration = function(t) {
                return arguments.length ? (0 !== this.duration() && 0 !== t && this.timeScale(this._duration / t), this) : (this._dirty && this.totalDuration(), this._duration)
            }, m.totalDuration = function(t) {
                if (!arguments.length) {
                    if (this._dirty) {
                        for (var e, i, r = 0, s = this._last, n = 999999999999; s;) e = s._prev, s._dirty && s.totalDuration(), s._startTime > n && this._sortChildren && !s._paused ? this.add(s, s._startTime - s._delay) : n = s._startTime, 0 > s._startTime && !s._paused && (r -= s._startTime, this._timeline.smoothChildTiming && (this._startTime += s._startTime / this._timeScale), this.shiftChildren(-s._startTime, !1, -9999999999), n = 0), i = s._startTime + s._totalDuration / s._timeScale, i > r && (r = i), s = e;
                        this._duration = this._totalDuration = r, this._dirty = !1
                    }
                    return this._totalDuration
                }
                return 0 !== this.totalDuration() && 0 !== t && this.timeScale(this._totalDuration / t), this
            }, m.paused = function(e) {
                if (!e)
                    for (var i = this._first, r = this._time; i;) i._startTime === r && "isPause" === i.data && (i._rawPrevTime = 0), i = i._next;
                return t.prototype.paused.apply(this, arguments)
            }, m.usesFrames = function() {
                for (var e = this._timeline; e._timeline;) e = e._timeline;
                return e === t._rootFramesTimeline
            }, m.rawTime = function() {
                return this._paused ? this._totalTime : (this._timeline.rawTime() - this._startTime) * this._timeScale
            }, r
        }, !0)
    }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(),
    function(t) {
        "use strict";
        var e = function() {
            return (_gsScope.GreenSockGlobals || _gsScope)[t]
        };
        "function" == typeof define && define.amd ? define(["TweenLite"], e) : "undefined" != typeof module && module.exports && (require("./TweenLite.js"), module.exports = e())
    }("TimelineLite");
var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() {
    "use strict";
    _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(t) {
        var e, i, r, s = _gsScope.GreenSockGlobals || _gsScope,
            n = s.com.greensock,
            a = 2 * Math.PI,
            o = Math.PI / 2,
            l = n._class,
            h = function(e, i) {
                var r = l("easing." + e, function() {}, !0),
                    s = r.prototype = new t;
                return s.constructor = r, s.getRatio = i, r
            },
            u = t.register || function() {},
            f = function(t, e, i, r) {
                var s = l("easing." + t, {
                    easeOut: new e,
                    easeIn: new i,
                    easeInOut: new r
                }, !0);
                return u(s, t), s
            },
            p = function(t, e, i) {
                this.t = t, this.v = e, i && (this.next = i, i.prev = this, this.c = i.v - e, this.gap = i.t - t)
            },
            _ = function(e, i) {
                var r = l("easing." + e, function(t) {
                        this._p1 = t || 0 === t ? t : 1.70158, this._p2 = 1.525 * this._p1
                    }, !0),
                    s = r.prototype = new t;
                return s.constructor = r, s.getRatio = i, s.config = function(t) {
                    return new r(t)
                }, r
            },
            c = f("Back", _("BackOut", function(t) {
                return (t -= 1) * t * ((this._p1 + 1) * t + this._p1) + 1
            }), _("BackIn", function(t) {
                return t * t * ((this._p1 + 1) * t - this._p1)
            }), _("BackInOut", function(t) {
                return 1 > (t *= 2) ? .5 * t * t * ((this._p2 + 1) * t - this._p2) : .5 * ((t -= 2) * t * ((this._p2 + 1) * t + this._p2) + 2)
            })),
            d = l("easing.SlowMo", function(t, e, i) {
                e = e || 0 === e ? e : .7, null == t ? t = .7 : t > 1 && (t = 1), this._p = 1 !== t ? e : 0, this._p1 = (1 - t) / 2, this._p2 = t, this._p3 = this._p1 + this._p2, this._calcEnd = i === !0
            }, !0),
            m = d.prototype = new t;
        return m.constructor = d, m.getRatio = function(t) {
            var e = t + (.5 - t) * this._p;
            return this._p1 > t ? this._calcEnd ? 1 - (t = 1 - t / this._p1) * t : e - (t = 1 - t / this._p1) * t * t * t * e : t > this._p3 ? this._calcEnd ? 1 - (t = (t - this._p3) / this._p1) * t : e + (t - e) * (t = (t - this._p3) / this._p1) * t * t * t : this._calcEnd ? 1 : e
        }, d.ease = new d(.7, .7), m.config = d.config = function(t, e, i) {
            return new d(t, e, i)
        }, e = l("easing.SteppedEase", function(t) {
            t = t || 1, this._p1 = 1 / t, this._p2 = t + 1
        }, !0), m = e.prototype = new t, m.constructor = e, m.getRatio = function(t) {
            return 0 > t ? t = 0 : t >= 1 && (t = .999999999), (this._p2 * t >> 0) * this._p1
        }, m.config = e.config = function(t) {
            return new e(t)
        }, i = l("easing.RoughEase", function(e) {
            e = e || {};
            for (var i, r, s, n, a, o, l = e.taper || "none", h = [], u = 0, f = 0 | (e.points || 20), _ = f, c = e.randomize !== !1, d = e.clamp === !0, m = e.template instanceof t ? e.template : null, g = "number" == typeof e.strength ? .4 * e.strength : .4; --_ > -1;) i = c ? Math.random() : 1 / f * _, r = m ? m.getRatio(i) : i, "none" === l ? s = g : "out" === l ? (n = 1 - i, s = n * n * g) : "in" === l ? s = i * i * g : .5 > i ? (n = 2 * i, s = .5 * n * n * g) : (n = 2 * (1 - i), s = .5 * n * n * g), c ? r += Math.random() * s - .5 * s : _ % 2 ? r += .5 * s : r -= .5 * s, d && (r > 1 ? r = 1 : 0 > r && (r = 0)), h[u++] = {
                x: i,
                y: r
            };
            for (h.sort(function(t, e) {
                    return t.x - e.x
                }), o = new p(1, 1, null), _ = f; --_ > -1;) a = h[_], o = new p(a.x, a.y, o);
            this._prev = new p(0, 0, 0 !== o.t ? o : o.next)
        }, !0), m = i.prototype = new t, m.constructor = i, m.getRatio = function(t) {
            var e = this._prev;
            if (t > e.t) {
                for (; e.next && t >= e.t;) e = e.next;
                e = e.prev
            } else
                for (; e.prev && e.t >= t;) e = e.prev;
            return this._prev = e, e.v + (t - e.t) / e.gap * e.c
        }, m.config = function(t) {
            return new i(t)
        }, i.ease = new i, f("Bounce", h("BounceOut", function(t) {
            return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375
        }), h("BounceIn", function(t) {
            return 1 / 2.75 > (t = 1 - t) ? 1 - 7.5625 * t * t : 2 / 2.75 > t ? 1 - (7.5625 * (t -= 1.5 / 2.75) * t + .75) : 2.5 / 2.75 > t ? 1 - (7.5625 * (t -= 2.25 / 2.75) * t + .9375) : 1 - (7.5625 * (t -= 2.625 / 2.75) * t + .984375)
        }), h("BounceInOut", function(t) {
            var e = .5 > t;
            return t = e ? 1 - 2 * t : 2 * t - 1, t = 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375, e ? .5 * (1 - t) : .5 * t + .5
        })), f("Circ", h("CircOut", function(t) {
            return Math.sqrt(1 - (t -= 1) * t)
        }), h("CircIn", function(t) {
            return -(Math.sqrt(1 - t * t) - 1)
        }), h("CircInOut", function(t) {
            return 1 > (t *= 2) ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1)
        })), r = function(e, i, r) {
            var s = l("easing." + e, function(t, e) {
                    this._p1 = t >= 1 ? t : 1, this._p2 = (e || r) / (1 > t ? t : 1), this._p3 = this._p2 / a * (Math.asin(1 / this._p1) || 0), this._p2 = a / this._p2
                }, !0),
                n = s.prototype = new t;
            return n.constructor = s, n.getRatio = i, n.config = function(t, e) {
                return new s(t, e)
            }, s
        }, f("Elastic", r("ElasticOut", function(t) {
            return this._p1 * Math.pow(2, -10 * t) * Math.sin((t - this._p3) * this._p2) + 1
        }, .3), r("ElasticIn", function(t) {
            return -(this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2))
        }, .3), r("ElasticInOut", function(t) {
            return 1 > (t *= 2) ? -.5 * this._p1 * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2) : .5 * this._p1 * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - this._p3) * this._p2) + 1
        }, .45)), f("Expo", h("ExpoOut", function(t) {
            return 1 - Math.pow(2, -10 * t)
        }), h("ExpoIn", function(t) {
            return Math.pow(2, 10 * (t - 1)) - .001
        }), h("ExpoInOut", function(t) {
            return 1 > (t *= 2) ? .5 * Math.pow(2, 10 * (t - 1)) : .5 * (2 - Math.pow(2, -10 * (t - 1)))
        })), f("Sine", h("SineOut", function(t) {
            return Math.sin(t * o)
        }), h("SineIn", function(t) {
            return -Math.cos(t * o) + 1
        }), h("SineInOut", function(t) {
            return -.5 * (Math.cos(Math.PI * t) - 1)
        })), l("easing.EaseLookup", {
            find: function(e) {
                return t.map[e]
            }
        }, !0), u(s.SlowMo, "SlowMo", "ease,"), u(i, "RoughEase", "ease,"), u(e, "SteppedEase", "ease,"), c
    }, !0)
}), _gsScope._gsDefine && _gsScope._gsQueue.pop()();
var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() {
        "use strict";
        _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function(t, e) {
            var i, r, s, n, a = function() {
                    t.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = a.prototype.setRatio
                },
                o = _gsScope._gsDefine.globals,
                l = {},
                h = a.prototype = new t("css");
            h.constructor = a, a.version = "1.17.0", a.API = 2, a.defaultTransformPerspective = 0, a.defaultSkewType = "compensated", a.defaultSmoothOrigin = !0, h = "px", a.suffixMap = {
                top: h,
                right: h,
                bottom: h,
                left: h,
                width: h,
                height: h,
                fontSize: h,
                padding: h,
                margin: h,
                perspective: h,
                lineHeight: ""
            };
            var u, f, p, _, c, d, m = /(?:\d|\-\d|\.\d|\-\.\d)+/g,
                g = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
                v = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,
                x = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,
                y = /(?:\d|\-|\+|=|#|\.)*/g,
                T = /opacity *= *([^)]*)/i,
                w = /opacity:([^;]*)/i,
                b = /alpha\(opacity *=.+?\)/i,
                P = /^(rgb|hsl)/,
                O = /([A-Z])/g,
                S = /-([a-z])/gi,
                k = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,
                A = function(t, e) {
                    return e.toUpperCase()
                },
                C = /(?:Left|Right|Width)/i,
                R = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
                M = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,
                D = /,(?=[^\)]*(?:\(|$))/gi,
                X = Math.PI / 180,
                z = 180 / Math.PI,
                F = {},
                I = document,
                N = function(t) {
                    return I.createElementNS ? I.createElementNS("http://www.w3.org/1999/xhtml", t) : I.createElement(t)
                },
                E = N("div"),
                L = N("img"),
                Y = a._internals = {
                    _specialProps: l
                },
                B = navigator.userAgent,
                j = function() {
                    var t = B.indexOf("Android"),
                        e = N("a");
                    return p = -1 !== B.indexOf("Safari") && -1 === B.indexOf("Chrome") && (-1 === t || Number(B.substr(t + 8, 1)) > 3), c = p && 6 > Number(B.substr(B.indexOf("Version/") + 8, 1)), _ = -1 !== B.indexOf("Firefox"), (/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(B) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(B)) && (d = parseFloat(RegExp.$1)), e ? (e.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(e.style.opacity)) : !1
                }(),
                V = function(t) {
                    return T.test("string" == typeof t ? t : (t.currentStyle ? t.currentStyle.filter : t.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
                },
                U = function(t) {
                    window.console && console.log(t)
                },
                q = "",
                W = "",
                Z = function(t, e) {
                    e = e || E;
                    var i, r, s = e.style;
                    if (void 0 !== s[t]) return t;
                    for (t = t.charAt(0).toUpperCase() + t.substr(1), i = ["O", "Moz", "ms", "Ms", "Webkit"], r = 5; --r > -1 && void 0 === s[i[r] + t];);
                    return r >= 0 ? (W = 3 === r ? "ms" : i[r], q = "-" + W.toLowerCase() + "-", W + t) : null
                },
                G = I.defaultView ? I.defaultView.getComputedStyle : function() {},
                Q = a.getStyle = function(t, e, i, r, s) {
                    var n;
                    return j || "opacity" !== e ? (!r && t.style[e] ? n = t.style[e] : (i = i || G(t)) ? n = i[e] || i.getPropertyValue(e) || i.getPropertyValue(e.replace(O, "-$1").toLowerCase()) : t.currentStyle && (n = t.currentStyle[e]), null == s || n && "none" !== n && "auto" !== n && "auto auto" !== n ? n : s) : V(t)
                },
                $ = Y.convertToPixels = function(t, i, r, s, n) {
                    if ("px" === s || !s) return r;
                    if ("auto" === s || !r) return 0;
                    var o, l, h, u = C.test(i),
                        f = t,
                        p = E.style,
                        _ = 0 > r;
                    if (_ && (r = -r), "%" === s && -1 !== i.indexOf("border")) o = r / 100 * (u ? t.clientWidth : t.clientHeight);
                    else {
                        if (p.cssText = "border:0 solid red;position:" + Q(t, "position") + ";line-height:0;", "%" !== s && f.appendChild) p[u ? "borderLeftWidth" : "borderTopWidth"] = r + s;
                        else {
                            if (f = t.parentNode || I.body, l = f._gsCache, h = e.ticker.frame, l && u && l.time === h) return l.width * r / 100;
                            p[u ? "width" : "height"] = r + s
                        }
                        f.appendChild(E), o = parseFloat(E[u ? "offsetWidth" : "offsetHeight"]), f.removeChild(E), u && "%" === s && a.cacheWidths !== !1 && (l = f._gsCache = f._gsCache || {}, l.time = h, l.width = 100 * (o / r)), 0 !== o || n || (o = $(t, i, r, s, !0))
                    }
                    return _ ? -o : o
                },
                H = Y.calculateOffset = function(t, e, i) {
                    if ("absolute" !== Q(t, "position", i)) return 0;
                    var r = "left" === e ? "Left" : "Top",
                        s = Q(t, "margin" + r, i);
                    return t["offset" + r] - ($(t, e, parseFloat(s), s.replace(y, "")) || 0)
                },
                K = function(t, e) {
                    var i, r, s, n = {};
                    if (e = e || G(t, null))
                        if (i = e.length)
                            for (; --i > -1;) s = e[i], (-1 === s.indexOf("-transform") || Pe === s) && (n[s.replace(S, A)] = e.getPropertyValue(s));
                        else
                            for (i in e)(-1 === i.indexOf("Transform") || be === i) && (n[i] = e[i]);
                    else if (e = t.currentStyle || t.style)
                        for (i in e) "string" == typeof i && void 0 === n[i] && (n[i.replace(S, A)] = e[i]);
                    return j || (n.opacity = V(t)), r = Ie(t, e, !1), n.rotation = r.rotation, n.skewX = r.skewX, n.scaleX = r.scaleX, n.scaleY = r.scaleY, n.x = r.x, n.y = r.y, Se && (n.z = r.z, n.rotationX = r.rotationX, n.rotationY = r.rotationY, n.scaleZ = r.scaleZ), n.filters && delete n.filters, n
                },
                J = function(t, e, i, r, s) {
                    var n, a, o, l = {},
                        h = t.style;
                    for (a in i) "cssText" !== a && "length" !== a && isNaN(a) && (e[a] !== (n = i[a]) || s && s[a]) && -1 === a.indexOf("Origin") && ("number" == typeof n || "string" == typeof n) && (l[a] = "auto" !== n || "left" !== a && "top" !== a ? "" !== n && "auto" !== n && "none" !== n || "string" != typeof e[a] || "" === e[a].replace(x, "") ? n : 0 : H(t, a), void 0 !== h[a] && (o = new _e(h, a, h[a], o)));
                    if (r)
                        for (a in r) "className" !== a && (l[a] = r[a]);
                    return {
                        difs: l,
                        firstMPT: o
                    }
                },
                te = {
                    width: ["Left", "Right"],
                    height: ["Top", "Bottom"]
                },
                ee = ["marginLeft", "marginRight", "marginTop", "marginBottom"],
                ie = function(t, e, i) {
                    var r = parseFloat("width" === e ? t.offsetWidth : t.offsetHeight),
                        s = te[e],
                        n = s.length;
                    for (i = i || G(t, null); --n > -1;) r -= parseFloat(Q(t, "padding" + s[n], i, !0)) || 0, r -= parseFloat(Q(t, "border" + s[n] + "Width", i, !0)) || 0;
                    return r
                },
                re = function(t, e) {
                    (null == t || "" === t || "auto" === t || "auto auto" === t) && (t = "0 0");
                    var i = t.split(" "),
                        r = -1 !== t.indexOf("left") ? "0%" : -1 !== t.indexOf("right") ? "100%" : i[0],
                        s = -1 !== t.indexOf("top") ? "0%" : -1 !== t.indexOf("bottom") ? "100%" : i[1];
                    return null == s ? s = "center" === r ? "50%" : "0" : "center" === s && (s = "50%"), ("center" === r || isNaN(parseFloat(r)) && -1 === (r + "").indexOf("=")) && (r = "50%"), t = r + " " + s + (i.length > 2 ? " " + i[2] : ""), e && (e.oxp = -1 !== r.indexOf("%"), e.oyp = -1 !== s.indexOf("%"), e.oxr = "=" === r.charAt(1), e.oyr = "=" === s.charAt(1), e.ox = parseFloat(r.replace(x, "")), e.oy = parseFloat(s.replace(x, "")), e.v = t), e || t
                },
                se = function(t, e) {
                    return "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) : parseFloat(t) - parseFloat(e)
                },
                ne = function(t, e) {
                    return null == t ? e : "string" == typeof t && "=" === t.charAt(1) ? parseInt(t.charAt(0) + "1", 10) * parseFloat(t.substr(2)) + e : parseFloat(t)
                },
                ae = function(t, e, i, r) {
                    var s, n, a, o, l, h = 1e-6;
                    return null == t ? o = e : "number" == typeof t ? o = t : (s = 360, n = t.split("_"), l = "=" === t.charAt(1), a = (l ? parseInt(t.charAt(0) + "1", 10) * parseFloat(n[0].substr(2)) : parseFloat(n[0])) * (-1 === t.indexOf("rad") ? 1 : z) - (l ? 0 : e), n.length && (r && (r[i] = e + a), -1 !== t.indexOf("short") && (a %= s, a !== a % (s / 2) && (a = 0 > a ? a + s : a - s)), -1 !== t.indexOf("_cw") && 0 > a ? a = (a + 9999999999 * s) % s - (0 | a / s) * s : -1 !== t.indexOf("ccw") && a > 0 && (a = (a - 9999999999 * s) % s - (0 | a / s) * s)), o = e + a), h > o && o > -h && (o = 0), o
                },
                oe = {
                    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]
                },
                le = function(t, e, i) {
                    return t = 0 > t ? t + 1 : t > 1 ? t - 1 : t, 0 | 255 * (1 > 6 * t ? e + 6 * (i - e) * t : .5 > t ? i : 2 > 3 * t ? e + 6 * (i - e) * (2 / 3 - t) : e) + .5
                },
                he = a.parseColor = function(t) {
                    var e, i, r, s, n, a;
                    return t && "" !== t ? "number" == typeof t ? [t >> 16, 255 & t >> 8, 255 & t] : ("," === t.charAt(t.length - 1) && (t = t.substr(0, t.length - 1)), oe[t] ? oe[t] : "#" === t.charAt(0) ? (4 === t.length && (e = t.charAt(1), i = t.charAt(2), r = t.charAt(3), t = "#" + e + e + i + i + r + r), t = parseInt(t.substr(1), 16), [t >> 16, 255 & t >> 8, 255 & t]) : "hsl" === t.substr(0, 3) ? (t = t.match(m), s = Number(t[0]) % 360 / 360, n = Number(t[1]) / 100, a = Number(t[2]) / 100, i = .5 >= a ? a * (n + 1) : a + n - a * n, e = 2 * a - i, t.length > 3 && (t[3] = Number(t[3])), t[0] = le(s + 1 / 3, e, i), t[1] = le(s, e, i), t[2] = le(s - 1 / 3, e, i), t) : (t = t.match(m) || oe.transparent, t[0] = Number(t[0]), t[1] = Number(t[1]), t[2] = Number(t[2]), t.length > 3 && (t[3] = Number(t[3])), t)) : oe.black
                },
                ue = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#.+?\\b";
            for (h in oe) ue += "|" + h + "\\b";
            ue = RegExp(ue + ")", "gi");
            var fe = function(t, e, i, r) {
                    if (null == t) return function(t) {
                        return t
                    };
                    var s, n = e ? (t.match(ue) || [""])[0] : "",
                        a = t.split(n).join("").match(v) || [],
                        o = t.substr(0, t.indexOf(a[0])),
                        l = ")" === t.charAt(t.length - 1) ? ")" : "",
                        h = -1 !== t.indexOf(" ") ? " " : ",",
                        u = a.length,
                        f = u > 0 ? a[0].replace(m, "") : "";
                    return u ? s = e ? function(t) {
                        var e, p, _, c;
                        if ("number" == typeof t) t += f;
                        else if (r && D.test(t)) {
                            for (c = t.replace(D, "|").split("|"), _ = 0; c.length > _; _++) c[_] = s(c[_]);
                            return c.join(",")
                        }
                        if (e = (t.match(ue) || [n])[0], p = t.split(e).join("").match(v) || [], _ = p.length, u > _--)
                            for (; u > ++_;) p[_] = i ? p[0 | (_ - 1) / 2] : a[_];
                        return o + p.join(h) + h + e + l + (-1 !== t.indexOf("inset") ? " inset" : "")
                    } : function(t) {
                        var e, n, p;
                        if ("number" == typeof t) t += f;
                        else if (r && D.test(t)) {
                            for (n = t.replace(D, "|").split("|"), p = 0; n.length > p; p++) n[p] = s(n[p]);
                            return n.join(",")
                        }
                        if (e = t.match(v) || [], p = e.length, u > p--)
                            for (; u > ++p;) e[p] = i ? e[0 | (p - 1) / 2] : a[p];
                        return o + e.join(h) + l
                    } : function(t) {
                        return t
                    }
                },
                pe = function(t) {
                    return t = t.split(","),
                        function(e, i, r, s, n, a, o) {
                            var l, h = (i + "").split(" ");
                            for (o = {}, l = 0; 4 > l; l++) o[t[l]] = h[l] = h[l] || h[(l - 1) / 2 >> 0];
                            return s.parse(e, o, n, a)
                        }
                },
                _e = (Y._setPluginRatio = function(t) {
                    this.plugin.setRatio(t);
                    for (var e, i, r, s, n = this.data, a = n.proxy, o = n.firstMPT, l = 1e-6; o;) e = a[o.v], o.r ? e = Math.round(e) : l > e && e > -l && (e = 0), o.t[o.p] = e, o = o._next;
                    if (n.autoRotate && (n.autoRotate.rotation = a.rotation), 1 === t)
                        for (o = n.firstMPT; o;) {
                            if (i = o.t, i.type) {
                                if (1 === i.type) {
                                    for (s = i.xs0 + i.s + i.xs1, r = 1; i.l > r; r++) s += i["xn" + r] + i["xs" + (r + 1)];
                                    i.e = s
                                }
                            } else i.e = i.s + i.xs0;
                            o = o._next
                        }
                }, function(t, e, i, r, s) {
                    this.t = t, this.p = e, this.v = i, this.r = s, r && (r._prev = this, this._next = r)
                }),
                ce = (Y._parseToProxy = function(t, e, i, r, s, n) {
                    var a, o, l, h, u, f = r,
                        p = {},
                        _ = {},
                        c = i._transform,
                        d = F;
                    for (i._transform = null, F = e, r = u = i.parse(t, e, r, s), F = d, n && (i._transform = c, f && (f._prev = null, f._prev && (f._prev._next = null))); r && r !== f;) {
                        if (1 >= r.type && (o = r.p, _[o] = r.s + r.c, p[o] = r.s, n || (h = new _e(r, "s", o, h, r.r), r.c = 0), 1 === r.type))
                            for (a = r.l; --a > 0;) l = "xn" + a, o = r.p + "_" + l, _[o] = r.data[l], p[o] = r[l], n || (h = new _e(r, l, o, h, r.rxp[l]));
                        r = r._next
                    }
                    return {
                        proxy: p,
                        end: _,
                        firstMPT: h,
                        pt: u
                    }
                }, Y.CSSPropTween = function(t, e, r, s, a, o, l, h, u, f, p) {
                    this.t = t, this.p = e, this.s = r, this.c = s, this.n = l || e, t instanceof ce || n.push(this.n), this.r = h, this.type = o || 0, u && (this.pr = u, i = !0), this.b = void 0 === f ? r : f, this.e = void 0 === p ? r + s : p, a && (this._next = a, a._prev = this)
                }),
                de = function(t, e, i, r, s, n) {
                    var a = new ce(t, e, i, r - i, s, -1, n);
                    return a.b = i, a.e = a.xs0 = r, a
                },
                me = a.parseComplex = function(t, e, i, r, s, n, a, o, l, h) {
                    i = i || n || "", a = new ce(t, e, 0, 0, a, h ? 2 : 1, null, !1, o, i, r), r += "";
                    var f, p, _, c, d, v, x, y, T, w, b, O, S = i.split(", ").join(",").split(" "),
                        k = r.split(", ").join(",").split(" "),
                        A = S.length,
                        C = u !== !1;
                    for ((-1 !== r.indexOf(",") || -1 !== i.indexOf(",")) && (S = S.join(" ").replace(D, ", ").split(" "), k = k.join(" ").replace(D, ", ").split(" "), A = S.length), A !== k.length && (S = (n || "").split(" "), A = S.length), a.plugin = l, a.setRatio = h, f = 0; A > f; f++)
                        if (c = S[f], d = k[f], y = parseFloat(c), y || 0 === y) a.appendXtra("", y, se(d, y), d.replace(g, ""), C && -1 !== d.indexOf("px"), !0);
                        else if (s && ("#" === c.charAt(0) || oe[c] || P.test(c))) O = "," === d.charAt(d.length - 1) ? ")," : ")", c = he(c), d = he(d), T = c.length + d.length > 6, T && !j && 0 === d[3] ? (a["xs" + a.l] += a.l ? " transparent" : "transparent", a.e = a.e.split(k[f]).join("transparent")) : (j || (T = !1), a.appendXtra(T ? "rgba(" : "rgb(", c[0], d[0] - c[0], ",", !0, !0).appendXtra("", c[1], d[1] - c[1], ",", !0).appendXtra("", c[2], d[2] - c[2], T ? "," : O, !0), T && (c = 4 > c.length ? 1 : c[3], a.appendXtra("", c, (4 > d.length ? 1 : d[3]) - c, O, !1)));
                    else if (v = c.match(m)) {
                        if (x = d.match(g), !x || x.length !== v.length) return a;
                        for (_ = 0, p = 0; v.length > p; p++) b = v[p], w = c.indexOf(b, _), a.appendXtra(c.substr(_, w - _), Number(b), se(x[p], b), "", C && "px" === c.substr(w + b.length, 2), 0 === p), _ = w + b.length;
                        a["xs" + a.l] += c.substr(_)
                    } else a["xs" + a.l] += a.l ? " " + c : c;
                    if (-1 !== r.indexOf("=") && a.data) {
                        for (O = a.xs0 + a.data.s, f = 1; a.l > f; f++) O += a["xs" + f] + a.data["xn" + f];
                        a.e = O + a["xs" + f]
                    }
                    return a.l || (a.type = -1, a.xs0 = a.e), a.xfirst || a
                },
                ge = 9;
            for (h = ce.prototype, h.l = h.pr = 0; --ge > 0;) h["xn" + ge] = 0, h["xs" + ge] = "";
            h.xs0 = "", h._next = h._prev = h.xfirst = h.data = h.plugin = h.setRatio = h.rxp = null, h.appendXtra = function(t, e, i, r, s, n) {
                var a = this,
                    o = a.l;
                return a["xs" + o] += n && o ? " " + t : t || "", i || 0 === o || a.plugin ? (a.l++, a.type = a.setRatio ? 2 : 1, a["xs" + a.l] = r || "", o > 0 ? (a.data["xn" + o] = e + i, a.rxp["xn" + o] = s, a["xn" + o] = e, a.plugin || (a.xfirst = new ce(a, "xn" + o, e, i, a.xfirst || a, 0, a.n, s, a.pr), a.xfirst.xs0 = 0), a) : (a.data = {
                    s: e + i
                }, a.rxp = {}, a.s = e, a.c = i, a.r = s, a)) : (a["xs" + o] += e + (r || ""), a)
            };
            var ve = function(t, e) {
                    e = e || {}, this.p = e.prefix ? Z(t) || t : t, l[t] = l[this.p] = this, this.format = e.formatter || fe(e.defaultValue, e.color, e.collapsible, e.multi), e.parser && (this.parse = e.parser), this.clrs = e.color, this.multi = e.multi, this.keyword = e.keyword, this.dflt = e.defaultValue, this.pr = e.priority || 0
                },
                xe = Y._registerComplexSpecialProp = function(t, e, i) {
                    "object" != typeof e && (e = {
                        parser: i
                    });
                    var r, s, n = t.split(","),
                        a = e.defaultValue;
                    for (i = i || [a], r = 0; n.length > r; r++) e.prefix = 0 === r && e.prefix, e.defaultValue = i[r] || a, s = new ve(n[r], e)
                },
                ye = function(t) {
                    if (!l[t]) {
                        var e = t.charAt(0).toUpperCase() + t.substr(1) + "Plugin";
                        xe(t, {
                            parser: function(t, i, r, s, n, a, h) {
                                var u = o.com.greensock.plugins[e];
                                return u ? (u._cssRegister(), l[r].parse(t, i, r, s, n, a, h)) : (U("Error: " + e + " js file not loaded."), n)
                            }
                        })
                    }
                };
            h = ve.prototype, h.parseComplex = function(t, e, i, r, s, n) {
                var a, o, l, h, u, f, p = this.keyword;
                if (this.multi && (D.test(i) || D.test(e) ? (o = e.replace(D, "|").split("|"), l = i.replace(D, "|").split("|")) : p && (o = [e], l = [i])), l) {
                    for (h = l.length > o.length ? l.length : o.length, a = 0; h > a; a++) e = o[a] = o[a] || this.dflt, i = l[a] = l[a] || this.dflt, p && (u = e.indexOf(p), f = i.indexOf(p), u !== f && (-1 === f ? o[a] = o[a].split(p).join("") : -1 === u && (o[a] += " " + p)));
                    e = o.join(", "), i = l.join(", ")
                }
                return me(t, this.p, e, i, this.clrs, this.dflt, r, this.pr, s, n)
            }, h.parse = function(t, e, i, r, n, a) {
                return this.parseComplex(t.style, this.format(Q(t, this.p, s, !1, this.dflt)), this.format(e), n, a)
            }, a.registerSpecialProp = function(t, e, i) {
                xe(t, {
                    parser: function(t, r, s, n, a, o) {
                        var l = new ce(t, s, 0, 0, a, 2, s, !1, i);
                        return l.plugin = o, l.setRatio = e(t, r, n._tween, s), l
                    },
                    priority: i
                })
            }, a.useSVGTransformAttr = p || _;
            var Te, we = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),
                be = Z("transform"),
                Pe = q + "transform",
                Oe = Z("transformOrigin"),
                Se = null !== Z("perspective"),
                ke = Y.Transform = function() {
                    this.perspective = parseFloat(a.defaultTransformPerspective) || 0, this.force3D = a.defaultForce3D !== !1 && Se ? a.defaultForce3D || "auto" : !1
                },
                Ae = window.SVGElement,
                Ce = function(t, e, i) {
                    var r, s = I.createElementNS("http://www.w3.org/2000/svg", t),
                        n = /([a-z])([A-Z])/g;
                    for (r in i) s.setAttributeNS(null, r.replace(n, "$1-$2").toLowerCase(), i[r]);
                    return e.appendChild(s), s
                },
                Re = I.documentElement,
                Me = function() {
                    var t, e, i, r = d || /Android/i.test(B) && !window.chrome;
                    return I.createElementNS && !r && (t = Ce("svg", Re), e = Ce("rect", t, {
                        width: 100,
                        height: 50,
                        x: 100
                    }), i = e.getBoundingClientRect().width, e.style[Oe] = "50% 50%", e.style[be] = "scaleX(0.5)", r = i === e.getBoundingClientRect().width && !(_ && Se), Re.removeChild(t)), r
                }(),
                De = function(t, e, i, r, s) {
                    var n, o, l, h, u, f, p, _, c, d, m, g, v, x, y = t._gsTransform,
                        T = Fe(t, !0);
                    y && (v = y.xOrigin, x = y.yOrigin), (!r || 2 > (n = r.split(" ")).length) && (p = t.getBBox(), e = re(e).split(" "), n = [(-1 !== e[0].indexOf("%") ? parseFloat(e[0]) / 100 * p.width : parseFloat(e[0])) + p.x, (-1 !== e[1].indexOf("%") ? parseFloat(e[1]) / 100 * p.height : parseFloat(e[1])) + p.y]), i.xOrigin = h = parseFloat(n[0]), i.yOrigin = u = parseFloat(n[1]), r && T !== ze && (f = T[0], p = T[1], _ = T[2], c = T[3], d = T[4], m = T[5], g = f * c - p * _, o = h * (c / g) + u * (-_ / g) + (_ * m - c * d) / g, l = h * (-p / g) + u * (f / g) - (f * m - p * d) / g, h = i.xOrigin = n[0] = o, u = i.yOrigin = n[1] = l), y && (s || s !== !1 && a.defaultSmoothOrigin !== !1 ? (o = h - v, l = u - x, y.xOffset += o * T[0] + l * T[2] - o, y.yOffset += o * T[1] + l * T[3] - l) : y.xOffset = y.yOffset = 0), t.setAttribute("data-svg-origin", n.join(" "))
                },
                Xe = function(t) {
                    return !!(Ae && "function" == typeof t.getBBox && t.getCTM && (!t.parentNode || t.parentNode.getBBox && t.parentNode.getCTM))
                },
                ze = [1, 0, 0, 1, 0, 0],
                Fe = function(t, e) {
                    var i, r, s, n, a, o = t._gsTransform || new ke,
                        l = 1e5;
                    if (be ? r = Q(t, Pe, null, !0) : t.currentStyle && (r = t.currentStyle.filter.match(R), r = r && 4 === r.length ? [r[0].substr(4), Number(r[2].substr(4)), Number(r[1].substr(4)), r[3].substr(4), o.x || 0, o.y || 0].join(",") : ""), i = !r || "none" === r || "matrix(1, 0, 0, 1, 0, 0)" === r, (o.svg || t.getBBox && Xe(t)) && (i && -1 !== (t.style[be] + "").indexOf("matrix") && (r = t.style[be], i = 0), s = t.getAttribute("transform"), i && s && (-1 !== s.indexOf("matrix") ? (r = s, i = 0) : -1 !== s.indexOf("translate") && (r = "matrix(1,0,0,1," + s.match(/(?:\-|\b)[\d\-\.e]+\b/gi).join(",") + ")", i = 0))), i) return ze;
                    for (s = (r || "").match(/(?:\-|\b)[\d\-\.e]+\b/gi) || [], ge = s.length; --ge > -1;) n = Number(s[ge]), s[ge] = (a = n - (n |= 0)) ? (0 | a * l + (0 > a ? -.5 : .5)) / l + n : n;
                    return e && s.length > 6 ? [s[0], s[1], s[4], s[5], s[12], s[13]] : s
                },
                Ie = Y.getTransform = function(t, i, r, n) {
                    if (t._gsTransform && r && !n) return t._gsTransform;
                    var o, l, h, u, f, p, _ = r ? t._gsTransform || new ke : new ke,
                        c = 0 > _.scaleX,
                        d = 2e-5,
                        m = 1e5,
                        g = Se ? parseFloat(Q(t, Oe, i, !1, "0 0 0").split(" ")[2]) || _.zOrigin || 0 : 0,
                        v = parseFloat(a.defaultTransformPerspective) || 0;
                    if (_.svg = !(!t.getBBox || !Xe(t)), _.svg && (De(t, Q(t, Oe, s, !1, "50% 50%") + "", _, t.getAttribute("data-svg-origin")), Te = a.useSVGTransformAttr || Me), o = Fe(t), o !== ze) {
                        if (16 === o.length) {
                            var x, y, T, w, b, P = o[0],
                                O = o[1],
                                S = o[2],
                                k = o[3],
                                A = o[4],
                                C = o[5],
                                R = o[6],
                                M = o[7],
                                D = o[8],
                                X = o[9],
                                F = o[10],
                                I = o[12],
                                N = o[13],
                                E = o[14],
                                L = o[11],
                                Y = Math.atan2(R, F);
                            _.zOrigin && (E = -_.zOrigin, I = D * E - o[12], N = X * E - o[13], E = F * E + _.zOrigin - o[14]), _.rotationX = Y * z, Y && (w = Math.cos(-Y), b = Math.sin(-Y), x = A * w + D * b, y = C * w + X * b, T = R * w + F * b, D = A * -b + D * w, X = C * -b + X * w, F = R * -b + F * w, L = M * -b + L * w, A = x, C = y, R = T), Y = Math.atan2(D, F), _.rotationY = Y * z, Y && (w = Math.cos(-Y), b = Math.sin(-Y), x = P * w - D * b, y = O * w - X * b, T = S * w - F * b, X = O * b + X * w, F = S * b + F * w, L = k * b + L * w, P = x, O = y, S = T), Y = Math.atan2(O, P), _.rotation = Y * z, Y && (w = Math.cos(-Y), b = Math.sin(-Y), P = P * w + A * b, y = O * w + C * b, C = O * -b + C * w, R = S * -b + R * w, O = y), _.rotationX && Math.abs(_.rotationX) + Math.abs(_.rotation) > 359.9 && (_.rotationX = _.rotation = 0, _.rotationY += 180), _.scaleX = (0 | Math.sqrt(P * P + O * O) * m + .5) / m, _.scaleY = (0 | Math.sqrt(C * C + X * X) * m + .5) / m, _.scaleZ = (0 | Math.sqrt(R * R + F * F) * m + .5) / m, _.skewX = 0, _.perspective = L ? 1 / (0 > L ? -L : L) : 0, _.x = I, _.y = N, _.z = E, _.svg && (_.x -= _.xOrigin - (_.xOrigin * P - _.yOrigin * A), _.y -= _.yOrigin - (_.yOrigin * O - _.xOrigin * C))
                        } else if (!(Se && !n && o.length && _.x === o[4] && _.y === o[5] && (_.rotationX || _.rotationY) || void 0 !== _.x && "none" === Q(t, "display", i))) {
                            var B = o.length >= 6,
                                j = B ? o[0] : 1,
                                V = o[1] || 0,
                                U = o[2] || 0,
                                q = B ? o[3] : 1;
                            _.x = o[4] || 0, _.y = o[5] || 0, h = Math.sqrt(j * j + V * V), u = Math.sqrt(q * q + U * U), f = j || V ? Math.atan2(V, j) * z : _.rotation || 0, p = U || q ? Math.atan2(U, q) * z + f : _.skewX || 0, Math.abs(p) > 90 && 270 > Math.abs(p) && (c ? (h *= -1, p += 0 >= f ? 180 : -180, f += 0 >= f ? 180 : -180) : (u *= -1, p += 0 >= p ? 180 : -180)), _.scaleX = h, _.scaleY = u, _.rotation = f, _.skewX = p, Se && (_.rotationX = _.rotationY = _.z = 0, _.perspective = v, _.scaleZ = 1), _.svg && (_.x -= _.xOrigin - (_.xOrigin * j + _.yOrigin * U), _.y -= _.yOrigin - (_.xOrigin * V + _.yOrigin * q))
                        }
                        _.zOrigin = g;
                        for (l in _) d > _[l] && _[l] > -d && (_[l] = 0)
                    }
                    return r && (t._gsTransform = _, _.svg && (Te && t.style[be] ? e.delayedCall(.001, function() {
                        Ye(t.style, be)
                    }) : !Te && t.getAttribute("transform") && e.delayedCall(.001, function() {
                        t.removeAttribute("transform")
                    }))), _
                },
                Ne = function(t) {
                    var e, i, r = this.data,
                        s = -r.rotation * X,
                        n = s + r.skewX * X,
                        a = 1e5,
                        o = (0 | Math.cos(s) * r.scaleX * a) / a,
                        l = (0 | Math.sin(s) * r.scaleX * a) / a,
                        h = (0 | Math.sin(n) * -r.scaleY * a) / a,
                        u = (0 | Math.cos(n) * r.scaleY * a) / a,
                        f = this.t.style,
                        p = this.t.currentStyle;
                    if (p) {
                        i = l, l = -h, h = -i, e = p.filter, f.filter = "";
                        var _, c, m = this.t.offsetWidth,
                            g = this.t.offsetHeight,
                            v = "absolute" !== p.position,
                            x = "progid:DXImageTransform.Microsoft.Matrix(M11=" + o + ", M12=" + l + ", M21=" + h + ", M22=" + u,
                            w = r.x + m * r.xPercent / 100,
                            b = r.y + g * r.yPercent / 100;
                        if (null != r.ox && (_ = (r.oxp ? .01 * m * r.ox : r.ox) - m / 2, c = (r.oyp ? .01 * g * r.oy : r.oy) - g / 2, w += _ - (_ * o + c * l), b += c - (_ * h + c * u)), v ? (_ = m / 2, c = g / 2, x += ", Dx=" + (_ - (_ * o + c * l) + w) + ", Dy=" + (c - (_ * h + c * u) + b) + ")") : x += ", sizingMethod='auto expand')", f.filter = -1 !== e.indexOf("DXImageTransform.Microsoft.Matrix(") ? e.replace(M, x) : x + " " + e, (0 === t || 1 === t) && 1 === o && 0 === l && 0 === h && 1 === u && (v && -1 === x.indexOf("Dx=0, Dy=0") || T.test(e) && 100 !== parseFloat(RegExp.$1) || -1 === e.indexOf("gradient(" && e.indexOf("Alpha")) && f.removeAttribute("filter")), !v) {
                            var P, O, S, k = 8 > d ? 1 : -1;
                            for (_ = r.ieOffsetX || 0, c = r.ieOffsetY || 0, r.ieOffsetX = Math.round((m - ((0 > o ? -o : o) * m + (0 > l ? -l : l) * g)) / 2 + w), r.ieOffsetY = Math.round((g - ((0 > u ? -u : u) * g + (0 > h ? -h : h) * m)) / 2 + b), ge = 0; 4 > ge; ge++) O = ee[ge], P = p[O], i = -1 !== P.indexOf("px") ? parseFloat(P) : $(this.t, O, parseFloat(P), P.replace(y, "")) || 0, S = i !== r[O] ? 2 > ge ? -r.ieOffsetX : -r.ieOffsetY : 2 > ge ? _ - r.ieOffsetX : c - r.ieOffsetY, f[O] = (r[O] = Math.round(i - S * (0 === ge || 2 === ge ? 1 : k))) + "px"
                        }
                    }
                },
                Ee = Y.set3DTransformRatio = Y.setTransformRatio = function(t) {
                    var e, i, r, s, n, a, o, l, h, u, f, p, c, d, m, g, v, x, y, T, w, b, P, O = this.data,
                        S = this.t.style,
                        k = O.rotation,
                        A = O.rotationX,
                        C = O.rotationY,
                        R = O.scaleX,
                        M = O.scaleY,
                        D = O.scaleZ,
                        z = O.x,
                        F = O.y,
                        I = O.z,
                        N = O.svg,
                        E = O.perspective,
                        L = O.force3D;
                    if (!((1 !== t && 0 !== t || "auto" !== L || this.tween._totalTime !== this.tween._totalDuration && this.tween._totalTime) && L || I || E || C || A) || Te && N || !Se) return void(k || O.skewX || N ? (k *= X, b = O.skewX * X, P = 1e5, e = Math.cos(k) * R, s = Math.sin(k) * R, i = Math.sin(k - b) * -M, n = Math.cos(k - b) * M, b && "simple" === O.skewType && (v = Math.tan(b), v = Math.sqrt(1 + v * v), i *= v, n *= v, O.skewY && (e *= v, s *= v)), N && (z += O.xOrigin - (O.xOrigin * e + O.yOrigin * i) + O.xOffset, F += O.yOrigin - (O.xOrigin * s + O.yOrigin * n) + O.yOffset, Te && (O.xPercent || O.yPercent) && (d = this.t.getBBox(), z += .01 * O.xPercent * d.width, F += .01 * O.yPercent * d.height), d = 1e-6, d > z && z > -d && (z = 0), d > F && F > -d && (F = 0)), y = (0 | e * P) / P + "," + (0 | s * P) / P + "," + (0 | i * P) / P + "," + (0 | n * P) / P + "," + z + "," + F + ")", N && Te ? this.t.setAttribute("transform", "matrix(" + y) : S[be] = (O.xPercent || O.yPercent ? "translate(" + O.xPercent + "%," + O.yPercent + "%) matrix(" : "matrix(") + y) : S[be] = (O.xPercent || O.yPercent ? "translate(" + O.xPercent + "%," + O.yPercent + "%) matrix(" : "matrix(") + R + ",0,0," + M + "," + z + "," + F + ")");
                    if (_ && (d = 1e-4, d > R && R > -d && (R = D = 2e-5), d > M && M > -d && (M = D = 2e-5), !E || O.z || O.rotationX || O.rotationY || (E = 0)), k || O.skewX) k *= X, m = e = Math.cos(k), g = s = Math.sin(k), O.skewX && (k -= O.skewX * X, m = Math.cos(k), g = Math.sin(k), "simple" === O.skewType && (v = Math.tan(O.skewX * X), v = Math.sqrt(1 + v * v), m *= v, g *= v, O.skewY && (e *= v, s *= v))), i = -g, n = m;
                    else {
                        if (!(C || A || 1 !== D || E || N)) return void(S[be] = (O.xPercent || O.yPercent ? "translate(" + O.xPercent + "%," + O.yPercent + "%) translate3d(" : "translate3d(") + z + "px," + F + "px," + I + "px)" + (1 !== R || 1 !== M ? " scale(" + R + "," + M + ")" : ""));
                        e = n = 1, i = s = 0
                    }
                    h = 1, r = a = o = l = u = f = 0, p = E ? -1 / E : 0, c = O.zOrigin, d = 1e-6, T = ",", w = "0", k = C * X, k && (m = Math.cos(k), g = Math.sin(k), o = -g, u = p * -g, r = e * g, a = s * g, h = m, p *= m, e *= m, s *= m), k = A * X, k && (m = Math.cos(k), g = Math.sin(k), v = i * m + r * g, x = n * m + a * g, l = h * g, f = p * g, r = i * -g + r * m, a = n * -g + a * m, h *= m, p *= m, i = v, n = x), 1 !== D && (r *= D, a *= D, h *= D, p *= D), 1 !== M && (i *= M, n *= M, l *= M, f *= M), 1 !== R && (e *= R, s *= R, o *= R, u *= R), (c || N) && (c && (z += r * -c, F += a * -c, I += h * -c + c), N && (z += O.xOrigin - (O.xOrigin * e + O.yOrigin * i) + O.xOffset, F += O.yOrigin - (O.xOrigin * s + O.yOrigin * n) + O.yOffset), d > z && z > -d && (z = w), d > F && F > -d && (F = w), d > I && I > -d && (I = 0)), y = O.xPercent || O.yPercent ? "translate(" + O.xPercent + "%," + O.yPercent + "%) matrix3d(" : "matrix3d(", y += (d > e && e > -d ? w : e) + T + (d > s && s > -d ? w : s) + T + (d > o && o > -d ? w : o), y += T + (d > u && u > -d ? w : u) + T + (d > i && i > -d ? w : i) + T + (d > n && n > -d ? w : n), A || C ? (y += T + (d > l && l > -d ? w : l) + T + (d > f && f > -d ? w : f) + T + (d > r && r > -d ? w : r), y += T + (d > a && a > -d ? w : a) + T + (d > h && h > -d ? w : h) + T + (d > p && p > -d ? w : p) + T) : y += ",0,0,0,0,1,0,", y += z + T + F + T + I + T + (E ? 1 + -I / E : 1) + ")", S[be] = y
                };
            h = ke.prototype, h.x = h.y = h.z = h.skewX = h.skewY = h.rotation = h.rotationX = h.rotationY = h.zOrigin = h.xPercent = h.yPercent = h.xOffset = h.yOffset = 0, h.scaleX = h.scaleY = h.scaleZ = 1, xe("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(t, e, i, r, n, o, l) {
                    if (r._lastParsedTransform === l) return n;
                    r._lastParsedTransform = l;
                    var h, u, f, p, _, c, d, m, g, v = t._gsTransform,
                        x = r._transform = Ie(t, s, !0, l.parseTransform),
                        y = t.style,
                        T = 1e-6,
                        w = we.length,
                        b = l,
                        P = {},
                        O = "transformOrigin";
                    if ("string" == typeof b.transform && be) f = E.style, f[be] = b.transform, f.display = "block", f.position = "absolute", I.body.appendChild(E), h = Ie(E, null, !1), I.body.removeChild(E), null != b.xPercent && (h.xPercent = ne(b.xPercent, x.xPercent)), null != b.yPercent && (h.yPercent = ne(b.yPercent, x.yPercent));
                    else if ("object" == typeof b) {
                        if (h = {
                                scaleX: ne(null != b.scaleX ? b.scaleX : b.scale, x.scaleX),
                                scaleY: ne(null != b.scaleY ? b.scaleY : b.scale, x.scaleY),
                                scaleZ: ne(b.scaleZ, x.scaleZ),
                                x: ne(b.x, x.x),
                                y: ne(b.y, x.y),
                                z: ne(b.z, x.z),
                                xPercent: ne(b.xPercent, x.xPercent),
                                yPercent: ne(b.yPercent, x.yPercent),
                                perspective: ne(b.transformPerspective, x.perspective)
                            }, d = b.directionalRotation, null != d)
                            if ("object" == typeof d)
                                for (f in d) b[f] = d[f];
                            else b.rotation = d;
                            "string" == typeof b.x && -1 !== b.x.indexOf("%") && (h.x = 0, h.xPercent = ne(b.x, x.xPercent)), "string" == typeof b.y && -1 !== b.y.indexOf("%") && (h.y = 0, h.yPercent = ne(b.y, x.yPercent)), h.rotation = ae("rotation" in b ? b.rotation : "shortRotation" in b ? b.shortRotation + "_short" : "rotationZ" in b ? b.rotationZ : x.rotation, x.rotation, "rotation", P), Se && (h.rotationX = ae("rotationX" in b ? b.rotationX : "shortRotationX" in b ? b.shortRotationX + "_short" : x.rotationX || 0, x.rotationX, "rotationX", P), h.rotationY = ae("rotationY" in b ? b.rotationY : "shortRotationY" in b ? b.shortRotationY + "_short" : x.rotationY || 0, x.rotationY, "rotationY", P)), h.skewX = null == b.skewX ? x.skewX : ae(b.skewX, x.skewX), h.skewY = null == b.skewY ? x.skewY : ae(b.skewY, x.skewY), (u = h.skewY - x.skewY) && (h.skewX += u, h.rotation += u)
                    }
                    for (Se && null != b.force3D && (x.force3D = b.force3D, c = !0), x.skewType = b.skewType || x.skewType || a.defaultSkewType, _ = x.force3D || x.z || x.rotationX || x.rotationY || h.z || h.rotationX || h.rotationY || h.perspective, _ || null == b.scale || (h.scaleZ = 1); --w > -1;) i = we[w], p = h[i] - x[i], (p > T || -T > p || null != b[i] || null != F[i]) && (c = !0, n = new ce(x, i, x[i], p, n), i in P && (n.e = P[i]), n.xs0 = 0, n.plugin = o, r._overwriteProps.push(n.n));
                    return p = b.transformOrigin, x.svg && (p || b.svgOrigin) && (m = x.xOffset, g = x.yOffset, De(t, re(p), h, b.svgOrigin, b.smoothOrigin), n = de(x, "xOrigin", (v ? x : h).xOrigin, h.xOrigin, n, O), n = de(x, "yOrigin", (v ? x : h).yOrigin, h.yOrigin, n, O), (m !== x.xOffset || g !== x.yOffset) && (n = de(x, "xOffset", v ? m : x.xOffset, x.xOffset, n, O), n = de(x, "yOffset", v ? g : x.yOffset, x.yOffset, n, O)), p = Te ? null : "0px 0px"), (p || Se && _ && x.zOrigin) && (be ? (c = !0, i = Oe, p = (p || Q(t, i, s, !1, "50% 50%")) + "", n = new ce(y, i, 0, 0, n, -1, O), n.b = y[i], n.plugin = o, Se ? (f = x.zOrigin, p = p.split(" "), x.zOrigin = (p.length > 2 && (0 === f || "0px" !== p[2]) ? parseFloat(p[2]) : f) || 0, n.xs0 = n.e = p[0] + " " + (p[1] || "50%") + " 0px", n = new ce(x, "zOrigin", 0, 0, n, -1, n.n), n.b = f, n.xs0 = n.e = x.zOrigin) : n.xs0 = n.e = p) : re(p + "", x)), c && (r._transformType = x.svg && Te || !_ && 3 !== this._transformType ? 2 : 3), n
                },
                prefix: !0
            }), xe("boxShadow", {
                defaultValue: "0px 0px 0px 0px #999",
                prefix: !0,
                color: !0,
                multi: !0,
                keyword: "inset"
            }), xe("borderRadius", {
                defaultValue: "0px",
                parser: function(t, e, i, n, a) {
                    e = this.format(e);
                    var o, l, h, u, f, p, _, c, d, m, g, v, x, y, T, w, b = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
                        P = t.style;
                    for (d = parseFloat(t.offsetWidth), m = parseFloat(t.offsetHeight), o = e.split(" "), l = 0; b.length > l; l++) this.p.indexOf("border") && (b[l] = Z(b[l])), f = u = Q(t, b[l], s, !1, "0px"), -1 !== f.indexOf(" ") && (u = f.split(" "), f = u[0], u = u[1]), p = h = o[l], _ = parseFloat(f), v = f.substr((_ + "").length), x = "=" === p.charAt(1), x ? (c = parseInt(p.charAt(0) + "1", 10), p = p.substr(2), c *= parseFloat(p), g = p.substr((c + "").length - (0 > c ? 1 : 0)) || "") : (c = parseFloat(p), g = p.substr((c + "").length)), "" === g && (g = r[i] || v), g !== v && (y = $(t, "borderLeft", _, v), T = $(t, "borderTop", _, v), "%" === g ? (f = 100 * (y / d) + "%", u = 100 * (T / m) + "%") : "em" === g ? (w = $(t, "borderLeft", 1, "em"), f = y / w + "em", u = T / w + "em") : (f = y + "px", u = T + "px"), x && (p = parseFloat(f) + c + g, h = parseFloat(u) + c + g)), a = me(P, b[l], f + " " + u, p + " " + h, !1, "0px", a);
                    return a
                },
                prefix: !0,
                formatter: fe("0px 0px 0px 0px", !1, !0)
            }), xe("backgroundPosition", {
                defaultValue: "0 0",
                parser: function(t, e, i, r, n, a) {
                    var o, l, h, u, f, p, _ = "background-position",
                        c = s || G(t, null),
                        m = this.format((c ? d ? c.getPropertyValue(_ + "-x") + " " + c.getPropertyValue(_ + "-y") : c.getPropertyValue(_) : t.currentStyle.backgroundPositionX + " " + t.currentStyle.backgroundPositionY) || "0 0"),
                        g = this.format(e);
                    if (-1 !== m.indexOf("%") != (-1 !== g.indexOf("%")) && (p = Q(t, "backgroundImage").replace(k, ""), p && "none" !== p)) {
                        for (o = m.split(" "), l = g.split(" "), L.setAttribute("src", p), h = 2; --h > -1;) m = o[h], u = -1 !== m.indexOf("%"), u !== (-1 !== l[h].indexOf("%")) && (f = 0 === h ? t.offsetWidth - L.width : t.offsetHeight - L.height, o[h] = u ? parseFloat(m) / 100 * f + "px" : 100 * (parseFloat(m) / f) + "%");
                        m = o.join(" ")
                    }
                    return this.parseComplex(t.style, m, g, n, a)
                },
                formatter: re
            }), xe("backgroundSize", {
                defaultValue: "0 0",
                formatter: re
            }), xe("perspective", {
                defaultValue: "0px",
                prefix: !0
            }), xe("perspectiveOrigin", {
                defaultValue: "50% 50%",
                prefix: !0
            }), xe("transformStyle", {
                prefix: !0
            }), xe("backfaceVisibility", {
                prefix: !0
            }), xe("userSelect", {
                prefix: !0
            }), xe("margin", {
                parser: pe("marginTop,marginRight,marginBottom,marginLeft")
            }), xe("padding", {
                parser: pe("paddingTop,paddingRight,paddingBottom,paddingLeft")
            }), xe("clip", {
                defaultValue: "rect(0px,0px,0px,0px)",
                parser: function(t, e, i, r, n, a) {
                    var o, l, h;
                    return 9 > d ? (l = t.currentStyle, h = 8 > d ? " " : ",", o = "rect(" + l.clipTop + h + l.clipRight + h + l.clipBottom + h + l.clipLeft + ")", e = this.format(e).split(",").join(h)) : (o = this.format(Q(t, this.p, s, !1, this.dflt)), e = this.format(e)), this.parseComplex(t.style, o, e, n, a)
                }
            }), xe("textShadow", {
                defaultValue: "0px 0px 0px #999",
                color: !0,
                multi: !0
            }), xe("autoRound,strictUnits", {
                parser: function(t, e, i, r, s) {
                    return s
                }
            }), xe("border", {
                defaultValue: "0px solid #000",
                parser: function(t, e, i, r, n, a) {
                    return this.parseComplex(t.style, this.format(Q(t, "borderTopWidth", s, !1, "0px") + " " + Q(t, "borderTopStyle", s, !1, "solid") + " " + Q(t, "borderTopColor", s, !1, "#000")), this.format(e), n, a)
                },
                color: !0,
                formatter: function(t) {
                    var e = t.split(" ");
                    return e[0] + " " + (e[1] || "solid") + " " + (t.match(ue) || ["#000"])[0]
                }
            }), xe("borderWidth", {
                parser: pe("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")
            }), xe("float,cssFloat,styleFloat", {
                parser: function(t, e, i, r, s) {
                    var n = t.style,
                        a = "cssFloat" in n ? "cssFloat" : "styleFloat";
                    return new ce(n, a, 0, 0, s, -1, i, !1, 0, n[a], e)
                }
            });
            var Le = function(t) {
                var e, i = this.t,
                    r = i.filter || Q(this.data, "filter") || "",
                    s = 0 | this.s + this.c * t;
                100 === s && (-1 === r.indexOf("atrix(") && -1 === r.indexOf("radient(") && -1 === r.indexOf("oader(") ? (i.removeAttribute("filter"), e = !Q(this.data, "filter")) : (i.filter = r.replace(b, ""), e = !0)), e || (this.xn1 && (i.filter = r = r || "alpha(opacity=" + s + ")"), -1 === r.indexOf("pacity") ? 0 === s && this.xn1 || (i.filter = r + " alpha(opacity=" + s + ")") : i.filter = r.replace(T, "opacity=" + s))
            };
            xe("opacity,alpha,autoAlpha", {
                defaultValue: "1",
                parser: function(t, e, i, r, n, a) {
                    var o = parseFloat(Q(t, "opacity", s, !1, "1")),
                        l = t.style,
                        h = "autoAlpha" === i;
                    return "string" == typeof e && "=" === e.charAt(1) && (e = ("-" === e.charAt(0) ? -1 : 1) * parseFloat(e.substr(2)) + o), h && 1 === o && "hidden" === Q(t, "visibility", s) && 0 !== e && (o = 0), j ? n = new ce(l, "opacity", o, e - o, n) : (n = new ce(l, "opacity", 100 * o, 100 * (e - o), n), n.xn1 = h ? 1 : 0, l.zoom = 1, n.type = 2, n.b = "alpha(opacity=" + n.s + ")", n.e = "alpha(opacity=" + (n.s + n.c) + ")", n.data = t, n.plugin = a, n.setRatio = Le), h && (n = new ce(l, "visibility", 0, 0, n, -1, null, !1, 0, 0 !== o ? "inherit" : "hidden", 0 === e ? "hidden" : "inherit"), n.xs0 = "inherit", r._overwriteProps.push(n.n), r._overwriteProps.push(i)), n
                }
            });
            var Ye = function(t, e) {
                    e && (t.removeProperty ? (("ms" === e.substr(0, 2) || "webkit" === e.substr(0, 6)) && (e = "-" + e), t.removeProperty(e.replace(O, "-$1").toLowerCase())) : t.removeAttribute(e))
                },
                Be = function(t) {
                    if (this.t._gsClassPT = this, 1 === t || 0 === t) {
                        this.t.setAttribute("class", 0 === t ? this.b : this.e);
                        for (var e = this.data, i = this.t.style; e;) e.v ? i[e.p] = e.v : Ye(i, e.p), e = e._next;
                        1 === t && this.t._gsClassPT === this && (this.t._gsClassPT = null)
                    } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e)
                };
            xe("className", {
                parser: function(t, e, r, n, a, o, l) {
                    var h, u, f, p, _, c = t.getAttribute("class") || "",
                        d = t.style.cssText;
                    if (a = n._classNamePT = new ce(t, r, 0, 0, a, 2), a.setRatio = Be, a.pr = -11, i = !0, a.b = c, u = K(t, s), f = t._gsClassPT) {
                        for (p = {}, _ = f.data; _;) p[_.p] = 1, _ = _._next;
                        f.setRatio(1)
                    }
                    return t._gsClassPT = a, a.e = "=" !== e.charAt(1) ? e : c.replace(RegExp("\\s*\\b" + e.substr(2) + "\\b"), "") + ("+" === e.charAt(0) ? " " + e.substr(2) : ""), t.setAttribute("class", a.e), h = J(t, u, K(t), l, p), t.setAttribute("class", c), a.data = h.firstMPT, t.style.cssText = d, a = a.xfirst = n.parse(t, h.difs, a, o)
                }
            });
            var je = function(t) {
                if ((1 === t || 0 === t) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
                    var e, i, r, s, n, a = this.t.style,
                        o = l.transform.parse;
                    if ("all" === this.e) a.cssText = "", s = !0;
                    else
                        for (e = this.e.split(" ").join("").split(","), r = e.length; --r > -1;) i = e[r], l[i] && (l[i].parse === o ? s = !0 : i = "transformOrigin" === i ? Oe : l[i].p), Ye(a, i);
                    s && (Ye(a, be), n = this.t._gsTransform, n && (n.svg && this.t.removeAttribute("data-svg-origin"), delete this.t._gsTransform))
                }
            };
            for (xe("clearProps", {
                    parser: function(t, e, r, s, n) {
                        return n = new ce(t, r, 0, 0, n, 2), n.setRatio = je, n.e = e, n.pr = -10, n.data = s._tween, i = !0, n
                    }
                }), h = "bezier,throwProps,physicsProps,physics2D".split(","), ge = h.length; ge--;) ye(h[ge]);
            h = a.prototype, h._firstPT = h._lastParsedTransform = h._transform = null, h._onInitTween = function(t, e, o) {
                if (!t.nodeType) return !1;
                this._target = t, this._tween = o, this._vars = e, u = e.autoRound, i = !1, r = e.suffixMap || a.suffixMap, s = G(t, ""), n = this._overwriteProps;
                var h, _, d, m, g, v, x, y, T, b = t.style;
                if (f && "" === b.zIndex && (h = Q(t, "zIndex", s), ("auto" === h || "" === h) && this._addLazySet(b, "zIndex", 0)), "string" == typeof e && (m = b.cssText, h = K(t, s), b.cssText = m + ";" + e, h = J(t, h, K(t)).difs, !j && w.test(e) && (h.opacity = parseFloat(RegExp.$1)), e = h, b.cssText = m), this._firstPT = _ = e.className ? l.className.parse(t, e.className, "className", this, null, null, e) : this.parse(t, e, null), this._transformType) {
                    for (T = 3 === this._transformType, be ? p && (f = !0, "" === b.zIndex && (x = Q(t, "zIndex", s), ("auto" === x || "" === x) && this._addLazySet(b, "zIndex", 0)), c && this._addLazySet(b, "WebkitBackfaceVisibility", this._vars.WebkitBackfaceVisibility || (T ? "visible" : "hidden"))) : b.zoom = 1, d = _; d && d._next;) d = d._next;
                    y = new ce(t, "transform", 0, 0, null, 2), this._linkCSSP(y, null, d), y.setRatio = be ? Ee : Ne, y.data = this._transform || Ie(t, s, !0), y.tween = o, y.pr = -1, n.pop()
                }
                if (i) {
                    for (; _;) {
                        for (v = _._next, d = m; d && d.pr > _.pr;) d = d._next;
                        (_._prev = d ? d._prev : g) ? _._prev._next = _: m = _, (_._next = d) ? d._prev = _ : g = _, _ = v
                    }
                    this._firstPT = m
                }
                return !0
            }, h.parse = function(t, e, i, n) {
                var a, o, h, f, p, _, c, d, m, g, v = t.style;
                for (a in e) _ = e[a], o = l[a], o ? i = o.parse(t, _, a, this, i, n, e) : (p = Q(t, a, s) + "", m = "string" == typeof _, "color" === a || "fill" === a || "stroke" === a || -1 !== a.indexOf("Color") || m && P.test(_) ? (m || (_ = he(_), _ = (_.length > 3 ? "rgba(" : "rgb(") + _.join(",") + ")"), i = me(v, a, p, _, !0, "transparent", i, 0, n)) : !m || -1 === _.indexOf(" ") && -1 === _.indexOf(",") ? (h = parseFloat(p), c = h || 0 === h ? p.substr((h + "").length) : "", ("" === p || "auto" === p) && ("width" === a || "height" === a ? (h = ie(t, a, s), c = "px") : "left" === a || "top" === a ? (h = H(t, a, s), c = "px") : (h = "opacity" !== a ? 0 : 1, c = "")), g = m && "=" === _.charAt(1), g ? (f = parseInt(_.charAt(0) + "1", 10), _ = _.substr(2), f *= parseFloat(_), d = _.replace(y, "")) : (f = parseFloat(_), d = m ? _.replace(y, "") : ""), "" === d && (d = a in r ? r[a] : c), _ = f || 0 === f ? (g ? f + h : f) + d : e[a], c !== d && "" !== d && (f || 0 === f) && h && (h = $(t, a, h, c), "%" === d ? (h /= $(t, a, 100, "%") / 100, e.strictUnits !== !0 && (p = h + "%")) : "em" === d ? h /= $(t, a, 1, "em") : "px" !== d && (f = $(t, a, f, d), d = "px"), g && (f || 0 === f) && (_ = f + h + d)), g && (f += h), !h && 0 !== h || !f && 0 !== f ? void 0 !== v[a] && (_ || "NaN" != _ + "" && null != _) ? (i = new ce(v, a, f || h || 0, 0, i, -1, a, !1, 0, p, _), i.xs0 = "none" !== _ || "display" !== a && -1 === a.indexOf("Style") ? _ : p) : U("invalid " + a + " tween value: " + e[a]) : (i = new ce(v, a, h, f - h, i, 0, a, u !== !1 && ("px" === d || "zIndex" === a), 0, p, _), i.xs0 = d)) : i = me(v, a, p, _, !0, null, i, 0, n)), n && i && !i.plugin && (i.plugin = n);
                return i
            }, h.setRatio = function(t) {
                var e, i, r, s = this._firstPT,
                    n = 1e-6;
                if (1 !== t || this._tween._time !== this._tween._duration && 0 !== this._tween._time)
                    if (t || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6)
                        for (; s;) {
                            if (e = s.c * t + s.s, s.r ? e = Math.round(e) : n > e && e > -n && (e = 0), s.type)
                                if (1 === s.type)
                                    if (r = s.l, 2 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2;
                                    else if (3 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3;
                            else if (4 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4;
                            else if (5 === r) s.t[s.p] = s.xs0 + e + s.xs1 + s.xn1 + s.xs2 + s.xn2 + s.xs3 + s.xn3 + s.xs4 + s.xn4 + s.xs5;
                            else {
                                for (i = s.xs0 + e + s.xs1, r = 1; s.l > r; r++) i += s["xn" + r] + s["xs" + (r + 1)];
                                s.t[s.p] = i
                            } else -1 === s.type ? s.t[s.p] = s.xs0 : s.setRatio && s.setRatio(t);
                            else s.t[s.p] = e + s.xs0;
                            s = s._next
                        } else
                            for (; s;) 2 !== s.type ? s.t[s.p] = s.b : s.setRatio(t), s = s._next;
                    else
                        for (; s;) {
                            if (2 !== s.type)
                                if (s.r && -1 !== s.type)
                                    if (e = Math.round(s.s + s.c), s.type) {
                                        if (1 === s.type) {
                                            for (r = s.l, i = s.xs0 + e + s.xs1, r = 1; s.l > r; r++) i += s["xn" + r] + s["xs" + (r + 1)];
                                            s.t[s.p] = i
                                        }
                                    } else s.t[s.p] = e + s.xs0;
                            else s.t[s.p] = s.e;
                            else s.setRatio(t);
                            s = s._next
                        }
            }, h._enableTransforms = function(t) {
                this._transform = this._transform || Ie(this._target, s, !0), this._transformType = this._transform.svg && Te || !t && 3 !== this._transformType ? 2 : 3
            };
            var Ve = function() {
                this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0)
            };
            h._addLazySet = function(t, e, i) {
                var r = this._firstPT = new ce(t, e, 0, 0, this._firstPT, 2);
                r.e = i, r.setRatio = Ve, r.data = this
            }, h._linkCSSP = function(t, e, i, r) {
                return t && (e && (e._prev = t), t._next && (t._next._prev = t._prev), t._prev ? t._prev._next = t._next : this._firstPT === t && (this._firstPT = t._next, r = !0), i ? i._next = t : r || null !== this._firstPT || (this._firstPT = t), t._next = e, t._prev = i), t
            }, h._kill = function(e) {
                var i, r, s, n = e;
                if (e.autoAlpha || e.alpha) {
                    n = {};
                    for (r in e) n[r] = e[r];
                    n.opacity = 1, n.autoAlpha && (n.visibility = 1)
                }
                return e.className && (i = this._classNamePT) && (s = i.xfirst, s && s._prev ? this._linkCSSP(s._prev, i._next, s._prev._prev) : s === this._firstPT && (this._firstPT = i._next), i._next && this._linkCSSP(i._next, i._next._next, s._prev), this._classNamePT = null), t.prototype._kill.call(this, n)
            };
            var Ue = function(t, e, i) {
                var r, s, n, a;
                if (t.slice)
                    for (s = t.length; --s > -1;) Ue(t[s], e, i);
                else
                    for (r = t.childNodes, s = r.length; --s > -1;) n = r[s], a = n.type, n.style && (e.push(K(n)), i && i.push(n)), 1 !== a && 9 !== a && 11 !== a || !n.childNodes.length || Ue(n, e, i)
            };
            return a.cascadeTo = function(t, i, r) {
                var s, n, a, o, l = e.to(t, i, r),
                    h = [l],
                    u = [],
                    f = [],
                    p = [],
                    _ = e._internals.reservedProps;
                for (t = l._targets || l.target, Ue(t, u, p), l.render(i, !0, !0), Ue(t, f), l.render(0, !0, !0), l._enabled(!0), s = p.length; --s > -1;)
                    if (n = J(p[s], u[s], f[s]), n.firstMPT) {
                        n = n.difs;
                        for (a in r) _[a] && (n[a] = r[a]);
                        o = {};
                        for (a in n) o[a] = u[s][a];
                        h.push(e.fromTo(p[s], i, o, n))
                    }
                return h
            }, t.activate([a]), a
        }, !0)
    }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(),
    function(t) {
        "use strict";
        var e = function() {
            return (_gsScope.GreenSockGlobals || _gsScope)[t]
        };
        "function" == typeof define && define.amd ? define(["TweenLite"], e) : "undefined" != typeof module && module.exports && (require("../TweenLite.js"), module.exports = e())
    }("CSSPlugin");
#2 JavaScript::Eval (size: 59428) - SHA256: 6046a5f2b8a45e2639b4d107663172301f165f54f8b62ea803aa8e9907c6e5df
(function($) {
    if ($.fn.carouFredSel) {
        return
    }
    $.fn.caroufredsel = $.fn.carouFredSel = function(u, w) {
        if (this.length == 0) {
            debug(true, 'No element found for "' + this.selector + '".');
            return this
        }
        if (this.length > 1) {
            return this.each(function() {
                $(this).carouFredSel(u, w)
            })
        }
        var y = this,
            $tt0 = this[0],
            starting_position = false;
        if (y.data('_cfs_isCarousel')) {
            starting_position = y.triggerHandler('_cfs_triggerEvent', 'currentPosition');
            y.trigger('_cfs_triggerEvent', ['destroy', true])
        }
        y._cfs_init = function(o, a, b) {
            o = go_getObject($tt0, o);
            o.items = go_getItemsObject($tt0, o.items);
            o.scroll = go_getScrollObject($tt0, o.scroll);
            o.auto = go_getAutoObject($tt0, o.auto);
            o.prev = go_getPrevNextObject($tt0, o.prev);
            o.next = go_getPrevNextObject($tt0, o.next);
            o.pagination = go_getPaginationObject($tt0, o.pagination);
            o.swipe = go_getSwipeObject($tt0, o.swipe);
            o.mousewheel = go_getMousewheelObject($tt0, o.mousewheel);
            if (a) {
                opts_orig = $.extend(true, {}, $.fn.carouFredSel.defaults, o)
            }
            opts = $.extend(true, {}, $.fn.carouFredSel.defaults, o);
            opts.d = cf_getDimensions(opts);
            z.direction = (opts.direction == 'up' || opts.direction == 'left') ? 'next' : 'prev';
            var c = y.children(),
                avail_primary = ms_getParentSize($wrp, opts, 'width');
            if (is_true(opts.cookie)) {
                opts.cookie = 'caroufredsel_cookie_' + conf.serialNumber
            }
            opts.maxDimension = ms_getMaxDimension(opts, avail_primary);
            opts.items = in_complementItems(opts.items, opts, c, b);
            opts[opts.d['width']] = in_complementPrimarySize(opts[opts.d['width']], opts, c);
            opts[opts.d['height']] = in_complementSecondarySize(opts[opts.d['height']], opts, c);
            if (opts.responsive) {
                if (!is_percentage(opts[opts.d['width']])) {
                    opts[opts.d['width']] = '100%'
                }
            }
            if (is_percentage(opts[opts.d['width']])) {
                z.upDateOnWindowResize = true;
                z.primarySizePercentage = opts[opts.d['width']];
                opts[opts.d['width']] = ms_getPercentage(avail_primary, z.primarySizePercentage);
                if (!opts.items.visible) {
                    opts.items.visibleConf.variable = true
                }
            }
            if (opts.responsive) {
                opts.usePadding = false;
                opts.padding = [0, 0, 0, 0];
                opts.align = false;
                opts.items.visibleConf.variable = false
            } else {
                if (!opts.items.visible) {
                    opts = in_complementVisibleItems(opts, avail_primary)
                }
                if (!opts[opts.d['width']]) {
                    if (!opts.items.visibleConf.variable && is_number(opts.items[opts.d['width']]) && opts.items.filter == '*') {
                        opts[opts.d['width']] = opts.items.visible * opts.items[opts.d['width']];
                        opts.align = false
                    } else {
                        opts[opts.d['width']] = 'variable'
                    }
                }
                if (is_undefined(opts.align)) {
                    opts.align = (is_number(opts[opts.d['width']])) ? 'center' : false
                }
                if (opts.items.visibleConf.variable) {
                    opts.items.visible = gn_getVisibleItemsNext(c, opts, 0)
                }
            }
            if (opts.items.filter != '*' && !opts.items.visibleConf.variable) {
                opts.items.visibleConf.org = opts.items.visible;
                opts.items.visible = gn_getVisibleItemsNextFilter(c, opts, 0)
            }
            opts.items.visible = cf_getItemsAdjust(opts.items.visible, opts, opts.items.visibleConf.adjust, $tt0);
            opts.items.visibleConf.old = opts.items.visible;
            if (opts.responsive) {
                if (!opts.items.visibleConf.min) {
                    opts.items.visibleConf.min = opts.items.visible
                }
                if (!opts.items.visibleConf.max) {
                    opts.items.visibleConf.max = opts.items.visible
                }
                opts = in_getResponsiveValues(opts, c, avail_primary)
            } else {
                opts.padding = cf_getPadding(opts.padding);
                if (opts.align == 'top') {
                    opts.align = 'left'
                } else if (opts.align == 'bottom') {
                    opts.align = 'right'
                }
                switch (opts.align) {
                    case 'center':
                    case 'left':
                    case 'right':
                        if (opts[opts.d['width']] != 'variable') {
                            opts = in_getAlignPadding(opts, c);
                            opts.usePadding = true
                        }
                        break;
                    default:
                        opts.align = false;
                        opts.usePadding = (opts.padding[0] == 0 && opts.padding[1] == 0 && opts.padding[2] == 0 && opts.padding[3] == 0) ? false : true;
                        break
                }
            }
            if (!is_number(opts.scroll.duration)) {
                opts.scroll.duration = 500
            }
            if (is_undefined(opts.scroll.items)) {
                opts.scroll.items = (opts.responsive || opts.items.visibleConf.variable || opts.items.filter != '*') ? 'visible' : opts.items.visible
            }
            opts.auto = $.extend(true, {}, opts.scroll, opts.auto);
            opts.prev = $.extend(true, {}, opts.scroll, opts.prev);
            opts.next = $.extend(true, {}, opts.scroll, opts.next);
            opts.pagination = $.extend(true, {}, opts.scroll, opts.pagination);
            opts.auto = go_complementAutoObject($tt0, opts.auto);
            opts.prev = go_complementPrevNextObject($tt0, opts.prev);
            opts.next = go_complementPrevNextObject($tt0, opts.next);
            opts.pagination = go_complementPaginationObject($tt0, opts.pagination);
            opts.swipe = go_complementSwipeObject($tt0, opts.swipe);
            opts.mousewheel = go_complementMousewheelObject($tt0, opts.mousewheel);
            if (opts.synchronise) {
                opts.synchronise = cf_getSynchArr(opts.synchronise)
            }
            if (opts.auto.onPauseStart) {
                opts.auto.onTimeoutStart = opts.auto.onPauseStart;
                deprecated('auto.onPauseStart', 'auto.onTimeoutStart')
            }
            if (opts.auto.onPausePause) {
                opts.auto.onTimeoutPause = opts.auto.onPausePause;
                deprecated('auto.onPausePause', 'auto.onTimeoutPause')
            }
            if (opts.auto.onPauseEnd) {
                opts.auto.onTimeoutEnd = opts.auto.onPauseEnd;
                deprecated('auto.onPauseEnd', 'auto.onTimeoutEnd')
            }
            if (opts.auto.pauseDuration) {
                opts.auto.timeoutDuration = opts.auto.pauseDuration;
                deprecated('auto.pauseDuration', 'auto.timeoutDuration')
            }
        };
        y._cfs_build = function() {
            y.data('_cfs_isCarousel', true);
            var a = y.children(),
                orgCSS = in_mapCss(y, ['textAlign', 'float', 'position', 'top', 'right', 'bottom', 'left', 'zIndex', 'width', 'height', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft']),
                newPosition = 'relative';
            switch (orgCSS.position) {
                case 'absolute':
                case 'fixed':
                    newPosition = orgCSS.position;
                    break
            }
            $wrp.css(orgCSS).css({
                'overflow': 'hidden',
                'position': newPosition
            });
            y.data('_cfs_origCss', orgCSS).css({
                'textAlign': 'left',
                'float': 'none',
                'position': 'absolute',
                'top': 0,
                'right': 'auto',
                'bottom': 'auto',
                'left': 0,
                'marginTop': 0,
                'marginRight': 0,
                'marginBottom': 0,
                'marginLeft': 0
            });
            sz_storeMargin(a, opts);
            sz_storeSizes(a, opts);
            if (opts.responsive) {
                sz_setResponsiveSizes(opts, a)
            }
        };
        y._cfs_bind_events = function() {
            y._cfs_unbind_events();
            y.bind(cf_e('stop', conf), function(e, a) {
                e.stopPropagation();
                if (!z.isStopped) {
                    if (opts.auto.button) {
                        opts.auto.button.addClass(cf_c('stopped', conf))
                    }
                }
                z.isStopped = true;
                if (opts.auto.play) {
                    opts.auto.play = false;
                    y.trigger(cf_e('pause', conf), a)
                }
                return true
            });
            y.bind(cf_e('finish', conf), function(e) {
                e.stopPropagation();
                if (z.isScrolling) {
                    sc_stopScroll(scrl)
                }
                return true
            });
            y.bind(cf_e('pause', conf), function(e, a, b) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                if (a && z.isScrolling) {
                    scrl.isStopped = true;
                    var c = getTime() - scrl.startTime;
                    scrl.duration -= c;
                    if (scrl.pre) {
                        scrl.pre.duration -= c
                    }
                    if (scrl.post) {
                        scrl.post.duration -= c
                    }
                    sc_stopScroll(scrl, false)
                }
                if (!z.isPaused && !z.isScrolling) {
                    if (b) {
                        tmrs.timePassed += getTime() - tmrs.startTime
                    }
                }
                if (!z.isPaused) {
                    if (opts.auto.button) {
                        opts.auto.button.addClass(cf_c('paused', conf))
                    }
                }
                z.isPaused = true;
                if (opts.auto.onTimeoutPause) {
                    var d = opts.auto.timeoutDuration - tmrs.timePassed,
                        perc = 100 - Math.ceil(d * 100 / opts.auto.timeoutDuration);
                    opts.auto.onTimeoutPause.call($tt0, perc, d)
                }
                return true
            });
            y.bind(cf_e('play', conf), function(e, b, c, d) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                var v = [b, c, d],
                    t = ['string', 'number', 'boolean'],
                    a = cf_sortParams(v, t);
                b = a[0];
                c = a[1];
                d = a[2];
                if (b != 'prev' && b != 'next') {
                    b = z.direction
                }
                if (!is_number(c)) {
                    c = 0
                }
                if (!is_boolean(d)) {
                    d = false
                }
                if (d) {
                    z.isStopped = false;
                    opts.auto.play = true
                }
                if (!opts.auto.play) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel stopped: Not scrolling.')
                }
                if (z.isPaused) {
                    if (opts.auto.button) {
                        opts.auto.button.removeClass(cf_c('stopped', conf));
                        opts.auto.button.removeClass(cf_c('paused', conf))
                    }
                }
                z.isPaused = false;
                tmrs.startTime = getTime();
                var f = opts.auto.timeoutDuration + c;
                dur2 = f - tmrs.timePassed;
                perc = 100 - Math.ceil(dur2 * 100 / f);
                if (opts.auto.progress) {
                    tmrs.progress = setInterval(function() {
                        var a = getTime() - tmrs.startTime + tmrs.timePassed,
                            perc = Math.ceil(a * 100 / f);
                        opts.auto.progress.updater.call(opts.auto.progress.bar[0], perc)
                    }, opts.auto.progress.interval)
                }
                tmrs.auto = setTimeout(function() {
                    if (opts.auto.progress) {
                        opts.auto.progress.updater.call(opts.auto.progress.bar[0], 100)
                    }
                    if (opts.auto.onTimeoutEnd) {
                        opts.auto.onTimeoutEnd.call($tt0, perc, dur2)
                    }
                    if (z.isScrolling) {
                        y.trigger(cf_e('play', conf), b)
                    } else {
                        y.trigger(cf_e(b, conf), opts.auto)
                    }
                }, dur2);
                if (opts.auto.onTimeoutStart) {
                    opts.auto.onTimeoutStart.call($tt0, perc, dur2)
                }
                return true
            });
            y.bind(cf_e('resume', conf), function(e) {
                e.stopPropagation();
                if (scrl.isStopped) {
                    scrl.isStopped = false;
                    z.isPaused = false;
                    z.isScrolling = true;
                    scrl.startTime = getTime();
                    sc_startScroll(scrl)
                } else {
                    y.trigger(cf_e('play', conf))
                }
                return true
            });
            y.bind(cf_e('prev', conf) + ' ' + cf_e('next', conf), function(e, b, f, g, h) {
                e.stopPropagation();
                if (z.isStopped || y.is(':hidden')) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel stopped or hidden: Not scrolling.')
                }
                var i = (is_number(opts.items.minimum)) ? opts.items.minimum : opts.items.visible + 1;
                if (i > itms.total) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Not enough items (' + itms.total + ' total, ' + i + ' needed): Not scrolling.')
                }
                var v = [b, f, g, h],
                    t = ['object', 'number/string', 'function', 'boolean'],
                    a = cf_sortParams(v, t);
                b = a[0];
                f = a[1];
                g = a[2];
                h = a[3];
                var k = e.type.slice(conf.events.prefix.length);
                if (!is_object(b)) {
                    b = {}
                }
                if (is_function(g)) {
                    b.onAfter = g
                }
                if (is_boolean(h)) {
                    b.queue = h
                }
                b = $.extend(true, {}, opts[k], b);
                if (b.conditions && !b.conditions.call($tt0, k)) {
                    e.stopImmediatePropagation();
                    return debug(conf, 'Callback "conditions" returned false.')
                }
                if (!is_number(f)) {
                    if (opts.items.filter != '*') {
                        f = 'visible'
                    } else {
                        var m = [f, b.items, opts[k].items];
                        for (var a = 0, l = m.length; a < l; a++) {
                            if (is_number(m[a]) || m[a] == 'page' || m[a] == 'visible') {
                                f = m[a];
                                break
                            }
                        }
                    }
                    switch (f) {
                        case 'page':
                            e.stopImmediatePropagation();
                            return y.triggerHandler(cf_e(k + 'Page', conf), [b, g]);
                            break;
                        case 'visible':
                            if (!opts.items.visibleConf.variable && opts.items.filter == '*') {
                                f = opts.items.visible
                            }
                            break
                    }
                }
                if (scrl.isStopped) {
                    y.trigger(cf_e('resume', conf));
                    y.trigger(cf_e('queue', conf), [k, [b, f, g]]);
                    e.stopImmediatePropagation();
                    return debug(conf, 'Carousel resumed scrolling.')
                }
                if (b.duration > 0) {
                    if (z.isScrolling) {
                        if (b.queue) {
                            if (b.queue == 'last') {
                                queu = []
                            }
                            if (b.queue != 'first' || queu.length == 0) {
                                y.trigger(cf_e('queue', conf), [k, [b, f, g]])
                            }
                        }
                        e.stopImmediatePropagation();
                        return debug(conf, 'Carousel currently scrolling.')
                    }
                }
                tmrs.timePassed = 0;
                y.trigger(cf_e('slide_' + k, conf), [b, f]);
                if (opts.synchronise) {
                    var s = opts.synchronise,
                        c = [b, f];
                    for (var j = 0, l = s.length; j < l; j++) {
                        var d = k;
                        if (!s[j][2]) {
                            d = (d == 'prev') ? 'next' : 'prev'
                        }
                        if (!s[j][1]) {
                            c[0] = s[j][0].triggerHandler('_cfs_triggerEvent', ['configuration', d])
                        }
                        c[1] = f + s[j][3];
                        s[j][0].trigger('_cfs_triggerEvent', ['slide_' + d, c])
                    }
                }
                return true
            });
            y.bind(cf_e('slide_prev', conf), function(e, b, c) {
                e.stopPropagation();
                var d = y.children();
                if (!opts.circular) {
                    if (itms.first == 0) {
                        if (opts.infinite) {
                            y.trigger(cf_e('next', conf), itms.total - 1)
                        }
                        return e.stopImmediatePropagation()
                    }
                }
                sz_resetMargin(d, opts);
                if (!is_number(c)) {
                    if (opts.items.visibleConf.variable) {
                        c = gn_getVisibleItemsPrev(d, opts, itms.total - 1)
                    } else if (opts.items.filter != '*') {
                        var f = (is_number(b.items)) ? b.items : gn_getVisibleOrg(y, opts);
                        c = gn_getScrollItemsPrevFilter(d, opts, itms.total - 1, f)
                    } else {
                        c = opts.items.visible
                    }
                    c = cf_getAdjust(c, opts, b.items, $tt0)
                }
                if (!opts.circular) {
                    if (itms.total - c < itms.first) {
                        c = itms.total - itms.first
                    }
                }
                opts.items.visibleConf.old = opts.items.visible;
                if (opts.items.visibleConf.variable) {
                    var g = cf_getItemsAdjust(gn_getVisibleItemsNext(d, opts, itms.total - c), opts, opts.items.visibleConf.adjust, $tt0);
                    if (opts.items.visible + c <= g && c < itms.total) {
                        c++;
                        g = cf_getItemsAdjust(gn_getVisibleItemsNext(d, opts, itms.total - c), opts, opts.items.visibleConf.adjust, $tt0)
                    }
                    opts.items.visible = g
                } else if (opts.items.filter != '*') {
                    var g = gn_getVisibleItemsNextFilter(d, opts, itms.total - c);
                    opts.items.visible = cf_getItemsAdjust(g, opts, opts.items.visibleConf.adjust, $tt0)
                }
                sz_resetMargin(d, opts, true);
                if (c == 0) {
                    e.stopImmediatePropagation();
                    return debug(conf, '0 items to scroll: Not scrolling.')
                }
                debug(conf, 'Scrolling ' + c + ' items backward.');
                itms.first += c;
                while (itms.first >= itms.total) {
                    itms.first -= itms.total
                }
                if (!opts.circular) {
                    if (itms.first == 0 && b.onEnd) {
                        b.onEnd.call($tt0, 'prev')
                    }
                    if (!opts.infinite) {
                        nv_enableNavi(opts, itms.first, conf)
                    }
                }
                y.children().slice(itms.total - c, itms.total).prependTo(y);
                if (itms.total < opts.items.visible + c) {
                    y.children().slice(0, (opts.items.visible + c) - itms.total).clone(true).appendTo(y)
                }
                var d = y.children(),
                    i_old = gi_getOldItemsPrev(d, opts, c),
                    i_new = gi_getNewItemsPrev(d, opts),
                    i_cur_l = d.eq(c - 1),
                    i_old_l = i_old.last(),
                    i_new_l = i_new.last();
                sz_resetMargin(d, opts);
                var h = 0,
                    pR = 0;
                if (opts.align) {
                    var p = cf_getAlignPadding(i_new, opts);
                    h = p[0];
                    pR = p[1]
                }
                var i = (h < 0) ? opts.padding[opts.d[3]] : 0;
                var j = false,
                    i_skp = $();
                if (opts.items.visible < c) {
                    i_skp = d.slice(opts.items.visibleConf.old, c);
                    if (b.fx == 'directscroll') {
                        var k = opts.items[opts.d['width']];
                        j = i_skp;
                        i_cur_l = i_new_l;
                        sc_hideHiddenItems(j);
                        opts.items[opts.d['width']] = 'variable'
                    }
                }
                var l = false,
                    i_siz = ms_getTotalSize(d.slice(0, c), opts, 'width'),
                    w_siz = cf_mapWrapperSizes(ms_getSizes(i_new, opts, true), opts, !opts.usePadding),
                    i_siz_vis = 0,
                    a_cfs = {},
                    a_wsz = {},
                    a_cur = {},
                    a_old = {},
                    a_new = {},
                    a_lef = {},
                    a_lef_vis = {},
                    a_dur = sc_getDuration(b, opts, c, i_siz);
                switch (b.fx) {
                    case 'cover':
                    case 'cover-fade':
                        i_siz_vis = ms_getTotalSize(d.slice(0, opts.items.visible), opts, 'width');
                        break
                }
                if (j) {
                    opts.items[opts.d['width']] = k
                }
                sz_resetMargin(d, opts, true);
                if (pR >= 0) {
                    sz_resetMargin(i_old_l, opts, opts.padding[opts.d[1]])
                }
                if (h >= 0) {
                    sz_resetMargin(i_cur_l, opts, opts.padding[opts.d[3]])
                }
                if (opts.align) {
                    opts.padding[opts.d[1]] = pR;
                    opts.padding[opts.d[3]] = h
                }
                a_lef[opts.d['left']] = -(i_siz - i);
                a_lef_vis[opts.d['left']] = -(i_siz_vis - i);
                a_wsz[opts.d['left']] = w_siz[opts.d['width']];
                var m = function() {},
                    _a_wrapper = function() {},
                    _s_paddingold = function() {},
                    _a_paddingold = function() {},
                    _s_paddingnew = function() {},
                    _a_paddingnew = function() {},
                    _s_paddingcur = function() {},
                    _a_paddingcur = function() {},
                    _onafter = function() {},
                    _moveitems = function() {},
                    _position = function() {};
                switch (b.fx) {
                    case 'crossfade':
                    case 'cover':
                    case 'cover-fade':
                    case 'uncover':
                    case 'uncover-fade':
                        l = y.clone(true).appendTo($wrp);
                        break
                }
                switch (b.fx) {
                    case 'crossfade':
                    case 'uncover':
                    case 'uncover-fade':
                        l.children().slice(0, c).remove();
                        l.children().slice(opts.items.visibleConf.old).remove();
                        break;
                    case 'cover':
                    case 'cover-fade':
                        l.children().slice(opts.items.visible).remove();
                        l.css(a_lef_vis);
                        break
                }
                y.css(a_lef);
                scrl = sc_setScroll(a_dur, b.easing);
                a_cfs[opts.d['left']] = (opts.usePadding) ? opts.padding[opts.d[3]] : 0;
                if (opts[opts.d['width']] == 'variable' || opts[opts.d['height']] == 'variable') {
                    m = function() {
                        $wrp.css(w_siz)
                    };
                    _a_wrapper = function() {
                        scrl.anims.push([$wrp, w_siz])
                    }
                }
                if (opts.usePadding) {
                    if (i_new_l.not(i_cur_l).length) {
                        a_cur[opts.d['marginRight']] = i_cur_l.data('_cfs_origCssMargin');
                        if (h < 0) {
                            i_cur_l.css(a_cur)
                        } else {
                            _s_paddingcur = function() {
                                i_cur_l.css(a_cur)
                            };
                            _a_paddingcur = function() {
                                scrl.anims.push([i_cur_l, a_cur])
                            }
                        }
                    }
                    switch (b.fx) {
                        case 'cover':
                        case 'cover-fade':
                            l.children().eq(c - 1).css(a_cur);
                            break
                    }
                    if (i_new_l.not(i_old_l).length) {
                        a_old[opts.d['marginRight']] = i_old_l.data('_cfs_origCssMargin');
                        _s_paddingold = function() {
                            i_old_l.css(a_old)
                        };
                        _a_paddingold = function() {
                            scrl.anims.push([i_old_l, a_old])
                        }
                    }
                    if (pR >= 0) {
                        a_new[opts.d['marginRight']] = i_new_l.data('_cfs_origCssMargin') + opts.padding[opts.d[1]];
                        _s_paddingnew = function() {
                            i_new_l.css(a_new)
                        };
                        _a_paddingnew = function() {
                            scrl.anims.push([i_new_l, a_new])
                        }
                    }
                }
                _position = function() {
                    y.css(a_cfs)
                };
                var n = opts.items.visible + c - itms.total;
                _moveitems = function() {
                    if (n > 0) {
                        y.children().slice(itms.total).remove();
                        i_old = $(y.children().slice(itms.total - (opts.items.visible - n)).get().concat(y.children().slice(0, n).get()))
                    }
                    sc_showHiddenItems(j);
                    if (opts.usePadding) {
                        var a = y.children().eq(opts.items.visible + c - 1);
                        a.css(opts.d['marginRight'], a.data('_cfs_origCssMargin'))
                    }
                };
                var o = sc_mapCallbackArguments(i_old, i_skp, i_new, c, 'prev', a_dur, w_siz);
                _onafter = function() {
                    sc_afterScroll(y, l, b);
                    z.isScrolling = false;
                    clbk.onAfter = sc_fireCallbacks($tt0, b, 'onAfter', o, clbk);
                    queu = sc_fireQueue(y, queu, conf);
                    if (!z.isPaused) {
                        y.trigger(cf_e('play', conf))
                    }
                };
                z.isScrolling = true;
                tmrs = sc_clearTimers(tmrs);
                clbk.onBefore = sc_fireCallbacks($tt0, b, 'onBefore', o, clbk);
                switch (b.fx) {
                    case 'none':
                        y.css(a_cfs);
                        m();
                        _s_paddingold();
                        _s_paddingnew();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        _onafter();
                        break;
                    case 'fade':
                        scrl.anims.push([y, {
                            'opacity': 0
                        }, function() {
                            m();
                            _s_paddingold();
                            _s_paddingnew();
                            _s_paddingcur();
                            _position();
                            _moveitems();
                            scrl = sc_setScroll(a_dur, b.easing);
                            scrl.anims.push([y, {
                                'opacity': 1
                            }, _onafter]);
                            sc_startScroll(scrl)
                        }]);
                        break;
                    case 'crossfade':
                        y.css({
                            'opacity': 0
                        });
                        scrl.anims.push([l, {
                            'opacity': 0
                        }]);
                        scrl.anims.push([y, {
                            'opacity': 1
                        }, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingnew();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    case 'cover':
                        scrl.anims.push([l, a_cfs, function() {
                            _s_paddingold();
                            _s_paddingnew();
                            _s_paddingcur();
                            _position();
                            _moveitems();
                            _onafter()
                        }]);
                        _a_wrapper();
                        break;
                    case 'cover-fade':
                        scrl.anims.push([y, {
                            'opacity': 0
                        }]);
                        scrl.anims.push([l, a_cfs, function() {
                            y.css({
                                'opacity': 1
                            });
                            _s_paddingold();
                            _s_paddingnew();
                            _s_paddingcur();
                            _position();
                            _moveitems();
                            _onafter()
                        }]);
                        _a_wrapper();
                        break;
                    case 'uncover':
                        scrl.anims.push([l, a_wsz, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingnew();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    case 'uncover-fade':
                        y.css({
                            'opacity': 0
                        });
                        scrl.anims.push([y, {
                            'opacity': 1
                        }]);
                        scrl.anims.push([l, a_wsz, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingnew();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    default:
                        scrl.anims.push([y, a_cfs, function() {
                            _moveitems();
                            _onafter()
                        }]);
                        _a_wrapper();
                        _a_paddingold();
                        _a_paddingnew();
                        _a_paddingcur();
                        break
                }
                sc_startScroll(scrl);
                cf_setCookie(opts.cookie, y, conf);
                y.trigger(cf_e('updatePageStatus', conf), [false, w_siz]);
                return true
            });
            y.bind(cf_e('slide_next', conf), function(e, c, d) {
                e.stopPropagation();
                var f = y.children();
                if (!opts.circular) {
                    if (itms.first == opts.items.visible) {
                        if (opts.infinite) {
                            y.trigger(cf_e('prev', conf), itms.total - 1)
                        }
                        return e.stopImmediatePropagation()
                    }
                }
                sz_resetMargin(f, opts);
                if (!is_number(d)) {
                    if (opts.items.filter != '*') {
                        var g = (is_number(c.items)) ? c.items : gn_getVisibleOrg(y, opts);
                        d = gn_getScrollItemsNextFilter(f, opts, 0, g)
                    } else {
                        d = opts.items.visible
                    }
                    d = cf_getAdjust(d, opts, c.items, $tt0)
                }
                var h = (itms.first == 0) ? itms.total : itms.first;
                if (!opts.circular) {
                    if (opts.items.visibleConf.variable) {
                        var i = gn_getVisibleItemsNext(f, opts, d),
                            g = gn_getVisibleItemsPrev(f, opts, h - 1)
                    } else {
                        var i = opts.items.visible,
                            g = opts.items.visible
                    }
                    if (d + i > h) {
                        d = h - g
                    }
                }
                opts.items.visibleConf.old = opts.items.visible;
                if (opts.items.visibleConf.variable) {
                    var i = cf_getItemsAdjust(gn_getVisibleItemsNextTestCircular(f, opts, d, h), opts, opts.items.visibleConf.adjust, $tt0);
                    while (opts.items.visible - d >= i && d < itms.total) {
                        d++;
                        i = cf_getItemsAdjust(gn_getVisibleItemsNextTestCircular(f, opts, d, h), opts, opts.items.visibleConf.adjust, $tt0)
                    }
                    opts.items.visible = i
                } else if (opts.items.filter != '*') {
                    var i = gn_getVisibleItemsNextFilter(f, opts, d);
                    opts.items.visible = cf_getItemsAdjust(i, opts, opts.items.visibleConf.adjust, $tt0)
                }
                sz_resetMargin(f, opts, true);
                if (d == 0) {
                    e.stopImmediatePropagation();
                    return debug(conf, '0 items to scroll: Not scrolling.')
                }
                debug(conf, 'Scrolling ' + d + ' items forward.');
                itms.first -= d;
                while (itms.first < 0) {
                    itms.first += itms.total
                }
                if (!opts.circular) {
                    if (itms.first == opts.items.visible && c.onEnd) {
                        c.onEnd.call($tt0, 'next')
                    }
                    if (!opts.infinite) {
                        nv_enableNavi(opts, itms.first, conf)
                    }
                }
                if (itms.total < opts.items.visible + d) {
                    y.children().slice(0, (opts.items.visible + d) - itms.total).clone(true).appendTo(y)
                }
                var f = y.children(),
                    i_old = gi_getOldItemsNext(f, opts),
                    i_new = gi_getNewItemsNext(f, opts, d),
                    i_cur_l = f.eq(d - 1),
                    i_old_l = i_old.last(),
                    i_new_l = i_new.last();
                sz_resetMargin(f, opts);
                var j = 0,
                    pR = 0;
                if (opts.align) {
                    var p = cf_getAlignPadding(i_new, opts);
                    j = p[0];
                    pR = p[1]
                }
                var k = false,
                    i_skp = $();
                if (opts.items.visibleConf.old < d) {
                    i_skp = f.slice(opts.items.visibleConf.old, d);
                    if (c.fx == 'directscroll') {
                        var l = opts.items[opts.d['width']];
                        k = i_skp;
                        i_cur_l = i_old_l;
                        sc_hideHiddenItems(k);
                        opts.items[opts.d['width']] = 'variable'
                    }
                }
                var m = false,
                    i_siz = ms_getTotalSize(f.slice(0, d), opts, 'width'),
                    w_siz = cf_mapWrapperSizes(ms_getSizes(i_new, opts, true), opts, !opts.usePadding),
                    i_siz_vis = 0,
                    a_cfs = {},
                    a_cfs_vis = {},
                    a_cur = {},
                    a_old = {},
                    a_lef = {},
                    a_dur = sc_getDuration(c, opts, d, i_siz);
                switch (c.fx) {
                    case 'uncover':
                    case 'uncover-fade':
                        i_siz_vis = ms_getTotalSize(f.slice(0, opts.items.visibleConf.old), opts, 'width');
                        break
                }
                if (k) {
                    opts.items[opts.d['width']] = l
                }
                if (opts.align) {
                    if (opts.padding[opts.d[1]] < 0) {
                        opts.padding[opts.d[1]] = 0
                    }
                }
                sz_resetMargin(f, opts, true);
                sz_resetMargin(i_old_l, opts, opts.padding[opts.d[1]]);
                if (opts.align) {
                    opts.padding[opts.d[1]] = pR;
                    opts.padding[opts.d[3]] = j
                }
                a_lef[opts.d['left']] = (opts.usePadding) ? opts.padding[opts.d[3]] : 0;
                var n = function() {},
                    _a_wrapper = function() {},
                    _s_paddingold = function() {},
                    _a_paddingold = function() {},
                    _s_paddingcur = function() {},
                    _a_paddingcur = function() {},
                    _onafter = function() {},
                    _moveitems = function() {},
                    _position = function() {};
                switch (c.fx) {
                    case 'crossfade':
                    case 'cover':
                    case 'cover-fade':
                    case 'uncover':
                    case 'uncover-fade':
                        m = y.clone(true).appendTo($wrp);
                        m.children().slice(opts.items.visibleConf.old).remove();
                        break
                }
                switch (c.fx) {
                    case 'crossfade':
                    case 'cover':
                    case 'cover-fade':
                        y.css('zIndex', 1);
                        m.css('zIndex', 0);
                        break
                }
                scrl = sc_setScroll(a_dur, c.easing);
                a_cfs[opts.d['left']] = -i_siz;
                a_cfs_vis[opts.d['left']] = -i_siz_vis;
                if (j < 0) {
                    a_cfs[opts.d['left']] += j
                }
                if (opts[opts.d['width']] == 'variable' || opts[opts.d['height']] == 'variable') {
                    n = function() {
                        $wrp.css(w_siz)
                    };
                    _a_wrapper = function() {
                        scrl.anims.push([$wrp, w_siz])
                    }
                }
                if (opts.usePadding) {
                    var o = i_new_l.data('_cfs_origCssMargin');
                    if (pR >= 0) {
                        o += opts.padding[opts.d[1]]
                    }
                    i_new_l.css(opts.d['marginRight'], o);
                    if (i_cur_l.not(i_old_l).length) {
                        a_old[opts.d['marginRight']] = i_old_l.data('_cfs_origCssMargin')
                    }
                    _s_paddingold = function() {
                        i_old_l.css(a_old)
                    };
                    _a_paddingold = function() {
                        scrl.anims.push([i_old_l, a_old])
                    };
                    var q = i_cur_l.data('_cfs_origCssMargin');
                    if (j > 0) {
                        q += opts.padding[opts.d[3]]
                    }
                    a_cur[opts.d['marginRight']] = q;
                    _s_paddingcur = function() {
                        i_cur_l.css(a_cur)
                    };
                    _a_paddingcur = function() {
                        scrl.anims.push([i_cur_l, a_cur])
                    }
                }
                _position = function() {
                    y.css(a_lef)
                };
                var r = opts.items.visible + d - itms.total;
                _moveitems = function() {
                    if (r > 0) {
                        y.children().slice(itms.total).remove()
                    }
                    var a = y.children().slice(0, d).appendTo(y).last();
                    if (r > 0) {
                        i_new = gi_getCurrentItems(f, opts)
                    }
                    sc_showHiddenItems(k);
                    if (opts.usePadding) {
                        if (itms.total < opts.items.visible + d) {
                            var b = y.children().eq(opts.items.visible - 1);
                            b.css(opts.d['marginRight'], b.data('_cfs_origCssMargin') + opts.padding[opts.d[3]])
                        }
                        a.css(opts.d['marginRight'], a.data('_cfs_origCssMargin'))
                    }
                };
                var s = sc_mapCallbackArguments(i_old, i_skp, i_new, d, 'next', a_dur, w_siz);
                _onafter = function() {
                    y.css('zIndex', y.data('_cfs_origCss').zIndex);
                    sc_afterScroll(y, m, c);
                    z.isScrolling = false;
                    clbk.onAfter = sc_fireCallbacks($tt0, c, 'onAfter', s, clbk);
                    queu = sc_fireQueue(y, queu, conf);
                    if (!z.isPaused) {
                        y.trigger(cf_e('play', conf))
                    }
                };
                z.isScrolling = true;
                tmrs = sc_clearTimers(tmrs);
                clbk.onBefore = sc_fireCallbacks($tt0, c, 'onBefore', s, clbk);
                switch (c.fx) {
                    case 'none':
                        y.css(a_cfs);
                        n();
                        _s_paddingold();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        _onafter();
                        break;
                    case 'fade':
                        scrl.anims.push([y, {
                            'opacity': 0
                        }, function() {
                            n();
                            _s_paddingold();
                            _s_paddingcur();
                            _position();
                            _moveitems();
                            scrl = sc_setScroll(a_dur, c.easing);
                            scrl.anims.push([y, {
                                'opacity': 1
                            }, _onafter]);
                            sc_startScroll(scrl)
                        }]);
                        break;
                    case 'crossfade':
                        y.css({
                            'opacity': 0
                        });
                        scrl.anims.push([m, {
                            'opacity': 0
                        }]);
                        scrl.anims.push([y, {
                            'opacity': 1
                        }, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    case 'cover':
                        y.css(opts.d['left'], $wrp[opts.d['width']]());
                        scrl.anims.push([y, a_lef, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingcur();
                        _moveitems();
                        break;
                    case 'cover-fade':
                        y.css(opts.d['left'], $wrp[opts.d['width']]());
                        scrl.anims.push([m, {
                            'opacity': 0
                        }]);
                        scrl.anims.push([y, a_lef, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingcur();
                        _moveitems();
                        break;
                    case 'uncover':
                        scrl.anims.push([m, a_cfs_vis, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    case 'uncover-fade':
                        y.css({
                            'opacity': 0
                        });
                        scrl.anims.push([y, {
                            'opacity': 1
                        }]);
                        scrl.anims.push([m, a_cfs_vis, _onafter]);
                        _a_wrapper();
                        _s_paddingold();
                        _s_paddingcur();
                        _position();
                        _moveitems();
                        break;
                    default:
                        scrl.anims.push([y, a_cfs, function() {
                            _position();
                            _moveitems();
                            _onafter()
                        }]);
                        _a_wrapper();
                        _a_paddingold();
                        _a_paddingcur();
                        break
                }
                sc_startScroll(scrl);
                cf_setCookie(opts.cookie, y, conf);
                y.trigger(cf_e('updatePageStatus', conf), [false, w_siz]);
                return true
            });
            y.bind(cf_e('slideTo', conf), function(e, b, c, d, f, g, h) {
                e.stopPropagation();
                var v = [b, c, d, f, g, h],
                    t = ['string/number/object', 'number', 'boolean', 'object', 'string', 'function'],
                    a = cf_sortParams(v, t);
                f = a[3];
                g = a[4];
                h = a[5];
                b = gn_getItemIndex(a[0], a[1], a[2], itms, y);
                if (b == 0) {
                    return false
                }
                if (!is_object(f)) {
                    f = false
                }
                if (g != 'prev' && g != 'next') {
                    if (opts.circular) {
                        g = (b <= itms.total / 2) ? 'next' : 'prev'
                    } else {
                        g = (itms.first == 0 || itms.first > b) ? 'next' : 'prev'
                    }
                }
                if (g == 'prev') {
                    b = itms.total - b
                }
                y.trigger(cf_e(g, conf), [f, b, h]);
                return true
            });
            y.bind(cf_e('prevPage', conf), function(e, a, b) {
                e.stopPropagation();
                var c = y.triggerHandler(cf_e('currentPage', conf));
                return y.triggerHandler(cf_e('slideToPage', conf), [c - 1, a, 'prev', b])
            });
            y.bind(cf_e('nextPage', conf), function(e, a, b) {
                e.stopPropagation();
                var c = y.triggerHandler(cf_e('currentPage', conf));
                return y.triggerHandler(cf_e('slideToPage', conf), [c + 1, a, 'next', b])
            });
            y.bind(cf_e('slideToPage', conf), function(e, a, b, c, d) {
                e.stopPropagation();
                if (!is_number(a)) {
                    a = y.triggerHandler(cf_e('currentPage', conf))
                }
                var f = opts.pagination.items || opts.items.visible,
                    max = Math.ceil(itms.total / f) - 1;
                if (a < 0) {
                    a = max
                }
                if (a > max) {
                    a = 0
                }
                return y.triggerHandler(cf_e('slideTo', conf), [a * f, 0, true, b, c, d])
            });
            y.bind(cf_e('jumpToStart', conf), function(e, s) {
                e.stopPropagation();
                if (s) {
                    s = gn_getItemIndex(s, 0, true, itms, y)
                } else {
                    s = 0
                }
                s += itms.first;
                if (s != 0) {
                    if (itms.total > 0) {
                        while (s > itms.total) {
                            s -= itms.total
                        }
                    }
                    y.prepend(y.children().slice(s, itms.total))
                }
                return true
            });
            y.bind(cf_e('synchronise', conf), function(e, s) {
                e.stopPropagation();
                if (s) {
                    s = cf_getSynchArr(s)
                } else if (opts.synchronise) {
                    s = opts.synchronise
                } else {
                    return debug(conf, 'No carousel to synchronise.')
                }
                var n = y.triggerHandler(cf_e('currentPosition', conf)),
                    x = true;
                for (var j = 0, l = s.length; j < l; j++) {
                    if (!s[j][0].triggerHandler(cf_e('slideTo', conf), [n, s[j][3], true])) {
                        x = false
                    }
                }
                return x
            });
            y.bind(cf_e('queue', conf), function(e, a, b) {
                e.stopPropagation();
                if (is_function(a)) {
                    a.call($tt0, queu)
                } else if (is_array(a)) {
                    queu = a
                } else if (!is_undefined(a)) {
                    queu.push([a, b])
                }
                return queu
            });
            y.bind(cf_e('insertItem', conf), function(e, b, c, d, f) {
                e.stopPropagation();
                var v = [b, c, d, f],
                    t = ['string/object', 'string/number/object', 'boolean', 'number'],
                    a = cf_sortParams(v, t);
                b = a[0];
                c = a[1];
                d = a[2];
                f = a[3];
                if (is_object(b) && !is_jquery(b)) {
                    b = $(b)
                } else if (is_string(b)) {
                    b = $(b)
                }
                if (!is_jquery(b) || b.length == 0) {
                    return debug(conf, 'Not a valid object.')
                }
                if (is_undefined(c)) {
                    c = 'end'
                }
                sz_storeMargin(b, opts);
                sz_storeSizes(b, opts);
                var g = c,
                    before = 'before';
                if (c == 'end') {
                    if (d) {
                        if (itms.first == 0) {
                            c = itms.total - 1;
                            before = 'after'
                        } else {
                            c = itms.first;
                            itms.first += b.length
                        }
                        if (c < 0) {
                            c = 0
                        }
                    } else {
                        c = itms.total - 1;
                        before = 'after'
                    }
                } else {
                    c = gn_getItemIndex(c, f, d, itms, y)
                }
                var h = y.children().eq(c);
                if (h.length) {
                    h[before](b)
                } else {
                    debug(conf, 'Correct insert-position not found! Appending item to the end.');
                    y.append(b)
                }
                if (g != 'end' && !d) {
                    if (c < itms.first) {
                        itms.first += b.length
                    }
                }
                itms.total = y.children().length;
                if (itms.first >= itms.total) {
                    itms.first -= itms.total
                }
                y.trigger(cf_e('updateSizes', conf));
                y.trigger(cf_e('linkAnchors', conf));
                return true
            });
            y.bind(cf_e('removeItem', conf), function(e, c, d, f) {
                e.stopPropagation();
                var v = [c, d, f],
                    t = ['string/number/object', 'boolean', 'number'],
                    a = cf_sortParams(v, t);
                c = a[0];
                d = a[1];
                f = a[2];
                var g = false;
                if (c instanceof $ && c.length > 1) {
                    h = $();
                    c.each(function(i, a) {
                        var b = y.trigger(cf_e('removeItem', conf), [$(this), d, f]);
                        if (b) h = h.add(b)
                    });
                    return h
                }
                if (is_undefined(c) || c == 'end') {
                    h = y.children().last()
                } else {
                    c = gn_getItemIndex(c, f, d, itms, y);
                    var h = y.children().eq(c);
                    if (h.length) {
                        if (c < itms.first) itms.first -= h.length
                    }
                }
                if (h && h.length) {
                    h.detach();
                    itms.total = y.children().length;
                    y.trigger(cf_e('updateSizes', conf))
                }
                return h
            });
            y.bind(cf_e('onBefore', conf) + ' ' + cf_e('onAfter', conf), function(e, a) {
                e.stopPropagation();
                var b = e.type.slice(conf.events.prefix.length);
                if (is_array(a)) {
                    clbk[b] = a
                }
                if (is_function(a)) {
                    clbk[b].push(a)
                }
                return clbk[b]
            });
            y.bind(cf_e('currentPosition', conf), function(e, a) {
                e.stopPropagation();
                if (itms.first == 0) {
                    var b = 0
                } else {
                    var b = itms.total - itms.first
                }
                if (is_function(a)) {
                    a.call($tt0, b)
                }
                return b
            });
            y.bind(cf_e('currentPage', conf), function(e, a) {
                e.stopPropagation();
                var b = opts.pagination.items || opts.items.visible,
                    max = Math.ceil(itms.total / b - 1),
                    nr;
                if (itms.first == 0) {
                    nr = 0
                } else if (itms.first < itms.total % b) {
                    nr = 0
                } else if (itms.first == b && !opts.circular) {
                    nr = max
                } else {
                    nr = Math.round((itms.total - itms.first) / b)
                }
                if (nr < 0) {
                    nr = 0
                }
                if (nr > max) {
                    nr = max
                }
                if (is_function(a)) {
                    a.call($tt0, nr)
                }
                return nr
            });
            y.bind(cf_e('currentVisible', conf), function(e, a) {
                e.stopPropagation();
                var b = gi_getCurrentItems(y.children(), opts);
                if (is_function(a)) {
                    a.call($tt0, b)
                }
                return b
            });
            y.bind(cf_e('slice', conf), function(e, f, l, b) {
                e.stopPropagation();
                if (itms.total == 0) {
                    return false
                }
                var v = [f, l, b],
                    t = ['number', 'number', 'function'],
                    a = cf_sortParams(v, t);
                f = (is_number(a[0])) ? a[0] : 0;
                l = (is_number(a[1])) ? a[1] : itms.total;
                b = a[2];
                f += itms.first;
                l += itms.first;
                if (items.total > 0) {
                    while (f > itms.total) {
                        f -= itms.total
                    }
                    while (l > itms.total) {
                        l -= itms.total
                    }
                    while (f < 0) {
                        f += itms.total
                    }
                    while (l < 0) {
                        l += itms.total
                    }
                }
                var c = y.children(),
                    $i;
                if (l > f) {
                    $i = c.slice(f, l)
                } else {
                    $i = $(c.slice(f, itms.total).get().concat(c.slice(0, l).get()))
                }
                if (is_function(b)) {
                    b.call($tt0, $i)
                }
                return $i
            });
            y.bind(cf_e('isPaused', conf) + ' ' + cf_e('isStopped', conf) + ' ' + cf_e('isScrolling', conf), function(e, a) {
                e.stopPropagation();
                var b = e.type.slice(conf.events.prefix.length),
                    value = z[b];
                if (is_function(a)) {
                    a.call($tt0, value)
                }
                return value
            });
            y.bind(cf_e('configuration', conf), function(e, a, b, c) {
                e.stopPropagation();
                var d = false;
                if (is_function(a)) {
                    a.call($tt0, opts)
                } else if (is_object(a)) {
                    opts_orig = $.extend(true, {}, opts_orig, a);
                    if (b !== false) d = true;
                    else opts = $.extend(true, {}, opts, a)
                } else if (!is_undefined(a)) {
                    if (is_function(b)) {
                        var f = eval('opts.' + a);
                        if (is_undefined(f)) {
                            f = ''
                        }
                        b.call($tt0, f)
                    } else if (!is_undefined(b)) {
                        if (typeof c !== 'boolean') c = true;
                        eval('opts_orig.' + a + ' = b');
                        if (c !== false) d = true;
                        else eval('opts.' + a + ' = b')
                    } else {
                        return eval('opts.' + a)
                    }
                }
                if (d) {
                    sz_resetMargin(y.children(), opts);
                    y._cfs_init(opts_orig);
                    y._cfs_bind_buttons();
                    var g = sz_setSizes(y, opts);
                    y.trigger(cf_e('updatePageStatus', conf), [true, g])
                }
                return opts
            });
            y.bind(cf_e('linkAnchors', conf), function(e, a, b) {
                e.stopPropagation();
                if (is_undefined(a)) {
                    a = $('body')
                } else if (is_string(a)) {
                    a = $(a)
                }
                if (!is_jquery(a) || a.length == 0) {
                    return debug(conf, 'Not a valid object.')
                }
                if (!is_string(b)) {
                    b = 'a.caroufredsel'
                }
                a.find(b).each(function() {
                    var h = this.hash || '';
                    if (h.length > 0 && y.children().index($(h)) != -1) {
                        $(this).unbind('click').click(function(e) {
                            e.preventDefault();
                            y.trigger(cf_e('slideTo', conf), h)
                        })
                    }
                });
                return true
            });
            y.bind(cf_e('updatePageStatus', conf), function(e, b, c) {
                e.stopPropagation();
                if (!opts.pagination.container) {
                    return
                }
                var d = opts.pagination.items || opts.items.visible,
                    pgs = Math.ceil(itms.total / d);
                if (b) {
                    if (opts.pagination.anchorBuilder) {
                        opts.pagination.container.children().remove();
                        opts.pagination.container.each(function() {
                            for (var a = 0; a < pgs; a++) {
                                var i = y.children().eq(gn_getItemIndex(a * d, 0, true, itms, y));
                                $(this).append(opts.pagination.anchorBuilder.call(i[0], a + 1))
                            }
                        })
                    }
                    opts.pagination.container.each(function() {
                        $(this).children().unbind(opts.pagination.event).each(function(a) {
                            $(this).bind(opts.pagination.event, function(e) {
                                e.preventDefault();
                                y.trigger(cf_e('slideTo', conf), [a * d, -opts.pagination.deviation, true, opts.pagination])
                            })
                        })
                    })
                }
                var f = y.triggerHandler(cf_e('currentPage', conf)) + opts.pagination.deviation;
                if (f >= pgs) {
                    f = 0
                }
                if (f < 0) {
                    f = pgs - 1
                }
                opts.pagination.container.each(function() {
                    $(this).children().removeClass(cf_c('selected', conf)).eq(f).addClass(cf_c('selected', conf))
                });
                return true
            });
            y.bind(cf_e('updateSizes', conf), function(e) {
                var a = opts.items.visible,
                    a_itm = y.children(),
                    avail_primary = ms_getParentSize($wrp, opts, 'width');
                itms.total = a_itm.length;
                if (z.primarySizePercentage) {
                    opts.maxDimension = avail_primary;
                    opts[opts.d['width']] = ms_getPercentage(avail_primary, z.primarySizePercentage)
                } else {
                    opts.maxDimension = ms_getMaxDimension(opts, avail_primary)
                }
                if (opts.responsive) {
                    opts.items.width = opts.items.sizesConf.width;
                    opts.items.height = opts.items.sizesConf.height;
                    opts = in_getResponsiveValues(opts, a_itm, avail_primary);
                    a = opts.items.visible;
                    sz_setResponsiveSizes(opts, a_itm)
                } else if (opts.items.visibleConf.variable) {
                    a = gn_getVisibleItemsNext(a_itm, opts, 0)
                } else if (opts.items.filter != '*') {
                    a = gn_getVisibleItemsNextFilter(a_itm, opts, 0)
                }
                if (!opts.circular && itms.first != 0 && a > itms.first) {
                    if (opts.items.visibleConf.variable) {
                        var b = gn_getVisibleItemsPrev(a_itm, opts, itms.first) - itms.first
                    } else if (opts.items.filter != '*') {
                        var b = gn_getVisibleItemsPrevFilter(a_itm, opts, itms.first) - itms.first
                    } else {
                        var b = opts.items.visible - itms.first
                    }
                    debug(conf, 'Preventing non-circular: sliding ' + b + ' items backward.');
                    y.trigger(cf_e('prev', conf), b)
                }
                opts.items.visible = cf_getItemsAdjust(a, opts, opts.items.visibleConf.adjust, $tt0);
                opts.items.visibleConf.old = opts.items.visible;
                opts = in_getAlignPadding(opts, a_itm);
                var c = sz_setSizes(y, opts);
                y.trigger(cf_e('updatePageStatus', conf), [true, c]);
                nv_showNavi(opts, itms.total, conf);
                nv_enableNavi(opts, itms.first, conf);
                return c
            });
            y.bind(cf_e('destroy', conf), function(e, a) {
                e.stopPropagation();
                tmrs = sc_clearTimers(tmrs);
                y.data('_cfs_isCarousel', false);
                y.trigger(cf_e('finish', conf));
                if (a) {
                    y.trigger(cf_e('jumpToStart', conf))
                }
                sz_resetMargin(y.children(), opts);
                if (opts.responsive) {
                    y.children().each(function() {
                        $(this).css($(this).data('_cfs_origCssSizes'))
                    })
                }
                y.css(y.data('_cfs_origCss'));
                y._cfs_unbind_events();
                y._cfs_unbind_buttons();
                $wrp.replaceWith(y);
                return true
            });
            y.bind(cf_e('debug', conf), function(e) {
                debug(conf, 'Carousel width: ' + opts.width);
                debug(conf, 'Carousel height: ' + opts.height);
                debug(conf, 'Item widths: ' + opts.items.width);
                debug(conf, 'Item heights: ' + opts.items.height);
                debug(conf, 'Number of items visible: ' + opts.items.visible);
                if (opts.auto.play) {
                    debug(conf, 'Number of items scrolled automatically: ' + opts.auto.items)
                }
                if (opts.prev.button) {
                    debug(conf, 'Number of items scrolled backward: ' + opts.prev.items)
                }
                if (opts.next.button) {
                    debug(conf, 'Number of items scrolled forward: ' + opts.next.items)
                }
                return conf.debug
            });
            y.bind('_cfs_triggerEvent', function(e, n, o) {
                e.stopPropagation();
                return y.triggerHandler(cf_e(n, conf), o)
            })
        };
        y._cfs_unbind_events = function() {
            y.unbind(cf_e('', conf));
            y.unbind(cf_e('', conf, false));
            y.unbind('_cfs_triggerEvent')
        };
        y._cfs_bind_buttons = function() {
            y._cfs_unbind_buttons();
            nv_showNavi(opts, itms.total, conf);
            nv_enableNavi(opts, itms.first, conf);
            if (opts.auto.pauseOnHover) {
                var b = bt_pauseOnHoverConfig(opts.auto.pauseOnHover);
                $wrp.bind(cf_e('mouseenter', conf, false), function() {
                    y.trigger(cf_e('pause', conf), b)
                }).bind(cf_e('mouseleave', conf, false), function() {
                    y.trigger(cf_e('resume', conf))
                })
            }
            if (opts.auto.button) {
                opts.auto.button.bind(cf_e(opts.auto.event, conf, false), function(e) {
                    e.preventDefault();
                    var a = false,
                        b = null;
                    if (z.isPaused) {
                        a = 'play'
                    } else if (opts.auto.pauseOnEvent) {
                        a = 'pause';
                        b = bt_pauseOnHoverConfig(opts.auto.pauseOnEvent)
                    }
                    if (a) {
                        y.trigger(cf_e(a, conf), b)
                    }
                })
            }
            if (opts.prev.button) {
                opts.prev.button.bind(cf_e(opts.prev.event, conf, false), function(e) {
                    e.preventDefault();
                    y.trigger(cf_e('prev', conf))
                });
                if (opts.prev.pauseOnHover) {
                    var b = bt_pauseOnHoverConfig(opts.prev.pauseOnHover);
                    opts.prev.button.bind(cf_e('mouseenter', conf, false), function() {
                        y.trigger(cf_e('pause', conf), b)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        y.trigger(cf_e('resume', conf))
                    })
                }
            }
            if (opts.next.button) {
                opts.next.button.bind(cf_e(opts.next.event, conf, false), function(e) {
                    e.preventDefault();
                    y.trigger(cf_e('next', conf))
                });
                if (opts.next.pauseOnHover) {
                    var b = bt_pauseOnHoverConfig(opts.next.pauseOnHover);
                    opts.next.button.bind(cf_e('mouseenter', conf, false), function() {
                        y.trigger(cf_e('pause', conf), b)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        y.trigger(cf_e('resume', conf))
                    })
                }
            }
            if (opts.pagination.container) {
                if (opts.pagination.pauseOnHover) {
                    var b = bt_pauseOnHoverConfig(opts.pagination.pauseOnHover);
                    opts.pagination.container.bind(cf_e('mouseenter', conf, false), function() {
                        y.trigger(cf_e('pause', conf), b)
                    }).bind(cf_e('mouseleave', conf, false), function() {
                        y.trigger(cf_e('resume', conf))
                    })
                }
            }
            if (opts.prev.key || opts.next.key) {
                $(document).bind(cf_e('keyup', conf, false, true, true), function(e) {
                    var k = e.keyCode;
                    if (k == opts.next.key) {
                        e.preventDefault();
                        y.trigger(cf_e('next', conf))
                    }
                    if (k == opts.prev.key) {
                        e.preventDefault();
                        y.trigger(cf_e('prev', conf))
                    }
                })
            }
            if (opts.pagination.keys) {
                $(document).bind(cf_e('keyup', conf, false, true, true), function(e) {
                    var k = e.keyCode;
                    if (k >= 49 && k < 58) {
                        k = (k - 49) * opts.items.visible;
                        if (k <= itms.total) {
                            e.preventDefault();
                            y.trigger(cf_e('slideTo', conf), [k, 0, true, opts.pagination])
                        }
                    }
                })
            }
            if (opts.prev.wipe || opts.next.wipe) {
                deprecated('the touchwipe-plugin', 'the touchSwipe-plugin');
                if ($.fn.touchwipe) {
                    var c = (opts.prev.wipe) ? function() {
                            y.trigger(cf_e('prev', conf))
                        } : null,
                        wN = (opts.next.wipe) ? function() {
                            y.trigger(cf_e('next', conf))
                        } : null;
                    if (wN || wN) {
                        if (!z.touchwipe) {
                            z.touchwipe = true;
                            var d = {
                                'min_move_x': 30,
                                'min_move_y': 30,
                                'preventDefaultEvents': true
                            };
                            switch (opts.direction) {
                                case 'up':
                                case 'down':
                                    d.wipeUp = c;
                                    d.wipeDown = wN;
                                    break;
                                default:
                                    d.wipeLeft = wN;
                                    d.wipeRight = c
                            }
                            $wrp.touchwipe(d)
                        }
                    }
                }
            }
            if ($.fn.swipe) {
                var f = 'ontouchstart' in window;
                if ((f && opts.swipe.onTouch) || (!f && opts.swipe.onMouse)) {
                    var g = $.extend(true, {}, opts.prev, opts.swipe),
                        scN = $.extend(true, {}, opts.next, opts.swipe),
                        swP = function() {
                            y.trigger(cf_e('prev', conf), [g])
                        },
                        swN = function() {
                            y.trigger(cf_e('next', conf), [scN])
                        };
                    switch (opts.direction) {
                        case 'up':
                        case 'down':
                            opts.swipe.options.swipeUp = swN;
                            opts.swipe.options.swipeDown = swP;
                            break;
                        default:
                            opts.swipe.options.swipeLeft = swN;
                            opts.swipe.options.swipeRight = swP
                    }
                    if (z.swipe) {
                        y.swipe('destroy')
                    }
                    $wrp.swipe(opts.swipe.options);
                    $wrp.css('cursor', 'move');
                    z.swipe = true
                }
            }
            if ($.fn.mousewheel) {
                if (opts.prev.mousewheel) {
                    deprecated('The prev.mousewheel option', 'the mousewheel configuration object');
                    opts.prev.mousewheel = null;
                    opts.mousewheel = {
                        items: bt_mousesheelNumber(opts.prev.mousewheel)
                    }
                }
                if (opts.next.mousewheel) {
                    deprecated('The next.mousewheel option', 'the mousewheel configuration object');
                    opts.next.mousewheel = null;
                    opts.mousewheel = {
                        items: bt_mousesheelNumber(opts.next.mousewheel)
                    }
                }
                if (opts.mousewheel) {
                    var h = $.extend(true, {}, opts.prev, opts.mousewheel),
                        mcN = $.extend(true, {}, opts.next, opts.mousewheel);
                    if (z.mousewheel) {
                        $wrp.unbind(cf_e('mousewheel', conf, false))
                    }
                    $wrp.bind(cf_e('mousewheel', conf, false), function(e, a) {
                        e.preventDefault();
                        if (a > 0) {
                            y.trigger(cf_e('prev', conf), [h])
                        } else {
                            y.trigger(cf_e('next', conf), [mcN])
                        }
                    });
                    z.mousewheel = true
                }
            }
            if (opts.auto.play) {
                y.trigger(cf_e('play', conf), opts.auto.delay)
            }
            if (z.upDateOnWindowResize) {
                var i = function(e) {
                    y.trigger(cf_e('finish', conf));
                    if (opts.auto.pauseOnResize && !z.isPaused) {
                        y.trigger(cf_e('play', conf))
                    }
                    sz_resetMargin(y.children(), opts);
                    y.trigger(cf_e('updateSizes', conf))
                };
                var j = $(window),
                    onResize = null;
                if ($.debounce && conf.onWindowResize == 'debounce') {
                    onResize = $.debounce(200, i)
                } else if ($.throttle && conf.onWindowResize == 'throttle') {
                    onResize = $.throttle(300, i)
                } else {
                    var l = 0,
                        _windowHeight = 0;
                    onResize = function() {
                        var a = j.width(),
                            nh = j.height();
                        if (a != l || nh != _windowHeight) {
                            i();
                            l = a;
                            _windowHeight = nh
                        }
                    }
                }
                j.bind(cf_e('resize', conf, false, true, true), onResize)
            }
        };
        y._cfs_unbind_buttons = function() {
            var a = cf_e('', conf),
                ns2 = cf_e('', conf, false);
            ns3 = cf_e('', conf, false, true, true);
            $(document).unbind(ns3);
            $(window).unbind(ns3);
            $wrp.unbind(ns2);
            if (opts.auto.button) {
                opts.auto.button.unbind(ns2)
            }
            if (opts.prev.button) {
                opts.prev.button.unbind(ns2)
            }
            if (opts.next.button) {
                opts.next.button.unbind(ns2)
            }
            if (opts.pagination.container) {
                opts.pagination.container.unbind(ns2);
                if (opts.pagination.anchorBuilder) {
                    opts.pagination.container.children().remove()
                }
            }
            if (z.swipe) {
                y.swipe('destroy');
                $wrp.css('cursor', 'default');
                z.swipe = false
            }
            if (z.mousewheel) {
                z.mousewheel = false
            }
            nv_showNavi(opts, 'hide', conf);
            nv_enableNavi(opts, 'removeClass', conf)
        };
        if (is_boolean(w)) {
            w = {
                'debug': w
            }
        }
        var z = {
                'direction': 'next',
                'isPaused': true,
                'isScrolling': false,
                'isStopped': false,
                'mousewheel': false,
                'swipe': false
            },
            itms = {
                'total': y.children().length,
                'first': 0
            },
            tmrs = {
                'auto': null,
                'progress': null,
                'startTime': getTime(),
                'timePassed': 0
            },
            scrl = {
                'isStopped': false,
                'duration': 0,
                'startTime': 0,
                'easing': '',
                'anims': []
            },
            clbk = {
                'onBefore': [],
                'onAfter': []
            },
            queu = [],
            conf = $.extend(true, {}, $.fn.carouFredSel.configs, w),
            opts = {},
            opts_orig = $.extend(true, {}, u),
            $wrp = y.wrap('<' + conf.wrapper.element + ' class="' + conf.wrapper.classname + '" />').parent();
        conf.selector = y.selector;
        conf.serialNumber = $.fn.carouFredSel.serialNumber++;
        y._cfs_init(opts_orig, true, starting_position);
        y._cfs_build();
        y._cfs_bind_events();
        y._cfs_bind_buttons();
        if (is_array(opts.items.start)) {
            var A = opts.items.start
        } else {
            var A = [];
            if (opts.items.start != 0) {
                A.push(opts.items.start)
            }
        }
        if (opts.cookie) {
            A.unshift(parseInt(cf_getCookie(opts.cookie), 10))
        }
        if (A.length > 0) {
            for (var a = 0, l = A.length; a < l; a++) {
                var s = A[a];
                if (s == 0) {
                    continue
                }
                if (s === true) {
                    s = window.location.hash;
                    if (s.length < 1) {
                        continue
                    }
                } else if (s === 'random') {
                    s = Math.floor(Math.random() * itms.total)
                }
                if (y.triggerHandler(cf_e('slideTo', conf), [s, 0, true, {
                        fx: 'none'
                    }])) {
                    break
                }
            }
        }
        var B = sz_setSizes(y, opts),
            itm = gi_getCurrentItems(y.children(), opts);
        if (opts.onCreate) {
            opts.onCreate.call($tt0, {
                'width': B.width,
                'height': B.height,
                'items': itm
            })
        }
        y.trigger(cf_e('updatePageStatus', conf), [true, B]);
        y.trigger(cf_e('linkAnchors', conf));
        if (conf.debug) {
            y.trigger(cf_e('debug', conf))
        }
        return y
    };
    $.fn.carouFredSel.serialNumber = 1;
    $.fn.carouFredSel.defaults = {
        'synchronise': false,
        'infinite': true,
        'circular': true,
        'responsive': false,
        'direction': 'left',
        'items': {
            'start': 0
        },
        'scroll': {
            'easing': 'swing',
            'duration': 500,
            'pauseOnHover': false,
            'event': 'click',
            'queue': false
        }
    };
    $.fn.carouFredSel.configs = {
        'debug': false,
        'onWindowResize': 'throttle',
        'events': {
            'prefix': '',
            'namespace': 'cfs'
        },
        'wrapper': {
            'element': 'div',
            'classname': 'caroufredsel_wrapper'
        },
        'classnames': {}
    };
    $.fn.carouFredSel.pageAnchorBuilder = function(a) {
        return '<a href="#"><span>' + a + '</span></a>'
    };
    $.fn.carouFredSel.progressbarUpdater = function(a) {
        $(this).css('width', a + '%')
    };
    $.fn.carouFredSel.cookie = {get: function(n) {
            n += '=';
            var b = document.cookie.split(';');
            for (var a = 0, l = b.length; a < l; a++) {
                var c = b[a];
                while (c.charAt(0) == ' ') {
                    c = c.slice(1)
                }
                if (c.indexOf(n) == 0) {
                    return c.slice(n.length)
                }
            }
            return 0
        },
        set: function(n, v, d) {
            var e = "";
            if (d) {
                var a = new Date();
                a.setTime(a.getTime() + (d * 24 * 60 * 60 * 1000));
                e = "; expires=" + a.toGMTString()
            }
            document.cookie = n + '=' + v + e + '; path=/'
        },
        remove: function(n) {
            $.fn.carouFredSel.cookie.set(n, "", -1)
        }
    };

    function sc_setScroll(d, e) {
        return {
            anims: [],
            duration: d,
            orgDuration: d,
            easing: e,
            startTime: getTime()
        }
    }

    function sc_startScroll(s) {
        if (is_object(s.pre)) {
            sc_startScroll(s.pre)
        }
        for (var a = 0, l = s.anims.length; a < l; a++) {
            var b = s.anims[a];
            if (!b) {
                continue
            }
            if (b[3]) {
                b[0].stop()
            }
            b[0].animate(b[1], {
                complete: b[2],
                duration: s.duration,
                easing: s.easing
            })
        }
        if (is_object(s.post)) {
            sc_startScroll(s.post)
        }
    }

    function sc_stopScroll(s, c) {
        if (!is_boolean(c)) {
            c = true
        }
        if (is_object(s.pre)) {
            sc_stopScroll(s.pre, c)
        }
        for (var a = 0, l = s.anims.length; a < l; a++) {
            var b = s.anims[a];
            b[0].stop(true);
            if (c) {
                b[0].css(b[1]);
                if (is_function(b[2])) {
                    b[2]()
                }
            }
        }
        if (is_object(s.post)) {
            sc_stopScroll(s.post, c)
        }
    }

    function sc_afterScroll(a, b, o) {
        if (b) {
            b.remove()
        }
        switch (o.fx) {
            case 'fade':
            case 'crossfade':
            case 'cover-fade':
            case 'uncover-fade':
                a.css('filter', '');
                break
        }
    }

    function sc_fireCallbacks(d, o, b, a, c) {
        if (o[b]) {
            o[b].call(d, a)
        }
        if (c[b].length) {
            for (var i = 0, l = c[b].length; i < l; i++) {
                c[b][i].call(d, a)
            }
        }
        return []
    }

    function sc_fireQueue(a, q, c) {
        if (q.length) {
            a.trigger(cf_e(q[0][0], c), q[0][1]);
            q.shift()
        }
        return q
    }

    function sc_hideHiddenItems(b) {
        b.each(function() {
            var a = $(this);
            a.data('_cfs_isHidden', a.is(':hidden')).hide()
        })
    }

    function sc_showHiddenItems(b) {
        if (b) {
            b.each(function() {
                var a = $(this);
                if (!a.data('_cfs_isHidden')) {
                    a.show()
                }
            })
        }
    }

    function sc_clearTimers(t) {
        if (t.auto) {
            clearTimeout(t.auto)
        }
        if (t.progress) {
            clearInterval(t.progress)
        }
        return t
    }

    function sc_mapCallbackArguments(a, b, c, d, e, f, g) {
        return {
            'width': g.width,
            'height': g.height,
            'items': {
                'old': a,
                'skipped': b,
                'visible': c,
                'new': c
            },
            'scroll': {
                'items': d,
                'direction': e,
                'duration': f
            }
        }
    }

    function sc_getDuration(a, o, b, c) {
        var d = a.duration;
        if (a.fx == 'none') {
            return 0
        }
        if (d == 'auto') {
            d = o.scroll.duration / o.scroll.items * b
        } else if (d < 10) {
            d = c / d
        }
        if (d < 1) {
            return 0
        }
        if (a.fx == 'fade') {
            d = d / 2
        }
        return Math.round(d)
    }

    function nv_showNavi(o, t, c) {
        var a = (is_number(o.items.minimum)) ? o.items.minimum : o.items.visible + 1;
        if (t == 'show' || t == 'hide') {
            var f = t
        } else if (a > t) {
            debug(c, 'Not enough items (' + t + ' total, ' + a + ' needed): Hiding navigation.');
            var f = 'hide'
        } else {
            var f = 'show'
        }
        var s = (f == 'show') ? 'removeClass' : 'addClass',
            h = cf_c('hidden', c);
        if (o.auto.button) {
            o.auto.button[f]()[s](h)
        }
        if (o.prev.button) {
            o.prev.button[f]()[s](h)
        }
        if (o.next.button) {
            o.next.button[f]()[s](h)
        }
        if (o.pagination.container) {
            o.pagination.container[f]()[s](h)
        }
    }

    function nv_enableNavi(o, f, c) {
        if (o.circular || o.infinite) return;
        var a = (f == 'removeClass' || f == 'addClass') ? f : false,
            di = cf_c('disabled', c);
        if (o.auto.button && a) {
            o.auto.button[a](di)
        }
        if (o.prev.button) {
            var b = a || (f == 0) ? 'addClass' : 'removeClass';
            o.prev.button[b](di)
        }
        if (o.next.button) {
            var b = a || (f == o.items.visible) ? 'addClass' : 'removeClass';
            o.next.button[b](di)
        }
    }

    function go_getObject(a, b) {
        if (is_function(b)) {
            b = b.call(a)
        } else if (is_undefined(b)) {
            b = {}
        }
        return b
    }

    function go_getItemsObject(a, b) {
        b = go_getObject(a, b);
        if (is_number(b)) {
            b = {
                'visible': b
            }
        } else if (b == 'variable') {
            b = {
                'visible': b,
                'width': b,
                'height': b
            }
        } else if (!is_object(b)) {
            b = {}
        }
        return b
    }

    function go_getScrollObject(a, b) {
        b = go_getObject(a, b);
        if (is_number(b)) {
            if (b <= 50) {
                b = {
                    'items': b
                }
            } else {
                b = {
                    'duration': b
                }
            }
        } else if (is_string(b)) {
            b = {
                'easing': b
            }
        } else if (!is_object(b)) {
            b = {}
        }
        return b
    }

    function go_getNaviObject(a, b) {
        b = go_getObject(a, b);
        if (is_string(b)) {
            var c = cf_getKeyCode(b);
            if (c == -1) {
                b = $(b)
            } else {
                b = c
            }
        }
        return b
    }

    function go_getAutoObject(a, b) {
        b = go_getNaviObject(a, b);
        if (is_jquery(b)) {
            b = {
                'button': b
            }
        } else if (is_boolean(b)) {
            b = {
                'play': b
            }
        } else if (is_number(b)) {
            b = {
                'timeoutDuration': b
            }
        }
        if (b.progress) {
            if (is_string(b.progress) || is_jquery(b.progress)) {
                b.progress = {
                    'bar': b.progress
                }
            }
        }
        return b
    }

    function go_complementAutoObject(a, b) {
        if (is_function(b.button)) {
            b.button = b.button.call(a)
        }
        if (is_string(b.button)) {
            b.button = $(b.button)
        }
        if (!is_boolean(b.play)) {
            b.play = true
        }
        if (!is_number(b.delay)) {
            b.delay = 0
        }
        if (is_undefined(b.pauseOnEvent)) {
            b.pauseOnEvent = true
        }
        if (!is_boolean(b.pauseOnResize)) {
            b.pauseOnResize = true
        }
        if (!is_number(b.timeoutDuration)) {
            b.timeoutDuration = (b.duration < 10) ? 2500 : b.duration * 5
        }
        if (b.progress) {
            if (is_function(b.progress.bar)) {
                b.progress.bar = b.progress.bar.call(a)
            }
            if (is_string(b.progress.bar)) {
                b.progress.bar = $(b.progress.bar)
            }
            if (b.progress.bar) {
                if (!is_function(b.progress.updater)) {
                    b.progress.updater = $.fn.carouFredSel.progressbarUpdater
                }
                if (!is_number(b.progress.interval)) {
                    b.progress.interval = 50
                }
            } else {
                b.progress = false
            }
        }
        return b
    }

    function go_getPrevNextObject(a, b) {
        b = go_getNaviObject(a, b);
        if (is_jquery(b)) {
            b = {
                'button': b
            }
        } else if (is_number(b)) {
            b = {
                'key': b
            }
        }
        return b
    }

    function go_complementPrevNextObject(a, b) {
        if (is_function(b.button)) {
            b.button = b.button.call(a)
        }
        if (is_string(b.button)) {
            b.button = $(b.button)
        }
        if (is_string(b.key)) {
            b.key = cf_getKeyCode(b.key)
        }
        return b
    }

    function go_getPaginationObject(a, b) {
        b = go_getNaviObject(a, b);
        if (is_jquery(b)) {
            b = {
                'container': b
            }
        } else if (is_boolean(b)) {
            b = {
                'keys': b
            }
        }
        return b
    }

    function go_complementPaginationObject(a, b) {
        if (is_function(b.container)) {
            b.container = b.container.call(a)
        }
        if (is_string(b.container)) {
            b.container = $(b.container)
        }
        if (!is_number(b.items)) {
            b.items = false
        }
        if (!is_boolean(b.keys)) {
            b.keys = false
        }
        if (!is_function(b.anchorBuilder) && !is_false(b.anchorBuilder)) {
            b.anchorBuilder = $.fn.carouFredSel.pageAnchorBuilder
        }
        if (!is_number(b.deviation)) {
            b.deviation = 0
        }
        return b
    }

    function go_getSwipeObject(a, b) {
        if (is_function(b)) {
            b = b.call(a)
        }
        if (is_undefined(b)) {
            b = {
                'onTouch': false
            }
        }
        if (is_true(b)) {
            b = {
                'onTouch': b
            }
        } else if (is_number(b)) {
            b = {
                'items': b
            }
        }
        return b
    }

    function go_complementSwipeObject(a, b) {
        if (!is_boolean(b.onTouch)) {
            b.onTouch = true
        }
        if (!is_boolean(b.onMouse)) {
            b.onMouse = false
        }
        if (!is_object(b.options)) {
            b.options = {}
        }
        if (!is_boolean(b.options.triggerOnTouchEnd)) {
            b.options.triggerOnTouchEnd = false
        }
        return b
    }

    function go_getMousewheelObject(a, b) {
        if (is_function(b)) {
            b = b.call(a)
        }
        if (is_true(b)) {
            b = {}
        } else if (is_number(b)) {
            b = {
                'items': b
            }
        } else if (is_undefined(b)) {
            b = false
        }
        return b
    }

    function go_complementMousewheelObject(a, b) {
        return b
    }

    function gn_getItemIndex(a, b, c, d, e) {
        if (is_string(a)) {
            a = $(a, e)
        }
        if (is_object(a)) {
            a = $(a, e)
        }
        if (is_jquery(a)) {
            a = e.children().index(a);
            if (!is_boolean(c)) {
                c = false
            }
        } else {
            if (!is_boolean(c)) {
                c = true
            }
        }
        if (!is_number(a)) {
            a = 0
        }
        if (!is_number(b)) {
            b = 0
        }
        if (c) {
            a += d.first
        }
        a += b;
        if (d.total > 0) {
            while (a >= d.total) {
                a -= d.total
            }
            while (a < 0) {
                a += d.total
            }
        }
        return a
    }

    function gn_getVisibleItemsPrev(i, o, s) {
        var t = 0,
            x = 0;
        for (var a = s; a >= 0; a--) {
            var j = i.eq(a);
            t += (j.is(':visible')) ? j[o.d['outerWidth']](true) : 0;
            if (t > o.maxDimension) {
                return x
            }
            if (a == 0) {
                a = i.length
            }
            x++
        }
    }

    function gn_getVisibleItemsPrevFilter(i, o, s) {
        return gn_getItemsPrevFilter(i, o.items.filter, o.items.visibleConf.org, s)
    }

    function gn_getScrollItemsPrevFilter(i, o, s, m) {
        return gn_getItemsPrevFilter(i, o.items.filter, m, s)
    }

    function gn_getItemsPrevFilter(i, f, m, s) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length; a >= 0; a--) {
            x++;
            if (x == l) {
                return x
            }
            var j = i.eq(a);
            if (j.is(f)) {
                t++;
                if (t == m) {
                    return x
                }
            }
            if (a == 0) {
                a = l
            }
        }
    }

    function gn_getVisibleOrg(a, o) {
        return o.items.visibleConf.org || a.children().slice(0, o.items.visible).filter(o.items.filter).length
    }

    function gn_getVisibleItemsNext(i, o, s) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length - 1; a <= l; a++) {
            var j = i.eq(a);
            t += (j.is(':visible')) ? j[o.d['outerWidth']](true) : 0;
            if (t > o.maxDimension) {
                return x
            }
            x++;
            if (x == l + 1) {
                return x
            }
            if (a == l) {
                a = -1
            }
        }
    }

    function gn_getVisibleItemsNextTestCircular(i, o, s, l) {
        var v = gn_getVisibleItemsNext(i, o, s);
        if (!o.circular) {
            if (s + v > l) {
                v = l - s
            }
        }
        return v
    }

    function gn_getVisibleItemsNextFilter(i, o, s) {
        return gn_getItemsNextFilter(i, o.items.filter, o.items.visibleConf.org, s, o.circular)
    }

    function gn_getScrollItemsNextFilter(i, o, s, m) {
        return gn_getItemsNextFilter(i, o.items.filter, m + 1, s, o.circular) - 1
    }

    function gn_getItemsNextFilter(i, f, m, s, c) {
        var t = 0,
            x = 0;
        for (var a = s, l = i.length - 1; a <= l; a++) {
            x++;
            if (x >= l) {
                return x
            }
            var j = i.eq(a);
            if (j.is(f)) {
                t++;
                if (t == m) {
                    return x
                }
            }
            if (a == l) {
                a = -1
            }
        }
    }

    function gi_getCurrentItems(i, o) {
        return i.slice(0, o.items.visible)
    }

    function gi_getOldItemsPrev(i, o, n) {
        return i.slice(n, o.items.visibleConf.old + n)
    }

    function gi_getNewItemsPrev(i, o) {
        return i.slice(0, o.items.visible)
    }

    function gi_getOldItemsNext(i, o) {
        return i.slice(0, o.items.visibleConf.old)
    }

    function gi_getNewItemsNext(i, o, n) {
        return i.slice(n, o.items.visible + n)
    }

    function sz_storeMargin(i, o, d) {
        if (o.usePadding) {
            if (!is_string(d)) {
                d = '_cfs_origCssMargin'
            }
            i.each(function() {
                var j = $(this),
                    m = parseInt(j.css(o.d['marginRight']), 10);
                if (!is_number(m)) {
                    m = 0
                }
                j.data(d, m)
            })
        }
    }

    function sz_resetMargin(i, o, m) {
        if (o.usePadding) {
            var x = (is_boolean(m)) ? m : false;
            if (!is_number(m)) {
                m = 0
            }
            sz_storeMargin(i, o, '_cfs_tempCssMargin');
            i.each(function() {
                var j = $(this);
                j.css(o.d['marginRight'], ((x) ? j.data('_cfs_tempCssMargin') : m + j.data('_cfs_origCssMargin')))
            })
        }
    }

    function sz_storeSizes(i, o) {
        if (o.responsive) {
            i.each(function() {
                var j = $(this),
                    s = in_mapCss(j, ['width', 'height']);
                j.data('_cfs_origCssSizes', s)
            })
        }
    }

    function sz_setResponsiveSizes(o, b) {
        var c = o.items.visible,
            newS = o.items[o.d['width']],
            seco = o[o.d['height']],
            secp = is_percentage(seco);
        b.each(function() {
            var a = $(this),
                nw = newS - ms_getPaddingBorderMargin(a, o, 'Width');
            a[o.d['width']](nw);
            if (secp) {
                a[o.d['height']](ms_getPercentage(nw, seco))
            }
        })
    }

    function sz_setSizes(a, o) {
        var b = a.parent(),
            $i = a.children(),
            $v = gi_getCurrentItems($i, o),
            sz = cf_mapWrapperSizes(ms_getSizes($v, o, true), o, false);
        b.css(sz);
        if (o.usePadding) {
            var p = o.padding,
                r = p[o.d[1]];
            if (o.align && r < 0) {
                r = 0
            }
            var c = $v.last();
            c.css(o.d['marginRight'], c.data('_cfs_origCssMargin') + r);
            a.css(o.d['top'], p[o.d[0]]);
            a.css(o.d['left'], p[o.d[3]])
        }
        a.css(o.d['width'], sz[o.d['width']] + (ms_getTotalSize($i, o, 'width') * 2));
        a.css(o.d['height'], ms_getLargestSize($i, o, 'height'));
        return sz
    }

    function ms_getSizes(i, o, a) {
        return [ms_getTotalSize(i, o, 'width', a), ms_getLargestSize(i, o, 'height', a)]
    }

    function ms_getLargestSize(i, o, a, b) {
        if (!is_boolean(b)) {
            b = false
        }
        if (is_number(o[o.d[a]]) && b) {
            return o[o.d[a]]
        }
        if (is_number(o.items[o.d[a]])) {
            return o.items[o.d[a]]
        }
        a = (a.toLowerCase().indexOf('width') > -1) ? 'outerWidth' : 'outerHeight';
        return ms_getTrueLargestSize(i, o, a)
    }

    function ms_getTrueLargestSize(i, o, b) {
        var s = 0;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            var m = (j.is(':visible')) ? j[o.d[b]](true) : 0;
            if (s < m) {
                s = m
            }
        }
        return s
    }

    function ms_getTotalSize(i, o, b, c) {
        if (!is_boolean(c)) {
            c = false
        }
        if (is_number(o[o.d[b]]) && c) {
            return o[o.d[b]]
        }
        if (is_number(o.items[o.d[b]])) {
            return o.items[o.d[b]] * i.length
        }
        var d = (b.toLowerCase().indexOf('width') > -1) ? 'outerWidth' : 'outerHeight',
            s = 0;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            s += (j.is(':visible')) ? j[o.d[d]](true) : 0
        }
        return s
    }

    function ms_getParentSize(a, o, d) {
        var b = a.is(':visible');
        if (b) {
            a.hide()
        }
        var s = a.parent()[o.d[d]]();
        if (b) {
            a.show()
        }
        return s
    }

    function ms_getMaxDimension(o, a) {
        return (is_number(o[o.d['width']])) ? o[o.d['width']] : a
    }

    function ms_hasVariableSizes(i, o, b) {
        var s = false,
            v = false;
        for (var a = 0, l = i.length; a < l; a++) {
            var j = i.eq(a);
            var c = (j.is(':visible')) ? j[o.d[b]](true) : 0;
            if (s === false) {
                s = c
            } else if (s != c) {
                v = true
            }
            if (s == 0) {
                v = true
            }
        }
        return v
    }

    function ms_getPaddingBorderMargin(i, o, d) {
        return i[o.d['outer' + d]](true) - i[o.d[d.toLowerCase()]]()
    }

    function ms_getPercentage(s, o) {
        if (is_percentage(o)) {
            o = parseInt(o.slice(0, -1), 10);
            if (!is_number(o)) {
                return s
            }
            s *= o / 100
        }
        return s
    }

    function cf_e(n, c, a, b, d) {
        if (!is_boolean(a)) {
            a = true
        }
        if (!is_boolean(b)) {
            b = true
        }
        if (!is_boolean(d)) {
            d = false
        }
        if (a) {
            n = c.events.prefix + n
        }
        if (b) {
            n = n + '.' + c.events.namespace
        }
        if (b && d) {
            n += c.serialNumber
        }
        return n
    }

    function cf_c(n, c) {
        return (is_string(c.classnames[n])) ? c.classnames[n] : n
    }

    function cf_mapWrapperSizes(a, o, p) {
        if (!is_boolean(p)) {
            p = true
        }
        var b = (o.usePadding && p) ? o.padding : [0, 0, 0, 0];
        var c = {};
        c[o.d['width']] = a[0] + b[1] + b[3];
        c[o.d['height']] = a[1] + b[0] + b[2];
        return c
    }

    function cf_sortParams(c, d) {
        var e = [];
        for (var a = 0, l1 = c.length; a < l1; a++) {
            for (var b = 0, l2 = d.length; b < l2; b++) {
                if (d[b].indexOf(typeof c[a]) > -1 && is_undefined(e[b])) {
                    e[b] = c[a];
                    break
                }
            }
        }
        return e
    }

    function cf_getPadding(p) {
        if (is_undefined(p)) {
            return [0, 0, 0, 0]
        }
        if (is_number(p)) {
            return [p, p, p, p]
        }
        if (is_string(p)) {
            p = p.split('px').join('').split('em').join('').split(' ')
        }
        if (!is_array(p)) {
            return [0, 0, 0, 0]
        }
        for (var i = 0; i < 4; i++) {
            p[i] = parseInt(p[i], 10)
        }
        switch (p.length) {
            case 0:
                return [0, 0, 0, 0];
            case 1:
                return [p[0], p[0], p[0], p[0]];
            case 2:
                return [p[0], p[1], p[0], p[1]];
            case 3:
                return [p[0], p[1], p[2], p[1]];
            default:
                return [p[0], p[1], p[2], p[3]]
        }
    }

    function cf_getAlignPadding(a, o) {
        var x = (is_number(o[o.d['width']])) ? Math.ceil(o[o.d['width']] - ms_getTotalSize(a, o, 'width')) : 0;
        switch (o.align) {
            case 'left':
                return [0, x];
            case 'right':
                return [x, 0];
            case 'center':
            default:
                return [Math.ceil(x / 2), Math.floor(x / 2)]
        }
    }

    function cf_getDimensions(o) {
        var a = [
            ['width', 'innerWidth', 'outerWidth', 'height', 'innerHeight', 'outerHeight', 'left', 'top', 'marginRight', 0, 1, 2, 3],
            ['height', 'innerHeight', 'outerHeight', 'width', 'innerWidth', 'outerWidth', 'top', 'left', 'marginBottom', 3, 2, 1, 0]
        ];
        var b = a[0].length,
            dx = (o.direction == 'right' || o.direction == 'left') ? 0 : 1;
        var c = {};
        for (var d = 0; d < b; d++) {
            c[a[0][d]] = a[dx][d]
        }
        return c
    }

    function cf_getAdjust(x, o, a, b) {
        var v = x;
        if (is_function(a)) {
            v = a.call(b, v)
        } else if (is_string(a)) {
            var p = a.split('+'),
                m = a.split('-');
            if (m.length > p.length) {
                var c = true,
                    sta = m[0],
                    adj = m[1]
            } else {
                var c = false,
                    sta = p[0],
                    adj = p[1]
            }
            switch (sta) {
                case 'even':
                    v = (x % 2 == 1) ? x - 1 : x;
                    break;
                case 'odd':
                    v = (x % 2 == 0) ? x - 1 : x;
                    break;
                default:
                    v = x;
                    break
            }
            adj = parseInt(adj, 10);
            if (is_number(adj)) {
                if (c) {
                    adj = -adj
                }
                v += adj
            }
        }
        if (!is_number(v) || v < 1) {
            v = 1
        }
        return v
    }

    function cf_getItemsAdjust(x, o, a, b) {
        return cf_getItemAdjustMinMax(cf_getAdjust(x, o, a, b), o.items.visibleConf)
    }

    function cf_getItemAdjustMinMax(v, i) {
        if (is_number(i.min) && v < i.min) {
            v = i.min
        }
        if (is_number(i.max) && v > i.max) {
            v = i.max
        }
        if (v < 1) {
            v = 1
        }
        return v
    }

    function cf_getSynchArr(s) {
        if (!is_array(s)) {
            s = [
                [s]
            ]
        }
        if (!is_array(s[0])) {
            s = [s]
        }
        for (var j = 0, l = s.length; j < l; j++) {
            if (is_string(s[j][0])) {
                s[j][0] = $(s[j][0])
            }
            if (!is_boolean(s[j][1])) {
                s[j][1] = true
            }
            if (!is_boolean(s[j][2])) {
                s[j][2] = true
            }
            if (!is_number(s[j][3])) {
                s[j][3] = 0
            }
        }
        return s
    }

    function cf_getKeyCode(k) {
        if (k == 'right') {
            return 39
        }
        if (k == 'left') {
            return 37
        }
        if (k == 'up') {
            return 38
        }
        if (k == 'down') {
            return 40
        }
        return -1
    }

    function cf_setCookie(n, a, c) {
        if (n) {
            var v = a.triggerHandler(cf_e('currentPosition', c));
            $.fn.carouFredSel.cookie.set(n, v)
        }
    }

    function cf_getCookie(n) {
        var c = $.fn.carouFredSel.cookie.get(n);
        return (c == '') ? 0 : c
    }

    function in_mapCss(a, b) {
        var c = {},
            prop;
        for (var p = 0, l = b.length; p < l; p++) {
            prop = b[p];
            c[prop] = a.css(prop)
        }
        return c
    }

    function in_complementItems(a, b, c, d) {
        if (!is_object(a.visibleConf)) {
            a.visibleConf = {}
        }
        if (!is_object(a.sizesConf)) {
            a.sizesConf = {}
        }
        if (a.start == 0 && is_number(d)) {
            a.start = d
        }
        if (is_object(a.visible)) {
            a.visibleConf.min = a.visible.min;
            a.visibleConf.max = a.visible.max;
            a.visible = false
        } else if (is_string(a.visible)) {
            if (a.visible == 'variable') {
                a.visibleConf.variable = true
            } else {
                a.visibleConf.adjust = a.visible
            }
            a.visible = false
        } else if (is_function(a.visible)) {
            a.visibleConf.adjust = a.visible;
            a.visible = false
        }
        if (!is_string(a.filter)) {
            a.filter = (c.filter(':hidden').length > 0) ? ':visible' : '*'
        }
        if (!a[b.d['width']]) {
            if (b.responsive) {
                debug(true, 'Set a ' + b.d['width'] + ' for the items!');
                a[b.d['width']] = ms_getTrueLargestSize(c, b, 'outerWidth')
            } else {
                a[b.d['width']] = (ms_hasVariableSizes(c, b, 'outerWidth')) ? 'variable' : c[b.d['outerWidth']](true)
            }
        }
        if (!a[b.d['height']]) {
            a[b.d['height']] = (ms_hasVariableSizes(c, b, 'outerHeight')) ? 'variable' : c[b.d['outerHeight']](true)
        }
        a.sizesConf.width = a.width;
        a.sizesConf.height = a.height;
        return a
    }

    function in_complementVisibleItems(a, b) {
        if (a.items[a.d['width']] == 'variable') {
            a.items.visibleConf.variable = true
        }
        if (!a.items.visibleConf.variable) {
            if (is_number(a[a.d['width']])) {
                a.items.visible = Math.floor(a[a.d['width']] / a.items[a.d['width']])
            } else {
                a.items.visible = Math.floor(b / a.items[a.d['width']]);
                a[a.d['width']] = a.items.visible * a.items[a.d['width']];
                if (!a.items.visibleConf.adjust) {
                    a.align = false
                }
            }
            if (a.items.visible == 'Infinity' || a.items.visible < 1) {
                debug(true, 'Not a valid number of visible items: Set to "variable".');
                a.items.visibleConf.variable = true
            }
        }
        return a
    }

    function in_complementPrimarySize(a, b, c) {
        if (a == 'auto') {
            a = ms_getTrueLargestSize(c, b, 'outerWidth')
        }
        return a
    }

    function in_complementSecondarySize(a, b, c) {
        if (a == 'auto') {
            a = ms_getTrueLargestSize(c, b, 'outerHeight')
        }
        if (!a) {
            a = b.items[b.d['height']]
        }
        return a
    }

    function in_getAlignPadding(o, a) {
        var p = cf_getAlignPadding(gi_getCurrentItems(a, o), o);
        o.padding[o.d[1]] = p[1];
        o.padding[o.d[3]] = p[0];
        return o
    }

    function in_getResponsiveValues(o, a, b) {
        var c = cf_getItemAdjustMinMax(Math.ceil(o[o.d['width']] / o.items[o.d['width']]), o.items.visibleConf);
        if (c > a.length) {
            c = a.length
        }
        var d = Math.floor(o[o.d['width']] / c);
        o.items.visible = c;
        o.items[o.d['width']] = d;
        o[o.d['width']] = c * d;
        return o
    }

    function bt_pauseOnHoverConfig(p) {
        if (is_string(p)) {
            var i = (p.indexOf('immediate') > -1) ? true : false,
                r = (p.indexOf('resume') > -1) ? true : false
        } else {
            var i = r = false
        }
        return [i, r]
    }

    function bt_mousesheelNumber(a) {
        return (is_number(a)) ? a : null
    }

    function is_null(a) {
        return (a === null)
    }

    function is_undefined(a) {
        return (is_null(a) || typeof a == 'undefined' || a === '' || a === 'undefined')
    }

    function is_array(a) {
        return (a instanceof Array)
    }

    function is_jquery(a) {
        return (a instanceof jQuery)
    }

    function is_object(a) {
        return ((a instanceof Object || typeof a == 'object') && !is_null(a) && !is_jquery(a) && !is_array(a))
    }

    function is_number(a) {
        return ((a instanceof Number || typeof a == 'number') && !isNaN(a))
    }

    function is_string(a) {
        return ((a instanceof String || typeof a == 'string') && !is_undefined(a) && !is_true(a) && !is_false(a))
    }

    function is_function(a) {
        return (a instanceof Function || typeof a == 'function')
    }

    function is_boolean(a) {
        return (a instanceof Boolean || typeof a == 'boolean' || is_true(a) || is_false(a))
    }

    function is_true(a) {
        return (a === true || a === 'true')
    }

    function is_false(a) {
        return (a === false || a === 'false')
    }

    function is_percentage(x) {
        return (is_string(x) && x.slice(-1) == '%')
    }

    function getTime() {
        return new Date().getTime()
    }

    function deprecated(o, n) {
        debug(true, o + ' is DEPRECATED, support for it will be removed. Use ' + n + ' instead.')
    }

    function debug(d, m) {
        if (is_object(d)) {
            var s = ' (' + d.selector + ')';
            d = d.debug
        } else {
            var s = ''
        }
        if (!d) {
            return false
        }
        if (is_string(m)) {
            m = 'carouFredSel' + s + ': ' + m
        } else {
            m = ['carouFredSel' + s + ':', m]
        }
        if (window.console && window.console.log) {
            window.console.log(m)
        }
        return false
    }
    $.extend($.easing, {
        'quadratic': function(t) {
            var a = t * t;
            return t * (-a * t + 4 * a - 6 * t + 4)
        },
        'cubic': function(t) {
            return t * (4 * t * t - 9 * t + 6)
        },
        'elastic': function(t) {
            var a = t * t;
            return t * (33 * a * a - 106 * a * t + 126 * a - 67 * t + 15)
        }
    })
})(jQuery);
#3 JavaScript::Eval (size: 80922) - SHA256: 28364543eaf9f8ec15922b8b9b19f87b269988e1d7bc0e9ca762160a6c2d1420
function lsShowNotice(t, e, i) {
    var a;
    "string" == typeof t ? a = jQuery("#" + t) : "object" == typeof t && (a = t);
    var s, o;
    switch (e) {
        case "jquery":
            s = "multiple jQuery issue", o = 'It looks like that another plugin or your theme loads an extra copy of the jQuery library causing problems for LayerSlider to show your sliders. <strong>Please navigate on your WordPress admin area to the main page of LayerSlider and enable the "Put JS includes to body" option within the Troubleshooting & Advanced Settings box.</strong>';
            break;
        case "oldjquery":
            s = "old jQuery issue", o = "It looks like you are using an old version (" + i + ') of the jQuery library. LayerSlider requires at least version 1.7.0 or newer. Please update jQuery to 1.10.x or higher. Important: Please do not use the jQuery Updater plugin on WordPress and do not update to 2.x version of jQuery because it is not compatible with older browsers like IE 7 & 8. <a href="http://support.kreaturamedia.com/faq/4/layerslider-for-wordpress/#group-13&entry-60">You can read more about updating jQuery by clicking here.</a>'
    }
    a.addClass("ls-error"), a.append('<p class="ls-exclam">!</p>'), a.append('<p class="ls-error-title">LayerSlider: ' + s + "</p>"), a.append('<p class="ls-error-text">' + o + "</p>")
}! function(t) {
    if ("undefined" != typeof kmGS)
        for (var e in kmGS) this[e] = kmGS[e];
    t.fn.layerSlider = function(e) {
        var a = "1.7.0",
            s = t.fn.jquery,
            o = t(this),
            r = function(t, e) {
                for (var i = t.split("."), a = e.split("."), s = 0; s < i.length; ++s) {
                    if (a.length == s) return !1;
                    if (parseInt(i[s]) != parseInt(a[s])) return parseInt(i[s]) > parseInt(a[s]) ? !1 : !0
                }
                return i.length != a.length ? !0 : !0
            };
        if (r("1.8.0", s) || o.addClass("ls-norotate"), r(a, s)) {
            if ((typeof e).match("object|undefined")) return this.each(function() {
                new i(this, e)
            });
            if ("data" === e) {
                var n = t(this).data("LayerSlider").g;
                if (n) return n
            } else if ("userInitData" === e) {
                var d = t(this).data("LayerSlider").o;
                if (d) return d
            } else {
                if ("defaultInitData" !== e) return this.each(function() {
                    var i = t(this).data("LayerSlider");
                    if (i) {
                        if (!i.g.isAnimating && !i.g.isLoading)
                            if ("number" == typeof e) e > 0 && e < i.g.layersNum + 1 && e != i.g.curLayerIndex && i.change(e);
                            else switch (e) {
                                case "prev":
                                    i.o.cbPrev(i.g), i.prev("clicked");
                                    break;
                                case "next":
                                    i.o.cbNext(i.g), i.next("clicked");
                                    break;
                                case "start":
                                    i.g.autoSlideshow || (i.o.cbStart(i.g), i.g.originalAutoSlideshow = !0, i.start())
                            }
                            "redraw" === e && i.resize(), (i.g.autoSlideshow || !i.g.autoSlideshow && i.g.originalAutoSlideshow) && "stop" == e && (i.o.cbStop(i.g), i.g.originalAutoSlideshow = !1, i.g.curLayer.find('iframe[src*="youtube.com"], iframe[src*="youtu.be"], iframe[src*="player.vimeo"]').each(function() {
                            clearTimeout(t(this).data("videoTimer"))
                        }), i.stop()), "forceStop" == e && i.forcestop()
                    }
                });
                var d = t(this).data("LayerSlider").defaults;
                if (d) return d
            }
        } else lsShowNotice(o, "oldjquery", s)
    };
    var i = function(e, d) {
            var l = this;
            l.$el = t(e).addClass("ls-container"), l.$el.data("LayerSlider", l), l.load = function() {
                if (l.defaults = i.options, l.o = t.extend({}, l.defaults, d), l.g = t.extend({}, i.global), l.lt = t.extend({}, i.layerTransitions), l.st = t.extend({}, i.slideTransitions), l.g.enableCSS3 = t(e).hasClass("ls-norotate") ? !1 : !0, l.g.originalMarkup = t(e).html(), l.g.ie78 && (l.o.lazyLoad = !1), "enabled" === l.o.autoPauseSlideshow && (l.o.autoPauseSlideshow = !0), "disabled" === l.o.autoPauseSlideshow && (l.o.autoPauseSlideshow = !1), "undefined" != typeof layerSliderTransitions && (l.t = t.extend({}, layerSliderTransitions)), "undefined" != typeof layerSliderCustomTransitions && (l.ct = t.extend({}, layerSliderCustomTransitions)), !l.g.initialized)
                    if (l.g.initialized = !0, t("html").find('meta[content*="WordPress"]').length && (l.g.wpVersion = t("html").find('meta[content*="WordPress"]').attr("content").split("WordPress")[1]), t("html").find('script[src*="layerslider"]').length && -1 != t("html").find('script[src*="layerslider"]').attr("src").indexOf("?") && (l.g.lswpVersion = t("html").find('script[src*="layerslider"]').attr("src").split("?")[1].split("=")[1]), l.o.skin && "" != l.o.skin && l.o.skinsPath && "" != l.o.skinsPath) {
                        t(e).addClass("ls-" + l.o.skin);
                        var a = l.o.skinsPath + l.o.skin + "/skin.css",
                            s = t("head");
                        if (t("head").length || (s = t("body")), t('link[href="' + a + '"]').length) o = t('link[href="' + a + '"]'), l.g.loaded || (l.g.loaded = !0, l.g.t1 = setTimeout(function() {
                            l.init()
                        }, 150));
                        else if (document.createStyleSheet) {
                            document.createStyleSheet(a);
                            var o = t('link[href="' + a + '"]')
                        } else var o = t('<link rel="stylesheet" href="' + a + '" type="text/css" />').appendTo(s);
                        o.load(function() {
                            l.g.loaded || (l.g.loaded = !0, l.g.t2 = setTimeout(function() {
                                l.init()
                            }, 150))
                        }), t(window).load(function() {
                            l.g.loaded || (l.g.loaded = !0, l.g.t3 = setTimeout(function() {
                                l.init()
                            }, 150))
                        }), l.g.t4 = setTimeout(function() {
                            l.g.loaded || (l.g.loaded = !0, l.init())
                        }, 1e3)
                    } else l.init()
            }, l.init = function() {
                t(e).prependTo(t(l.o.prependTo)), t("html").attr("id") ? t("body").attr("id") || t("body").attr("id", "ls-global") : t("html").attr("id", "ls-global"), l.g.isMobile() === !0 && l.o.hideOnMobile === !0 && (t(e).addClass("ls-forcehide"), t(e).closest(".ls-wp-fullwidth-container").addClass("ls-forcehide"));
                var i = function() {
                    l.o.hideOnMobile === !0 && l.g.isMobile() === !0 ? (t(e).addClass("ls-forcehide"), t(e).closest(".ls-wp-fullwidth-container").addClass("ls-forcehide"), l.o.autoStart = !1) : t(window).width() < l.o.hideUnder || t(window).width() > l.o.hideOver ? (t(e).addClass("ls-forcehide"), t(e).closest(".ls-wp-fullwidth-container").addClass("ls-forcehide")) : (t(e).removeClass("ls-forcehide"), t(e).closest(".ls-wp-fullwidth-container").removeClass("ls-forcehide"))
                };
                if (t(window).resize(function() {
                        i()
                    }), i(), l.g.sliderWidth = function() {
                        return t(e).width()
                    }, l.g.sliderHeight = function() {
                        return t(e).height()
                    }, t(e).find(".ls-layer").removeClass("ls-layer").addClass("ls-slide"), t(e).find('.ls-slide > *[class*="ls-s"]').each(function() {
                        var e = t(this).attr("class").split("ls-s")[1].split(" ")[0];
                        t(this).removeClass("ls-s" + e).addClass("ls-l" + e)
                    }), l.o.firstLayer && (l.o.firstSlide = l.o.firstLayer), l.o.animateFirstLayer === !1 && (l.o.animateFirstSlide = !1), 1 == t(e).find(".ls-slide").length && (l.o.autoStart = !1, l.o.navPrevNext = !1, l.o.navStartStop = !1, l.o.navButtons = !1, l.o.loops = 0, l.o.forceLoopNum = !1, l.o.autoPauseSlideshow = !0, l.o.firstSlide = 1, l.o.thumbnailNavigation = "disabled"), t(e).parent().hasClass("ls-wp-fullwidth-helper") && 0 !== l.o.responsiveUnder && (t(e)[0].style.width = "100%"), l.g.sliderOriginalWidthRU = l.g.sliderOriginalWidth = l.o.width ? "" + l.o.width : t(e)[0].style.width, l.g.sliderOriginalHeight = l.o.height ? "" + l.o.height : t(e)[0].style.height, -1 == l.g.sliderOriginalWidth.indexOf("%") && -1 == l.g.sliderOriginalWidth.indexOf("px") && (l.g.sliderOriginalWidth += "px"), -1 == l.g.sliderOriginalHeight.indexOf("%") && -1 == l.g.sliderOriginalHeight.indexOf("px") && (l.g.sliderOriginalHeight += "px"), l.g.responsiveMode = l.o.responsive && -1 != l.g.sliderOriginalWidth.indexOf("px") && -1 != l.g.sliderOriginalHeight.indexOf("px") ? !0 : !1, l.o.fullScreen === !0 && (l.o.responsiveUnder = 0, l.g.responsiveMode = !0, -1 != l.g.sliderOriginalWidth.indexOf("%") && (l.g.sliderOriginalWidth = parseInt(l.g.sliderOriginalWidth) + "px"), -1 != l.g.sliderOriginalHeight.indexOf("%") && (l.g.sliderOriginalHeight = parseInt(l.g.sliderOriginalHeight) + "px")), t(e).find('*[class*="ls-l"], *[class*="ls-bg"]').each(function() {
                        t(this).parent().hasClass("ls-slide") || t(this).insertBefore(t(this).parent())
                    }), t(e).find(".ls-slide").each(function() {
                        t(this).data("index", t(this).index() + 1).addClass("ls-slide-" + (t(this).index() + 1)), t(this).children(':not([class*="ls-"])').each(function() {
                            t(this).remove()
                        });
                        var e = t("<div>").addClass("ls-gpuhack");
                        t(this).find(".ls-bg").length ? e.insertAfter(t(this).find(".ls-bg").eq("0")) : e.prependTo(t(this))
                    }), t(e).find('.ls-slide, *[class*="ls-l"]').each(function() {
                        if (t(this).data("ls") || t(this).attr("rel") || t(this).attr("style")) {
                            if (t(this).data("ls")) var e = t(this).data("ls").toLowerCase().split(";");
                            else if (t(this).attr("rel") && -1 != t(this).attr("rel").indexOf(":") && -1 != t(this).attr("rel").indexOf(";")) var e = t(this).attr("rel").toLowerCase().split(";");
                            else var e = t(this).attr("style").toLowerCase().split(";");
                            for (x = 0; x < e.length; x++) {
                                param = e[x].split(":"), -1 != param[0].indexOf("easing") && (param[1] = l.ieEasing(param[1]));
                                var i = "";
                                param[2] && (i = ":" + t.trim(param[2])), " " != param[0] && "" != param[0] && t(this).data(t.trim(param[0]), t.trim(param[1]) + i)
                            }
                            t(this).data("static") && t(this).data("static", parseInt(t(this).data("static"))).data("originalSlide", t(this).parent().data("index")).addClass("ls-static")
                        }
                        l.o.startInViewport === !0 && l.o.autoStart === !0 && (l.o.autoStart = !1, l.g.originalAutoStart = !0);
                        var a = t(this);
                        a.data("originalLeft", a[0].style.left), a.data("originalTop", a[0].style.top), t(this).is("a") && t(this).children().length > 0 && (a = t(this).children());
                        var s = a.width(),
                            o = a.height();
                        a[0].style.width && -1 != a[0].style.width.indexOf("%") && (s = a[0].style.width), a[0].style.height && -1 != a[0].style.height.indexOf("%") && (o = a[0].style.height), a.data("originalWidth", s), a.data("originalHeight", o), a.data("originalPaddingLeft", a.css("padding-left")), a.data("originalPaddingRight", a.css("padding-right")), a.data("originalPaddingTop", a.css("padding-top")), a.data("originalPaddingBottom", a.css("padding-bottom"));
                        var r = "number" == typeof parseFloat(a.css("opacity")) ? Math.round(100 * parseFloat(a.css("opacity"))) / 100 : 1;
                        t(this).data("originalOpacity", r), -1 == a.css("border-left-width").indexOf("px") ? a.data("originalBorderLeft", a[0].style.borderLeftWidth) : a.data("originalBorderLeft", a.css("border-left-width")), -1 == a.css("border-right-width").indexOf("px") ? a.data("originalBorderRight", a[0].style.borderRightWidth) : a.data("originalBorderRight", a.css("border-right-width")), -1 == a.css("border-top-width").indexOf("px") ? a.data("originalBorderTop", a[0].style.borderTopWidth) : a.data("originalBorderTop", a.css("border-top-width")), -1 == a.css("border-bottom-width").indexOf("px") ? a.data("originalBorderBottom", a[0].style.borderBottomWidth) : a.data("originalBorderBottom", a.css("border-bottom-width")), a.data("originalFontSize", a.css("font-size")), a.data("originalLineHeight", a.css("line-height"))
                    }), document.location.hash)
                    for (var a = 0; a < t(e).find(".ls-slide").length; a++) t(e).find(".ls-slide").eq(a).data("deeplink") == document.location.hash.split("#")[1] && (l.o.firstSlide = a + 1);
                t(e).find('*[class*="ls-linkto-"]').each(function() {
                    for (var i = t(this).attr("class").split(" "), a = 0; a < i.length; a++)
                        if (-1 != i[a].indexOf("ls-linkto-")) {
                            var s = parseInt(i[a].split("ls-linkto-")[1]);
                            t(this).css({
                                cursor: "pointer"
                            }).click(function(i) {
                                i.preventDefault(), t(e).layerSlider(s)
                            })
                        }
                }), l.g.layersNum = t(e).find(".ls-slide").length, l.o.randomSlideshow && l.g.layersNum > 2 ? ("random" == l.o.firstSlide, l.o.twoWaySlideshow = !1) : l.o.randomSlideshow = !1, "random" == l.o.firstSlide && (l.o.firstSlide = Math.floor(Math.random() * l.g.layersNum + 1)), l.o.fisrtSlide = l.o.fisrtSlide < l.g.layersNum + 1 ? l.o.fisrtSlide : 1, l.o.fisrtSlide = l.o.fisrtSlide < 1 ? 1 : l.o.fisrtSlide, l.g.nextLoop = 1, l.o.animateFirstSlide && (l.g.nextLoop = 0), l.media.youtube.init(), l.media.vimeo.init(), l.media.html5.init(), l.o.animateFirstSlide && (l.o.firstSlide = l.o.firstSlide - 1 === 0 ? l.g.layersNum : l.o.firstSlide - 1), l.g.curLayerIndex = l.o.firstSlide, l.g.curLayer = t(e).find(".ls-slide:eq(" + (l.g.curLayerIndex - 1) + ")"), t(e).find(".ls-slide").wrapAll('<div class="ls-inner"></div>'), l.g.i = t(e).find(".ls-inner"), l.o.showBarTimer && (l.g.barTimer = t("<div>").addClass("ls-bar-timer").appendTo(l.g.i)), l.o.showCircleTimer && !l.g.ie78 && (l.g.circleTimer = t("<div>").addClass("ls-circle-timer").appendTo(l.g.i), l.g.circleTimer.append(t('<div class="ls-ct-left"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div><div class="ls-ct-right"><div class="ls-ct-rotate"><div class="ls-ct-hider"><div class="ls-ct-half"></div></div></div></div><div class="ls-ct-center"></div>'))), l.g.li = t("<div>").css({
                    zIndex: -1,
                    display: "none"
                }).addClass("ls-loading-container").appendTo(t(e)), t("<div>").addClass("ls-loading-indicator").appendTo(l.g.li), "static" == t(e).css("position") && t(e).css("position", "relative"), l.g.i.css(l.o.globalBGImage ? {
                    backgroundImage: "url(" + l.o.globalBGImage + ")"
                } : {
                    backgroundColor: l.o.globalBGColor
                }), "transparent" == l.o.globalBGColor && 0 == l.o.globalBGImage && l.g.i.css({
                    background: "none transparent !important"
                }), t(e).find(".ls-slide img").each(function() {
                    if (t(this).removeAttr("width").removeAttr("height"), l.o.imgPreload === !0 && l.o.lazyLoad === !0) {
                        if ("string" != typeof t(this).data("src")) {
                            t(this).data("src", t(this).attr("src"));
                            var e = l.o.skinsPath + "../css/blank.gif";
                            t(this).attr("src", e)
                        }
                    } else "string" == typeof t(this).data("src") && (t(this).attr("src", t(this).data("src")), t(this).removeAttr("data-src"))
                });
                var s = t([]);
                if (t(e).find("*:not(.ls-bg), .ls-static").each(function() {
                        "undefined" != typeof t(this).data("parallaxlevel") && 0 !== parseInt(t(this).data("parallaxlevel")) && (s = s.add(t(this)))
                    }), l.g.i.on("mouseenter", function(e) {
                        l.g.parallaxStartX = e.pageX - t(this).parent().offset().left, l.g.parallaxStartY = e.pageY - t(this).parent().offset().top
                    }), l.g.i.on("mousemove", function(e) {
                        var i = t(this).parent().offset().left + l.g.parallaxStartX,
                            a = t(this).parent().offset().top + l.g.parallaxStartY,
                            o = e.pageX - i,
                            r = e.pageY - a;
                        s.each(function() {
                            t(this).css({
                                marginLeft: -o / 100 * parseInt(t(this).data("parallaxlevel")),
                                marginTop: -r / 100 * parseInt(t(this).data("parallaxlevel"))
                            })
                        })
                    }), l.g.i.on("mouseleave", function() {
                        s.each(function() {
                            TweenLite.to(this, .4, {
                                css: {
                                    marginLeft: 0,
                                    marginTop: 0
                                }
                            })
                        })
                    }), l.o.navPrevNext && (t('<a class="ls-nav-prev" href="#" />').click(function(i) {
                        i.preventDefault(), t(e).layerSlider("prev")
                    }).appendTo(t(e)), t('<a class="ls-nav-next" href="#" />').click(function(i) {
                        i.preventDefault(), t(e).layerSlider("next")
                    }).appendTo(t(e)), l.o.hoverPrevNext && (t(e).find(".ls-nav-prev, .ls-nav-next").css({
                        display: "none"
                    }), t(e).hover(function() {
                        l.g.forceHideControls || (l.g.ie78 ? t(e).find(".ls-nav-prev, .ls-nav-next").css("display", "block") : t(e).find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeIn(300))
                    }, function() {
                        l.g.ie78 ? t(e).find(".ls-nav-prev, .ls-nav-next").css("display", "none") : t(e).find(".ls-nav-prev, .ls-nav-next").stop(!0, !0).fadeOut(300)
                    }))), l.o.navStartStop || l.o.navButtons) {
                    var o = t('<div class="ls-bottom-nav-wrapper" />').appendTo(t(e));
                    if (l.g.bottomWrapper = o, "always" == l.o.thumbnailNavigation && o.addClass("ls-above-thumbnails"), l.o.navButtons && "always" != l.o.thumbnailNavigation) {
                        if (t('<span class="ls-bottom-slidebuttons" />').appendTo(t(e).find(".ls-bottom-nav-wrapper")), "hover" == l.o.thumbnailNavigation) var r = t('<div class="ls-thumbnail-hover"><div class="ls-thumbnail-hover-inner"><div class="ls-thumbnail-hover-bg"></div><div class="ls-thumbnail-hover-img"><img></div><span></span></div></div>').appendTo(t(e).find(".ls-bottom-slidebuttons"));
                        for (x = 1; x < l.g.layersNum + 1; x++) {
                            var n = t('<a href="#" />').appendTo(t(e).find(".ls-bottom-slidebuttons")).click(function(i) {
                                i.preventDefault(), t(e).layerSlider(t(this).index() + 1)
                            });
                            if ("hover" == l.o.thumbnailNavigation) {
                                t(e).find(".ls-thumbnail-hover, .ls-thumbnail-hover-img").css({
                                    width: l.o.tnWidth,
                                    height: l.o.tnHeight
                                });
                                var d = t(e).find(".ls-thumbnail-hover"),
                                    g = d.find("img").css({
                                        height: l.o.tnHeight
                                    }),
                                    h = t(e).find(".ls-thumbnail-hover-inner").css({
                                        visibility: "hidden",
                                        display: "block"
                                    });
                                n.hover(function() {
                                    var i, a = t(e).find(".ls-slide").eq(t(this).index());
                                    i = l.o.imgPreload === !0 && l.o.lazyLoad === !0 ? a.find(".ls-tn").length ? a.find(".ls-tn").data("src") : a.find(".ls-videopreview").length ? a.find(".ls-videopreview").data("src") : a.find(".ls-bg").length ? a.find(".ls-bg").data("src") : l.o.skinsPath + l.o.skin + "/nothumb.png" : a.find(".ls-tn").length ? a.find(".ls-tn").attr("src") : a.find(".ls-videopreview").length ? a.find(".ls-videopreview").attr("src") : a.find(".ls-bg").length ? a.find(".ls-bg").attr("src") : l.o.skinsPath + l.o.skin + "/nothumb.png", t(e).find(".ls-thumbnail-hover-img").css({
                                        left: parseInt(d.css("padding-left")),
                                        top: parseInt(d.css("padding-top"))
                                    }), g.load(function() {
                                        g.css(0 == t(this).width() ? {
                                            position: "relative",
                                            margin: "0 auto",
                                            left: "auto"
                                        } : {
                                            position: "absolute",
                                            marginLeft: -t(this).width() / 2,
                                            left: "50%"
                                        })
                                    }).attr("src", i), d.css({
                                        display: "block"
                                    }).stop().animate({
                                        left: t(this).position().left + (t(this).width() - d.outerWidth()) / 2
                                    }, 250), h.css({
                                        display: "none",
                                        visibility: "visible"
                                    }).stop().fadeIn(250)
                                }, function() {
                                    h.stop().fadeOut(250, function() {
                                        d.css({
                                            visibility: "hidden",
                                            display: "block"
                                        })
                                    })
                                })
                            }
                        }
                        "hover" == l.o.thumbnailNavigation && r.appendTo(t(e).find(".ls-bottom-slidebuttons")), t(e).find(".ls-bottom-slidebuttons a:eq(" + (l.o.firstSlide - 1) + ")").addClass("ls-nav-active")
                    }
                    if (l.o.navStartStop) var c = t('<a class="ls-nav-start" href="#" />').click(function(i) {
                            i.preventDefault(), t(e).layerSlider("start")
                        }).prependTo(t(e).find(".ls-bottom-nav-wrapper")),
                        u = t('<a class="ls-nav-stop" href="#" />').click(function(i) {
                            i.preventDefault(), t(e).layerSlider("stop")
                        }).appendTo(t(e).find(".ls-bottom-nav-wrapper"));
                    else "always" != l.o.thumbnailNavigation && (t('<span class="ls-nav-sides ls-nav-sideleft" />').prependTo(t(e).find(".ls-bottom-nav-wrapper")), t('<span class="ls-nav-sides ls-nav-sideright" />').appendTo(t(e).find(".ls-bottom-nav-wrapper")));
                    l.o.hoverBottomNav && "always" != l.o.thumbnailNavigation && (o.css({
                        display: "none"
                    }), t(e).hover(function() {
                        l.g.forceHideControls || (l.g.ie78 ? o.css("display", "block") : o.stop(!0, !0).fadeIn(300))
                    }, function() {
                        l.g.ie78 ? o.css("display", "none") : o.stop(!0, !0).fadeOut(300)
                    }))
                }
                if ("always" == l.o.thumbnailNavigation) {
                    l.g.thumbsWrapper = t('<div class="ls-thumbnail-wrapper"></div>').appendTo(t(e));
                    var r = t('<div class="ls-thumbnail"><div class="ls-thumbnail-inner"><div class="ls-thumbnail-slide-container"><div class="ls-thumbnail-slide"></div></div></div></div>').appendTo(l.g.thumbsWrapper);
                    if (l.g.thumbnails = t(e).find(".ls-thumbnail-slide-container"), "ontouchstart" in window ? l.g.thumbnails.addClass("ls-touchscroll") : l.g.thumbnails.hover(function() {
                            t(this).addClass("ls-thumbnail-slide-hover")
                        }, function() {
                            t(this).removeClass("ls-thumbnail-slide-hover"), l.scrollThumb()
                        }).mousemove(function(e) {
                            var i = parseInt(e.pageX - t(this).offset().left) / t(this).width() * (t(this).width() - t(this).find(".ls-thumbnail-slide").width());
                            t(this).find(".ls-thumbnail-slide").stop().css({
                                marginLeft: i
                            })
                        }), t(e).find(".ls-slide").each(function() {
                            var i, a = t(this).index() + 1;
                            i = l.o.imgPreload === !0 && l.o.lazyLoad === !0 ? t(this).find(".ls-tn").length ? t(this).find(".ls-tn").data("src") : t(this).find(".ls-videopreview").length ? t(this).find(".ls-videopreview").attr("src") : t(this).find(".ls-bg").length ? t(this).find(".ls-bg").data("src") : l.o.skinsPath + l.o.skin + "/nothumb.png" : t(this).find(".ls-tn").length ? t(this).find(".ls-tn").attr("src") : t(this).find(".ls-videopreview").length ? t(this).find(".ls-videopreview").attr("src") : t(this).find(".ls-bg").length ? t(this).find(".ls-bg").attr("src") : l.o.skinsPath + l.o.skin + "/nothumb.png";
                            var s = t('<a href="#" class="ls-thumb-' + a + '"><img src="' + i + '"></a>');
                            s.appendTo(t(e).find(".ls-thumbnail-slide")), "ontouchstart" in window || s.hover(function() {
                                t(this).children().stop().fadeTo(300, l.o.tnActiveOpacity / 100)
                            }, function() {
                                t(this).children().hasClass("ls-thumb-active") || t(this).children().stop().fadeTo(300, l.o.tnInactiveOpacity / 100)
                            }), s.click(function(i) {
                                i.preventDefault(), t(e).layerSlider(a)
                            })
                        }), c && u) {
                        var f = l.g.bottomWrapper = t('<div class="ls-bottom-nav-wrapper ls-below-thumbnails"></div>').appendTo(t(e));
                        c.clone().click(function(i) {
                            i.preventDefault(), t(e).layerSlider("start")
                        }).appendTo(f), u.clone().click(function(i) {
                            i.preventDefault(), t(e).layerSlider("stop")
                        }).appendTo(f)
                    }
                    l.o.hoverBottomNav && (l.g.thumbsWrapper.css("display", "none"), f && (l.g.bottomWrapper = "block" == f.css("display") ? f : t(e).find(".ls-above-thumbnails"), l.g.bottomWrapper.css("display", "none")), t(e).hover(function() {
                        t(e).addClass("ls-hover"), l.g.forceHideControls || (l.g.ie78 ? (l.g.thumbsWrapper.css("display", "block"), l.g.bottomWrapper && l.g.bottomWrapper.css("display", "block")) : (l.g.thumbsWrapper.stop(!0, !0).fadeIn(300), l.g.bottomWrapper && l.g.bottomWrapper.stop(!0, !0).fadeIn(300)))
                    }, function() {
                        t(e).removeClass("ls-hover"), l.g.ie78 ? (l.g.thumbsWrapper.css("display", "none"), l.g.bottomWrapper && l.g.bottomWrapper.css("display", "none")) : (l.g.thumbsWrapper.stop(!0, !0).fadeOut(300), l.g.bottomWrapper && l.g.bottomWrapper.stop(!0, !0).fadeOut(300))
                    }))
                }
                l.g.shadow = t('<div class="ls-shadow"></div>').appendTo(t(e)), "block" != l.g.shadow.css("display") || l.g.shadow.find("img").length || (l.g.showShadow = function() {
                    l.g.shadow.css({
                        display: "none",
                        visibility: "visible"
                    }).fadeIn(500, function() {
                        l.g.showShadow = !1
                    })
                }, l.g.shadowImg = t("<img>").attr("src", l.o.skinsPath + l.o.skin + "/shadow.png").appendTo(l.g.shadow), l.g.shadowBtmMod = "number" == typeof parseInt(t(e).css("padding-bottom")) ? parseInt(t(e).css("padding-bottom")) : 0), l.resizeShadow(), l.o.keybNav && t(e).find(".ls-slide").length > 1 && t("body").bind("keydown", function(t) {
                    l.g.isAnimating || l.g.isLoading || (37 == t.which ? (l.o.cbPrev(l.g), l.prev("clicked")) : 39 == t.which && (l.o.cbNext(l.g), l.next("clicked")))
                }), "ontouchstart" in window && t(e).find(".ls-slide").length > 1 && l.o.touchNav && (l.g.i.bind("touchstart", function(t) {
                    var e = t.touches ? t.touches : t.originalEvent.touches;
                    1 == e.length && (l.g.touchStartX = l.g.touchEndX = e[0].clientX)
                }), l.g.i.bind("touchmove", function(t) {
                    var e = t.touches ? t.touches : t.originalEvent.touches;
                    1 == e.length && (l.g.touchEndX = e[0].clientX), Math.abs(l.g.touchStartX - l.g.touchEndX) > 45 && t.preventDefault()
                }), l.g.i.bind("touchend", function() {
                    Math.abs(l.g.touchStartX - l.g.touchEndX) > 45 && (l.g.touchStartX - l.g.touchEndX > 0 ? (l.o.cbNext(l.g), t(e).layerSlider("next")) : (l.o.cbPrev(l.g), t(e).layerSlider("prev")))
                })), 1 == l.o.pauseOnHover && t(e).find(".ls-slide").length > 1 && l.g.i.hover(function() {
                    l.o.cbPause(l.g), l.g.autoSlideshow && (l.g.paused = !0, l.stop(), l.g.barTimer && l.g.barTimer.stop(), l.g.circleTimer && l.g.cttl && l.g.cttl.pause(), l.g.pausedSlideTime = (new Date).getTime())
                }, function() {
                    1 == l.g.paused && (l.start(), l.g.paused = !1)
                }), l.resizeSlider(), l.o.yourLogo && (l.g.yourLogo = t("<img>").addClass("ls-yourlogo").appendTo(t(e)).attr("style", l.o.yourLogoStyle).css({
                    visibility: "hidden",
                    display: "bock"
                }).load(function() {
                    var i = 0;
                    l.g.yourLogo || (i = 1e3), setTimeout(function() {
                        l.g.yourLogo.data("originalWidth", l.g.yourLogo.width()), l.g.yourLogo.data("originalHeight", l.g.yourLogo.height()), "auto" != l.g.yourLogo.css("left") && l.g.yourLogo.data("originalLeft", l.g.yourLogo[0].style.left), "auto" != l.g.yourLogo.css("right") && l.g.yourLogo.data("originalRight", l.g.yourLogo[0].style.right), "auto" != l.g.yourLogo.css("top") && l.g.yourLogo.data("originalTop", l.g.yourLogo[0].style.top), "auto" != l.g.yourLogo.css("bottom") && l.g.yourLogo.data("originalBottom", l.g.yourLogo[0].style.bottom), 0 != l.o.yourLogoLink && t("<a>").appendTo(t(e)).attr("href", l.o.yourLogoLink).attr("target", l.o.yourLogoTarget).css({
                            textDecoration: "none",
                            outline: "none"
                        }).append(l.g.yourLogo), l.g.yourLogo.css({
                            display: "none",
                            visibility: "visible"
                        }), l.resizeYourLogo()
                    }, i)
                }).attr("src", l.o.yourLogo)), t(window).resize(function() {
                    l.resize()
                }), t(window).on("orientationchange", function() {
                    t(window).resize()
                }), l.g.showSlider = !0, 1 == l.o.animateFirstSlide ? (l.o.autoStart ? (l.g.autoSlideshow = !0, t(e).find(".ls-nav-start").addClass("ls-nav-start-active")) : t(e).find(".ls-nav-stop").addClass("ls-nav-stop-active"), l.next()) : "undefined" != typeof l.g.curLayer[0] && l.imgPreload(l.g.curLayer, function() {
                    l.g.curLayer.fadeIn(l.o.sliderFadeInDuration, function() {
                        l.g.isLoading = !1, t(this).addClass("ls-active"), l.o.autoPlayVideos && t(this).delay(t(this).data("delayin") + 25).queue(function() {
                            t(this).find(".ls-videopreview").click(), t(this).find("video, audio").each(function() {
                                0 !== typeof t(this)[0].currentTime && (t(this)[0].currentTime = 0), t(this).click()
                            }), t(this).dequeue()
                        }), l.g.curLayer.find(' > *[class*="ls-l"]').each(function() {
                            var e = t(this);
                            e.data("static") ? l["static"].remove(e) : (!e.hasClass("ls-video-layer") || e.hasClass("ls-video-layer") && l.o.autoPlayVideos === !1) && e.data("showuntil") > 0 && e.data("showUntilTimer", setTimeout(function() {
                                l.sublayerShowUntil(e)
                            }, e.data("showuntil")))
                        })
                    }), l.changeThumb(l.g.curLayerIndex), l.o.autoStart ? (l.g.isLoading = !1, l.start()) : t(e).find(".ls-nav-stop").addClass("ls-nav-stop-active")
                }), l.o.cbInit(t(e))
            }, l["static"] = {
                remove: function(t) {
                    t.css("position", "absolute").appendTo(l.g.i)
                },
                appendToOriginal: function() {
                    t(e).find(".ls-appendtooriginal").each(function() {
                        t(this).removeClass("ls-appendtooriginal").appendTo(t(e).find(".ls-slide-" + t(this).data("originalSlide")))
                    })
                }
            }, l.resize = function() {
                l.g.resize = !0, l.g.isAnimating || (l.makeResponsive(l.g.curLayer, function() {
                    l.g.ltContainer && l.g.ltContainer.empty(), l.g.resize = !1
                }), l.g.yourLogo && l.resizeYourLogo())
            }, l.start = function() {
                l.g.autoSlideshow ? "prev" == l.g.prevNext && l.o.twoWaySlideshow ? l.prev() : l.next() : (l.g.autoSlideshow = !0, l.g.isAnimating || l.g.isLoading || l.timer()), t(e).find(".ls-nav-start").addClass("ls-nav-start-active"), t(e).find(".ls-nav-stop").removeClass("ls-nav-stop-active")
            }, l.timer = function() {
                if (t(e).find(".ls-active").data("ls")) var i = l.st.slideDelay;
                else var i = l.o.slideDelay;
                var a = t(e).find(".ls-active").data("slidedelay") ? parseInt(t(e).find(".ls-active").data("slidedelay")) : i;
                if (!l.o.animateFirstSlide && !t(e).find(".ls-active").data("slidedelay")) {
                    var s = t(e).find(".ls-slide:eq(" + (l.o.firstSlide - 1) + ")").data("slidedelay");
                    a = s ? s : i
                }
                if (clearTimeout(l.g.slideTimer), l.g.pausedSlideTime ? (l.g.startSlideTime || (l.g.startSlideTime = (new Date).getTime()), l.g.startSlideTime > l.g.pausedSlideTime && (l.g.pausedSlideTime = (new Date).getTime()), l.g.curSlideTime || (l.g.curSlideTime = a), l.g.curSlideTime -= l.g.pausedSlideTime - l.g.startSlideTime, l.g.pausedSlideTime = !1, l.g.startSlideTime = (new Date).getTime()) : (l.g.curSlideTime = a, l.g.startSlideTime = (new Date).getTime()), l.g.curSlideTime = parseInt(l.g.curSlideTime), l.g.slideTimer = setTimeout(function() {
                        l.g.startSlideTime = l.g.pausedSlideTime = l.g.curSlideTime = !1, l.start()
                    }, l.g.curSlideTime), l.g.barTimer && l.g.barTimer.animate({
                        width: l.g.sliderWidth()
                    }, l.g.curSlideTime, "linear", function() {
                        t(this).css({
                            width: 0
                        })
                    }), l.g.circleTimer) {
                    var o = l.g.circleTimer.find(".ls-ct-right .ls-ct-rotate"),
                        r = l.g.circleTimer.find(".ls-ct-left .ls-ct-rotate");
                    "none" == l.g.circleTimer.css("display") && (o.css({
                        rotate: 0
                    }), r.css({
                        rotate: 0
                    }), l.g.circleTimer.fadeIn(350)), l.g.cttl ? l.g.cttl.resume() : (l.g.cttl = new TimelineLite, l.g.cttl.add(TweenLite.fromTo(o[0], a / 2e3, {
                        rotation: 0
                    }, {
                        ease: Linear.easeNone,
                        rotation: 180,
                        onReverseComplete: function() {
                            l.g.cttl = !1
                        }
                    })), l.g.cttl.add(TweenLite.fromTo(r[0], a / 2e3, {
                        rotation: 0
                    }, {
                        ease: Linear.easeNone,
                        rotation: 180
                    })))
                }
            }, l.stop = function() {
                l.g.pausedSlideTime = (new Date).getTime(), l.g.barTimer && l.g.barTimer.stop(), l.g.circleTimer && l.g.cttl && l.g.cttl.pause(), l.g.paused || l.g.originalAutoSlideshow || (t(e).find(".ls-nav-stop").addClass("ls-nav-stop-active"), t(e).find(".ls-nav-start").removeClass("ls-nav-start-active")), clearTimeout(l.g.slideTimer), l.g.autoSlideshow = !1
            }, l.forcestop = function() {
                clearTimeout(l.g.slideTimer), l.g.autoSlideshow = !1, clearTimeout(l.g.t1), clearTimeout(l.g.t2), clearTimeout(l.g.t3), clearTimeout(l.g.t4), clearTimeout(l.g.t5), l.g.barTimer && l.g.barTimer.stop(), l.g.circleTimer && l.g.cttl && l.g.cttl.pause(), t(e).find("*").stop(!0, !1).dequeue(), t(e).find(".ls-slide >").each(function() {
                    t(this).data("tr") && t(this).data("tr").pause()
                }), l.g.paused || l.g.originalAutoSlideshow || (t(e).find(".ls-nav-stop").addClass("ls-nav-stop-active"), t(e).find(".ls-nav-start").removeClass("ls-nav-start-active"))
            }, l.restart = function() {
                t(e).find("*").stop(), clearTimeout(l.g.slideTimer), l.change(l.g.curLayerIndex, l.g.prevNext)
            }, l.ieEasing = function(e) {
                return "swing" == t.trim(e.toLowerCase()) || "linear" == t.trim(e.toLowerCase()) ? e.toLowerCase() : e.replace("easeinout", "easeInOut").replace("easein", "easeIn").replace("easeout", "easeOut").replace("quad", "Quad").replace("quart", "Quart").replace("cubic", "Cubic").replace("quint", "Quint").replace("sine", "Sine").replace("expo", "Expo").replace("circ", "Circ").replace("elastic", "Elastic").replace("back", "Back").replace("bounce", "Bounce")
            }, l.prev = function(t) {
                if (l.g.curLayerIndex < 2 && (l.g.nextLoop += 1), l.g.nextLoop > l.o.loops && l.o.loops > 0 && !t) l.g.nextLoop = 0, l.stop(), 0 == l.o.forceLoopNum && (l.o.loops = 0);
                else {
                    var e = l.g.curLayerIndex < 2 ? l.g.layersNum : l.g.curLayerIndex - 1;
                    l.g.prevNext = "prev", l.change(e, l.g.prevNext)
                }
            }, l.next = function(t) {
                if (l.o.randomSlideshow)
                    if (t) {
                        if (t) {
                            var e = l.g.curLayerIndex < l.g.layersNum ? l.g.curLayerIndex + 1 : 1;
                            l.g.prevNext = "next", l.change(e, l.g.prevNext)
                        }
                    } else {
                        var e = l.g.curLayerIndex,
                            i = function() {
                                e = Math.floor(Math.random() * l.g.layersNum) + 1, e == l.g.curLayerIndex ? i() : (l.g.prevNext = "next", l.change(e, l.g.prevNext))
                            };
                        i()
                    } else if (l.g.curLayerIndex < l.g.layersNum || (l.g.nextLoop += 1), l.g.nextLoop > l.o.loops && l.o.loops > 0 && !t) l.g.nextLoop = 0, l.stop(), 0 == l.o.forceLoopNum && (l.o.loops = 0);
                else {
                    var e = l.g.curLayerIndex < l.g.layersNum ? l.g.curLayerIndex + 1 : 1;
                    l.g.prevNext = "next", l.change(e, l.g.prevNext)
                }
            }, l.media = {
                youtube: {
                    init: function() {
                        var i = -1 === document.location.href.indexOf("file:") ? "" : "http:",
                            a = t(e).find('iframe[src*="youtube.com"], iframe[src*="youtu.be"]');
                        if (a.length) {
                            t("<script>").attr({
                                src: i + "//www.youtube.com/iframe_api",
                                type: "text/javascript"
                            }).appendTo("head"); {
                                a.length
                            }
                            window.onYouTubeIframeAPIReady = function() {
                                a.each(function() {
                                    if (t(this).parent().addClass("ls-video-layer"), t(this).parent('[class*="ls-l"]')) {
                                        var e = i,
                                            a = t("<div>").addClass("ls-vpcontainer").appendTo(t(this).parent());
                                        t("<img>").appendTo(a).addClass("ls-videopreview").attr("alt", "Play video").attr("src", e + "//img.youtube.com/vi/" + t(this).attr("src").split("embed/")[1].split("?")[0] + "/" + l.o.youtubePreview), t("<div>").appendTo(a).addClass("ls-playvideo"), t(this).parent().css({
                                            width: t(this).width(),
                                            height: t(this).height()
                                        }).click(function() {
                                            var e = t(this).find("iframe");
                                            if (e.css("display", "block"), t(this).data("showuntil") > 0 && t(this).data("showUntilTimer") && clearTimeout(t(this).data("showUntilTimer")), l.g.pausedByVideo || (l.g.isAnimating = !0, l.g.paused ? (0 != l.o.autoPauseSlideshow && (l.g.paused = !1), l.g.originalAutoSlideshow = !0) : l.g.originalAutoSlideshow = l.g.autoSlideshow, 0 != l.o.autoPauseSlideshow && l.stop(), l.g.pausedByVideo = !0), "undefined" == typeof e.data("ytplayer")) {
                                                e.attr("src", s);
                                                var i = function(t) {
                                                        0 === t.data && (l.g.numYouTubeCurSlide += 1, "auto" == l.o.autoPauseSlideshow && 1 == l.g.originalAutoSlideshow && l.g.numYouTubeCurSlide == l.g.curLayer.find('iframe[src*="youtube.com"], iframe[src*="youtu.be"]').length && (l.g.curSlideTime = 1, l.start()))
                                                    },
                                                    a = function(t) {
                                                        t.target.playVideo()
                                                    };
                                                e.data("ytplayer", new YT.Player(e[0], {
                                                    events: {
                                                        onReady: a,
                                                        onStateChange: i
                                                    }
                                                }))
                                            } else e.data("ytplayer").playVideo();
                                            t(this).find(".ls-vpcontainer").delay(l.g.v.d).fadeOut(l.g.v.fo, function() {
                                                l.g.isAnimating = !1, 1 == l.g.resize && l.makeResponsive(l.g.curLayer, function() {
                                                    l.g.resize = !1
                                                })
                                            })
                                        }), e = -1 === t(this).attr("src").indexOf("http") ? i : "";
                                        var s = e + t(this).attr("src"),
                                            o = "&"; - 1 == s.indexOf("?") && (o = "?"), -1 == s.indexOf("autoplay") ? s += o : s.replace("autoplay=1", "autoplay=0"), s += "&wmode=opaque&html5=1&enablejsapi=1&version=3", t(this).data("videoSrc", s), t(this).data("originalWidth", t(this).attr("width")), t(this).data("originalHeight", t(this).attr("height")), t(this).attr("src", "")
                                    }
                                })
                            }
                        }
                    },
                    play: function() {},
                    stop: function(t) {
                        t.parent().find(".ls-vpcontainer").fadeIn(l.g.v.fi, function() {
                            t.parent().find("iframe").css("display", "none"), t.parent().find("iframe").data("ytplayer").stopVideo().seekTo(0)
                        })
                    }
                },
                vimeo: {
                    init: function() {
                        var i = -1 === document.location.href.indexOf("file:") ? "" : "http:";
                        t(e).find('iframe[src*="player.vimeo"]').each(function() {
                            if (t(this).parent().addClass("ls-video-layer"), t(this).parent('[class*="ls-l"]')) {
                                var e = t(this),
                                    a = i,
                                    s = t("<div>").addClass("ls-vpcontainer").appendTo(t(this).parent());
                                t.getJSON(a + "//vimeo.com/api/v2/video/" + t(this).attr("src").split("video/")[1].split("?")[0] + ".json?callback=?", function(i) {
                                    t("<img>").appendTo(s).addClass("ls-videopreview").attr("alt", "Play video").attr("src", i[0].thumbnail_large), e.data("videoDuration", 1e3 * parseInt(i[0].duration)), t("<div>").appendTo(s).addClass("ls-playvideo")
                                }), t(this).parent().css({
                                    width: t(this).width(),
                                    height: t(this).height()
                                }).click(function() {
                                    t(this).data("showuntil") > 0 && t(this).data("showUntilTimer") && clearTimeout(t(this).data("showUntilTimer")), l.g.isAnimating = !0, l.g.paused ? (0 != l.o.autoPauseSlideshow && (l.g.paused = !1), l.g.originalAutoSlideshow = !0) : l.g.originalAutoSlideshow = l.g.autoSlideshow, 0 != l.o.autoPauseSlideshow && l.stop(), l.g.pausedByVideo = !0, a = -1 === t(this).find("iframe").data("videoSrc").indexOf("http") ? i : "", t(this).find("iframe").attr("src", a + t(this).find("iframe").data("videoSrc")), t(this).find(".ls-vpcontainer").delay(l.g.v.d).fadeOut(l.g.v.fo, function() {
                                        if ("auto" == l.o.autoPauseSlideshow && 1 == l.g.originalAutoSlideshow) {
                                            var t = setTimeout(function() {
                                                l.start()
                                            }, e.data("videoDuration") - l.g.v.d);
                                            e.data("videoTimer", t)
                                        }
                                        l.g.isAnimating = !1, 1 == l.g.resize && l.makeResponsive(l.g.curLayer, function() {
                                            l.g.resize = !1
                                        })
                                    })
                                });
                                var o = "&"; - 1 == t(this).attr("src").indexOf("?") && (o = "?");
                                var r = "&wmode=opaque"; - 1 == t(this).attr("src").indexOf("autoplay") ? t(this).data("videoSrc", t(this).attr("src") + o + "autoplay=1" + r) : t(this).data("videoSrc", t(this).attr("src").replace("autoplay=0", "autoplay=1") + r), t(this).data("originalWidth", t(this).attr("width")), t(this).data("originalHeight", t(this).attr("height")), t(this).attr("src", "")
                            }
                        })
                    },
                    play: function() {},
                    stop: function(t) {
                        t.parent().find(".ls-vpcontainer").fadeIn(l.g.v.fi, function() {
                            t.parent().find("iframe").attr("src", "")
                        })
                    }
                },
                html5: {
                    init: function() {
                        t(e).find("video, audio").each(function() {
                            var e = "undefined" != typeof t(this).attr("width") ? t(this).attr("width") : "640",
                                i = "undefined" != typeof t(this).attr("height") ? t(this).attr("height") : "" + t(this).height(); - 1 === e.indexOf("%") && (e = parseInt(e)), -1 === i.indexOf("%") && (i = parseInt(i)), "100%" !== e || 0 !== i && "0" !== i && "100%" !== i || (t(this).attr("height", "100%"), i = "auto"), t(this).parent().addClass("ls-video-layer").css({
                                width: e,
                                height: i
                            }).data({
                                originalWidth: e,
                                originalHeight: i
                            });
                            t(this);
                            t(this).on("ended", function() {
                                "auto" === l.o.autoPauseSlideshow && l.g.originalAutoSlideshow === !0 && l.start()
                            }), t(this).removeAttr("width").removeAttr("height").css({
                                width: "100%",
                                height: "100%"
                            }).click(function(t) {
                                l.g.pausedByVideo || (this.paused && t.preventDefault(), this.play(), l.g.isAnimating = !0, l.g.paused ? (l.o.autoPauseSlideshow !== !1 && (l.g.paused = !1), l.g.originalAutoSlideshow = !0) : l.g.originalAutoSlideshow = l.g.autoSlideshow, l.o.autoPauseSlideshow !== !1 && l.stop(), l.g.pausedByVideo = !0, l.g.isAnimating = !1, l.g.resize === !0 && l.makeResponsive(l.g.curLayer, function() {
                                    l.g.resize = !1
                                }))
                            })
                        })
                    },
                    play: function() {},
                    stop: function(t) {
                        t[0].pause()
                    }
                }
            }, l.change = function(i, a) {
                l.g.startSlideTime = l.g.pausedSlideTime = l.g.curSlideTime = !1, l.g.barTimer && l.g.barTimer.stop().delay(300).animate({
                    width: 0
                }, 450), l.g.circleTimer && (l.g.circleTimer.fadeOut(500), l.g.cttl && l.g.cttl.reverse().duration(.35)), 1 == l.g.pausedByVideo && (l.g.pausedByVideo = !1, l.g.autoSlideshow = l.g.originalAutoSlideshow, l.g.curLayer.find('iframe[src*="youtube.com"], iframe[src*="youtu.be"]').each(function() {
                    l.media.youtube.stop(t(this))
                }), l.g.curLayer.find('iframe[src*="player.vimeo"]').each(function() {
                    l.media.vimeo.stop(t(this))
                }), l.g.curLayer.find("video, audio").each(function() {
                    l.media.html5.stop(t(this))
                })), t(e).find('iframe[src*="youtube.com"], iframe[src*="youtu.be"], iframe[src*="player.vimeo"]').each(function() {
                    clearTimeout(t(this).data("videoTimer"))
                }), clearTimeout(l.g.slideTimer), l.g.nextLayerIndex = i, l.g.nextLayer = t(e).find(".ls-slide:eq(" + (l.g.nextLayerIndex - 1) + ")"), a || (l.g.prevNext = l.g.curLayerIndex < l.g.nextLayerIndex ? "next" : "prev");
                var s = 0;
                t(e).find('iframe[src*="youtube.com"], iframe[src*="youtu.be"], iframe[src*="player.vimeo"]').length > 0 && (s = l.g.v.fi), "undefined" != typeof l.g.nextLayer[0] && l.imgPreload(l.g.nextLayer, function() {
                    l.animate()
                })
            }, l.imgPreload = function(i, a) {
                if (l.g.isLoading = !0, l.g.showSlider && t(e).css({
                        visibility: "visible"
                    }), l.o.imgPreload) {
                    var s = [],
                        o = 0;
                    if ("none" != i.css("background-image") && -1 != i.css("background-image").indexOf("url") && !i.hasClass("ls-preloaded") && !i.hasClass("ls-not-preloaded")) {
                        var r = i.css("background-image");
                        r = r.match(/url\((.*)\)/)[1].replace(/"/gi, ""), s[s.length] = [r, i]
                    }
                    if (i.find("img:not(.ls-preloaded, .ls-not-preloaded)").each(function() {
                            l.o.lazyLoad === !0 && t(this).attr("src", t(this).data("src")), s[s.length] = [t(this).attr("src"), t(this)]
                        }), i.find("*").each(function() {
                            if ("none" != t(this).css("background-image") && -1 != t(this).css("background-image").indexOf("url") && !t(this).hasClass("ls-preloaded") && !t(this).hasClass("ls-not-preloaded")) {
                                var e = t(this).css("background-image");
                                e = e.match(/url\((.*)\)/)[1].replace(/"/gi, ""), s[s.length] = [e, t(this)]
                            }
                        }), 0 == s.length) t(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                        visibility: "visible"
                    }), l.makeResponsive(i, a);
                    else {
                        l.g.ie78 ? l.g.li.css("display", "block") : l.g.li.delay(400).fadeIn(300);
                        var n = function() {
                            l.g.li.stop(!0, !0).css({
                                display: "none"
                            }), t(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                                visibility: "visible"
                            }), -1 !== navigator.userAgent.indexOf("Trident/7") || l.g.ie78 ? setTimeout(function() {
                                l.makeResponsive(i, a)
                            }, 50) : l.makeResponsive(i, a)
                        };
                        for (x = 0; x < s.length; x++) t("<img>").data("el", s[x]).load(function() {
                            t(this).data("el")[1].addClass("ls-preloaded"), ++o == s.length && n()
                        }).error(function() {
                            var e = t(this).data("el")[0].substring(t(this).data("el")[0].lastIndexOf("/") + 1, t(this).data("el")[0].length);
                            window.console ? console.log('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + e + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.') : alert('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + e + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.'), t(this).addClass("ls-not-preloaded"), ++o == s.length && n()
                        }).attr("src", s[x][0])
                    }
                } else t(".ls-thumbnail-wrapper, .ls-nav-next, .ls-nav-prev, .ls-bottom-nav-wrapper").css({
                    visibility: "visible"
                }), l.makeResponsive(i, a)
            }, l.makeResponsive = function(i, a) {
                i.css({
                    visibility: "hidden",
                    display: "block"
                }), l.g.showShadow && l.g.showShadow(), l.resizeSlider(), "always" == l.o.thumbnailNavigation && l.resizeThumb();
                var s = i.children();
                s = s.add(t(e).find(".ls-inner > .ls-static")), s.each(function() {
                    var e = t(this),
                        i = e.data("originalLeft") ? e.data("originalLeft") : "0",
                        a = e.data("originalTop") ? e.data("originalTop") : "0";
                    e.is("a") && e.children().length > 0 && (e.css({
                        display: "block"
                    }), e = e.children());
                    var s = "auto",
                        o = "auto";
                    e.data("originalWidth") && ("number" == typeof e.data("originalWidth") ? s = parseInt(e.data("originalWidth")) * l.g.ratio : -1 != e.data("originalWidth").indexOf("%") && (s = e.data("originalWidth"))), e.data("originalHeight") && ("number" == typeof e.data("originalHeight") ? o = parseInt(e.data("originalHeight")) * l.g.ratio : -1 != e.data("originalHeight").indexOf("%") && (o = e.data("originalHeight")));
                    var r = e.data("originalPaddingLeft") ? parseInt(e.data("originalPaddingLeft")) * l.g.ratio : 0,
                        n = e.data("originalPaddingRight") ? parseInt(e.data("originalPaddingRight")) * l.g.ratio : 0,
                        d = e.data("originalPaddingTop") ? parseInt(e.data("originalPaddingTop")) * l.g.ratio : 0,
                        g = e.data("originalPaddingBottom") ? parseInt(e.data("originalPaddingBottom")) * l.g.ratio : 0,
                        h = e.data("originalBorderLeft") ? parseInt(e.data("originalBorderLeft")) * l.g.ratio : 0,
                        c = e.data("originalBorderRight") ? parseInt(e.data("originalBorderRight")) * l.g.ratio : 0,
                        u = e.data("originalBorderTop") ? parseInt(e.data("originalBorderTop")) * l.g.ratio : 0,
                        f = e.data("originalBorderBottom") ? parseInt(e.data("originalBorderBottom")) * l.g.ratio : 0,
                        p = e.data("originalFontSize"),
                        m = e.data("originalLineHeight");
                    if (l.g.responsiveMode || l.o.responsiveUnder > 0) {
                        if (e.is("img") && !e.hasClass("ls-bg") && e.attr("src") && (e.css({
                                width: "auto",
                                height: "auto"
                            }), 0 != s && "auto" != s || "number" != typeof o || 0 == o || (s = o / e.height() * e.width()), 0 != o && "auto" != o || "number" != typeof s || 0 == s || (o = s / e.width() * e.height()), "auto" == s && (s = e.width() * l.g.ratio), "auto" == o && (o = e.height() * l.g.ratio), e.css({
                                width: s,
                                height: o
                            })), e.is("img") || e.css({
                                width: s,
                                height: o,
                                "font-size": parseInt(p) * l.g.ratio + "px",
                                "line-height": parseInt(m) * l.g.ratio + "px"
                            }), e.is("div") && e.find("iframe").data("videoSrc")) {
                            var v = e.find("iframe");
                            v.attr("width", parseInt(v.data("originalWidth")) * l.g.ratio).attr("height", parseInt(v.data("originalHeight")) * l.g.ratio), e.css({
                                width: parseInt(v.data("originalWidth")) * l.g.ratio,
                                height: parseInt(v.data("originalHeight")) * l.g.ratio
                            })
                        }
                        e.css({
                            padding: d + "px " + n + "px " + g + "px " + r + "px ",
                            borderLeftWidth: h + "px",
                            borderRightWidth: c + "px",
                            borderTopWidth: u + "px",
                            borderBottomWidth: f + "px"
                        })
                    }
                    if (e.hasClass("ls-bg")) {
                        var y = l.g.i;
                        e.css({
                            width: "auto",
                            height: "auto"
                        }), s = e.width(), o = e.height();
                        var b = l.g.ratio; - 1 != l.g.sliderOriginalWidth.indexOf("%") && (l.g.sliderWidth() > s ? (b = l.g.sliderWidth() / s, l.g.sliderHeight() > o * b && (b = l.g.sliderHeight() / o)) : l.g.sliderHeight() > o && (b = l.g.sliderHeight() / o, l.g.sliderWidth() > s * b && (b = l.g.sliderWidth() / s))), e.css({
                            width: s * b,
                            height: o * b,
                            marginLeft: y.width() / 2 - s * b / 2,
                            marginTop: y.height() / 2 - o * b / 2
                        })
                    } else {
                        var w = e;
                        e.parent().is("a") && (e = e.parent());
                        var x = 0;
                        l.o.layersContainer ? x = l.o.layersContainer > 0 ? (l.g.sliderWidth() - l.o.layersContainer) / 2 : 0 : l.o.sublayerContainer && (x = l.o.sublayerContainer > 0 ? (l.g.sliderWidth() - l.o.sublayerContainer) / 2 : 0), x = 0 > x ? 0 : x, -1 != i.indexOf("%") ? e.css({
                            left: l.g.sliderWidth() / 100 * parseInt(i) - w.width() / 2 - r - h
                        }) : (x > 0 || l.g.responsiveMode || l.o.responsiveUnder > 0) && e.css({
                            left: x + parseInt(i) * l.g.ratio
                        }), -1 != a.indexOf("%") ? e.css({
                            top: l.g.sliderHeight() / 100 * parseInt(a) - w.height() / 2 - d - u
                        }) : (l.g.responsiveMode || l.o.responsiveUnder > 0) && e.css({
                            top: parseInt(a) * l.g.ratio
                        })
                    }
                }), i.css({
                    display: "none",
                    visibility: "visible"
                }), l.resizeShadow(), a(), t(this).dequeue()
            }, l.resizeShadow = function() {
                if (l.g.shadowImg) {
                    var t = function() {
                        l.g.shadowImg.height() > 0 ? l.g.shadow.css(l.g.shadowBtmMod > 0 ? {
                            height: l.g.shadowImg.height() / 2
                        } : {
                            height: l.g.shadowImg.height(),
                            marginTop: -l.g.shadowImg.height() / 2
                        }) : setTimeout(function() {
                            t()
                        }, 50)
                    };
                    t()
                }
            }, l.resizeSlider = function() {
                if (l.o.responsiveUnder > 0 && (t(window).width() < l.o.responsiveUnder ? (l.g.responsiveMode = !0, l.g.sliderOriginalWidth = l.o.responsiveUnder + "px") : (l.g.responsiveMode = !1, l.g.sliderOriginalWidth = l.g.sliderOriginalWidthRU, l.g.ratio = 1)), t(e).closest(".ls-wp-fullwidth-container").length && t(e).closest(".ls-wp-fullwidth-helper").css({
                        width: t(window).width()
                    }), l.g.responsiveMode) {
                    var i = t(e).parent();
                    l.o.fullScreen === !0 ? t(e).css({
                        width: "100%",
                        height: t(window).height()
                    }) : (t(e).css({
                        width: i.width() - parseInt(t(e).css("padding-left")) - parseInt(t(e).css("padding-right"))
                    }), l.g.ratio = t(e).width() / parseInt(l.g.sliderOriginalWidth), t(e).css({
                        height: l.g.ratio * parseInt(l.g.sliderOriginalHeight)
                    }))
                } else l.g.ratio = 1, t(e).css({
                    width: l.g.sliderOriginalWidth,
                    height: l.g.sliderOriginalHeight
                });
                if (t(e).closest(".ls-wp-fullwidth-container").length && (t(e).closest(".ls-wp-fullwidth-helper").css({
                        height: t(e).outerHeight(!0)
                    }), t(e).closest(".ls-wp-fullwidth-container").css({
                        height: t(e).outerHeight(!0)
                    }), t(e).closest(".ls-wp-fullwidth-helper").css({
                        width: t(window).width(),
                        left: -t(e).closest(".ls-wp-fullwidth-container").offset().left
                    }), -1 != l.g.sliderOriginalWidth.indexOf("%"))) {
                    var a = parseInt(l.g.sliderOriginalWidth),
                        s = t("body").width() / 100 * a - (t(e).outerWidth() - t(e).width());
                    t(e).width(s)
                }
                t(e).find(".ls-inner, .ls-lt-container").css({
                    width: l.g.sliderWidth(),
                    height: l.g.sliderHeight()
                }), l.g.curLayer && l.g.nextLayer ? (l.g.curLayer.css({
                    width: l.g.sliderWidth(),
                    height: l.g.sliderHeight()
                }), l.g.nextLayer.css({
                    width: l.g.sliderWidth(),
                    height: l.g.sliderHeight()
                })) : t(e).find(".ls-slide").css({
                    width: l.g.sliderWidth(),
                    height: l.g.sliderHeight()
                })
            }, l.resizeYourLogo = function() {
                l.g.yourLogo.css({
                    width: l.g.yourLogo.data("originalWidth") * l.g.ratio,
                    height: l.g.yourLogo.data("originalHeight") * l.g.ratio
                }), l.g.ie78 ? l.g.yourLogo.css("display", "block") : l.g.yourLogo.fadeIn(300);
                var i = oR = oT = oB = "auto";
                i = l.g.yourLogo.data("originalLeft") && -1 != l.g.yourLogo.data("originalLeft").indexOf("%") ? l.g.sliderWidth() / 100 * parseInt(l.g.yourLogo.data("originalLeft")) - l.g.yourLogo.width() / 2 + parseInt(t(e).css("padding-left")) : parseInt(l.g.yourLogo.data("originalLeft")) * l.g.ratio, oR = l.g.yourLogo.data("originalRight") && -1 != l.g.yourLogo.data("originalRight").indexOf("%") ? l.g.sliderWidth() / 100 * parseInt(l.g.yourLogo.data("originalRight")) - l.g.yourLogo.width() / 2 + parseInt(t(e).css("padding-right")) : parseInt(l.g.yourLogo.data("originalRight")) * l.g.ratio, oT = l.g.yourLogo.data("originalTop") && -1 != l.g.yourLogo.data("originalTop").indexOf("%") ? l.g.sliderHeight() / 100 * parseInt(l.g.yourLogo.data("originalTop")) - l.g.yourLogo.height() / 2 + parseInt(t(e).css("padding-top")) : parseInt(l.g.yourLogo.data("originalTop")) * l.g.ratio, oB = l.g.yourLogo.data("originalBottom") && -1 != l.g.yourLogo.data("originalBottom").indexOf("%") ? l.g.sliderHeight() / 100 * parseInt(l.g.yourLogo.data("originalBottom")) - l.g.yourLogo.height() / 2 + parseInt(t(e).css("padding-bottom")) : parseInt(l.g.yourLogo.data("originalBottom")) * l.g.ratio, l.g.yourLogo.css({
                    left: i,
                    right: oR,
                    top: oT,
                    bottom: oB
                })
            }, l.resizeThumb = function() {
                l.bottomNavSizeHelper("on");
                var i = -1 == l.g.sliderOriginalWidth.indexOf("%") ? parseInt(l.g.sliderOriginalWidth) : l.g.sliderWidth();
                t(e).find(".ls-thumbnail-slide a").css({
                    width: parseInt(l.o.tnWidth * l.g.ratio),
                    height: parseInt(l.o.tnHeight * l.g.ratio)
                }), t(e).find(".ls-thumbnail-slide a:last").css({
                    margin: 0
                }), t(e).find(".ls-thumbnail-slide").css({
                    height: parseInt(l.o.tnHeight * l.g.ratio)
                });
                var a = t(e).find(".ls-thumbnail"),
                    s = parseInt(-1 == l.o.tnContainerWidth.indexOf("%") ? l.o.tnContainerWidth : i / 100 * parseInt(l.o.tnContainerWidth));
                a.css({
                    width: s * Math.floor(100 * l.g.ratio) / 100
                }), a.width() > t(e).find(".ls-thumbnail-slide").width() && a.css({
                    width: t(e).find(".ls-thumbnail-slide").width()
                }), l.bottomNavSizeHelper("off")
            }, l.changeThumb = function(i) {
                var a = i ? i : l.g.nextLayerIndex;
                t(e).find(".ls-thumbnail-slide a:not(.ls-thumb-" + a + ")").children().each(function() {
                    t(this).removeClass("ls-thumb-active").stop().fadeTo(750, l.o.tnInactiveOpacity / 100)
                }), t(e).find(".ls-thumbnail-slide a.ls-thumb-" + a).children().addClass("ls-thumb-active").stop().fadeTo(750, l.o.tnActiveOpacity / 100)
            }, l.scrollThumb = function() {
                if (!t(e).find(".ls-thumbnail-slide-container").hasClass("ls-thumbnail-slide-hover")) {
                    var i = t(e).find(".ls-thumb-active").length ? t(e).find(".ls-thumb-active").parent() : !1;
                    if (i) {
                        var a = i.position().left + i.width() / 2,
                            s = t(e).find(".ls-thumbnail-slide-container").width() / 2 - a;
                        s = s < t(e).find(".ls-thumbnail-slide-container").width() - t(e).find(".ls-thumbnail-slide").width() ? t(e).find(".ls-thumbnail-slide-container").width() - t(e).find(".ls-thumbnail-slide").width() : s, s = s > 0 ? 0 : s, t(e).find(".ls-thumbnail-slide").animate({
                            marginLeft: s
                        }, 600)
                    }
                }
            }, l.bottomNavSizeHelper = function(i) {
                if (l.o.hoverBottomNav && !t(e).hasClass("ls-hover")) switch (i) {
                    case "on":
                        l.g.thumbsWrapper.css({
                            visibility: "hidden",
                            display: "block"
                        });
                        break;
                    case "off":
                        l.g.thumbsWrapper.css({
                            visibility: "visible",
                            display: "none"
                        })
                }
            }, l.animate = function() {
                l.g.numYouTubeCurSlide = 0, t(e).find(".ls-slide").length > 1 && (l.g.isAnimating = !0), l.g.isLoading = !1, clearTimeout(l.g.slideTimer), clearTimeout(l.g.changeTimer), l.g.stopLayer = l.g.curLayer, l.o.cbAnimStart(l.g), "always" == l.o.thumbnailNavigation && (l.changeThumb(), "ontouchstart" in window || l.scrollThumb()), l.g.nextLayer.addClass("ls-animating"), l["static"].appendToOriginal();
                var i = curLayerRight = curLayerTop = curLayerBottom = nextLayerLeft = nextLayerRight = nextLayerTop = nextLayerBottom = layerMarginLeft = layerMarginRight = layerMarginTop = layerMarginBottom = "auto",
                    d = nextLayerWidth = l.g.sliderWidth(),
                    g = nextLayerHeight = l.g.sliderHeight(),
                    h = "prev" == l.g.prevNext ? l.g.curLayer : l.g.nextLayer,
                    c = h.data("slidedirection") ? h.data("slidedirection") : l.o.slideDirection,
                    u = l.g.slideDirections[l.g.prevNext][c];
                switch (("left" == u || "right" == u) && (d = curLayerTop = nextLayerWidth = nextLayerTop = 0, layerMarginTop = 0), ("top" == u || "bottom" == u) && (g = i = nextLayerHeight = nextLayerLeft = 0, layerMarginLeft = 0), u) {
                    case "left":
                        curLayerRight = nextLayerLeft = 0, layerMarginLeft = -l.g.sliderWidth();
                        break;
                    case "right":
                        i = nextLayerRight = 0, layerMarginLeft = l.g.sliderWidth();
                        break;
                    case "top":
                        curLayerBottom = nextLayerTop = 0, layerMarginTop = -l.g.sliderHeight();
                        break;
                    case "bottom":
                        curLayerTop = nextLayerBottom = 0, layerMarginTop = l.g.sliderHeight()
                }
                l.g.curLayer.css({
                    left: i,
                    right: curLayerRight,
                    top: curLayerTop,
                    bottom: curLayerBottom
                }), l.g.nextLayer.css({
                    width: nextLayerWidth,
                    height: nextLayerHeight,
                    left: nextLayerLeft,
                    right: nextLayerRight,
                    top: nextLayerTop,
                    bottom: nextLayerBottom
                });
                var f = l.g.curLayer.data("delayout") ? parseInt(l.g.curLayer.data("delayout")) : l.o.delayOut,
                    p = l.g.curLayer.data("durationout") ? parseInt(l.g.curLayer.data("durationout")) : l.o.durationOut,
                    m = l.g.curLayer.data("easingout") ? l.g.curLayer.data("easingout") : l.o.easingOut,
                    v = l.g.nextLayer.data("delayin") ? parseInt(l.g.nextLayer.data("delayin")) : l.o.delayIn,
                    y = l.g.nextLayer.data("durationin") ? parseInt(l.g.nextLayer.data("durationin")) : l.o.durationIn;
                0 === y && (y = 1);
                var b = l.g.nextLayer.data("easingin") ? l.g.nextLayer.data("easingin") : l.o.easingIn,
                    w = function() {
                        l.g.curLayer.delay(f + p / 15).animate({
                            width: d,
                            height: g
                        }, p, m, function() {
                            x()
                        })
                    },
                    x = function() {
                        if (l.g.stopLayer.find(' > *[class*="ls-l"]').each(function() {
                                t(this).data("tr") && t(this).data("tr").kill(), t(this).css({
                                    filter: "none"
                                })
                            }), l.g.curLayer = l.g.nextLayer, l.g.prevLayerIndex = l.g.curLayerIndex, l.g.curLayerIndex = l.g.nextLayerIndex, l.o.cbAnimStop(l.g), l.o.imgPreload && l.o.lazyLoad) {
                            var i = l.g.curLayerIndex == l.g.layersNum ? 1 : l.g.curLayerIndex + 1;
                            t(e).find(".ls-slide").eq(i - 1).find("img:not(.ls-preloaded)").each(function() {
                                t(this).load(function() {
                                    t(this).addClass("ls-preloaded")
                                }).error(function() {
                                    var e = t(this).data("src").substring(t(this).data("src").lastIndexOf("/") + 1, t(this).data("src").length);
                                    window.console ? console('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + e + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.') : alert('LayerSlider error:\r\n\r\nIt seems like the URL of the image or background image "' + e + '" is pointing to a wrong location and it cannot be loaded. Please check the URLs of all your images used in the slider.'), t(this).addClass("ls-not-preloaded")
                                }).attr("src", t(this).data("src"))
                            })
                        }
                        t(e).find(".ls-slide").removeClass("ls-active"), t(e).find(".ls-slide:eq(" + (l.g.curLayerIndex - 1) + ")").addClass("ls-active").removeClass("ls-animating"), t(e).find(".ls-bottom-slidebuttons a").removeClass("ls-nav-active"), t(e).find(".ls-bottom-slidebuttons a:eq(" + (l.g.curLayerIndex - 1) + ")").addClass("ls-nav-active"), l.g.autoSlideshow && l.timer(), l.g.isAnimating = !1, 1 == l.g.resize && l.makeResponsive(l.g.curLayer, function() {
                            l.g.resize = !1
                        })
                    },
                    S = function(i) {
                        var s = l.g.curLayer.find(' > *[class*="ls-l"]');
                        t(e).find(".ls-inner > .ls-static").each(function() {
                            t(this).data("static") === l.g.curLayerIndex && (s = s.add(t(this).addClass("ls-appendtooriginal")))
                        }), s.each(function() {
                            if ("undefined" == typeof t(this).data("originalSlide") || "undefined" != typeof t(this).data("originalSlide") && t(this).data("originalSlide") !== l.g.curLayerIndex) {
                                t(this).data("transitiontype") || l.transitionType(t(this)), t(this).removeClass("ls-videohack");
                                var e, s, o = t(this).data("slidedirection") ? t(this).data("slidedirection") : u;
                                switch (o) {
                                    case "left":
                                        e = -l.g.sliderWidth(), s = 0;
                                        break;
                                    case "right":
                                        e = l.g.sliderWidth(), s = 0;
                                        break;
                                    case "top":
                                        s = -l.g.sliderHeight(), e = 0;
                                        break;
                                    case "bottom":
                                        s = l.g.sliderHeight(), e = 0;
                                        break;
                                    case "fade":
                                        s = 0, e = 0
                                }
                                if ("new" === t(this).data("transitiontype")) var r = "new";
                                else var r = t(this).data("slideoutdirection") ? t(this).data("slideoutdirection") : !1;
                                switch (r) {
                                    case "left":
                                        e = l.g.sliderWidth(), s = 0;
                                        break;
                                    case "right":
                                        e = -l.g.sliderWidth(), s = 0;
                                        break;
                                    case "top":
                                        s = l.g.sliderHeight(), e = 0;
                                        break;
                                    case "bottom":
                                        s = -l.g.sliderHeight(), e = 0;
                                        break;
                                    case "fade":
                                        s = 0, e = 0;
                                        break;
                                    case "new":
                                        e = t(this).data("offsetxout") ? "left" === t(this).data("offsetxout") ? l.g.sliderWidth() : "right" === t(this).data("offsetxout") ? -l.g.sliderWidth() : -parseInt(t(this).data("offsetxout")) : -l.lt.offsetXOut, s = t(this).data("offsetyout") ? "top" === t(this).data("offsetyout") ? l.g.sliderHeight() : "bottom" === t(this).data("offsetyout") ? -l.g.sliderHeight() : -parseInt(t(this).data("offsetyout")) : -l.lt.offsetYOut
                                }
                                var n = curSubRotateX = curSubRotateY = curSubScale = curSubSkewX = curSubSkewY = curSubScaleX = curSubScaleY = "none";
                                n = t(this).data("rotateout") ? t(this).data("rotateout") : l.lt.rotateOut, curSubRotateX = t(this).data("rotatexout") ? t(this).data("rotatexout") : l.lt.rotateXOut, curSubRotateY = t(this).data("rotateyout") ? t(this).data("rotateyout") : l.lt.rotateYOut, curSubScale = t(this).data("scaleout") ? t(this).data("scaleout") : l.lt.scaleOut, curSubSkewX = t(this).data("skewxout") ? t(this).data("skewxout") : l.lt.skewXOut, curSubSkewY = t(this).data("skewyout") ? t(this).data("skewyout") : l.lt.skewYOut, 1 === curSubScale ? (curSubScaleX = t(this).data("scalexout") ? t(this).data("scalexout") : l.lt.scaleXOut, curSubScaleY = t(this).data("scaleyout") ? t(this).data("scaleyout") : l.lt.scaleYOut) : curSubScaleX = curSubScaleY = curSubScale;
                                for (var d = t(this).data("transformoriginout") ? t(this).data("transformoriginout").split(" ") : l.lt.transformOriginOut, g = 0; g < d.length; g++) - 1 === d[g].indexOf("%") && -1 !== d[g].indexOf("left") && -1 !== d[g].indexOf("right") && -1 !== d[g].indexOf("top") && -1 !== d[g].indexOf("bottom") && (d[g] = "" + parseInt(d[g]) * l.g.ratio + "px");
                                var h = d.join(" "),
                                    c = t(this).data("perspectiveout") ? t(this).data("perspectiveout") : l.lt.perspectiveOut,
                                    f = parseInt(t(this).css("left")),
                                    p = parseInt(t(this).css("top")),
                                    m = parseInt(t(this).attr("class").split("ls-l")[1]),
                                    v = t(this).outerWidth() > t(this).outerHeight() ? t(this).outerWidth() : t(this).outerHeight(),
                                    y = 0 === parseInt(n) ? t(this).outerWidth() : v,
                                    b = 0 === parseInt(n) ? t(this).outerHeight() : v;
                                if (-1 === m && "new" !== r || "left" === t(this).data("offsetxout") || "right" === t(this).data("offsetxout") ? 0 > e ? e = -(l.g.sliderWidth() - f + (curSubScaleX / 2 - .5) * y + 100) : e > 0 && (e = f + (curSubScaleX / 2 + .5) * y + 100) : e *= l.g.ratio, -1 === m && "new" !== r || "top" === t(this).data("offsetyout") || "bottom" === t(this).data("offsetyout") ? 0 > s ? s = -(l.g.sliderHeight() - p + (curSubScaleY / 2 - .5) * b + 100) : s > 0 && (s = p + (curSubScaleY / 2 + .5) * b + 100) : s *= l.g.ratio, -1 === m || "new" === r) var w = 1;
                                else var x = l.g.curLayer.data("parallaxout") ? parseInt(l.g.curLayer.data("parallaxout")) : l.o.parallaxOut,
                                    w = m * x;
                                if ("new" === t(this).data("transitiontype")) var S = l.lt.delayOut,
                                    L = l.lt.durationOut,
                                    T = l.lt.easingOut;
                                else var S = l.o.delayOut,
                                    L = l.o.durationOut,
                                    T = l.o.easingOut;
                                var I = t(this).data("delayout") ? parseInt(t(this).data("delayout")) : S,
                                    k = t(this).data("durationout") ? parseInt(t(this).data("durationout")) : L;
                                0 === k && (k = 1);
                                var O = t(this).data("easingout") ? t(this).data("easingout") : T;
                                i && (I = 0, k = i), t(this).data("showUntilTimer") && clearTimeout(t(this).data("showUntilTimer"));
                                var C = {
                                        visibility: "hidden"
                                    },
                                    W = t(this),
                                    X = {
                                        rotation: n,
                                        rotationX: curSubRotateX,
                                        rotationY: curSubRotateY,
                                        skewX: curSubSkewX,
                                        skewY: curSubSkewY,
                                        scaleX: curSubScaleX,
                                        scaleY: curSubScaleY,
                                        x: -e * w,
                                        y: -s * w,
                                        delay: I / 1e3,
                                        ease: a(O),
                                        onComplete: function() {
                                            W.css(C)
                                        }
                                    };
                                ("fade" == r || !r && "fade" === o || "false" !== t(this).data("fadeout") && "new" === t(this).data("transitiontype")) && (X.opacity = 0, C.opacity = t(this).data("originalOpacity")), t(this).data("tr") && t(this).data("tr").kill(), TweenLite.set(t(this)[0], {
                                    transformOrigin: h,
                                    transformPerspective: c
                                }), t(this).data("tr", TweenLite.to(t(this)[0], k / 1e3, X))
                            }
                        })
                    },
                    L = function() {
                        l.g.nextLayer.delay(f + v).animate({
                            width: l.g.sliderWidth(),
                            height: l.g.sliderHeight()
                        }, y, b)
                    },
                    T = function() {
                        l.g.totalDuration && (f = 0), "function" == typeof l.o.cbTimeLineStart && l.o.cbTimeLineStart(l.g, f + v), l.g.nextLayer.find(' > *[class*="ls-l"]').each(function() {
                            if (typeof t(this).data("static") === !1 || t(this).data("originalSlide") !== t(this).parent().data("index") && 0 !== t(this).data("static") || l["static"].remove(t(this)), t(this).data("transitiontype") || l.transitionType(t(this)), "new" === t(this).data("transitiontype")) var e = "new";
                            else var e = t(this).data("slidedirection") ? t(this).data("slidedirection") : u;
                            var i, s;
                            switch (e) {
                                case "left":
                                    i = -l.g.sliderWidth(), s = 0;
                                    break;
                                case "right":
                                    i = l.g.sliderWidth(), s = 0;
                                    break;
                                case "top":
                                    s = -l.g.sliderHeight(), i = 0;
                                    break;
                                case "bottom":
                                    s = l.g.sliderHeight(), i = 0;
                                    break;
                                case "fade":
                                    s = 0, i = 0;
                                    break;
                                case "new":
                                    i = t(this).data("offsetxin") ? "left" === t(this).data("offsetxin") ? -l.g.sliderWidth() : "right" === t(this).data("offsetxin") ? l.g.sliderWidth() : parseInt(t(this).data("offsetxin")) : l.lt.offsetXIn, s = t(this).data("offsetyin") ? "top" === t(this).data("offsetyin") ? -l.g.sliderHeight() : "bottom" === t(this).data("offsetyin") ? l.g.sliderHeight() : parseInt(t(this).data("offsetyin")) : l.lt.offsetYIn
                            }
                            var o = nextSubRotateX = nextSubRotateY = nextSubScale = nextSubSkewX = nextSubSkewY = nextSubScaleX = nextSubScaleY = "none";
                            o = t(this).data("rotatein") ? t(this).data("rotatein") : l.lt.rotateIn, nextSubRotateX = t(this).data("rotatexin") ? t(this).data("rotatexin") : l.lt.rotateXIn, nextSubRotateY = t(this).data("rotateyin") ? t(this).data("rotateyin") : l.lt.rotateYIn, nextSubScale = t(this).data("scalein") ? t(this).data("scalein") : l.lt.scaleIn, nextSubSkewX = t(this).data("skewxin") ? t(this).data("skewxin") : l.lt.skewXIn, nextSubSkewY = t(this).data("skewyin") ? t(this).data("skewyin") : l.lt.skewYIn, 1 === nextSubScale ? (nextSubScaleX = t(this).data("scalexin") ? t(this).data("scalexin") : l.lt.scaleXIn, nextSubScaleY = t(this).data("scaleyin") ? t(this).data("scaleyin") : l.lt.scaleYIn) : nextSubScaleX = nextSubScaleY = nextSubScale;
                            for (var r = t(this).data("transformoriginin") ? t(this).data("transformoriginin").split(" ") : l.lt.transformOriginIn, n = 0; n < r.length; n++) - 1 === r[n].indexOf("%") && -1 !== r[n].indexOf("left") && -1 !== r[n].indexOf("right") && -1 !== r[n].indexOf("top") && -1 !== r[n].indexOf("bottom") && (r[n] = "" + parseInt(r[n]) * l.g.ratio + "px");
                            var d = r.join(" "),
                                g = t(this).data("perspectivein") ? t(this).data("perspectivein") : l.lt.perspectiveIn,
                                h = parseInt(t(this).css("left")),
                                c = parseInt(t(this).css("top")),
                                f = parseInt(t(this).attr("class").split("ls-l")[1]); - 1 !== t(this)[0].style.width.indexOf("%") && t(this).css({
                                width: l.g.sliderWidth() / 100 * parseInt(t(this)[0].style.width)
                            });
                            var p = t(this).outerWidth() > t(this).outerHeight() ? t(this).outerWidth() : t(this).outerHeight(),
                                m = 0 === parseInt(o) ? t(this).outerWidth() : p,
                                v = 0 === parseInt(o) ? t(this).outerHeight() : p;
                            if (-1 === f && "new" !== e || "left" === t(this).data("offsetxin") || "right" === t(this).data("offsetxin") ? 0 > i ? i = -(h + (nextSubScaleX / 2 + .5) * m + 100) : i > 0 && (i = l.g.sliderWidth() - h + (nextSubScaleX / 2 - .5) * m + 100) : i *= l.g.ratio, -1 === f && "new" !== e || "top" === t(this).data("offsetyin") || "bottom" === t(this).data("offsetyin") ? 0 > s ? s = -(c + (nextSubScaleY / 2 + .5) * v + 100) : s > 0 && (s = l.g.sliderHeight() - c + (nextSubScaleY / 2 - .5) * v + 100) : s *= l.g.ratio, -1 === f || "new" === e) var y = 1;
                            else var b = l.g.nextLayer.data("parallaxin") ? parseInt(l.g.nextLayer.data("parallaxin")) : l.o.parallaxIn,
                                y = f * b;
                            if ("new" === t(this).data("transitiontype")) var w = l.lt.delayIn,
                                x = l.lt.durationIn,
                                S = l.lt.easingIn;
                            else var w = l.o.delayIn,
                                x = l.o.durationIn,
                                S = l.o.easingIn;
                            var L = t(this).data("delayin") ? parseInt(t(this).data("delayin")) : w,
                                T = t(this).data("durationin") ? parseInt(t(this).data("durationin")) : x,
                                I = t(this).data("easingin") ? t(this).data("easingin") : S,
                                k = t(this),
                                O = function() {
                                    k.hasClass("ls-video-layer") && k.addClass("ls-videohack"), 1 == l.o.autoPlayVideos && (k.find(".ls-videopreview").click(), k.find("video, audio").each(function() {
                                        0 !== typeof t(this)[0].currentTime && (t(this)[0].currentTime = 0), t(this).click()
                                    })), "undefined" == typeof k.data("static") && (!k.hasClass("ls-video-layer") || k.hasClass("ls-video-layer") && l.o.autoPlayVideos === !1) && k.data("showuntil") > 0 && k.data("showUntilTimer", setTimeout(function() {
                                        l.sublayerShowUntil(k)
                                    }, k.data("showuntil")))
                                };
                            t(this).css({
                                marginLeft: 0,
                                marginTop: 0
                            });
                            var C = {
                                    scaleX: nextSubScaleX,
                                    scaleY: nextSubScaleY,
                                    skewX: nextSubSkewX,
                                    skewY: nextSubSkewY,
                                    rotation: o,
                                    rotationX: nextSubRotateX,
                                    rotationY: nextSubRotateY,
                                    visibility: "visible",
                                    x: i * y,
                                    y: s * y
                                },
                                W = {
                                    rotation: 0,
                                    rotationX: 0,
                                    rotationY: 0,
                                    skewX: 0,
                                    skewY: 0,
                                    scaleX: 1,
                                    scaleY: 1,
                                    ease: a(I),
                                    delay: L / 1e3,
                                    x: 0,
                                    y: 0,
                                    onComplete: function() {
                                        O()
                                    }
                                };
                            (-1 != e.indexOf("fade") || "false" !== t(this).data("fadein") && "new" === t(this).data("transitiontype")) && (C.opacity = 0, W.opacity = t(this).data("originalOpacity")), t(this).data("tr") && t(this).data("tr").kill(), TweenLite.set(t(this)[0], {
                                transformPerspective: g,
                                transformOrigin: d
                            }), t(this).data("tr", TweenLite.fromTo(t(this)[0], T / 1e3, C, W))
                        })
                    },
                    I = function() {
                        if (o(t(e)) && (l.g.nextLayer.data("transition3d") || l.g.nextLayer.data("customtransition3d")))
                            if (l.g.nextLayer.data("transition3d") && l.g.nextLayer.data("customtransition3d")) {
                                var i = Math.floor(2 * Math.random()),
                                    a = [
                                        ["3d", l.g.nextLayer.data("transition3d")],
                                        ["custom3d", l.g.nextLayer.data("customtransition3d")]
                                    ];
                                O(a[i][0], a[i][1])
                            } else l.g.nextLayer.data("transition3d") ? O("3d", l.g.nextLayer.data("transition3d")) : O("custom3d", l.g.nextLayer.data("customtransition3d"));
                        else if (l.g.nextLayer.data("transition2d") && l.g.nextLayer.data("customtransition2d")) {
                            var i = Math.floor(2 * Math.random()),
                                a = [
                                    ["2d", l.g.nextLayer.data("transition2d")],
                                    ["custom2d", l.g.nextLayer.data("customtransition2d")]
                                ];
                            O(a[i][0], a[i][1])
                        } else l.g.nextLayer.data("transition2d") ? O("2d", l.g.nextLayer.data("transition2d")) : l.g.nextLayer.data("customtransition2d") ? O("custom2d", l.g.nextLayer.data("customtransition2d")) : O("2d", "1")
                    },
                    k = function() {
                        o(t(e)) && -1 != LSCustomTransition.indexOf("3d") ? O("3d", LSCustomTransition.split(":")[1]) : -1 != LSCustomTransition.indexOf("3d") ? O("2d", "all") : O("2d", LSCustomTransition.split(":")[1])
                    },
                    O = function(t, e) {
                        var i, a, s = -1 == t.indexOf("custom") ? l.t : l.ct,
                            o = "3d";
                        if (-1 != t.indexOf("2d") && (o = "2d"), -1 != e.indexOf("last")) a = s["t" + o].length - 1, i = "last";
                        else if (-1 != e.indexOf("all")) a = Math.floor(Math.random() * n(s["t" + o])), i = "random from all";
                        else {
                            var r = e.split(","),
                                d = r.length;
                            a = parseInt(r[Math.floor(Math.random() * d)]) - 1, i = "random from specified"
                        }
                        C(o, s["t" + o][a])
                    },
                    C = function(e, i) {
                        var o = l.g.i,
                            n = l.g.curLayer.find('*[class*="ls-l"]').length > 0 ? 1e3 : 0,
                            d = -1 == i.name.toLowerCase().indexOf("carousel") ? !1 : !0,
                            g = -1 == i.name.toLowerCase().indexOf("crossfad") ? !1 : !0,
                            h = typeof i.cols,
                            c = typeof i.rows;
                        switch (h) {
                            case "number":
                                h = i.cols;
                                break;
                            case "string":
                                h = Math.floor(Math.random() * (parseInt(i.cols.split(",")[1]) - parseInt(i.cols.split(",")[0]) + 1)) + parseInt(i.cols.split(",")[0]);
                                break;
                            default:
                                h = Math.floor(Math.random() * (i.cols[1] - i.cols[0] + 1)) + i.cols[0]
                        }
                        switch (c) {
                            case "number":
                                c = i.rows;
                                break;
                            case "string":
                                c = Math.floor(Math.random() * (parseInt(i.rows.split(",")[1]) - parseInt(i.rows.split(",")[0]) + 1)) + parseInt(i.rows.split(",")[0]);
                                break;
                            default:
                                c = Math.floor(Math.random() * (i.rows[1] - i.rows[0] + 1)) + i.rows[0]
                        }(1 == l.g.isMobile() && 1 == l.o.optimizeForMobile || l.g.ie78 && 1 == l.o.optimizeForIE78) && (h >= 15 ? h = 7 : h >= 5 ? h = 4 : h >= 4 ? h = 3 : h > 2 && (h = 2), c >= 15 ? c = 7 : c >= 5 ? c = 4 : c >= 4 ? c = 3 : c > 2 && (c = 2), c > 2 && h > 2 && (c = 2, h > 4 && (h = 4)));
                        var u = l.g.i.width() / h,
                            f = l.g.i.height() / c;
                        l.g.ltContainer ? l.g.ltContainer.stop(!0, !0).empty().css({
                            display: "block",
                            width: o.width(),
                            height: o.height()
                        }) : l.g.ltContainer = t("<div>").addClass("ls-lt-container").addClass("ls-overflow-hidden").css({
                            width: o.width(),
                            height: o.height()
                        }).prependTo(o);
                        var p = o.width() - Math.floor(u) * h,
                            m = o.height() - Math.floor(f) * c,
                            v = [];
                        v.randomize = function() {
                            var t, e, i, a = this.length;
                            if (0 == a) return !1;
                            for (; --a;) t = Math.floor(Math.random() * (a + 1)), e = this[a], i = this[t], this[a] = i, this[t] = e;
                            return this
                        };
                        for (var y = 0; h * c > y; y++) v.push(y);
                        switch (i.tile.sequence) {
                            case "reverse":
                                v.reverse();
                                break;
                            case "col-forward":
                                v = r(c, h, "forward");
                                break;
                            case "col-reverse":
                                v = r(c, h, "reverse");
                                break;
                            case "random":
                                v.randomize()
                        }
                        var b = l.g.curLayer.find(".ls-bg"),
                            w = l.g.nextLayer.find(".ls-bg");
                        if (0 == b.length && 0 == w.length && (e = "2d", i = t.extend(!0, {}, l.t.t2d[0]), i.transition.duration = 1, i.tile.delay = 0), "3d" == e) {
                            l.g.totalDuration = (h * c - 1) * i.tile.delay;
                            var L = 0;
                            i.before && i.before.duration && (L += i.before.duration), i.animation && i.animation.duration && (L += i.animation.duration), i.after && i.after.duration && (L += i.after.duration), l.g.totalDuration += L;
                            var I = 0;
                            i.before && i.before.delay && (I += i.before.delay), i.animation && i.animation.delay && (I += i.animation.delay), i.after && i.after.delay && (I += i.after.delay), l.g.totalDuration += I
                        } else l.g.totalDuration = (h * c - 1) * i.tile.delay + i.transition.duration, l.g.curTiles = t("<div>").addClass("ls-curtiles").appendTo(l.g.ltContainer), l.g.nextTiles = t("<div>").addClass("ls-nexttiles").appendTo(l.g.ltContainer);
                        for (var k = l.g.prevNext, O = 0; h * c > O; O++) {
                            var C, W, X = O % h == 0 ? p : 0,
                                Y = O > (c - 1) * h - 1 ? m : 0,
                                H = t("<div>").addClass("ls-lt-tile").css({
                                    width: Math.floor(u) + X,
                                    height: Math.floor(f) + Y
                                }).appendTo(l.g.ltContainer);
                            if ("3d" == e) {
                                H.addClass("ls-3d-container");
                                var P, M = Math.floor(u) + X,
                                    N = Math.floor(f) + Y;
                                P = "horizontal" == i.animation.direction ? Math.abs(i.animation.transition.rotateY) > 90 && "large" != i.tile.depth ? Math.floor(M / 7) + X : M : Math.abs(i.animation.transition.rotateX) > 90 && "large" != i.tile.depth ? Math.floor(N / 7) + Y : N;
                                var B = M / 2,
                                    R = N / 2,
                                    A = P / 2,
                                    z = function(e, i, a, s, o, r, n, d, l) {
                                        t("<div>").addClass(e).css({
                                            width: a,
                                            height: s,
                                            "-o-transform": "translate3d(" + o + "px, " + r + "px, " + n + "px) rotateX(" + d + "deg) rotateY(" + l + "deg) rotateZ(0deg) scale3d(1, 1, 1)",
                                            "-ms-transform": "translate3d(" + o + "px, " + r + "px, " + n + "px) rotateX(" + d + "deg) rotateY(" + l + "deg) rotateZ(0deg) scale3d(1, 1, 1)",
                                            "-moz-transform": "translate3d(" + o + "px, " + r + "px, " + n + "px) rotateX(" + d + "deg) rotateY(" + l + "deg) rotateZ(0deg) scale3d(1, 1, 1)",
                                            "-webkit-transform": "translate3d(" + o + "px, " + r + "px, " + n + "px) rotateX(" + d + "deg) rotateY(" + l + "deg) rotateZ(0deg) scale3d(1, 1, 1)",
                                            transform: "translate3d(" + o + "px, " + r + "px, " + n + "px) rotateX(" + d + "deg) rotateY(" + l + "deg) rotateZ(0deg) scale3d(1, 1, 1)"
                                        }).appendTo(i)
                                    };
                                z("ls-3d-box", H, 0, 0, 0, 0, -A, 0, 0);
                                "vertical" == i.animation.direction && Math.abs(i.animation.transition.rotateX) > 90 ? z("ls-3d-back", H.find(".ls-3d-box"), M, N, -B, -R, -A, 180, 0) : z("ls-3d-back", H.find(".ls-3d-box"), M, N, -B, -R, -A, 0, 180), z("ls-3d-bottom", H.find(".ls-3d-box"), M, P, -B, R - A, 0, -90, 0), z("ls-3d-top", H.find(".ls-3d-box"), M, P, -B, -R - A, 0, 90, 0), z("ls-3d-front", H.find(".ls-3d-box"), M, N, -B, -R, A, 0, 0), z("ls-3d-left", H.find(".ls-3d-box"), P, N, -B - A, -R, 0, 0, -90), z("ls-3d-right", H.find(".ls-3d-box"), P, N, B - A, -R, 0, 0, 90), C = H.find(".ls-3d-front"), W = H.find("horizontal" == i.animation.direction ? Math.abs(i.animation.transition.rotateY) > 90 ? ".ls-3d-back" : ".ls-3d-left, .ls-3d-right" : Math.abs(i.animation.transition.rotateX) > 90 ? ".ls-3d-back" : ".ls-3d-top, .ls-3d-bottom");
                                var D = v[O] * i.tile.delay,
                                    U = l.g.ltContainer.find(".ls-3d-container:eq(" + O + ") .ls-3d-box"),
                                    F = new TimelineLite;
                                i.before && i.before.transition ? (i.before.transition.delay = i.before.transition.delay ? (i.before.transition.delay + D) / 1e3 : D / 1e3, F.to(U[0], i.before.duration / 1e3, s(i.before.transition, i.before.easing))) : i.animation.transition.delay = i.animation.transition.delay ? (i.animation.transition.delay + D) / 1e3 : D / 1e3, F.to(U[0], i.animation.duration / 1e3, s(i.animation.transition, i.animation.easing)), i.after && (i.after.transition || (i.after.transition = {}), F.to(U[0], i.after.duration / 1e3, s(i.after.transition, i.after.easing, "after")))
                            } else {
                                var q = L1 = T2 = L2 = "auto",
                                    j = O2 = 1;
                                if ("random" == i.transition.direction) var V = ["top", "bottom", "right", "left"],
                                    Q = V[Math.floor(Math.random() * V.length)];
                                else var Q = i.transition.direction;
                                if (-1 != i.name.toLowerCase().indexOf("mirror") && O % 2 == 0 && (k = "prev" == k ? "next" : "prev"), "prev" == k) switch (Q) {
                                    case "top":
                                        Q = "bottom";
                                        break;
                                    case "bottom":
                                        Q = "top";
                                        break;
                                    case "left":
                                        Q = "right";
                                        break;
                                    case "right":
                                        Q = "left";
                                        break;
                                    case "topleft":
                                        Q = "bottomright";
                                        break;
                                    case "topright":
                                        Q = "bottomleft";
                                        break;
                                    case "bottomleft":
                                        Q = "topright";
                                        break;
                                    case "bottomright":
                                        Q = "topleft"
                                }
                                switch (Q) {
                                    case "top":
                                        q = T2 = -H.height(), L1 = L2 = 0;
                                        break;
                                    case "bottom":
                                        q = T2 = H.height(), L1 = L2 = 0;
                                        break;
                                    case "left":
                                        q = T2 = 0, L1 = L2 = -H.width();
                                        break;
                                    case "right":
                                        q = T2 = 0, L1 = L2 = H.width();
                                        break;
                                    case "topleft":
                                        q = H.height(), T2 = 0, L1 = H.width(), L2 = 0;
                                        break;
                                    case "topright":
                                        q = H.height(), T2 = 0, L1 = -H.width(), L2 = 0;
                                        break;
                                    case "bottomleft":
                                        q = -H.height(), T2 = 0, L1 = H.width(), L2 = 0;
                                        break;
                                    case "bottomright":
                                        q = -H.height(), T2 = 0, L1 = -H.width(), L2 = 0
                                }
                                switch (l.g.scale2D = i.transition.scale ? i.transition.scale : 1, 1 == d && 1 != l.g.scale2D && (q /= 2, T2 /= 2, L1 /= 2, L2 /= 2), i.transition.type) {
                                    case "fade":
                                        q = T2 = L1 = L2 = 0, j = 0, O2 = 1;
                                        break;
                                    case "mixed":
                                        j = 0, O2 = 1, 1 == l.g.scale2D && (T2 = L2 = 0)
                                }
                                if (H.css((i.transition.rotate || i.transition.rotateX || i.transition.rotateY || 1 != l.g.scale2D) && !l.g.ie78 && "slide" != i.transition.type ? {
                                        overflow: "visible"
                                    } : {
                                        overflow: "hidden"
                                    }), l.g.curTiles.css(1 == d ? {
                                        overflow: "visible"
                                    } : {
                                        overflow: "hidden"
                                    }), 1 == g || "slide" == i.transition.type || 1 == d) {
                                    var E = H.appendTo(l.g.curTiles),
                                        G = H.clone().appendTo(l.g.nextTiles);
                                    C = t("<div>").addClass("ls-curtile").appendTo(E)
                                } else var G = H.appendTo(l.g.nextTiles);
                                W = t("<div>").addClass("ls-nexttile").appendTo(G).css({
                                    top: -q,
                                    left: -L1,
                                    dispay: "block",
                                    opacity: j
                                });
                                var Z = v[O] * i.tile.delay,
                                    _ = i.transition.rotate ? i.transition.rotate : 0,
                                    J = i.transition.rotateX ? i.transition.rotateX : 0,
                                    $ = i.transition.rotateY ? i.transition.rotateY : 0;
                                if ("prev" == k && (_ = -_, J = -J, $ = -$), TweenLite.fromTo(W[0], i.transition.duration / 1e3, {
                                        rotation: _,
                                        rotationX: J,
                                        rotationY: $,
                                        scale: l.g.scale2D
                                    }, {
                                        delay: Z / 1e3,
                                        top: 0,
                                        left: 0,
                                        opacity: O2,
                                        rotation: 0,
                                        rotationX: 0,
                                        rotationY: 0,
                                        scale: 1,
                                        ease: a(i.transition.easing)
                                    }), 1 == g && (w.length < 1 || w.length > 0 && (-1 != w.attr("src").toLowerCase().indexOf("png") || w.width() < l.g.sliderWidth() || w.height() < l.g.sliderHeight())) && TweenLite.to(C[0], i.transition.duration / 1e3, {
                                        delay: Z / 1e3,
                                        opacity: 0,
                                        ease: a(i.transition.easing)
                                    }), ("slide" == i.transition.type || 1 == d) && -1 == i.name.toLowerCase().indexOf("mirror")) {
                                    var K = 0;
                                    0 != _ && (K = -_), TweenLite.to(C[0], i.transition.duration / 1e3, {
                                        delay: Z / 1e3,
                                        top: T2,
                                        left: L2,
                                        rotation: K,
                                        scale: l.g.scale2D,
                                        opacity: j,
                                        ease: a(i.transition.easing)
                                    })
                                }
                            }
                            b.length && ("3d" == e || "2d" == e && (1 == g || "slide" == i.transition.type || 1 == d) ? C.append(t("<img>").attr("src", b.attr("src")).css({
                                width: b[0].style.width,
                                height: b[0].style.height,
                                marginLeft: parseFloat(b.css("margin-left")) - parseFloat(H.position().left),
                                marginTop: parseFloat(b.css("margin-top")) - parseFloat(H.position().top)
                            })) : 0 == l.g.curTiles.children().length && l.g.curTiles.append(t("<img>").attr("src", b.attr("src")).css({
                                width: b[0].style.width,
                                height: b[0].style.height,
                                marginLeft: parseFloat(b.css("margin-left")),
                                marginTop: parseFloat(b.css("margin-top"))
                            }))), w.length && W.append(t("<img>").attr("src", w.attr("src")).css({
                                width: w[0].style.width,
                                height: w[0].style.height,
                                marginLeft: parseFloat(w.css("margin-left")) - parseFloat(H.position().left),
                                marginTop: parseFloat(w.css("margin-top")) - parseFloat(H.position().top)
                            }))
                        }
                        var te = l.g.curLayer,
                            ee = l.g.nextLayer;
                        setTimeout(function() {
                            te.find(".ls-bg").css({
                                visibility: "hidden"
                            })
                        }, 50), ee.find(".ls-bg").css({
                            visibility: "hidden"
                        }), l.g.ltContainer.removeClass("ls-overflow-hidden"), S(n), 0 === n && (n = 10), setTimeout(function() {
                            te.css({
                                width: 0
                            })
                        }, n);
                        var ie = parseInt(ee.data("timeshift")) ? parseInt(ee.data("timeshift")) : 0,
                            ae = l.g.totalDuration + ie > 0 ? l.g.totalDuration + ie : 0;
                        setTimeout(function() {
                            1 == l.g.resize && (l.g.ltContainer.empty(), te.removeClass("ls-active"), l.makeResponsive(ee, function() {
                                l.g.resize = !1
                            })), T(), (ee.find(".ls-bg").length < 1 || ee.find(".ls-bg").length > 0 && -1 != ee.find(".ls-bg").attr("src").toLowerCase().indexOf("png")) && l.g.ltContainer.delay(350).fadeOut(300, function() {
                                t(this).empty().show()
                            }), ee.css({
                                width: l.g.sliderWidth(),
                                height: l.g.sliderHeight()
                            })
                        }, ae), l.g.totalDuration < 300 && (l.g.totalDuration = 1e3), setTimeout(function() {
                            l.g.ltContainer.addClass("ls-overflow-hidden"), ee.find(".ls-bg").length ? (ee.find(".ls-bg").css({
                                display: "none",
                                visibility: "visible"
                            }), l.g.ie78 ? (ee.find(".ls-bg").css("display", "block"), setTimeout(function() {
                                x()
                            }, 500)) : ee.find(".ls-bg").fadeIn(500, function() {
                                x()
                            })) : x()
                        }, l.g.totalDuration)
                    },
                    W = function() {
                        l.g.nextLayer.find(' > *[class*="ls-l"]').each(function() {
                            t(this).css({
                                visibility: "hidden"
                            })
                        }), l.g.sliderTop = t(e).offset().top, t(window).load(function() {
                            setTimeout(function() {
                                l.g.sliderTop = t(e).offset().top
                            }, 20)
                        });
                        var i = function() {
                            t(window).scrollTop() + t(window).height() - l.g.sliderHeight() / 2 > l.g.sliderTop && (l.g.firstSlideAnimated = !0, l.g.originalAutoStart === !0 && (l.o.autoStart = !0, l.start()), T())
                        };
                        t(window).scroll(function() {
                            l.g.firstSlideAnimated || i()
                        }), i()
                    },
                    X = (l.g.nextLayer.data("transition3d") || l.g.nextLayer.data("transition2d")) && l.t || (l.g.nextLayer.data("customtransition3d") || l.g.nextLayer.data("customtransition2d")) && l.ct ? "new" : "old";
                if (l.g.nextLayer.data("transitiontype") || l.transitionType(l.g.nextLayer), "new" === l.g.nextLayer.data("transitiontype") && (X = "new"), l.o.slideTransition && (X = "forced"), l.o.animateFirstSlide && !l.g.firstSlideAnimated) {
                    if (1 == l.g.layersNum) {
                        var f = 0;
                        l.o.cbAnimStop(l.g)
                    } else {
                        var Y = parseInt(l.g.nextLayer.data("timeshift")) ? parseInt(l.g.nextLayer.data("timeshift")) : 0,
                            H = "new" == X ? 0 : p;
                        l.g.t5 = setTimeout(function() {
                            x()
                        }, H + Math.abs(Y))
                    }
                    l.g.totalDuration = !0, l.o.startInViewport === !0 ? W() : (l.g.firstSlideAnimated = !0, T()), l.g.nextLayer.css({
                        width: l.g.sliderWidth(),
                        height: l.g.sliderHeight()
                    }), l.g.ie78 || l.g.nextLayer.find(".ls-bg").css({
                        display: "none"
                    }).fadeIn(l.o.sliderFadeInDuration), l.g.isLoading = !1
                } else switch (X) {
                    case "old":
                        l.g.totalDuration = !1, l.g.ltContainer && l.g.ltContainer.empty(), w(), S(), L(), T();
                        break;
                    case "new":
                        "undefined" != typeof LSCustomTransition ? k() : I();
                        break;
                    case "forced":
                        C(l.o.slideTransition.type, l.o.slideTransition.obj)
                }
            }, l.transitionType = function(t) {
                var e = !t.data("ls") && (t.data("ls") || t.data("slidedelay") || t.data("slidedirection") || t.data("slideoutdirection") || t.data("delayin") || t.data("delayout") || t.data("durationin") || t.data("durationout") || t.data("showuntil") || t.data("easingin") || t.data("easingout") || t.data("scalein") || t.data("scaleout") || t.data("rotatein") || t.data("rotateout")) ? "old" : "new";
                t.data("transitiontype", e)
            }, l.sublayerShowUntil = function(t) {
                t.data("transitiontype") || l.transitionType(t), t.removeClass("ls-videohack");
                var e = l.g.curLayer;
                "prev" != l.g.prevNext && l.g.nextLayer && (e = l.g.nextLayer);
                var i, s, o = e.data("slidedirection") ? e.data("slidedirection") : l.o.slideDirection,
                    r = l.g.slideDirections[l.g.prevNext][o],
                    n = t.data("slidedirection") ? t.data("slidedirection") : r;
                switch (n) {
                    case "left":
                        i = -l.g.sliderWidth(), s = 0;
                        break;
                    case "right":
                        i = l.g.sliderWidth(), s = 0;
                        break;
                    case "top":
                        s = -l.g.sliderHeight(), i = 0;
                        break;
                    case "bottom":
                        s = l.g.sliderHeight(), i = 0;
                        break;
                    case "fade":
                        s = 0, i = 0
                }
                if ("new" === t.data("transitiontype")) var d = "new";
                else var d = t.data("slideoutdirection") ? t.data("slideoutdirection") : !1;
                switch (d) {
                    case "left":
                        i = l.g.sliderWidth(), s = 0;
                        break;
                    case "right":
                        i = -l.g.sliderWidth(), s = 0;
                        break;
                    case "top":
                        s = l.g.sliderHeight(), i = 0;
                        break;
                    case "bottom":
                        s = -l.g.sliderHeight(), i = 0;
                        break;
                    case "fade":
                        s = 0, i = 0;
                        break;
                    case "new":
                        i = t.data("offsetxout") ? "left" === t.data("offsetxout") ? l.g.sliderWidth() : "right" === t.data("offsetxout") ? -l.g.sliderWidth() : -parseInt(t.data("offsetxout")) : -l.lt.offsetXOut, s = t.data("offsetyout") ? "top" === t.data("offsetyout") ? l.g.sliderHeight() : "bottom" === t.data("offsetyout") ? -l.g.sliderHeight() : -parseInt(t.data("offsetyout")) : -l.lt.offsetYOut
                }
                var g = curSubRotateX = curSubRotateY = curSubScale = curSubSkewX = curSubSkewY = curSubScaleX = curSubScaleY = "none";
                g = t.data("rotateout") ? t.data("rotateout") : l.lt.rotateOut, curSubRotateX = t.data("rotatexout") ? t.data("rotatexout") : l.lt.rotateXOut, curSubRotateY = t.data("rotateyout") ? t.data("rotateyout") : l.lt.rotateYOut, curSubScale = t.data("scaleout") ? t.data("scaleout") : l.lt.scaleOut, curSubSkewX = t.data("skewxout") ? t.data("skewxout") : l.lt.skewXOut, curSubSkewY = t.data("skewyout") ? t.data("skewyout") : l.lt.skewYOut, 1 === curSubScale ? (curSubScaleX = t.data("scalexout") ? t.data("scalexout") : l.lt.scaleXOut, curSubScaleY = t.data("scaleyout") ? t.data("scaleyout") : l.lt.scaleYOut) : curSubScaleX = curSubScaleY = curSubScale;
                for (var h = t.data("transformoriginout") ? t.data("transformoriginout").split(" ") : l.lt.transformOriginOut, c = 0; c < h.length; c++) - 1 === h[c].indexOf("%") && -1 !== h[c].indexOf("left") && -1 !== h[c].indexOf("right") && -1 !== h[c].indexOf("top") && -1 !== h[c].indexOf("bottom") && (h[c] = "" + parseInt(h[c]) * l.g.ratio + "px");
                var u = h.join(" "),
                    f = t.data("perspectiveout") ? t.data("perspectiveout") : l.lt.perspectiveOut,
                    p = parseInt(t.css("left")),
                    m = parseInt(t.css("top")),
                    v = parseInt(t.attr("class").split("ls-l")[1]),
                    y = t.outerWidth() > t.outerHeight() ? t.outerWidth() : t.outerHeight(),
                    b = 0 === parseInt(g) ? t.outerWidth() : y,
                    w = 0 === parseInt(g) ? t.outerHeight() : y;
                if (-1 === v && "new" !== d || "left" === t.data("offsetxout") || "right" === t.data("offsetxout") ? 0 > i ? i = -(l.g.sliderWidth() - p + (curSubScaleX / 2 - .5) * b + 100) : i > 0 && (i = p + (curSubScaleX / 2 + .5) * b + 100) : i *= l.g.ratio, -1 === v && "new" !== d || "top" === t.data("offsetyout") || "bottom" === t.data("offsetyout") ? 0 > s ? s = -(l.g.sliderHeight() - m + (curSubScaleY / 2 - .5) * w + 100) : s > 0 && (s = m + (curSubScaleY / 2 + .5) * w + 100) : s *= l.g.ratio, -1 === v || "new" === d) var x = 1;
                else var S = l.g.curLayer.data("parallaxout") ? parseInt(l.g.curLayer.data("parallaxout")) : l.o.parallaxOut,
                    x = v * S;
                if ("new" === t.data("transitiontype")) var L = l.lt.durationOut,
                    T = l.lt.easingOut;
                else var L = l.o.durationOut,
                    T = l.o.easingOut;
                var I = t.data("durationout") ? parseInt(t.data("durationout")) : L;
                0 === I && (I = 1);
                var k = t.data("easingout") ? t.data("easingout") : T,
                    O = {
                        visibility: "hidden"
                    },
                    C = {
                        rotation: g,
                        rotationX: curSubRotateX,
                        rotationY: curSubRotateY,
                        skewX: curSubSkewX,
                        skewY: curSubSkewY,
                        scaleX: curSubScaleX,
                        scaleY: curSubScaleY,
                        x: -i * x,
                        y: -s * x,
                        ease: a(k),
                        onComplete: function() {
                            t.css(O)
                        }
                    };
                ("fade" == d || !d && "fade" == n || "false" !== t.data("fadeout") && "new" === t.data("transitiontype")) && (C.opacity = 0, O.opacity = t.data("originalOpacity")), TweenLite.set(t[0], {
                    transformPerspective: f,
                    transformOrigin: u
                }), TweenLite.to(t[0], I / 1e3, C)
            }, l.load()
        },
        a = function(t) {
            var e;
            if (-1 !== t.toLowerCase().indexOf("swing") || -1 !== t.toLowerCase().indexOf("linear")) e = Linear.easeNone;
            else if (-1 !== t.toLowerCase().indexOf("easeinout")) {
                var i = t.toLowerCase().split("easeinout")[1];
                e = window[i.charAt(0).toUpperCase() + i.slice(1)].easeInOut
            } else if (-1 !== t.toLowerCase().indexOf("easeout")) {
                var i = t.toLowerCase().split("easeout")[1];
                e = window[i.charAt(0).toUpperCase() + i.slice(1)].easeOut
            } else if (-1 !== t.toLowerCase().indexOf("easein")) {
                var i = t.toLowerCase().split("easein")[1];
                e = window[i.charAt(0).toUpperCase() + i.slice(1)].easeIn
            }
            return e
        },
        s = function(t, e, i, s) {
            if ("undefined" == typeof e) var e = "easeInOutQuart";
            var o = {};
            return t.rotate !== s && (o.rotation = t.rotate), t.rotateY !== s && (o.rotationY = t.rotateY), t.rotateX !== s && (o.rotationX = t.rotateX), "after" === i ? o.scaleX = o.scaleY = o.scaleZ = 1 : t.scale3d !== s && (o.scaleX = o.scaleY = o.scaleZ = t.scale3d), t.delay && (o.delay = "after" === i ? t.delay / 1e3 : t.delay), o.ease = a(e), o
        },
        o = function(e) {
            var i = t("<div>"),
                a = !1,
                s = !1,
                o = ["perspective", "OPerspective", "msPerspective", "MozPerspective", "WebkitPerspective"];
            transform = ["transformStyle", "OTransformStyle", "msTransformStyle", "MozTransformStyle", "WebkitTransformStyle"];
            for (var r = o.length - 1; r >= 0; r--) a = a ? a : void 0 != i[0].style[o[r]];
            for (var r = transform.length - 1; r >= 0; r--) i.css("transform-style", "preserve-3d"), s = s ? s : "preserve-3d" == i[0].style[transform[r]];
            return a && void 0 != i[0].style[o[4]] && (i.attr("id", "ls-test3d").appendTo(e), a = 3 === i[0].offsetHeight && 9 === i[0].offsetLeft, i.remove()), a && s
        },
        r = function(t, e, i) {
            var a = [];
            if ("forward" == i)
                for (var s = 0; t > s; s++)
                    for (var o = 0; e > o; o++) a.push(s + o * t);
            else
                for (var s = t - 1; s > -1; s--)
                    for (var o = e - 1; o > -1; o--) a.push(s + o * t);
            return a
        },
        n = function(t) {
            var e = 0;
            for (var i in t) t.hasOwnProperty(i) && ++e;
            return e
        },
        d = function() {
            uaMatch = function(t) {
                t = t.toLowerCase();
                var e = /(chrome)[ \/]([\w.]+)/.exec(t) || /(webkit)[ \/]([\w.]+)/.exec(t) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(t) || /(msie) ([\w.]+)/.exec(t) || t.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t) || [];
                return {
                    browser: e[1] || "",
                    version: e[2] || "0"
                }
            };
            var t = uaMatch(navigator.userAgent),
                e = {};
            return t.browser && (e[t.browser] = !0, e.version = t.version), e.chrome ? e.webkit = !0 : e.webkit && (e.safari = !0), e
        };
    i.global = {
        version: "5.6.0",
        isMobile: function() {
            return navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i) ? !0 : !1
        },
        isHideOn3D: function(t) {
            return "auto" == t.css("padding-bottom") || "none" == t.css("padding-bottom") || 0 == t.css("padding-bottom") || "0px" == t.css("padding-bottom") ? !0 : !1
        },
        ie78: d().msie && d().version < 9 ? !0 : !1,
        originalAutoStart: !1,
        paused: !1,
        pausedByVideo: !1,
        autoSlideshow: !1,
        isAnimating: !1,
        layersNum: null,
        prevNext: "next",
        slideTimer: null,
        sliderWidth: null,
        sliderHeight: null,
        numYouTubeCurslide: 0,
        slideDirections: {
            prev: {
                left: "right",
                right: "left",
                top: "bottom",
                bottom: "top"
            },
            next: {
                left: "left",
                right: "right",
                top: "top",
                bottom: "bottom"
            }
        },
        v: {
            d: 500,
            fo: 750,
            fi: 500
        }
    }, i.layerTransitions = {
        offsetXIn: 80,
        offsetYIn: 0,
        durationIn: 1e3,
        delayIn: 0,
        easingIn: "easeInOutQuint",
        fadeIn: !0,
        rotateIn: 0,
        rotateXIn: 0,
        rotateYIn: 0,
        scaleIn: 1,
        scaleXIn: 1,
        scaleYIn: 1,
        skewXIn: 0,
        skewYIn: 0,
        transformOriginIn: ["50%", "50%", "0"],
        perspectiveIn: 500,
        offsetXOut: -80,
        offsetYOut: 0,
        durationOut: 400,
        showUntil: 0,
        easingOut: "easeInOutQuint",
        fadeOut: !0,
        rotateOut: 0,
        rotateXOut: 0,
        rotateYOut: 0,
        scaleOut: 1,
        scaleXOut: 1,
        scaleYOut: 1,
        skewXOut: 0,
        skewYOut: 0,
        transformOriginOut: ["50%", "50%", "0"],
        perspectiveOut: 500
    }, i.slideTransitions = {
        slideDelay: 4e3
    }, i.options = {
        responsive: !0,
        responsiveUnder: 0,
        layersContainer: 0,
        fullScreen: !1,
        prependTo: "",
        autoStart: !0,
        startInViewport: !0,
        pauseOnHover: !0,
        firstSlide: 1,
        animateFirstSlide: !0,
        sliderFadeInDuration: 350,
        loops: 0,
        forceLoopNum: !0,
        twoWaySlideshow: !1,
        randomSlideshow: !1,
        skin: "v5",
        skinsPath: "/layerslider/skins/",
        globalBGColor: "transparent",
        globalBGImage: !1,
        navPrevNext: !0,
        navStartStop: !0,
        navButtons: !0,
        keybNav: !0,
        touchNav: !0,
        hoverPrevNext: !0,
        hoverBottomNav: !1,
        showBarTimer: !1,
        showCircleTimer: !0,
        thumbnailNavigation: "hover",
        tnContainerWidth: "60%",
        tnWidth: 100,
        tnHeight: 60,
        tnActiveOpacity: 35,
        tnInactiveOpacity: 100,
        autoPlayVideos: !0,
        autoPauseSlideshow: "auto",
        youtubePreview: "maxresdefault.jpg",
        imgPreload: !0,
        lazyLoad: !0,
        yourLogo: !1,
        yourLogoStyle: "left: -10px; top: -10px;",
        yourLogoLink: !1,
        yourLogoTarget: "_self",
        optimizeForMobile: !0,
        optimizeForIE78: !0,
        hideOnMobile: !1,
        hideUnder: 0,
        hideOver: 1e6,
        staticImage: "",
        cbInit: function() {},
        cbStart: function() {},
        cbStop: function() {},
        cbPause: function() {},
        cbAnimStart: function() {},
        cbAnimStop: function() {},
        cbPrev: function() {},
        cbNext: function() {},
        slideDelay: 4e3,
        slideDirection: "right",
        parallaxIn: .45,
        parallaxOut: .45,
        durationIn: 1e3,
        durationOut: 1e3,
        easingIn: "easeInOutQuint",
        easingOut: "easeInOutQuint",
        delayIn: 0,
        delayOut: 0
    }
}(jQuery);
#4 JavaScript::Eval (size: 49922) - SHA256: 9794de1edf2a49e65673ad2f34f1d410b2570313514b270465df3ad3fbe2ca71
var layerSliderTransitions = {
    t2d: [{
        name: "Sliding from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Sliding from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "right"
        }
    }, {
        name: "Sliding from bottom",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "top"
        }
    }, {
        name: "Sliding from top",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "bottom"
        }
    }, {
        name: "Crossfading",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuad",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles forward",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles reverse",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles col-forward",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "col-forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles col-reverse",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "col-reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Fading tiles (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 30,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "left"
        }
    }, {
        name: "Smooth fading from right",
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "linear",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from left",
        rows: 1,
        cols: 35,
        tile: {
            delay: 25,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from bottom",
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: "col-reverse"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth fading from top",
        rows: 35,
        cols: 1,
        tile: {
            delay: 25,
            sequence: "col-forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Smooth sliding from right",
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "left"
        }
    }, {
        name: "Smooth sliding from left",
        rows: 1,
        cols: 25,
        tile: {
            delay: 30,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "right"
        }
    }, {
        name: "Smooth sliging from bottom",
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: "col-reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "top"
        }
    }, {
        name: "Smooth sliding from top",
        rows: 25,
        cols: 1,
        tile: {
            delay: 30,
            sequence: "col-forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 350,
            direction: "bottom"
        }
    }, {
        name: "Sliding tiles to right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "right"
        }
    }, {
        name: "Sliding tiles to left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "left"
        }
    }, {
        name: "Sliding tiles to bottom (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottom"
        }
    }, {
        name: "Sliding tiles to top (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "top"
        }
    }, {
        name: "Sliding random tiles to random directions",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 500,
            direction: "random"
        }
    }, {
        name: "Sliding rows to right (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to right (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to right (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding rows to left (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows to left (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows to left (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding rows from top to bottom (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding rows from top to bottom (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding rows from bottom to top (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding rows from bottom to top (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to bottom (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to bottom (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to bottom (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Sliding columns to top (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to top (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns to top (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Sliding columns from left to right (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding columns from left to right (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Sliding columns from right to left (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Sliding columns from right to left (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding tiles to right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "right"
        }
    }, {
        name: "Fading and sliding tiles to left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "left"
        }
    }, {
        name: "Fading and sliding tiles to bottom (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding tiles to top (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "top"
        }
    }, {
        name: "Fading and sliding random tiles to random directions",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "random"
        }
    }, {
        name: "Fading and sliding tiles from top-left (forward)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "topleft"
        }
    }, {
        name: "Fading and sliding tiles from bottom-right (reverse)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottomright"
        }
    }, {
        name: "Fading and sliding tiles from top-right (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "topright"
        }
    }, {
        name: "Fading and sliding tiles from bottom-left (random)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 50,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 500,
            direction: "bottomleft"
        }
    }, {
        name: "Fading and sliding rows to right (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to right (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to right (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding rows to left (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows to left (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows to left (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding rows from top to bottom (forward)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding rows from top to bottom (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding rows from bottom to top (reverse)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding rows from bottom to top (random)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 100,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to bottom (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to bottom (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to bottom (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "bottom"
        }
    }, {
        name: "Fading and sliding columns to top (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to top (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns to top (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "top"
        }
    }, {
        name: "Fading and sliding columns from left to right (forward)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding columns from left to right (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "right"
        }
    }, {
        name: "Fading and sliding columns from right to left (reverse)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Fading and sliding columns from right to left (random)",
        rows: 1,
        cols: [12, 16],
        tile: {
            delay: 75,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuart",
            duration: 600,
            direction: "left"
        }
    }, {
        name: "Carousel",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel rows",
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel cols",
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Carousel tiles horizontal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5,
            rotateY: 90
        }
    }, {
        name: "Carousel tiles vertical",
        rows: 3,
        cols: 4,
        tile: {
            delay: 35,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "top",
            scale: .5,
            rotateX: -90
        }
    }, {
        name: "Carousel-mirror tiles horizontal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5,
            rotateY: 90
        }
    }, {
        name: "Carousel-mirror tiles vertical",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "top",
            scale: .5,
            rotateX: -90
        }
    }, {
        name: "Carousel mirror rows",
        rows: 4,
        cols: 1,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "right",
            scale: .5
        }
    }, {
        name: "Carousel mirror cols",
        rows: 1,
        cols: 4,
        tile: {
            delay: 50,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeInOutQuad",
            duration: 750,
            direction: "left",
            scale: .5
        }
    }, {
        name: "Turning tile from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            rotateY: 90
        }
    }, {
        name: "Turning tile from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning tile from top",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "bottom",
            rotateX: -90
        }
    }, {
        name: "Turning tile from bottom",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top",
            rotateX: 90
        }
    }, {
        name: "Turning tiles from left",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Turning tiles from right",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning tiles from top",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Turning tiles from bottom",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Turning rows from top",
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Turning rows from bottom",
        rows: [6, 12],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Turning cols from left",
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Turning cols from right",
        rows: 1,
        cols: [6, 12],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Flying rows from left",
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: 90
        }
    }, {
        name: "Flying rows from right",
        rows: [3, 10],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateY: -90
        }
    }, {
        name: "Flying cols from top",
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: -90
        }
    }, {
        name: "Flying cols from bottom",
        rows: 1,
        cols: [3, 10],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotateX: 90
        }
    }, {
        name: "Flying and rotating tile from left",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            scale: .1,
            rotate: -90,
            rotateY: 90
        }
    }, {
        name: "Flying and rotating tile from right",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1,
            rotate: 90,
            rotateY: -90
        }
    }, {
        name: "Flying and rotating tiles from left",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "right",
            rotate: -45
        }
    }, {
        name: "Flying and rotating tiles from right",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            rotate: -45
        }
    }, {
        name: "Flying and rotating tiles from random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 55,
            sequence: "random"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "random",
            rotate: -45
        }
    }, {
        name: "Scaling tile in",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 1500,
            direction: "left",
            scale: .8
        }
    }, {
        name: "Scaling tile from out",
        rows: 1,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "fade",
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "left",
            scale: 1.2
        }
    }, {
        name: "Scaling tiles random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1
        }
    }, {
        name: "Scaling tiles from out random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: 2
        }
    }, {
        name: "Scaling in and rotating tiles random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: .1,
            rotate: 90
        }
    }, {
        name: "Scaling and rotating tiles from out random",
        rows: [3, 4],
        cols: [3, 4],
        tile: {
            delay: 35,
            sequence: "random"
        },
        transition: {
            type: "fade",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left",
            scale: 2,
            rotate: -90
        }
    }, {
        name: "Mirror-sliding tiles diagonal",
        rows: 3,
        cols: 4,
        tile: {
            delay: 15,
            sequence: "forward"
        },
        transition: {
            type: "slide",
            easing: "easeInOutQuart",
            duration: 850,
            direction: "topright"
        }
    }, {
        name: "Mirror-sliding rows horizontal",
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Mirror-sliding rows vertical",
        rows: 6,
        cols: 1,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top"
        }
    }, {
        name: "Mirror-sliding cols horizontal",
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "left"
        }
    }, {
        name: "Mirror-sliding cols vertical",
        rows: 1,
        cols: 8,
        tile: {
            delay: 0,
            sequence: "forward"
        },
        transition: {
            type: "mixed",
            easing: "easeOutQuart",
            duration: 750,
            direction: "top"
        }
    }],
    t3d: [{
        name: "Spinning tile to right (180&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 91
            },
            easing: "easeInQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: 180
            },
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tile to left (180&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -91
            },
            easing: "easeInQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: -180
            },
            easing: "easeOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tile to bottom (180&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -91
            },
            easing: "easeInQuart",
            duration: 800,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: -180
            },
            easing: "easeOutQuart",
            duration: 800,
            direction: "vertical"
        }
    }, {
        name: "Spinning tile to top (180&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: 91
            },
            easing: "easeInQuart",
            duration: 800,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 180
            },
            easing: "easeOutQuart",
            duration: 800,
            direction: "vertical"
        }
    }, {
        name: "Spinning tiles to right (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tiles to left (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        }
    }, {
        name: "Spinning tiles to bottom (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning tiles to top (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning tiles random (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1300,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning tiles random (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1300,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning tiles to right (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to left (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to bottom (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning tiles to top (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        before: {
            transition: {
                scale3d: .95
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal spinning tiles random (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .95,
                rotateX: 30
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180,
                rotateX: -30
            },
            easing: "easeInOutBack",
            duration: 1300,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0
            },
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical spinning tiles random (180&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .95,
                rotateY: -15
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180,
                rotateY: 15
            },
            easing: "easeInOutBack",
            duration: 1300,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateY: 0
            },
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Spinning rows to right (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning rows to left (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning rows to bottom (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning rows to top (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning rows random (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning rows random (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Vertical spinning rows random (540&#176;)",
        rows: [3, 7],
        cols: 1,
        tile: {
            delay: 150,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -540
            },
            easing: "easeInOutQuart",
            duration: 2e3,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning rows to right (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to left (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to bottom (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning rows to top (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal spinning rows random (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical spinning rows random (180&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 55,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 600,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Spinning columns to right (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning columns to left (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning columns to bottom (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Spinning columns to top (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning columns random (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Vertical spinning columns random (180&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Horizontal spinning columns random (540&#176;)",
        rows: 1,
        cols: [4, 9],
        tile: {
            delay: 150,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 540
            },
            easing: "easeInOutQuart",
            duration: 2e3,
            direction: "horizontal"
        }
    }, {
        name: "Scaling and spinning columns to right (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to left (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to bottom (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 55,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and spinning columns to top (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal spinning columns random (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 600,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical spinning columns random (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Drunk colums scaling and spinning to right (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: -30
            },
            duration: 600,
            easing: "easeOutQuart"
        },
        animation: {
            transition: {
                rotateX: -30,
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 600
        }
    }, {
        name: "Drunk colums scaling and spinning to left (180&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: -30
            },
            duration: 600,
            easing: "easeOutQuart"
        },
        animation: {
            transition: {
                rotateX: 30,
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 600
        }
    }, {
        name: "Turning cuboid to right (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning cuboid to left (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning cuboid to bottom (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Turning cuboid to top (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Scaling and turning cuboid to right (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                scale3d: .8,
                rotate: 7,
                rotateX: 10,
                rotateY: 45
            },
            easing: "easeInOutQuad",
            duration: 800,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: 90
            },
            duration: 800,
            easing: "easeInOutQuad"
        }
    }, {
        name: "Scaling and turning cuboid to left (90&#176;)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                scale3d: .8,
                rotate: -7,
                rotateX: 10,
                rotateY: -45
            },
            easing: "easeInOutQuad",
            duration: 800,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotate: 0,
                rotateX: 0,
                rotateY: -90
            },
            duration: 800,
            easing: "easeInOutQuad"
        }
    }, {
        name: "Scaling and turning cuboids to right (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to left (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to bottom (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and turning cuboids to top (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal turning cuboids random (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .65,
                rotateX: -15
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 75,
                rotateX: 15
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateY: 90,
                rotateX: 0
            },
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical turning cuboids random (90&#176;)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .65,
                rotateY: 15
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 75,
                rotateY: -15
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 90,
                rotateY: 0
            },
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Turning rows to right (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Turning rows to left (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Horizontal turning rows random (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Scaling and turning rows to right (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 87,
                rotateX: 0
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200,
                rotateY: 90
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to left (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -90,
                rotateX: 0
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to bottom (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning rows to top (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning rows random (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90,
                rotateX: 0
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning rows random (90&#176;)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning drunk rows to right (90&#176;)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: 5,
                rotateY: 45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                rotateY: 90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Scaling and horizontal turning drunk rows to left (90&#176;)",
        rows: [7, 11],
        cols: 1,
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: 5,
                rotateY: -45
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                rotateX: 0,
                rotateY: -90
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Turning columns to bottom (90&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Turning columns to top (90&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Vertical turning columns random (90&#176;)",
        rows: 1,
        cols: [5, 9],
        tile: {
            delay: 75,
            sequence: "random"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutQuart",
            duration: 1e3,
            direction: "vertical"
        }
    }, {
        name: "Scaling and turning columns to bottom (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to top (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to right (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and turning columns to left (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and horizontal turning columns random (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning columns random (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "random"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -90
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutBack",
            duration: 600
        }
    }, {
        name: "Scaling and vertical turning drunk columns to right (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "forward"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: 45,
                rotateY: -5
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: 90,
                rotateY: 0
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Scaling and vertical turning drunk columns to left (90&#176;)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 75,
            sequence: "reverse"
        },
        animation: {
            transition: {
                scale3d: .85,
                rotateX: -45,
                rotateY: -5
            },
            easing: "easeInOutQuint",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                rotateX: -90,
                rotateY: 0
            },
            easing: "easeInOutQuint",
            duration: 1e3
        }
    }, {
        name: "Spinning cuboid to right (180&#176;, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning cuboid to left (180&#176;, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "horizontal"
        }
    }, {
        name: "Spinning cuboid to bottom (180&#176;, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Spinning cuboid to top (180&#176;, large depth)",
        rows: 1,
        cols: 1,
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1500,
            direction: "vertical"
        }
    }, {
        name: "Scaling and spinning cuboids to right (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to left (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to bottom (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning cuboids to top (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "col-reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 450,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            duration: 350,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and horizontal spinning cuboids random (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "horizontal"
        },
        after: {
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and vertical spinning cuboids random (180&#176;, large depth)",
        rows: [2, 4],
        cols: [4, 7],
        tile: {
            delay: 75,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .65
            },
            duration: 700,
            easing: "easeInOutQuint"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 700,
            direction: "vertical"
        },
        after: {
            duration: 700,
            easing: "easeInOutBack"
        }
    }, {
        name: "Scaling and spinning rows to right (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180,
                rotateX: -3
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200,
                rotateX: 0
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to left (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180,
                rotateX: -3
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200,
                rotateX: 0
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to bottom (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning rows to top (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and horizontal spinning rows random (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85,
                rotateX: 3
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180,
                rotateX: -3
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200,
                rotateX: 0
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and vertical spinning rows random (180&#176;, large depth)",
        rows: [5, 9],
        cols: 1,
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to bottom (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to top (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: 180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to right (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "forward",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and spinning columns to left (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "reverse",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: -180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and horizontal spinning columns random (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateY: 180
            },
            easing: "easeInOutBack",
            duration: 1e3,
            direction: "horizontal"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }, {
        name: "Scaling and vertical spinning columns random (180&#176;, large depth)",
        rows: 1,
        cols: [7, 11],
        tile: {
            delay: 65,
            sequence: "random",
            depth: "large"
        },
        before: {
            transition: {
                scale3d: .85
            },
            duration: 600,
            easing: "easeOutBack"
        },
        animation: {
            transition: {
                rotateX: -180
            },
            easing: "easeInOutQuart",
            duration: 1200,
            direction: "vertical"
        },
        after: {
            transition: {
                delay: 200
            },
            easing: "easeOutQuart",
            duration: 400
        }
    }]
}

Executed Writes (0)


HTTP Transactions (121)


Request Response
                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         54.230.111.7
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 939
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Backoff, Content-Length, Content-Type, Retry-After, Alert
Cache-Control: max-age=3600
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Date: Wed, 12 Oct 2022 23:49:27 GMT
Expires: Thu, 13 Oct 2022 00:32:05 GMT
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Cache: Hit from cloudfront
Via: 1.1 4bbc14b5834fc74ccd249b954b43a08c.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-P1
X-Amz-Cf-Id: 24sPQtZEw-Jl9M0lh2AtQPLhMnpZPZx9prcqcxulCOlNKVJXkawSeg==
Age: 622


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    1aac651ec250c598683dd17ca2002c07
Sha1:   11595ac82e017f95190c2a36dc77323a3fedcbfc
Sha256: 93fa640d042452ae8455d026e30e3b4594c13d4be65f3552a4b5edae027c02f9
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "5495AD212166703DCD1D17D7AA6FF4D1C40E73DFAD703D24F00F60F35BC7D56C"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5395
Expires: Thu, 13 Oct 2022 01:29:44 GMT
Date: Wed, 12 Oct 2022 23:59:49 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "42B37D16055F0F3EC52CBB45B4AF4900BAAC4352E87C662811CDB377EB2D3C3E"
Last-Modified: Wed, 12 Oct 2022 14:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=11177
Expires: Thu, 13 Oct 2022 03:06:06 GMT
Date: Wed, 12 Oct 2022 23:59:49 GMT
Connection: keep-alive

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2022-11-19-18-50-54.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
x-amz-id-2: 9hCtks2b9u6gxMm0aBu2Um4Oq5NN1nHWJXeQ8n7X9LhEI6S4qHzhYdSvbXpWigvThxQOvoohVGM=
x-amz-request-id: 5WH8Y65AG5QXHFVW
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Wed, 12 Oct 2022 23:33:32 GMT
age: 1577
last-modified: Fri, 30 Sep 2022 18:50:55 GMT
etag: "67d5a988edcda47bc3b3b3f65d32b4b6"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    67d5a988edcda47bc3b3b3f65d32b4b6
Sha1:   d4f0e0da8b3690cc7da925026d3414b68c7d954f
Sha256: 55e4848e3ec682e808ce7ee70950f86179c43af4f81926d826a95edfda395a78
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Wed, 12 Oct 2022 23:59:49 GMT
content-length: 12
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            POST / HTTP/1.1 
Host: ocsp.sectigo.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         172.64.155.188
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:49 GMT
Content-Length: 471
Connection: keep-alive
Last-Modified: Tue, 11 Oct 2022 19:45:08 GMT
Expires: Tue, 18 Oct 2022 19:45:07 GMT
Etag: "6c738032d606feb7d5cdaf4ccfa28485a9853255"
Cache-Control: max-age=502517,s-maxage=1800,public,no-transform,must-revalidate
X-CCACDN-Proxy-ID: mcdpinlb6
X-Frame-Options: SAMEORIGIN
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 7593caa09f02b51b-OSL

                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         54.230.111.7
HTTP/1.1 200 OK
Content-Type: application/json
                                        
Content-Length: 329
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Alert, Content-Type, Expires, Backoff, ETag, Last-Modified, Pragma, Cache-Control, Content-Length, Retry-After
Content-Security-Policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
Last-Modified: Fri, 25 Mar 2022 17:45:46 GMT
X-Content-Type-Options: nosniff
Cache-Control: max-age=3600
Date: Wed, 12 Oct 2022 23:29:41 GMT
Expires: Wed, 12 Oct 2022 23:48:05 GMT
ETag: "1648230346554"
X-Cache: Hit from cloudfront
Via: 1.1 d9fb4c3794a085bb4ee2c5798c2cb1b8.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: OSL50-P1
X-Amz-Cf-Id: RG2fyr_jGOpLKxID8fVQFVp2GsuRONZmmKxRH7Z9LE5rp8NJctHnLg==
Age: 1809


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 4788
Cache-Control: max-age=120407
Date: Wed, 12 Oct 2022 23:59:50 GMT
Etag: "63467599-1d7"
Expires: Fri, 14 Oct 2022 09:26:37 GMT
Last-Modified: Wed, 12 Oct 2022 08:06:49 GMT
Server: ECS (ska/F713)
X-Cache: HIT
Content-Length: 471

                                        
                                            GET /tvmu/trsucks HTTP/1.1 
Host: doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1

search
                                         192.232.219.76
HTTP/2 301 Moved Permanently
content-type: text/html; charset=UTF-8
                                        
date: Wed, 12 Oct 2022 23:59:49 GMT
server: Apache
content-length: 0
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
x-redirect-by: WordPress
location: https://www.doriantrade.com/tvmu/trsucks
x-server-cache: true
x-proxy-cache: MISS
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - fortinet: Malware
    - quad9: Sinkholed
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: AyrgRd25MzkcBTszyRCPUQ==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

search
                                         34.218.164.174
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: qeXENB5uEaSA/ni30IgxptVZ9rY=

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /tvmu/trsucks HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
TE: trailers

search
                                         192.232.219.76
HTTP/2 404 Not Found
content-type: text/html; charset=UTF-8
                                        
date: Wed, 12 Oct 2022 23:59:50 GMT
server: Apache
content-length: 15501
expires: Wed, 11 Jan 1984 05:00:00 GMT
cache-control: no-cache, must-revalidate, max-age=0
link: <https://www.doriantrade.com/wp-json/>; rel="https://api.w.org/"
vary: Accept-Encoding
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document text\012- exported SGML document, Unicode text, UTF-8 text, with very long lines (10095), with CRLF, LF line terminators
Size:   15501
Md5:    4e6d7545f507484e8355df5811b800a1
Sha1:   20606479927639c04cb20f6b0d36e43fc3547cf7
Sha256: 4cf7a1a2a1a3fe65c79198dd79539c4213d5ee6c7c3b7b1d0e44f78d9ea5c5d8

Alerts:
  Blocklists:
    - fortinet: Malware
    - quad9: Sinkholed
                                        
                                            GET /pagead/conversion.js HTTP/1.1 
Host: www.googleadservices.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.98
HTTP/2 200 OK
content-type: text/javascript; charset=UTF-8
                                        
p3p: policyref="https://www.googleadservices.com/pagead/p3p.xml", CP="NOI DEV PSA PSD IVA IVD OTP OUR OTR IND OTC"
timing-allow-origin: *
cross-origin-resource-policy: cross-origin
vary: Accept-Encoding
date: Wed, 12 Oct 2022 23:59:51 GMT
expires: Wed, 12 Oct 2022 23:59:51 GMT
cache-control: private, max-age=3600
etag: 11313833467736987248
x-content-type-options: nosniff
content-disposition: attachment; filename="f.txt"
content-encoding: br
server: cafe
content-length: 16840
x-xss-protection: 0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (2021)
Size:   16840
Md5:    facf633646edbf5b62983e22d11aa160
Sha1:   0373848f224ca40d2982581b205a8cf28b72dd7c
Sha256: ce5955eb70e6611579323a75ba5536d9af9a224a593fe1a2d8d204fa1127f524
                                        
                                            GET /wp-content/plugins/LayerSlider/static/css/layerslider.css?ver=5.6.2 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 13:56:38 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 3960
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   3960
Md5:    2f910db065a31f59f4310cebfd9d1c3e
Sha1:   b43ba621373edcbfcbb3401d894d3d62254dbbbd
Sha256: 48f6c9ac893f3ffe11b70262cb4f7a34d93d57ccc8b6b791b1a9ebe08c734bb6

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /wp-content/plugins/social-icon-widget/assets/css/style.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Thu, 02 Jan 2020 17:08:53 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 602
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with CRLF line terminators
Size:   602
Md5:    aa877b7232154d5ad7f77424bb9d63cd
Sha1:   e641d6a15640c609710c406dab40cb37f3199928
Sha256: d8a6f34df88656c3156684c486b994ce259328495a84ec14fb935ff58be39cf6

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/font-awesome.min.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:42 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 11905
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (53868)
Size:   11905
Md5:    4c4c0911cef6a670bd6f13e64fa79d4f
Sha1:   f27547febadef6e5e8042f3de5600edf1a17e3ad
Sha256: 5ef06c01dc64ddd5684bedac7e028f6fbe511d5fe5840b58ff15434bd782a330

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/wp-carousel-free/public/css/wp-carousel-free-public.min.css?ver=2.4.12 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Wed, 28 Sep 2022 15:01:55 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 2401
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (8589), with no line terminators
Size:   2401
Md5:    028b4899d374c6c1f9c57e8b2dcdaaff
Sha1:   c2199148af3fa092dd4deb7fba701048d1e30b58
Sha256: 4e47c05eec6574123f7e71139a6f42f50c8c9d4d8b3b0e0a34e2ba6468ac5cbf

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.3
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 12 Oct 2022 23:59:51 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5B57C12618C4D45D9B712BE3FCCABA0DEBBBF018F82B028BFF74E39A077CF03"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16759
Expires: Thu, 13 Oct 2022 04:39:10 GMT
Date: Wed, 12 Oct 2022 23:59:51 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5B57C12618C4D45D9B712BE3FCCABA0DEBBBF018F82B028BFF74E39A077CF03"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16759
Expires: Thu, 13 Oct 2022 04:39:10 GMT
Date: Wed, 12 Oct 2022 23:59:51 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5B57C12618C4D45D9B712BE3FCCABA0DEBBBF018F82B028BFF74E39A077CF03"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16759
Expires: Thu, 13 Oct 2022 04:39:10 GMT
Date: Wed, 12 Oct 2022 23:59:51 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5B57C12618C4D45D9B712BE3FCCABA0DEBBBF018F82B028BFF74E39A077CF03"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16759
Expires: Thu, 13 Oct 2022 04:39:10 GMT
Date: Wed, 12 Oct 2022 23:59:51 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.77.32
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5B57C12618C4D45D9B712BE3FCCABA0DEBBBF018F82B028BFF74E39A077CF03"
Last-Modified: Tue, 11 Oct 2022 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16759
Expires: Thu, 13 Oct 2022 04:39:10 GMT
Date: Wed, 12 Oct 2022 23:59:51 GMT
Connection: keep-alive

                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fa5c76a23-8abd-4e3e-a093-75e8dfb1dbfb.png HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 14262
x-amzn-requestid: d52e5bb3-1c81-4691-989c-18f4f9884aad
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZhQUBFshIAMFvzA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-633d2db3-10be4b386c99044a771581dc;Sampled=0
x-amzn-remapped-date: Wed, 05 Oct 2022 07:09:39 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: _qVRL8MKJ3-mdJ-q9LNbqMu_c3y0AlhGpVom7570zvnPM4WIw_KFCQ==
via: 1.1 9c60d6224ac0b44e908b5c9dcf70e9a4.cloudfront.net (CloudFront), 1.1 89791e6b21b9a30cc51cac1bc51cf098.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 04:15:36 GMT
age: 71055
etag: "8f1261feb1d5ed02e3ffcdc1bdfd299f03108d96"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   14262
Md5:    56217b4ec776d52347ca781dd826b1fc
Sha1:   8f1261feb1d5ed02e3ffcdc1bdfd299f03108d96
Sha256: 1efffa3f5ce3690da3215b7ec98bf6b6c80888fa99fc130b87e5aa11cf2c8f43
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F560d2eb7-40d7-4861-8041-41b8184de030.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8183
x-amzn-requestid: f41fdb47-83e8-48f9-95ac-a79e2bfc521d
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: Z6Tu8FwCoAMF_OQ=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6347332c-67bc08ef6315488e07fc3c4c;Sampled=0
x-amzn-remapped-date: Wed, 12 Oct 2022 21:35:40 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: asKm6vCciCEea5OZp-N-BzFUiPU40Ijid4-SM1FdpT5iCVhbPUMoGA==
via: 1.1 4f87745990545c1ac0195c157e1668f8.cloudfront.net (CloudFront), 1.1 5397b304713f6301c7c94ac084b6ed08.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 21:43:09 GMT
age: 8202
etag: "ec5e3f3d6a334d0b8a92ce06327b5b145002087c"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   8183
Md5:    c3368090318fe53289f4e0fe284ee1e2
Sha1:   ec5e3f3d6a334d0b8a92ce06327b5b145002087c
Sha256: 73bb52c89af285a60360a119d3f21b0d7309ea7fd26a36c1e46fe6b1b9f25164
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F52bea519-c09f-4e75-bd61-39e42d07313a.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4903
x-amzn-requestid: 92ac3c98-2a85-4006-9fac-15e352319ebc
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: Zt6REGJ0oAMFQog=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63423da0-2dd5b46763a69e6d60d531d5;Sampled=0
x-amzn-remapped-date: Sun, 09 Oct 2022 03:18:56 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: iVbTMRds9O3AkqrS6PBXbqrqP3nTQNN_xsDKfgUlvs0pOfCIxatSIw==
via: 1.1 2afae0d44e2540f472c0635ab62c232a.cloudfront.net (CloudFront), 1.1 943c6a4d4ee43b18ee91634536f53eae.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 21:52:21 GMT
age: 7650
etag: "58e3e5e00a84e054efcb4c845ba677d0424160c9"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   4903
Md5:    f9ed9e6cb4b9a3e0a23d2d0bbb2e8097
Sha1:   58e3e5e00a84e054efcb4c845ba677d0424160c9
Sha256: bb3e57e303782369ff08ae3a3d5fe7810ed5d3bf076c547581525fce3ea1b9e1
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fcdf7d45d-9354-4489-bb43-b1c8f02d5b59.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 9277
x-amzn-requestid: edf33f17-3a1e-4e36-ad6a-d26d749e1a72
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: Zn2WcE8rIAMF9mA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-633fd0f5-09efbbc75e96d48039992aa0;Sampled=0
x-amzn-remapped-date: Fri, 07 Oct 2022 07:10:45 GMT
x-amz-cf-pop: SEA73-P1
x-cache: Hit from cloudfront
x-amz-cf-id: amuk8sWYoFxEFjqOeiGQ61DUBf-1482U4uBWymveJ8FKGlj6ZF0Hiw==
via: 1.1 da5952aa802df39905ceb16592e9698a.cloudfront.net (CloudFront), 1.1 68fadeb91f97256bb67b03bfca74d830.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 21:52:27 GMT
age: 7644
etag: "e91193965b1efd8d19ca03c96693061125cec801"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   9277
Md5:    8fde601296565045f45192474e46e565
Sha1:   e91193965b1efd8d19ca03c96693061125cec801
Sha256: 4375d71b0e4a472b375499151308d17b87f6fba8b79bea2ef680ce9848fc234f
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fba8b7757-0cd0-4a99-9109-911fa9519548.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7910
x-amzn-requestid: f5d8f877-3648-42e9-94e5-c71feb05e378
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: ZuOOnG9loAMF_0g=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63425d90-6f295a3374f7624535be6a83;Sampled=0
x-amzn-remapped-date: Sun, 09 Oct 2022 05:35:12 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: Sl45BKWkcaZQ0VRelaEkuYB8xLh3VODDzB9-SpiYbmZWQZ5OArYHEw==
via: 1.1 e5af640ced3aa8764b82c4bc3f7af38e.cloudfront.net (CloudFront), 1.1 e66162aafd55b64ba1478ff7105150fa.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 21:48:50 GMT
age: 7861
etag: "5afa8d058fac7bd7999bd2acae98c0a63311dd02"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   7910
Md5:    f146fc87623251b4161f451074e73fab
Sha1:   5afa8d058fac7bd7999bd2acae98c0a63311dd02
Sha256: 4679d5a15629a7ee5d04dd2979591a75c5c3e044c0d6693c1a3c17a4c25d1631
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F6f4ddcd0-37eb-41bb-b930-ef4cec44401e.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 7434
x-amzn-requestid: d2ca5388-80cd-4082-a01c-54d701494d20
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: Z6TqfERSIAMF8-g=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-6347330f-340bae193e3547840bd0d45d;Sampled=0
x-amzn-remapped-date: Wed, 12 Oct 2022 21:35:11 GMT
x-amz-cf-pop: HIO50-C1, SEA73-P1
x-cache: Miss from cloudfront
x-amz-cf-id: 02jwYGldxH-OiwHR5fFT9V5PrbU2xMx8dPMeGRA3byKZZ7wPAuMVLg==
via: 1.1 8dbfaf7df256a75768461d934659b6b2.cloudfront.net (CloudFront), 1.1 09331f0822fc98eebaf04130a83dbd44.cloudfront.net (CloudFront), 1.1 google
date: Wed, 12 Oct 2022 21:52:17 GMT
etag: "66ae1ad987d78fc76dd7cdc4f30a8e903ff47d49"
age: 7654
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   7434
Md5:    a5a9abfaf8360f2b6527800ad1944f44
Sha1:   66ae1ad987d78fc76dd7cdc4f30a8e903ff47d49
Sha256: 02d4d5b7ffb815544ee8cc67b38d885173214918f4522dcfe452b9f1ef252843
                                        
                                            GET /wp-content/plugins/revslider/public/assets/css/settings.css?ver=5.4.7 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Thu, 19 Apr 2018 00:15:45 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 11985
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (5178)
Size:   11985
Md5:    db5611544d9e1c147e2a0024fd187e27
Sha1:   eec70a54de8d7578b6a4c67aa0c904c63a41047f
Sha256: 68c4a3cc7b18a1ec9849737f76d7f781617ed04a696cdbd16a7904625f9a73ff

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/wp-carousel-free/public/css/font-awesome.min.css?ver=2.4.12 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Wed, 28 Sep 2022 15:01:55 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 7114
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (30837)
Size:   7114
Md5:    82a55032c4b614390aea6ef6870d3e90
Sha1:   bb21577feea531540a8d4f27ac3730ffac111e1b
Sha256: 4f068500ef9ef0dbffa5b76ac10f1970a7a9de8ff033f84228971a140eb20069

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/wp-carousel-free/public/css/swiper-bundle.min.css?ver=2.4.12 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Wed, 28 Sep 2022 15:01:55 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 5358
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (16213)
Size:   5358
Md5:    bd7aabb80f367213be8d560ab2016d78
Sha1:   ecb8ca329ab052c6e03766f438594fe930728ca2
Sha256: 733338eed6dc6f9fb91f26431374e28e6035e9fa18ff899b04ea46bc1730317c

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-includes/css/dist/block-library/style.min.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Thu, 11 Jun 2020 08:27:14 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 7869
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (41045), with no line terminators
Size:   7869
Md5:    b69eb1952e05cf5afb5c386f73755ef8
Sha1:   095c002392362a8484a999b7b56793ee5d17cd78
Sha256: 7697187ff6744523ef9079ea748c88d7378a60b64994b216b959d048123afb3b

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /?mcsf_action=main_css&ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css;charset=UTF-8
                                        
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
content-length: 366
vary: Accept-Encoding
content-encoding: gzip
x-server-cache: true
x-proxy-cache: HIT
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   366
Md5:    24199d1bda66e50460d887c50e9b12d1
Sha1:   d874574f1850e0aa48a23778213ad322b146accc
Sha256: 74f69391894271be967878239571a4304ca5edef61dd8da7f294068fcd006726

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/contact-form-7/includes/css/styles.css?ver=5.1.6 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 409 Conflict
content-type: text/html; charset=iso-8859-1
                                        
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
content-length: 83
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document, ASCII text, with no line terminators
Size:   83
Md5:    26267cd8990f15d3bbea71684a6d5995
Sha1:   ac3b38cf3fe0e112bb6aeb7e05226b7133575d93
Sha256: 769e8ab745a0fe4bf811036e75a8630e38c50a18cb3e24d539ce4a0722c7c85e

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/jquery.easy-pie-chart.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:45 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 140
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   140
Md5:    ca75005ed5f5dbe6e7e091f53037ac5d
Sha1:   366d0a57370fbf0c9a2bc643acd061b91949ac85
Sha256: 5a9dd164a7bd59e2c59196ac98189105f7a3dae1aac4a0cff9cff0b7992c9461

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/idangerous.swiper.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:44 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 932
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   932
Md5:    eaa70779890f5b32156d133ceef5cd9d
Sha1:   1e96ba90026f2c6f529a83395db34a96284bf2dc
Sha256: 9c35875a11cd4291d52e84944f53b16b7ab563492d5d5bd796d6e8a6b22a15b9

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /css?family=Lato:100,300,regular,700,900%7COpen+Sans:300%7CIndie+Flower:regular%7COswald:300,regular,700&subset=latin%2Clatin-ext HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.10
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
access-control-allow-origin: *
timing-allow-origin: *
link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
strict-transport-security: max-age=31536000
expires: Wed, 12 Oct 2022 23:59:51 GMT
date: Wed, 12 Oct 2022 23:59:51 GMT
cache-control: private, max-age=86400
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin-allow-popups
content-encoding: gzip
server: ESF
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   1027
Md5:    7951b49348b7bc2723c5f6a7d3cfd7f1
Sha1:   caa8901cbe28d90e6aed4e8724a9346ca8ddf80e
Sha256: b9e6687b4f91c7c460b8a1c103a3c84f15c4c1b6542b476674c49533a0e4a34a
                                        
                                            GET /wp-content/themes/specular/css/vector-icons.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:51 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 9758
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   9758
Md5:    763724a78e0f5df7400b1d7a35045519
Sha1:   37c59a86040cab94cdf1459ce8a0d7e0c872ef58
Sha256: b0f62c0e693e42e2499a4e383395fd8519148202de44a14cefbcb9affb750a71

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/fancybox/source/jquery.fancybox.css?v=2.1.2&ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:42:03 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 1425
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   1425
Md5:    a03c5aa85ab623d1c52a7b207d043ca2
Sha1:   2749e0e73b0648b0bb4a6cfe96701a22898474ed
Sha256: 7a810e4a8829c734eff6519569bf3f3ae47f4b704c15c69aec6c9867c78b6e75

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/LayerSlider/static/js/layerslider.transitions.js?ver=5.6.2 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 13:57:05 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 3421
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (20890)
Size:   3421
Md5:    34e1dde2e4596e176bdd461abd8c51d9
Sha1:   3c8472ee181bfa0d149d7efd732753af5555657e
Sha256: 1af1fd1b2dc3ebbdbeb7d4dde91405130a05e58449b316749f12128940add38b

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/linecon.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:48 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 616
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (2603), with no line terminators
Size:   616
Md5:    f432980b68fe9cbf738988a119ccf833
Sha1:   f7e3a03a665f70521a07fc3ffd5bc04ea229c552
Sha256: c5e3a109b866d737819e18655f46a6efd142156ca9a806e12cdf263f99b592ef

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/steadysets.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:50 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 1316
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (7358), with no line terminators
Size:   1316
Md5:    fbf9c6b52448cee9eb28458a27efc731
Sha1:   37faaf103ac8bfa13ff4ad8322d8cd2a560421bb
Sha256: e078389de2e2ac95151724a975eb2778a5fb7694a89a9dec5977e7eccbaac9a7

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/post-like.js?ver=1.0 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:46 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 427
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   427
Md5:    0e6ad6cd597e0bb0ead686827891c520
Sha1:   35ec0aacc8f6f9e4f92bdb3ee3d175f558eefa30
Sha256: 5cfc594ceaed59363f8ed2b2cb2db27bb18795d01e3a104e09e6f3d5cfd7140d

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/jquery.easing.1.1.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:27 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 393
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   393
Md5:    28e454a7b4aa3c108135bacfd3a3bde6
Sha1:   a2066ab7be77d95611ac20052a75f6c3d7a48945
Sha256: e3e29830dff876392a18d7fc416e5c098a0cd5b30a66382c7616fe78fac23df2

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/plugins/wp-carousel-free/public/js/wp-carousel-free-public.min.js?ver=2.4.12 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Wed, 28 Sep 2022 15:01:55 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 631
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (1556), with no line terminators
Size:   631
Md5:    655ae365d82aff9c90f963d290296f8c
Sha1:   15f1f8e818b659fd245a1a64f34fab08472fab7e
Sha256: 554518a10e625f6abe172fa338a77de14f59b74664ce59c03715ebad608dd8f7

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 13:28:15 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 4444
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (9959)
Size:   4444
Md5:    1e40dfe689f1e989e1a3de2e3c6e26bf
Sha1:   4196eddc5203fd18f63e90065d777f757088ca2f
Sha256: b40b1ef07db6e093ad2df064e8cb582906eb2448e1caacc2f5b721cd5d0e3cb4

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/hoverex-all.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:44 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 5627
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text
Size:   5627
Md5:    de7e254c932b7e1b41adcc374dd03241
Sha1:   875be636b12527e471691e7ac68970bf490d8139
Sha256: 423feb13dc3f1507cca40c78155d8c77f865827de02d8a0836c1b1de468210a3

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/bootstrap.min.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:19 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 2072
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (4743)
Size:   2072
Md5:    a3eeb7cc1ef8f371bca0b92555d88e79
Sha1:   f44562da21a2b9a0e94179f90b285a638edfccb2
Sha256: c181b705676c631dad3dba847eaa7da1deaf66aa87b5f236d59d61fb3b00f09e

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/css/bootstrap-responsive.css?ver=5.3.13 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: text/css
                                        
last-modified: Tue, 02 Aug 2016 14:37:35 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 11719
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (389)
Size:   11719
Md5:    f90a38c0ac19cf83a20159c0b14eb16c
Sha1:   09229254c22860d4dd70f00caca4d5a326a3f39d
Sha256: a0108ab29378d1e4b2ca63e46e0868e59f61f09a8276724f31622c0067762448

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/waypoints.min.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:51 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 3126
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (7808)
Size:   3126
Md5:    d24f70901f104dd76b430252bb3bf2e1
Sha1:   784b0ea20fea97b9bb7ee56f0b3436895c2e5c15
Sha256: 915b4f416c548cf1e57c127aae747569cc4b2918453e509889bc24d7ce3fe692

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/classie.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:19 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 689
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   689
Md5:    69a0f20176ddcf3b5aed9a9b7976da00
Sha1:   bec4a0e017d81faf99828da8b69f59e0c1224129
Sha256: 8f02803be353b5a1f8c66ce94d1522c6f8e1caef2347c000b77bbc4b7cbf6e75

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/fancybox/source/helpers/jquery.fancybox-media.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:43:53 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 2058
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text
Size:   2058
Md5:    d9b309ce635d483781975f1b25c696c3
Sha1:   5ad36738e353c389c705524d09930e87e85db512
Sha256: fa16778d78d1a174437379755c308dda91cb633406acd1bde793e0e07459a5b4

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/isotope.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         192.232.219.76
HTTP/2 200 OK
content-type: application/javascript
                                        
last-modified: Tue, 02 Aug 2016 14:39:23 GMT
accept-ranges: bytes
vary: Accept-Encoding
content-encoding: gzip
content-length: 6157
date: Wed, 12 Oct 2022 23:59:51 GMT
server: Apache
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document, ASCII text, with very long lines (15636)
Size:   6157
Md5:    8b20b8b08795dce437cd881695e5cc37
Sha1:   351141553625fe529abf674e03774796c9f31c04
Sha256: fb01eab6e5a2c800219badf06bb50758bac8bf78dfc8fbbc980bbfc6fc4f3de0

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            GET /wp-content/themes/specular/js/jquery.countdown.min.js?ver=1 HTTP/1.1 
Host: www.doriantrade.com
                                        
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://www.doriantrade.com/tvmu/trsucks
Sec