PageSourceSearch

https://drivocar.netlify.app/js/jquery.mCustomScrollbar.concat.min.js

js drivocar.netlify.app collected 2026-10-03 10:40:34 UTC 81,044 bytes, 1,379 lines download raw bytes

vendor: 81,044 bytes, lines 1-1379
1/* == jquery mousewheel plugin == Version: 3.1.13, License: MIT License (MIT) */ ! function(a) {
2    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? module.exports = a : a(jQuery)
3}(function(a) {
4    function b(b) {
5        var g = b || window.event,
6            h = i.call(arguments, 1),
7            j = 0,
8            l = 0,
9            m = 0,
10            n = 0,
11            o = 0,
12            p = 0;
13        if (b = a.event.fix(g), b.type = "mousewheel", "detail" in g && (m = -1 * g.detail), "wheelDelta" in g && (m = g.wheelDelta), "wheelDeltaY" in g && (m = g.wheelDeltaY), "wheelDeltaX" in g && (l = -1 * g.wheelDeltaX), "axis" in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m, m = 0), j = 0 === m ? l : m, "deltaY" in g && (m = -1 * g.deltaY, j = m), "deltaX" in g && (l = g.deltaX, 0 === m && (j = -1 * l)), 0 !== m || 0 !== l) {
14            if (1 === g.deltaMode) {
15                var q = a.data(this, "mousewheel-line-height");
16                j *= q, m *= q, l *= q
17            } else if (2 === g.deltaMode) {
18                var r = a.data(this, "mousewheel-page-height");
19                j *= r, m *= r, l *= r
20            }
21            if (n = Math.max(Math.abs(m), Math.abs(l)), (!f || f > n) && (f = n, d(g, n) && (f /= 40)), d(g, n) && (j /= 40, l /= 40, m /= 40), j = Math[j >= 1 ? "floor" : "ceil"](j / f), l = Math[l >= 1 ? "floor" : "ceil"](l / f), m = Math[m >= 1 ? "floor" : "ceil"](m / f), k.settings.normalizeOffset && this.getBoundingClientRect) {
22                var s = this.getBoundingClientRect();
23                o = b.clientX - s.left, p = b.clientY - s.top
24            }
25            return b.deltaX = l, b.deltaY = m, b.deltaFactor = f, b.offsetX = o, b.offsetY = p, b.deltaMode = 0, h.unshift(b, j, l, m), e && clearTimeout(e), e = setTimeout(c, 200), (a.event.dispatch || a.event.handle).apply(this, h)
26        }
27    }
28
29    function c() {
30        f = null
31    }
32
33    function d(a, b) {
34        return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0
35    }
36    var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"],
37        h = "onwheel" in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"],
38        i = Array.prototype.slice;
39    if (a.event.fixHooks)
40        for (var j = g.length; j;) a.event.fixHooks[g[--j]] = a.event.mouseHooks;
41    var k = a.event.special.mousewheel = {
42        version: "3.1.12",
43        setup: function() {
44            if (this.addEventListener)
45                for (var c = h.length; c;) this.addEventListener(h[--c], b, !1);
46            else this.onmousewheel = b;
47            a.data(this, "mousewheel-line-height", k.getLineHeight(this)), a.data(this, "mousewheel-page-height", k.getPageHeight(this))
48        },
49        teardown: function() {
50            if (this.removeEventListener)
51                for (var c = h.length; c;) this.removeEventListener(h[--c], b, !1);
52            else this.onmousewheel = null;
53            a.removeData(this, "mousewheel-line-height"), a.removeData(this, "mousewheel-page-height")
54        },
55        getLineHeight: function(b) {
56            var c = a(b),
57                d = c["offsetParent" in a.fn ? "offsetParent" : "parent"]();
58            return d.length || (d = a("body")), parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16
59        },
60        getPageHeight: function(b) {
61            return a(b).height()
62        },
63        settings: {
64            adjustOldDeltas: !0,
65            normalizeOffset: !0
66        }
67    };
68    a.fn.extend({
69        mousewheel: function(a) {
70            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel")
71        },
72        unmousewheel: function(a) {
73            return this.unbind("mousewheel", a)
74        }
75    })
76});
77! function(a) {
78    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? module.exports = a : a(jQuery)
79}(function(a) {
80    function b(b) {
81        var g = b || window.event,
82            h = i.call(arguments, 1),
83            j = 0,
84            l = 0,
85            m = 0,
86            n = 0,
87            o = 0,
88            p = 0;
89        if (b = a.event.fix(g), b.type = "mousewheel", "detail" in g && (m = -1 * g.detail), "wheelDelta" in g && (m = g.wheelDelta), "wheelDeltaY" in g && (m = g.wheelDeltaY), "wheelDeltaX" in g && (l = -1 * g.wheelDeltaX), "axis" in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m, m = 0), j = 0 === m ? l : m, "deltaY" in g && (m = -1 * g.deltaY, j = m), "deltaX" in g && (l = g.deltaX, 0 === m && (j = -1 * l)), 0 !== m || 0 !== l) {
90            if (1 === g.deltaMode) {
91                var q = a.data(this, "mousewheel-line-height");
92                j *= q, m *= q, l *= q
93            } else if (2 === g.deltaMode) {
94                var r = a.data(this, "mousewheel-page-height");
95                j *= r, m *= r, l *= r
96            }
97            if (n = Math.max(Math.abs(m), Math.abs(l)), (!f || f > n) && (f = n, d(g, n) && (f /= 40)), d(g, n) && (j /= 40, l /= 40, m /= 40), j = Math[j >= 1 ? "floor" : "ceil"](j / f), l = Math[l >= 1 ? "floor" : "ceil"](l / f), m = Math[m >= 1 ? "floor" : "ceil"](m / f), k.settings.normalizeOffset && this.getBoundingClientRect) {
98                var s = this.getBoundingClientRect();
99                o = b.clientX - s.left, p = b.clientY - s.top
100            }
101            return b.deltaX = l, b.deltaY = m, b.deltaFactor = f, b.offsetX = o, b.offsetY = p, b.deltaMode = 0, h.unshift(b, j, l, m), e && clearTimeout(e), e = setTimeout(c, 200), (a.event.dispatch || a.event.handle).apply(this, h)
102        }
103    }
104
105    function c() {
106        f = null
107    }
108
109    function d(a, b) {
110        return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0
111    }
112    var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"],
113        h = "onwheel" in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"],
114        i = Array.prototype.slice;
115    if (a.event.fixHooks)
116        for (var j = g.length; j;) a.event.fixHooks[g[--j]] = a.event.mouseHooks;
117    var k = a.event.special.mousewheel = {
118        version: "3.1.12",
119        setup: function() {
120            if (this.addEventListener)
121                for (var c = h.length; c;) this.addEventListener(h[--c], b, !1);
122            else this.onmousewheel = b;
123            a.data(this, "mousewheel-line-height", k.getLineHeight(this)), a.data(this, "mousewheel-page-height", k.getPageHeight(this))
124        },
125        teardown: function() {
126            if (this.removeEventListener)
127                for (var c = h.length; c;) this.removeEventListener(h[--c], b, !1);
128            else this.onmousewheel = null;
129            a.removeData(this, "mousewheel-line-height"), a.removeData(this, "mousewheel-page-height")
130        },
131        getLineHeight: function(b) {
132            var c = a(b),
133                d = c["offsetParent" in a.fn ? "offsetParent" : "parent"]();
134            return d.length || (d = a("body")), parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16
135        },
136        getPageHeight: function(b) {
137            return a(b).height()
138        },
139        settings: {
140            adjustOldDeltas: !0,
141            normalizeOffset: !0
142        }
143    };
144    a.fn.extend({
145        mousewheel: function(a) {
146            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel")
147        },
148        unmousewheel: function(a) {
149            return this.unbind("mousewheel", a)
150        }
151    })
152});
153/* == malihu jquery custom scrollbar plugin == Version: 3.1.5, License: MIT License (MIT) */
154! function(e) {
155    "function" == typeof define && define.amd ? define(["jquery"], e) : "undefined" != typeof module && module.exports ? module.exports = e : e(jQuery, window, document)
156}(function(e) {
157    ! function(t) {
158        var o = "function" == typeof define && define.amd,
159            a = "undefined" != typeof module && module.exports,
160            n = "https:" == document.location.protocol ? "https:" : "http:",
161            i = "cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";
162        o || (a ? require("jquery-mousewheel")(e) : e.event.special.mousewheel || e("head").append(decodeURI("%3Cscript src=" + n + "//" + i + "%3E%3C/script%3E"))), t()
163    }(function() {
164        var t, o = "mCustomScrollbar",
165            a = "mCS",
166            n = ".mCustomScrollbar",
167            i = {
168                setTop: 0,
169                setLeft: 0,
170                axis: "y",
171                scrollbarPosition: "inside",
172                scrollInertia: 950,
173                autoDraggerLength: !0,
174                alwaysShowScrollbar: 0,
175                snapOffset: 0,
176                mouseWheel: {
177                    enable: !0,
178                    scrollAmount: "auto",
179                    axis: "y",
180                    deltaFactor: "auto",
181                    disableOver: ["select", "option", "keygen", "datalist", "textarea"]
182                },
183                scrollButtons: {
184                    scrollType: "stepless",
185                    scrollAmount: "auto"
186                },
187                keyboard: {
188                    enable: !0,
189                    scrollType: "stepless",
190                    scrollAmount: "auto"
191                },
192                contentTouchScroll: 25,
193                documentTouchScroll: !0,
194                advanced: {
195                    autoScrollOnFocus: "input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",
196                    updateOnContentResize: !0,
197                    updateOnImageLoad: "auto",
198                    autoUpdateTimeout: 60
199                },
200                theme: "light",
201                callbacks: {
202                    onTotalScrollOffset: 0,
203                    onTotalScrollBackOffset: 0,
204                    alwaysTriggerOffsets: !0
205                }
206            },
207            r = 0,
208            l = {},
209            s = window.attachEvent && !window.addEventListener ? 1 : 0,
210            c = !1,
211            d = ["mCSB_dragger_onDrag", "mCSB_scrollTools_onDrag", "mCS_img_loaded", "mCS_disabled", "mCS_destroyed", "mCS_no_scrollbar", "mCS-autoHide", "mCS-dir-rtl", "mCS_no_scrollbar_y", "mCS_no_scrollbar_x", "mCS_y_hidden", "mCS_x_hidden", "mCSB_draggerContainer", "mCSB_buttonUp", "mCSB_buttonDown", "mCSB_buttonLeft", "mCSB_buttonRight"],
212            u = {
213                init: function(t) {
214                    var t = e.extend(!0, {}, i, t),
215                        o = f.call(this);
216                    if (t.live) {
217                        var s = t.liveSelector || this.selector || n,
218                            c = e(s);
219                        if ("off" === t.live) return void m(s);
220                        l[s] = setTimeout(function() {
221                            c.mCustomScrollbar(t), "once" === t.live && c.length && m(s)
222                        }, 500)
223                    } else m(s);
224                    return t.setWidth = t.set_width ? t.set_width : t.setWidth, t.setHeight = t.set_height ? t.set_height : t.setHeight, t.axis = t.horizontalScroll ? "x" : p(t.axis), t.scrollInertia = t.scrollInertia > 0 && t.scrollInertia < 17 ? 17 : t.scrollInertia, "object" != typeof t.mouseWheel && 1 == t.mouseWheel && (t.mouseWheel = {
225                        enable: !0,
226                        scrollAmount: "auto",
227                        axis: "y",
228                        preventDefault: !1,
229                        deltaFactor: "auto",
230                        normalizeDelta: !1,
231                        invert: !1
232                    }), t.mouseWheel.scrollAmount = t.mouseWheelPixels ? t.mouseWheelPixels : t.mouseWheel.scrollAmount, t.mouseWheel.normalizeDelta = t.advanced.normalizeMouseWheelDelta ? t.advanced.normalizeMouseWheelDelta : t.mouseWheel.normalizeDelta, t.scrollButtons.scrollType = g(t.scrollButtons.scrollType), h(t), e(o).each(function() {
233                        var o = e(this);
234                        if (!o.data(a)) {
235                            o.data(a, {
236                                idx: ++r,
237                                opt: t,
238                                scrollRatio: {
239                                    y: null,
240                                    x: null
241                                },
242                                overflowed: null,
243                                contentReset: {
244                                    y: null,
245                                    x: null
246                                },
247                                bindEvents: !1,
248                                tweenRunning: !1,
249                                sequential: {},
250                                langDir: o.css("direction"),
251                                cbOffsets: null,
252                                trigger: null,
253                                poll: {
254                                    size: {
255                                        o: 0,
256                                        n: 0
257                                    },
258                                    img: {
259                                        o: 0,
260                                        n: 0
261                                    },
262                                    change: {
263                                        o: 0,
264                                        n: 0
265                                    }
266                                }
267                            });
268                            var n = o.data(a),
269                                i = n.opt,
270                                l = o.data("mcs-axis"),
271                                s = o.data("mcs-scrollbar-position"),
272                                c = o.data("mcs-theme");
273                            l && (i.axis = l), s && (i.scrollbarPosition = s), c && (i.theme = c, h(i)), v.call(this), n && i.callbacks.onCreate && "function" == typeof i.callbacks.onCreate && i.callbacks.onCreate.call(this), e("#mCSB_" + n.idx + "_container img:not(." + d[2] + ")").addClass(d[2]), u.update.call(null, o)
274                        }
275                    })
276                },
277                update: function(t, o) {
278                    var n = t || f.call(this);
279                    return e(n).each(function() {
280                        var t = e(this);
281                        if (t.data(a)) {
282                            var n = t.data(a),
283                                i = n.opt,
284                                r = e("#mCSB_" + n.idx + "_container"),
285                                l = e("#mCSB_" + n.idx),
286                                s = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")];
287                            if (!r.length) return;
288                            n.tweenRunning && Q(t), o && n && i.callbacks.onBeforeUpdate && "function" == typeof i.callbacks.onBeforeUpdate && i.callbacks.onBeforeUpdate.call(this), t.hasClass(d[3]) && t.removeClass(d[3]), t.hasClass(d[4]) && t.removeClass(d[4]), l.css("max-height", "none"), l.height() !== t.height() && l.css("max-height", t.height()), _.call(this), "y" === i.axis || i.advanced.autoExpandHorizontalScroll || r.css("width", x(r)), n.overflowed = y.call(this), M.call(this), i.autoDraggerLength && S.call(this), b.call(this), T.call(this);
289                            var c = [Math.abs(r[0].offsetTop), Math.abs(r[0].offsetLeft)];
290                            "x" !== i.axis && (n.overflowed[0] ? s[0].height() > s[0].parent().height() ? B.call(this) : (G(t, c[0].toString(), {
291                                dir: "y",
292                                dur: 0,
293                                overwrite: "none"
294                            }), n.contentReset.y = null) : (B.call(this), "y" === i.axis ? k.call(this) : "yx" === i.axis && n.overflowed[1] && G(t, c[1].toString(), {
295                                dir: "x",
296                                dur: 0,
297                                overwrite: "none"
298                            }))), "y" !== i.axis && (n.overflowed[1] ? s[1].width() > s[1].parent().width() ? B.call(this) : (G(t, c[1].toString(), {
299                                dir: "x",
300                                dur: 0,
301                                overwrite: "none"
302                            }), n.contentReset.x = null) : (B.call(this), "x" === i.axis ? k.call(this) : "yx" === i.axis && n.overflowed[0] && G(t, c[0].toString(), {
303                                dir: "y",
304                                dur: 0,
305                                overwrite: "none"
306                            }))), o && n && (2 === o && i.callbacks.onImageLoad && "function" == typeof i.callbacks.onImageLoad ? i.callbacks.onImageLoad.call(this) : 3 === o && i.callbacks.onSelectorChange && "function" == typeof i.callbacks.onSelectorChange ? i.callbacks.onSelectorChange.call(this) : i.callbacks.onUpdate && "function" == typeof i.callbacks.onUpdate && i.callbacks.onUpdate.call(this)), N.call(this)
307                        }
308                    })
309                },
310                scrollTo: function(t, o) {
311                    if ("undefined" != typeof t && null != t) {
312                        var n = f.call(this);
313                        return e(n).each(function() {
314                            var n = e(this);
315                            if (n.data(a)) {
316                                var i = n.data(a),
317                                    r = i.opt,
318                                    l = {
319                                        trigger: "external",
320                                        scrollInertia: r.scrollInertia,
321                                        scrollEasing: "mcsEaseInOut",
322                                        moveDragger: !1,
323                                        timeout: 60,
324                                        callbacks: !0,
325                                        onStart: !0,
326                                        onUpdate: !0,
327                                        onComplete: !0
328                                    },
329                                    s = e.extend(!0, {}, l, o),
330                                    c = Y.call(this, t),
331                                    d = s.scrollInertia > 0 && s.scrollInertia < 17 ? 17 : s.scrollInertia;
332                                c[0] = X.call(this, c[0], "y"), c[1] = X.call(this, c[1], "x"), s.moveDragger && (c[0] *= i.scrollRatio.y, c[1] *= i.scrollRatio.x), s.dur = ne() ? 0 : d, setTimeout(function() {
333                                    null !== c[0] && "undefined" != typeof c[0] && "x" !== r.axis && i.overflowed[0] && (s.dir = "y", s.overwrite = "all", G(n, c[0].toString(), s)), null !== c[1] && "undefined" != typeof c[1] && "y" !== r.axis && i.overflowed[1] && (s.dir = "x", s.overwrite = "none", G(n, c[1].toString(), s))
334                                }, s.timeout)
335                            }
336                        })
337                    }
338                },
339                stop: function() {
340                    var t = f.call(this);
341                    return e(t).each(function() {
342                        var t = e(this);
343                        t.data(a) && Q(t)
344                    })
345                },
346                disable: function(t) {
347                    var o = f.call(this);
348                    return e(o).each(function() {
349                        var o = e(this);
350                        if (o.data(a)) {
351                            o.data(a);
352                            N.call(this, "remove"), k.call(this), t && B.call(this), M.call(this, !0), o.addClass(d[3])
353                        }
354                    })
355                },
356                destroy: function() {
357                    var t = f.call(this);
358                    return e(t).each(function() {
359                        var n = e(this);
360                        if (n.data(a)) {
361                            var i = n.data(a),
362                                r = i.opt,
363                                l = e("#mCSB_" + i.idx),
364                                s = e("#mCSB_" + i.idx + "_container"),
365                                c = e(".mCSB_" + i.idx + "_scrollbar");
366                            r.live && m(r.liveSelector || e(t).selector), N.call(this, "remove"), k.call(this), B.call(this), n.removeData(a), $(this, "mcs"), c.remove(), s.find("img." + d[2]).removeClass(d[2]), l.replaceWith(s.contents()), n.removeClass(o + " _" + a + "_" + i.idx + " " + d[6] + " " + d[7] + " " + d[5] + " " + d[3]).addClass(d[4])
367                        }
368                    })
369                }
370            },
371            f = function() {
372                return "object" != typeof e(this) || e(this).length < 1 ? n : this
373            },
374            h = function(t) {
375                var o = ["rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark"],
376                    a = ["rounded-dots", "rounded-dots-dark", "3d", "3d-dark", "3d-thick", "3d-thick-dark", "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark"],
377                    n = ["minimal", "minimal-dark"],
378                    i = ["minimal", "minimal-dark"],
379                    r = ["minimal", "minimal-dark"];
380                t.autoDraggerLength = e.inArray(t.theme, o) > -1 ? !1 : t.autoDraggerLength, t.autoExpandScrollbar = e.inArray(t.theme, a) > -1 ? !1 : t.autoExpandScrollbar, t.scrollButtons.enable = e.inArray(t.theme, n) > -1 ? !1 : t.scrollButtons.enable, t.autoHideScrollbar = e.inArray(t.theme, i) > -1 ? !0 : t.autoHideScrollbar, t.scrollbarPosition = e.inArray(t.theme, r) > -1 ? "outside" : t.scrollbarPosition
381            },
382            m = function(e) {
383                l[e] && (clearTimeout(l[e]), $(l, e))
384            },
385            p = function(e) {
386                return "yx" === e || "xy" === e || "auto" === e ? "yx" : "x" === e || "horizontal" === e ? "x" : "y"
387            },
388            g = function(e) {
389                return "stepped" === e || "pixels" === e || "step" === e || "click" === e ? "stepped" : "stepless"
390            },
391            v = function() {
392                var t = e(this),
393                    n = t.data(a),
394                    i = n.opt,
395                    r = i.autoExpandScrollbar ? " " + d[1] + "_expand" : "",
396                    l = ["<div id='mCSB_" + n.idx + "_scrollbar_vertical' class='mCSB_scrollTools mCSB_" + n.idx + "_scrollbar mCS-" + i.theme + " mCSB_scrollTools_vertical" + r + "'><div class='" + d[12] + "'><div id='mCSB_" + n.idx + "_dragger_vertical' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>", "<div id='mCSB_" + n.idx + "_scrollbar_horizontal' class='mCSB_scrollTools mCSB_" + n.idx + "_scrollbar mCS-" + i.theme + " mCSB_scrollTools_horizontal" + r + "'><div class='" + d[12] + "'><div id='mCSB_" + n.idx + "_dragger_horizontal' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar' /></div><div class='mCSB_draggerRail' /></div></div>"],
397                    s = "yx" === i.axis ? "mCSB_vertical_horizontal" : "x" === i.axis ? "mCSB_horizontal" : "mCSB_vertical",
398                    c = "yx" === i.axis ? l[0] + l[1] : "x" === i.axis ? l[1] : l[0],
399                    u = "yx" === i.axis ? "<div id='mCSB_" + n.idx + "_container_wrapper' class='mCSB_container_wrapper' />" : "",
400                    f = i.autoHideScrollbar ? " " + d[6] : "",
401                    h = "x" !== i.axis && "rtl" === n.langDir ? " " + d[7] : "";
402                i.setWidth && t.css("width", i.setWidth), i.setHeight && t.css("height", i.setHeight), i.setLeft = "y" !== i.axis && "rtl" === n.langDir ? "989999px" : i.setLeft, t.addClass(o + " _" + a + "_" + n.idx + f + h).wrapInner("<div id='mCSB_" + n.idx + "' class='mCustomScrollBox mCS-" + i.theme + " " + s + "'><div id='mCSB_" + n.idx + "_container' class='mCSB_container' style='position:relative; top:" + i.setTop + "; left:" + i.setLeft + ";' dir='" + n.langDir + "' /></div>");
403                var m = e("#mCSB_" + n.idx),
404                    p = e("#mCSB_" + n.idx + "_container");
405                "y" === i.axis || i.advanced.autoExpandHorizontalScroll || p.css("width", x(p)), "outside" === i.scrollbarPosition ? ("static" === t.css("position") && t.css("position", "relative"), t.css("overflow", "visible"), m.addClass("mCSB_outside").after(c)) : (m.addClass("mCSB_inside").append(c), p.wrap(u)), w.call(this);
406                var g = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")];
407                g[0].css("min-height", g[0].height()), g[1].css("min-width", g[1].width())
408            },
409            x = function(t) {
410                var o = [t[0].scrollWidth, Math.max.apply(Math, t.children().map(function() {
411                        return e(this).outerWidth(!0)
412                    }).get())],
413                    a = t.parent().width();
414                return o[0] > a ? o[0] : o[1] > a ? o[1] : "100%"
415            },
416            _ = function() {
417                var t = e(this),
418                    o = t.data(a),
419                    n = o.opt,
420                    i = e("#mCSB_" + o.idx + "_container");
421                if (n.advanced.autoExpandHorizontalScroll && "y" !== n.axis) {
422                    i.css({
423                        width: "auto",
424                        "min-width": 0,
425                        "overflow-x": "scroll"
426                    });
427                    var r = Math.ceil(i[0].scrollWidth);
428                    3 === n.advanced.autoExpandHorizontalScroll || 2 !== n.advanced.autoExpandHorizontalScroll && r > i.parent().width() ? i.css({
429                        width: r,
430                        "min-width": "100%",
431                        "overflow-x": "inherit"
432                    }) : i.css({
433                        "overflow-x": "inherit",
434                        position: "absolute"
435                    }).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({
436                        width: Math.ceil(i[0].getBoundingClientRect().right + .4) - Math.floor(i[0].getBoundingClientRect().left),
437                        "min-width": "100%",
438                        position: "relative"
439                    }).unwrap()
440                }
441            },
442            w = function() {
443                var t = e(this),
444                    o = t.data(a),
445                    n = o.opt,
446                    i = e(".mCSB_" + o.idx + "_scrollbar:first"),
447                    r = oe(n.scrollButtons.tabindex) ? "tabindex='" + n.scrollButtons.tabindex + "'" : "",
448                    l = ["<a href='#' class='" + d[13] + "' " + r + " />", "<a href='#' class='" + d[14] + "' " + r + " />", "<a href='#' class='" + d[15] + "' " + r + " />", "<a href='#' class='" + d[16] + "' " + r + " />"],
449                    s = ["x" === n.axis ? l[2] : l[0], "x" === n.axis ? l[3] : l[1], l[2], l[3]];
450                n.scrollButtons.enable && i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3])
451            },
452            S = function() {
453                var t = e(this),
454                    o = t.data(a),
455                    n = e("#mCSB_" + o.idx),
456                    i = e("#mCSB_" + o.idx + "_container"),
457                    r = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")],
458                    l = [n.height() / i.outerHeight(!1), n.width() / i.outerWidth(!1)],
459                    c = [parseInt(r[0].css("min-height")), Math.round(l[0] * r[0].parent().height()), parseInt(r[1].css("min-width")), Math.round(l[1] * r[1].parent().width())],
460                    d = s && c[1] < c[0] ? c[0] : c[1],
461                    u = s && c[3] < c[2] ? c[2] : c[3];
462                r[0].css({
463                    height: d,
464                    "max-height": r[0].parent().height() - 10
465                }).find(".mCSB_dragger_bar").css({
466                    "line-height": c[0] + "px"
467                }), r[1].css({
468                    width: u,
469                    "max-width": r[1].parent().width() - 10
470                })
471            },
472            b = function() {
473                var t = e(this),
474                    o = t.data(a),
475                    n = e("#mCSB_" + o.idx),
476                    i = e("#mCSB_" + o.idx + "_container"),
477                    r = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")],
478                    l = [i.outerHeight(!1) - n.height(), i.outerWidth(!1) - n.width()],
479                    s = [l[0] / (r[0].parent().height() - r[0].height()), l[1] / (r[1].parent().width() - r[1].width())];
480                o.scrollRatio = {
481                    y: s[0],
482                    x: s[1]
483                }
484            },
485            C = function(e, t, o) {
486                var a = o ? d[0] + "_expanded" : "",
487                    n = e.closest(".mCSB_scrollTools");
488                "active" === t ? (e.toggleClass(d[0] + " " + a), n.toggleClass(d[1]), e[0]._draggable = e[0]._draggable ? 0 : 1) : e[0]._draggable || ("hide" === t ? (e.removeClass(d[0]), n.removeClass(d[1])) : (e.addClass(d[0]), n.addClass(d[1])))
489            },
490            y = function() {
491                var t = e(this),
492                    o = t.data(a),
493                    n = e("#mCSB_" + o.idx),
494                    i = e("#mCSB_" + o.idx + "_container"),
495                    r = null == o.overflowed ? i.height() : i.outerHeight(!1),
496                    l = null == o.overflowed ? i.width() : i.outerWidth(!1),
497                    s = i[0].scrollHeight,
498                    c = i[0].scrollWidth;
499                return s > r && (r = s), c > l && (l = c), [r > n.height(), l > n.width()]
500            },
501            B = function() {
502                var t = e(this),
503                    o = t.data(a),
504                    n = o.opt,
505                    i = e("#mCSB_" + o.idx),
506                    r = e("#mCSB_" + o.idx + "_container"),
507                    l = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")];
508                if (Q(t), ("x" !== n.axis && !o.overflowed[0] || "y" === n.axis && o.overflowed[0]) && (l[0].add(r).css("top", 0), G(t, "_resetY")), "y" !== n.axis && !o.overflowed[1] || "x" === n.axis && o.overflowed[1]) {
509                    var s = dx = 0;
510                    "rtl" === o.langDir && (s = i.width() - r.outerWidth(!1), dx = Math.abs(s / o.scrollRatio.x)), r.css("left", s), l[1].css("left", dx), G(t, "_resetX")
511                }
512            },
513            T = function() {
514                function t() {
515                    r = setTimeout(function() {
516                        e.event.special.mousewheel ? (clearTimeout(r), W.call(o[0])) : t()
517                    }, 100)
518                }
519                var o = e(this),
520                    n = o.data(a),
521                    i = n.opt;
522                if (!n.bindEvents) {
523                    if (I.call(this), i.contentTouchScroll && D.call(this), E.call(this), i.mouseWheel.enable) {
524                        var r;
525                        t()
526                    }
527                    P.call(this), U.call(this), i.advanced.autoScrollOnFocus && H.call(this), i.scrollButtons.enable && F.call(this), i.keyboard.enable && q.call(this), n.bindEvents = !0
528                }
529            },
530            k = function() {
531                var t = e(this),
532                    o = t.data(a),
533                    n = o.opt,
534                    i = a + "_" + o.idx,
535                    r = ".mCSB_" + o.idx + "_scrollbar",
536                    l = e("#mCSB_" + o.idx + ",#mCSB_" + o.idx + "_container,#mCSB_" + o.idx + "_container_wrapper," + r + " ." + d[12] + ",#mCSB_" + o.idx + "_dragger_vertical,#mCSB_" + o.idx + "_dragger_horizontal," + r + ">a"),
537                    s = e("#mCSB_" + o.idx + "_container");
538                n.advanced.releaseDraggableSelectors && l.add(e(n.advanced.releaseDraggableSelectors)), n.advanced.extraDraggableSelectors && l.add(e(n.advanced.extraDraggableSelectors)), o.bindEvents && (e(document).add(e(!A() || top.document)).unbind("." + i), l.each(function() {
539                    e(this).unbind("." + i)
540                }), clearTimeout(t[0]._focusTimeout), $(t[0], "_focusTimeout"), clearTimeout(o.sequential.step), $(o.sequential, "step"), clearTimeout(s[0].onCompleteTimeout), $(s[0], "onCompleteTimeout"), o.bindEvents = !1)
541            },
542            M = function(t) {
543                var o = e(this),
544                    n = o.data(a),
545                    i = n.opt,
546                    r = e("#mCSB_" + n.idx + "_container_wrapper"),
547                    l = r.length ? r : e("#mCSB_" + n.idx + "_container"),
548                    s = [e("#mCSB_" + n.idx + "_scrollbar_vertical"), e("#mCSB_" + n.idx + "_scrollbar_horizontal")],
549                    c = [s[0].find(".mCSB_dragger"), s[1].find(".mCSB_dragger")];
550                "x" !== i.axis && (n.overflowed[0] && !t ? (s[0].add(c[0]).add(s[0].children("a")).css("display", "block"), l.removeClass(d[8] + " " + d[10])) : (i.alwaysShowScrollbar ? (2 !== i.alwaysShowScrollbar && c[0].css("display", "none"), l.removeClass(d[10])) : (s[0].css("display", "none"), l.addClass(d[10])), l.addClass(d[8]))), "y" !== i.axis && (n.overflowed[1] && !t ? (s[1].add(c[1]).add(s[1].children("a")).css("display", "block"), l.removeClass(d[9] + " " + d[11])) : (i.alwaysShowScrollbar ? (2 !== i.alwaysShowScrollbar && c[1].css("display", "none"), l.removeClass(d[11])) : (s[1].css("display", "none"), l.addClass(d[11])), l.addClass(d[9]))), n.overflowed[0] || n.overflowed[1] ? o.removeClass(d[5]) : o.addClass(d[5])
551            },
552            O = function(t) {
553                var o = t.type,
554                    a = t.target.ownerDocument !== document && null !== frameElement ? [e(frameElement).offset().top, e(frameElement).offset().left] : null,
555                    n = A() && t.target.ownerDocument !== top.document && null !== frameElement ? [e(t.view.frameElement).offset().top, e(t.view.frameElement).offset().left] : [0, 0];
556                switch (o) {
557                    case "pointerdown":
558                    case "MSPointerDown":
559                    case "pointermove":
560                    case "MSPointerMove":
561                    case "pointerup":
562                    case "MSPointerUp":
563                        return a ? [t.originalEvent.pageY - a[0] + n[0], t.originalEvent.pageX - a[1] + n[1], !1] : [t.originalEvent.pageY, t.originalEvent.pageX, !1];
564                    case "touchstart":
565                    case "touchmove":
566                    case "touchend":
567                        var i = t.originalEvent.touches[0] || t.originalEvent.changedTouches[0],
568                            r = t.originalEvent.touches.length || t.originalEvent.changedTouches.length;
569                        return t.target.ownerDocument !== document ? [i.screenY, i.screenX, r > 1] : [i.pageY, i.pageX, r > 1];
570                    default:
571                        return a ? [t.pageY - a[0] + n[0], t.pageX - a[1] + n[1], !1] : [t.pageY, t.pageX, !1]
572                }
573            },
574            I = function() {
575                function t(e, t, a, n) {
576                    if (h[0].idleTimer = d.scrollInertia < 233 ? 250 : 0, o.attr("id") === f[1]) var i = "x",
577                        s = (o[0].offsetLeft - t + n) * l.scrollRatio.x;
578                    else var i = "y",
579                        s = (o[0].offsetTop - e + a) * l.scrollRatio.y;
580                    G(r, s.toString(), {
581                        dir: i,
582                        drag: !0
583                    })
584                }
585                var o, n, i, r = e(this),
586                    l = r.data(a),
587                    d = l.opt,
588                    u = a + "_" + l.idx,
589                    f = ["mCSB_" + l.idx + "_dragger_vertical", "mCSB_" + l.idx + "_dragger_horizontal"],
590                    h = e("#mCSB_" + l.idx + "_container"),
591                    m = e("#" + f[0] + ",#" + f[1]),
592                    p = d.advanced.releaseDraggableSelectors ? m.add(e(d.advanced.releaseDraggableSelectors)) : m,
593                    g = d.advanced.extraDraggableSelectors ? e(!A() || top.document).add(e(d.advanced.extraDraggableSelectors)) : e(!A() || top.document);
594                m.bind("contextmenu." + u, function(e) {
595                    e.preventDefault()
596                }).bind("mousedown." + u + " touchstart." + u + " pointerdown." + u + " MSPointerDown." + u, function(t) {
597                    if (t.stopImmediatePropagation(), t.preventDefault(), ee(t)) {
598                        c = !0, s && (document.onselectstart = function() {
599                            return !1
600                        }), L.call(h, !1), Q(r), o = e(this);
601                        var a = o.offset(),
602                            l = O(t)[0] - a.top,
603                            u = O(t)[1] - a.left,
604                            f = o.height() + a.top,
605                            m = o.width() + a.left;
606                        f > l && l > 0 && m > u && u > 0 && (n = l, i = u), C(o, "active", d.autoExpandScrollbar)
607                    }
608                }).bind("touchmove." + u, function(e) {
609                    e.stopImmediatePropagation(), e.preventDefault();
610                    var a = o.offset(),
611                        r = O(e)[0] - a.top,
612                        l = O(e)[1] - a.left;
613                    t(n, i, r, l)
614                }), e(document).add(g).bind("mousemove." + u + " pointermove." + u + " MSPointerMove." + u, function(e) {
615                    if (o) {
616                        var a = o.offset(),
617                            r = O(e)[0] - a.top,
618                            l = O(e)[1] - a.left;
619                        if (n === r && i === l) return;
620                        t(n, i, r, l)
621                    }
622                }).add(p).bind("mouseup." + u + " touchend." + u + " pointerup." + u + " MSPointerUp." + u, function() {
623                    o && (C(o, "active", d.autoExpandScrollbar), o = null), c = !1, s && (document.onselectstart = null), L.call(h, !0)
624                })
625            },
626            D = function() {
627                function o(e) {
628                    if (!te(e) || c || O(e)[2]) return void(t = 0);
629                    t = 1, b = 0, C = 0, d = 1, y.removeClass("mCS_touch_action");
630                    var o = I.offset();
631                    u = O(e)[0] - o.top, f = O(e)[1] - o.left, z = [O(e)[0], O(e)[1]]
632                }
633
634                function n(e) {
635                    if (te(e) && !c && !O(e)[2] && (T.documentTouchScroll || e.preventDefault(), e.stopImmediatePropagation(), (!C || b) && d)) {
636                        g = K();
637                        var t = M.offset(),
638                            o = O(e)[0] - t.top,
639                            a = O(e)[1] - t.left,
640                            n = "mcsLinearOut";
641                        if (E.push(o), W.push(a), z[2] = Math.abs(O(e)[0] - z[0]), z[3] = Math.abs(O(e)[1] - z[1]), B.overflowed[0]) var i = D[0].parent().height() - D[0].height(),
642                            r = u - o > 0 && o - u > -(i * B.scrollRatio.y) && (2 * z[3] < z[2] || "yx" === T.axis);
643                        if (B.overflowed[1]) var l = D[1].parent().width() - D[1].width(),
644                            h = f - a > 0 && a - f > -(l * B.scrollRatio.x) && (2 * z[2] < z[3] || "yx" === T.axis);
645                        r || h ? (U || e.preventDefault(), b = 1) : (C = 1, y.addClass("mCS_touch_action")), U && e.preventDefault(), w = "yx" === T.axis ? [u - o, f - a] : "x" === T.axis ? [null, f - a] : [u - o, null], I[0].idleTimer = 250, B.overflowed[0] && s(w[0], R, n, "y", "all", !0), B.overflowed[1] && s(w[1], R, n, "x", L, !0)
646                    }
647                }
648
649                function i(e) {
650                    if (!te(e) || c || O(e)[2]) return void(t = 0);
651                    t = 1, e.stopImmediatePropagation(), Q(y), p = K();
652                    var o = M.offset();
653                    h = O(e)[0] - o.top, m = O(e)[1] - o.left, E = [], W = []
654                }
655
656                function r(e) {
657                    if (te(e) && !c && !O(e)[2]) {
658                        d = 0, e.stopImmediatePropagation(), b = 0, C = 0, v = K();
659                        var t = M.offset(),
660                            o = O(e)[0] - t.top,
661                            a = O(e)[1] - t.left;
662                        if (!(v - g > 30)) {
663                            _ = 1e3 / (v - p);
664                            var n = "mcsEaseOut",
665                                i = 2.5 > _,
666                                r = i ? [E[E.length - 2], W[W.length - 2]] : [0, 0];
667                            x = i ? [o - r[0], a - r[1]] : [o - h, a - m];
668                            var u = [Math.abs(x[0]), Math.abs(x[1])];
669                            _ = i ? [Math.abs(x[0] / 4), Math.abs(x[1] / 4)] : [_, _];
670                            var f = [Math.abs(I[0].offsetTop) - x[0] * l(u[0] / _[0], _[0]), Math.abs(I[0].offsetLeft) - x[1] * l(u[1] / _[1], _[1])];
671                            w = "yx" === T.axis ? [f[0], f[1]] : "x" === T.axis ? [null, f[1]] : [f[0], null], S = [4 * u[0] + T.scrollInertia, 4 * u[1] + T.scrollInertia];
672                            var y = parseInt(T.contentTouchScroll) || 0;
673                            w[0] = u[0] > y ? w[0] : 0, w[1] = u[1] > y ? w[1] : 0, B.overflowed[0] && s(w[0], S[0], n, "y", L, !1), B.overflowed[1] && s(w[1], S[1], n, "x", L, !1)
674                        }
675                    }
676                }
677
678                function l(e, t) {
679                    var o = [1.5 * t, 2 * t, t / 1.5, t / 2];
680                    return e > 90 ? t > 4 ? o[0] : o[3] : e > 60 ? t > 3 ? o[3] : o[2] : e > 30 ? t > 8 ? o[1] : t > 6 ? o[0] : t > 4 ? t : o[2] : t > 8 ? t : o[3]
681                }
682
683                function s(e, t, o, a, n, i) {
684                    e && G(y, e.toString(), {
685                        dur: t,
686                        scrollEasing: o,
687                        dir: a,
688                        overwrite: n,
689                        drag: i
690                    })
691                }
692                var d, u, f, h, m, p, g, v, x, _, w, S, b, C, y = e(this),
693                    B = y.data(a),
694                    T = B.opt,
695                    k = a + "_" + B.idx,
696                    M = e("#mCSB_" + B.idx),
697                    I = e("#mCSB_" + B.idx + "_container"),
698                    D = [e("#mCSB_" + B.idx + "_dragger_vertical"), e("#mCSB_" + B.idx + "_dragger_horizontal")],
699                    E = [],
700                    W = [],
701                    R = 0,
702                    L = "yx" === T.axis ? "none" : "all",
703                    z = [],
704                    P = I.find("iframe"),
705                    H = ["touchstart." + k + " pointerdown." + k + " MSPointerDown." + k, "touchmove." + k + " pointermove." + k + " MSPointerMove." + k, "touchend." + k + " pointerup." + k + " MSPointerUp." + k],
706                    U = void 0 !== document.body.style.touchAction && "" !== document.body.style.touchAction;
707                I.bind(H[0], function(e) {
708                    o(e)
709                }).bind(H[1], function(e) {
710                    n(e)
711                }), M.bind(H[0], function(e) {
712                    i(e)
713                }).bind(H[2], function(e) {
714                    r(e)
715                }), P.length && P.each(function() {
716                    e(this).bind("load", function() {
717                        A(this) && e(this.contentDocument || this.contentWindow.document).bind(H[0], function(e) {
718                            o(e), i(e)
719                        }).bind(H[1], function(e) {
720                            n(e)
721                        }).bind(H[2], function(e) {
722                            r(e)
723                        })
724                    })
725                })
726            },
727            E = function() {
728                function o() {
729                    return window.getSelection ? window.getSelection().toString() : document.selection && "Control" != document.selection.type ? document.selection.createRange().text : 0
730                }
731
732                function n(e, t, o) {
733                    d.type = o && i ? "stepped" : "stepless", d.scrollAmount = 10, j(r, e, t, "mcsLinearOut", o ? 60 : null)
734                }
735                var i, r = e(this),
736                    l = r.data(a),
737                    s = l.opt,
738                    d = l.sequential,
739                    u = a + "_" + l.idx,
740                    f = e("#mCSB_" + l.idx + "_container"),
741                    h = f.parent();
742                f.bind("mousedown." + u, function() {
743                    t || i || (i = 1, c = !0)
744                }).add(document).bind("mousemove." + u, function(e) {
745                    if (!t && i && o()) {
746                        var a = f.offset(),
747                            r = O(e)[0] - a.top + f[0].offsetTop,
748                            c = O(e)[1] - a.left + f[0].offsetLeft;
749                        r > 0 && r < h.height() && c > 0 && c < h.width() ? d.step && n("off", null, "stepped") : ("x" !== s.axis && l.overflowed[0] && (0 > r ? n("on", 38) : r > h.height() && n("on", 40)), "y" !== s.axis && l.overflowed[1] && (0 > c ? n("on", 37) : c > h.width() && n("on", 39)))
750                    }
751                }).bind("mouseup." + u + " dragend." + u, function() {
752                    t || (i && (i = 0, n("off", null)), c = !1)
753                })
754            },
755            W = function() {
756                function t(t, a) {
757                    if (Q(o), !z(o, t.target)) {
758                        var r = "auto" !== i.mouseWheel.deltaFactor ? parseInt(i.mouseWheel.deltaFactor) : s && t.deltaFactor < 100 ? 100 : t.deltaFactor || 100,
759                            d = i.scrollInertia;
760                        if ("x" === i.axis || "x" === i.mouseWheel.axis) var u = "x",
761                            f = [Math.round(r * n.scrollRatio.x), parseInt(i.mouseWheel.scrollAmount)],
762                            h = "auto" !== i.mouseWheel.scrollAmount ? f[1] : f[0] >= l.width() ? .9 * l.width() : f[0],
763                            m = Math.abs(e("#mCSB_" + n.idx + "_container")[0].offsetLeft),
764                            p = c[1][0].offsetLeft,
765                            g = c[1].parent().width() - c[1].width(),
766                            v = "y" === i.mouseWheel.axis ? t.deltaY || a : t.deltaX;
767                        else var u = "y",
768                            f = [Math.round(r * n.scrollRatio.y), parseInt(i.mouseWheel.scrollAmount)],
769                            h = "auto" !== i.mouseWheel.scrollAmount ? f[1] : f[0] >= l.height() ? .9 * l.height() : f[0],
770                            m = Math.abs(e("#mCSB_" + n.idx + "_container")[0].offsetTop),
771                            p = c[0][0].offsetTop,
772                            g = c[0].parent().height() - c[0].height(),
773                            v = t.deltaY || a;
774                        "y" === u && !n.overflowed[0] || "x" === u && !n.overflowed[1] || ((i.mouseWheel.invert || t.webkitDirectionInvertedFromDevice) && (v = -v), i.mouseWheel.normalizeDelta && (v = 0 > v ? -1 : 1), (v > 0 && 0 !== p || 0 > v && p !== g || i.mouseWheel.preventDefault) && (t.stopImmediatePropagation(), t.preventDefault()), t.deltaFactor < 5 && !i.mouseWheel.normalizeDelta && (h = t.deltaFactor, d = 17), G(o, (m - v * h).toString(), {
775                            dir: u,
776                            dur: d
777                        }))
778                    }
779                }
780                if (e(this).data(a)) {
781                    var o = e(this),
782                        n = o.data(a),
783                        i = n.opt,
784                        r = a + "_" + n.idx,
785                        l = e("#mCSB_" + n.idx),
786                        c = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")],
787                        d = e("#mCSB_" + n.idx + "_container").find("iframe");
788                    d.length && d.each(function() {
789                        e(this).bind("load", function() {
790                            A(this) && e(this.contentDocument || this.contentWindow.document).bind("mousewheel." + r, function(e, o) {
791                                t(e, o)
792                            })
793                        })
794                    }), l.bind("mousewheel." + r, function(e, o) {
795                        t(e, o)
796                    })
797                }
798            },
799            R = new Object,
800            A = function(t) {
801                var o = !1,
802                    a = !1,
803                    n = null;
804                if (void 0 === t ? a = "#empty" : void 0 !== e(t).attr("id") && (a = e(t).attr("id")), a !== !1 && void 0 !== R[a]) return R[a];
805                if (t) {
806                    try {
807                        var i = t.contentDocument || t.contentWindow.document;
808                        n = i.body.innerHTML
809                    } catch (r) {}
810                    o = null !== n
811                } else {
812                    try {
813                        var i = top.document;
814                        n = i.body.innerHTML
815                    } catch (r) {}
816                    o = null !== n
817                }
818                return a !== !1 && (R[a] = o), o
819            },
820            L = function(e) {
821                var t = this.find("iframe");
822                if (t.length) {
823                    var o = e ? "auto" : "none";
824                    t.css("pointer-events", o)
825                }
826            },
827            z = function(t, o) {
828                var n = o.nodeName.toLowerCase(),
829                    i = t.data(a).opt.mouseWheel.disableOver,
830                    r = ["select", "textarea"];
831                return e.inArray(n, i) > -1 && !(e.inArray(n, r) > -1 && !e(o).is(":focus"))
832            },
833            P = function() {
834                var t, o = e(this),
835                    n = o.data(a),
836                    i = a + "_" + n.idx,
837                    r = e("#mCSB_" + n.idx + "_container"),
838                    l = r.parent(),
839                    s = e(".mCSB_" + n.idx + "_scrollbar ." + d[12]);
840                s.bind("mousedown." + i + " touchstart." + i + " pointerdown." + i + " MSPointerDown." + i, function(o) {
841                    c = !0, e(o.target).hasClass("mCSB_dragger") || (t = 1)
842                }).bind("touchend." + i + " pointerup." + i + " MSPointerUp." + i, function() {
843                    c = !1
844                }).bind("click." + i, function(a) {
845                    if (t && (t = 0, e(a.target).hasClass(d[12]) || e(a.target).hasClass("mCSB_draggerRail"))) {
846                        Q(o);
847                        var i = e(this),
848                            s = i.find(".mCSB_dragger");
849                        if (i.parent(".mCSB_scrollTools_horizontal").length > 0) {
850                            if (!n.overflowed[1]) return;
851                            var c = "x",
852                                u = a.pageX > s.offset().left ? -1 : 1,
853                                f = Math.abs(r[0].offsetLeft) - u * (.9 * l.width())
854                        } else {
855                            if (!n.overflowed[0]) return;
856                            var c = "y",
857                                u = a.pageY > s.offset().top ? -1 : 1,
858                                f = Math.abs(r[0].offsetTop) - u * (.9 * l.height())
859                        }
860                        G(o, f.toString(), {
861                            dir: c,
862                            scrollEasing: "mcsEaseInOut"
863                        })
864                    }
865                })
866            },
867            H = function() {
868                var t = e(this),
869                    o = t.data(a),
870                    n = o.opt,
871                    i = a + "_" + o.idx,
872                    r = e("#mCSB_" + o.idx + "_container"),
873                    l = r.parent();
874                r.bind("focusin." + i, function() {
875                    var o = e(document.activeElement),
876                        a = r.find(".mCustomScrollBox").length,
877                        i = 0;
878                    o.is(n.advanced.autoScrollOnFocus) && (Q(t), clearTimeout(t[0]._focusTimeout), t[0]._focusTimer = a ? (i + 17) * a : 0, t[0]._focusTimeout = setTimeout(function() {
879                        var e = [ae(o)[0], ae(o)[1]],
880                            a = [r[0].offsetTop, r[0].offsetLeft],
881                            s = [a[0] + e[0] >= 0 && a[0] + e[0] < l.height() - o.outerHeight(!1), a[1] + e[1] >= 0 && a[0] + e[1] < l.width() - o.outerWidth(!1)],
882                            c = "yx" !== n.axis || s[0] || s[1] ? "all" : "none";
883                        "x" === n.axis || s[0] || G(t, e[0].toString(), {
884                            dir: "y",
885                            scrollEasing: "mcsEaseInOut",
886                            overwrite: c,
887                            dur: i
888                        }), "y" === n.axis || s[1] || G(t, e[1].toString(), {
889                            dir: "x",
890                            scrollEasing: "mcsEaseInOut",
891                            overwrite: c,
892                            dur: i
893                        })
894                    }, t[0]._focusTimer))
895                })
896            },
897            U = function() {
898                var t = e(this),
899                    o = t.data(a),
900                    n = a + "_" + o.idx,
901                    i = e("#mCSB_" + o.idx + "_container").parent();
902                i.bind("scroll." + n, function() {
903                    0 === i.scrollTop() && 0 === i.scrollLeft() || e(".mCSB_" + o.idx + "_scrollbar").css("visibility", "hidden")
904                })
905            },
906            F = function() {
907                var t = e(this),
908                    o = t.data(a),
909                    n = o.opt,
910                    i = o.sequential,
911                    r = a + "_" + o.idx,
912                    l = ".mCSB_" + o.idx + "_scrollbar",
913                    s = e(l + ">a");
914                s.bind("contextmenu." + r, function(e) {
915                    e.preventDefault()
916                }).bind("mousedown." + r + " touchstart." + r + " pointerdown." + r + " MSPointerDown." + r + " mouseup." + r + " touchend." + r + " pointerup." + r + " MSPointerUp." + r + " mouseout." + r + " pointerout." + r + " MSPointerOut." + r + " click." + r, function(a) {
917                    function r(e, o) {
918                        i.scrollAmount = n.scrollButtons.scrollAmount, j(t, e, o)
919                    }
920                    if (a.preventDefault(), ee(a)) {
921                        var l = e(this).attr("class");
922                        switch (i.type = n.scrollButtons.scrollType, a.type) {
923                            case "mousedown":
924                            case "touchstart":
925                            case "pointerdown":
926                            case "MSPointerDown":
927                                if ("stepped" === i.type) return;
928                                c = !0, o.tweenRunning = !1, r("on", l);
929                                break;
930                            case "mouseup":
931                            case "touchend":
932                            case "pointerup":
933                            case "MSPointerUp":
934                            case "mouseout":
935                            case "pointerout":
936                            case "MSPointerOut":
937                                if ("stepped" === i.type) return;
938                                c = !1, i.dir && r("off", l);
939                                break;
940                            case "click":
941                                if ("stepped" !== i.type || o.tweenRunning) return;
942                                r("on", l)
943                        }
944                    }
945                })
946            },
947            q = function() {
948                function t(t) {
949                    function a(e, t) {
950                        r.type = i.keyboard.scrollType, r.scrollAmount = i.keyboard.scrollAmount, "stepped" === r.type && n.tweenRunning || j(o, e, t)
951                    }
952                    switch (t.type) {
953                        case "blur":
954                            n.tweenRunning && r.dir && a("off", null);
955                            break;
956                        case "keydown":
957                        case "keyup":
958                            var l = t.keyCode ? t.keyCode : t.which,
959                                s = "on";
960                            if ("x" !== i.axis && (38 === l || 40 === l) || "y" !== i.axis && (37 === l || 39 === l)) {
961                                if ((38 === l || 40 === l) && !n.overflowed[0] || (37 === l || 39 === l) && !n.overflowed[1]) return;
962                                "keyup" === t.type && (s = "off"), e(document.activeElement).is(u) || (t.preventDefault(), t.stopImmediatePropagation(), a(s, l))
963                            } else if (33 === l || 34 === l) {
964                                if ((n.overflowed[0] || n.overflowed[1]) && (t.preventDefault(), t.stopImmediatePropagation()), "keyup" === t.type) {
965                                    Q(o);
966                                    var f = 34 === l ? -1 : 1;
967                                    if ("x" === i.axis || "yx" === i.axis && n.overflowed[1] && !n.overflowed[0]) var h = "x",
968                                        m = Math.abs(c[0].offsetLeft) - f * (.9 * d.width());
969                                    else var h = "y",
970                                        m = Math.abs(c[0].offsetTop) - f * (.9 * d.height());
971                                    G(o, m.toString(), {
972                                        dir: h,
973                                        scrollEasing: "mcsEaseInOut"
974                                    })
975                                }
976                            } else if ((35 === l || 36 === l) && !e(document.activeElement).is(u) && ((n.overflowed[0] || n.overflowed[1]) && (t.preventDefault(), t.stopImmediatePropagation()), "keyup" === t.type)) {
977                                if ("x" === i.axis || "yx" === i.axis && n.overflowed[1] && !n.overflowed[0]) var h = "x",
978                                    m = 35 === l ? Math.abs(d.width() - c.outerWidth(!1)) : 0;
979                                else var h = "y",
980                                    m = 35 === l ? Math.abs(d.height() - c.outerHeight(!1)) : 0;
981                                G(o, m.toString(), {
982                                    dir: h,
983                                    scrollEasing: "mcsEaseInOut"
984                                })
985                            }
986                    }
987                }
988                var o = e(this),
989                    n = o.data(a),
990                    i = n.opt,
991                    r = n.sequential,
992                    l = a + "_" + n.idx,
993                    s = e("#mCSB_" + n.idx),
994                    c = e("#mCSB_" + n.idx + "_container"),
995                    d = c.parent(),
996                    u = "input,textarea,select,datalist,keygen,[contenteditable='true']",
997                    f = c.find("iframe"),
998                    h = ["blur." + l + " keydown." + l + " keyup." + l];
999                f.length && f.each(function() {
1000                    e(this).bind("load", function() {
1001                        A(this) && e(this.contentDocument || this.contentWindow.document).bind(h[0], function(e) {
1002                            t(e)
1003                        })
1004                    })
1005                }), s.attr("tabindex", "0").bind(h[0], function(e) {
1006                    t(e)
1007                })
1008            },
1009            j = function(t, o, n, i, r) {
1010                function l(e) {
1011                    u.snapAmount && (f.scrollAmount = u.snapAmount instanceof Array ? "x" === f.dir[0] ? u.snapAmount[1] : u.snapAmount[0] : u.snapAmount);
1012                    var o = "stepped" !== f.type,
1013                        a = r ? r : e ? o ? p / 1.5 : g : 1e3 / 60,
1014                        n = e ? o ? 7.5 : 40 : 2.5,
1015                        s = [Math.abs(h[0].offsetTop), Math.abs(h[0].offsetLeft)],
1016                        d = [c.scrollRatio.y > 10 ? 10 : c.scrollRatio.y, c.scrollRatio.x > 10 ? 10 : c.scrollRatio.x],
1017                        m = "x" === f.dir[0] ? s[1] + f.dir[1] * (d[1] * n) : s[0] + f.dir[1] * (d[0] * n),
1018                        v = "x" === f.dir[0] ? s[1] + f.dir[1] * parseInt(f.scrollAmount) : s[0] + f.dir[1] * parseInt(f.scrollAmount),
1019                        x = "auto" !== f.scrollAmount ? v : m,
1020                        _ = i ? i : e ? o ? "mcsLinearOut" : "mcsEaseInOut" : "mcsLinear",
1021                        w = !!e;
1022                    return e && 17 > a && (x = "x" === f.dir[0] ? s[1] : s[0]), G(t, x.toString(), {
1023                        dir: f.dir[0],
1024                        scrollEasing: _,
1025                        dur: a,
1026                        onComplete: w
1027                    }), e ? void(f.dir = !1) : (clearTimeout(f.step), void(f.step = setTimeout(function() {
1028                        l()
1029                    }, a)))
1030                }
1031
1032                function s() {
1033                    clearTimeout(f.step), $(f, "step"), Q(t)
1034                }
1035                var c = t.data(a),
1036                    u = c.opt,
1037                    f = c.sequential,
1038                    h = e("#mCSB_" + c.idx + "_container"),
1039                    m = "stepped" === f.type,
1040                    p = u.scrollInertia < 26 ? 26 : u.scrollInertia,
1041                    g = u.scrollInertia < 1 ? 17 : u.scrollInertia;
1042                switch (o) {
1043                    case "on":
1044                        if (f.dir = [n === d[16] || n === d[15] || 39 === n || 37 === n ? "x" : "y", n === d[13] || n === d[15] || 38 === n || 37 === n ? -1 : 1], Q(t), oe(n) && "stepped" === f.type) return;
1045                        l(m);
1046                        break;
1047                    case "off":
1048                        s(), (m || c.tweenRunning && f.dir) && l(!0)
1049                }
1050            },
1051            Y = function(t) {
1052                var o = e(this).data(a).opt,
1053                    n = [];
1054                return "function" == typeof t && (t = t()), t instanceof Array ? n = t.length > 1 ? [t[0], t[1]] : "x" === o.axis ? [null, t[0]] : [t[0], null] : (n[0] = t.y ? t.y : t.x || "x" === o.axis ? null : t, n[1] = t.x ? t.x : t.y || "y" === o.axis ? null : t), "function" == typeof n[0] && (n[0] = n[0]()), "function" == typeof n[1] && (n[1] = n[1]()), n
1055            },
1056            X = function(t, o) {
1057                if (null != t && "undefined" != typeof t) {
1058                    var n = e(this),
1059                        i = n.data(a),
1060                        r = i.opt,
1061                        l = e("#mCSB_" + i.idx + "_container"),
1062                        s = l.parent(),
1063                        c = typeof t;
1064                    o || (o = "x" === r.axis ? "x" : "y");
1065                    var d = "x" === o ? l.outerWidth(!1) - s.width() : l.outerHeight(!1) - s.height(),
1066                        f = "x" === o ? l[0].offsetLeft : l[0].offsetTop,
1067                        h = "x" === o ? "left" : "top";
1068                    switch (c) {
1069                        case "function":
1070                            return t();
1071                        case "object":
1072                            var m = t.jquery ? t : e(t);
1073                            if (!m.length) return;
1074                            return "x" === o ? ae(m)[1] : ae(m)[0];
1075                        case "string":
1076                        case "number":
1077                            if (oe(t)) return Math.abs(t);
1078                            if (-1 !== t.indexOf("%")) return Math.abs(d * parseInt(t) / 100);
1079                            if (-1 !== t.indexOf("-=")) return Math.abs(f - parseInt(t.split("-=")[1]));
1080                            if (-1 !== t.indexOf("+=")) {
1081                                var p = f + parseInt(t.split("+=")[1]);
1082                                return p >= 0 ? 0 : Math.abs(p)
1083                            }
1084                            if (-1 !== t.indexOf("px") && oe(t.split("px")[0])) return Math.abs(t.split("px")[0]);
1085                            if ("top" === t || "left" === t) return 0;
1086                            if ("bottom" === t) return Math.abs(s.height() - l.outerHeight(!1));
1087                            if ("right" === t) return Math.abs(s.width() - l.outerWidth(!1));
1088                            if ("first" === t || "last" === t) {
1089                                var m = l.find(":" + t);
1090                                return "x" === o ? ae(m)[1] : ae(m)[0]
1091                            }
1092                            return e(t).length ? "x" === o ? ae(e(t))[1] : ae(e(t))[0] : (l.css(h, t), void u.update.call(null, n[0]))
1093                    }
1094                }
1095            },
1096            N = function(t) {
1097                function o() {
1098                    return clearTimeout(f[0].autoUpdate), 0 === l.parents("html").length ? void(l = null) : void(f[0].autoUpdate = setTimeout(function() {
1099                        return c.advanced.updateOnSelectorChange && (s.poll.change.n = i(), s.poll.change.n !== s.poll.change.o) ? (s.poll.change.o = s.poll.change.n, void r(3)) : c.advanced.updateOnContentResize && (s.poll.size.n = l[0].scrollHeight + l[0].scrollWidth + f[0].offsetHeight + l[0].offsetHeight + l[0].offsetWidth, s.poll.size.n !== s.poll.size.o) ? (s.poll.size.o = s.poll.size.n, void r(1)) : !c.advanced.updateOnImageLoad || "auto" === c.advanced.updateOnImageLoad && "y" === c.axis || (s.poll.img.n = f.find("img").length, s.poll.img.n === s.poll.img.o) ? void((c.advanced.updateOnSelectorChange || c.advanced.updateOnContentResize || c.advanced.updateOnImageLoad) && o()) : (s.poll.img.o = s.poll.img.n, void f.find("img").each(function() {
1100                            n(this)
1101                        }))
1102                    }, c.advanced.autoUpdateTimeout))
1103                }
1104
1105                function n(t) {
1106                    function o(e, t) {
1107                        return function() {
1108                            return t.apply(e, arguments)
1109                        }
1110                    }
1111
1112                    function a() {
1113                        this.onload = null, e(t).addClass(d[2]), r(2)
1114                    }
1115                    if (e(t).hasClass(d[2])) return void r();
1116                    var n = new Image;
1117                    n.onload = o(n, a), n.src = t.src
1118                }
1119
1120                function i() {
1121                    c.advanced.updateOnSelectorChange === !0 && (c.advanced.updateOnSelectorChange = "*");
1122                    var e = 0,
1123                        t = f.find(c.advanced.updateOnSelectorChange);
1124                    return c.advanced.updateOnSelectorChange && t.length > 0 && t.each(function() {
1125                        e += this.offsetHeight + this.offsetWidth
1126                    }), e
1127                }
1128
1129                function r(e) {
1130                    clearTimeout(f[0].autoUpdate), u.update.call(null, l[0], e)
1131                }
1132                var l = e(this),
1133                    s = l.data(a),
1134                    c = s.opt,
1135                    f = e("#mCSB_" + s.idx + "_container");
1136                return t ? (clearTimeout(f[0].autoUpdate), void $(f[0], "autoUpdate")) : void o()
1137            },
1138            V = function(e, t, o) {
1139                return Math.round(e / t) * t - o
1140            },
1141            Q = function(t) {
1142                var o = t.data(a),
1143                    n = e("#mCSB_" + o.idx + "_container,#mCSB_" + o.idx + "_container_wrapper,#mCSB_" + o.idx + "_dragger_vertical,#mCSB_" + o.idx + "_dragger_horizontal");
1144                n.each(function() {
1145                    Z.call(this)
1146                })
1147            },
1148            G = function(t, o, n) {
1149                function i(e) {
1150                    return s && c.callbacks[e] && "function" == typeof c.callbacks[e]
1151                }
1152
1153                function r() {
1154                    return [c.callbacks.alwaysTriggerOffsets || w >= S[0] + y, c.callbacks.alwaysTriggerOffsets || -B >= w]
1155                }
1156
1157                function l() {
1158                    var e = [h[0].offsetTop, h[0].offsetLeft],
1159                        o = [x[0].offsetTop, x[0].offsetLeft],
1160                        a = [h.outerHeight(!1), h.outerWidth(!1)],
1161                        i = [f.height(), f.width()];
1162                    t[0].mcs = {
1163                        content: h,
1164                        top: e[0],
1165                        left: e[1],
1166                        draggerTop: o[0],
1167                        draggerLeft: o[1],
1168                        topPct: Math.round(100 * Math.abs(e[0]) / (Math.abs(a[0]) - i[0])),
1169                        leftPct: Math.round(100 * Math.abs(e[1]) / (Math.abs(a[1]) - i[1])),
1170                        direction: n.dir
1171                    }
1172                }
1173                var s = t.data(a),
1174                    c = s.opt,
1175                    d = {
1176                        trigger: "internal",
1177                        dir: "y",
1178                        scrollEasing: "mcsEaseOut",
1179                        drag: !1,
1180                        dur: c.scrollInertia,
1181                        overwrite: "all",
1182                        callbacks: !0,
1183                        onStart: !0,
1184                        onUpdate: !0,
1185                        onComplete: !0
1186                    },
1187                    n = e.extend(d, n),
1188                    u = [n.dur, n.drag ? 0 : n.dur],
1189                    f = e("#mCSB_" + s.idx),
1190                    h = e("#mCSB_" + s.idx + "_container"),
1191                    m = h.parent(),
1192                    p = c.callbacks.onTotalScrollOffset ? Y.call(t, c.callbacks.onTotalScrollOffset) : [0, 0],
1193                    g = c.callbacks.onTotalScrollBackOffset ? Y.call(t, c.callbacks.onTotalScrollBackOffset) : [0, 0];
1194                if (s.trigger = n.trigger, 0 === m.scrollTop() && 0 === m.scrollLeft() || (e(".mCSB_" + s.idx + "_scrollbar").css("visibility", "visible"), m.scrollTop(0).scrollLeft(0)), "_resetY" !== o || s.contentReset.y || (i("onOverflowYNone") && c.callbacks.onOverflowYNone.call(t[0]), s.contentReset.y = 1), "_resetX" !== o || s.contentReset.x || (i("onOverflowXNone") && c.callbacks.onOverflowXNone.call(t[0]), s.contentReset.x = 1), "_resetY" !== o && "_resetX" !== o) {
1195                    if (!s.contentReset.y && t[0].mcs || !s.overflowed[0] || (i("onOverflowY") && c.callbacks.onOverflowY.call(t[0]), s.contentReset.x = null), !s.contentReset.x && t[0].mcs || !s.overflowed[1] || (i("onOverflowX") && c.callbacks.onOverflowX.call(t[0]), s.contentReset.x = null), c.snapAmount) {
1196                        var v = c.snapAmount instanceof Array ? "x" === n.dir ? c.snapAmount[1] : c.snapAmount[0] : c.snapAmount;
1197                        o = V(o, v, c.snapOffset)
1198                    }
1199                    switch (n.dir) {
1200                        case "x":
1201                            var x = e("#mCSB_" + s.idx + "_dragger_horizontal"),
1202                                _ = "left",
1203                                w = h[0].offsetLeft,
1204                                S = [f.width() - h.outerWidth(!1), x.parent().width() - x.width()],
1205                                b = [o, 0 === o ? 0 : o / s.scrollRatio.x],
1206                                y = p[1],
1207                                B = g[1],
1208                                T = y > 0 ? y / s.scrollRatio.x : 0,
1209                                k = B > 0 ? B / s.scrollRatio.x : 0;
1210                            break;
1211                        case "y":
1212                            var x = e("#mCSB_" + s.idx + "_dragger_vertical"),
1213                                _ = "top",
1214                                w = h[0].offsetTop,
1215                                S = [f.height() - h.outerHeight(!1), x.parent().height() - x.height()],
1216                                b = [o, 0 === o ? 0 : o / s.scrollRatio.y],
1217                                y = p[0],
1218                                B = g[0],
1219                                T = y > 0 ? y / s.scrollRatio.y : 0,
1220                                k = B > 0 ? B / s.scrollRatio.y : 0
1221                    }
1222                    b[1] < 0 || 0 === b[0] && 0 === b[1] ? b = [0, 0] : b[1] >= S[1] ? b = [S[0], S[1]] : b[0] = -b[0], t[0].mcs || (l(), i("onInit") && c.callbacks.onInit.call(t[0])), clearTimeout(h[0].onCompleteTimeout), J(x[0], _, Math.round(b[1]), u[1], n.scrollEasing), !s.tweenRunning && (0 === w && b[0] >= 0 || w === S[0] && b[0] <= S[0]) || J(h[0], _, Math.round(b[0]), u[0], n.scrollEasing, n.overwrite, {
1223                        onStart: function() {
1224                            n.callbacks && n.onStart && !s.tweenRunning && (i("onScrollStart") && (l(), c.callbacks.onScrollStart.call(t[0])), s.tweenRunning = !0, C(x), s.cbOffsets = r())
1225                        },
1226                        onUpdate: function() {
1227                            n.callbacks && n.onUpdate && i("whileScrolling") && (l(), c.callbacks.whileScrolling.call(t[0]))
1228                        },
1229                        onComplete: function() {
1230                            if (n.callbacks && n.onComplete) {
1231                                "yx" === c.axis && clearTimeout(h[0].onCompleteTimeout);
1232                                var e = h[0].idleTimer || 0;
1233                                h[0].onCompleteTimeout = setTimeout(function() {
1234                                    i("onScroll") && (l(), c.callbacks.onScroll.call(t[0])), i("onTotalScroll") && b[1] >= S[1] - T && s.cbOffsets[0] && (l(), c.callbacks.onTotalScroll.call(t[0])), i("onTotalScrollBack") && b[1] <= k && s.cbOffsets[1] && (l(), c.callbacks.onTotalScrollBack.call(t[0])), s.tweenRunning = !1, h[0].idleTimer = 0, C(x, "hide")
1235                                }, e)
1236                            }
1237                        }
1238                    })
1239                }
1240            },
1241            J = function(e, t, o, a, n, i, r) {
1242                function l() {
1243                    S.stop || (x || m.call(), x = K() - v, s(), x >= S.time && (S.time = x > S.time ? x + f - (x - S.time) : x + f - 1, S.time < x + 1 && (S.time = x + 1)), S.time < a ? S.id = h(l) : g.call())
1244                }
1245
1246                function s() {
1247                    a > 0 ? (S.currVal = u(S.time, _, b, a, n), w[t] = Math.round(S.currVal) + "px") : w[t] = o + "px", p.call()
1248                }
1249
1250                function c() {
1251                    f = 1e3 / 60, S.time = x + f, h = window.requestAnimationFrame ? window.requestAnimationFrame : function(e) {
1252                        return s(), setTimeout(e, .01)
1253                    }, S.id = h(l)
1254                }
1255
1256                function d() {
1257                    null != S.id && (window.requestAnimationFrame ? window.cancelAnimationFrame(S.id) : clearTimeout(S.id), S.id = null)
1258                }
1259
1260                function u(e, t, o, a, n) {
1261                    switch (n) {
1262                        case "linear":
1263                        case "mcsLinear":
1264                            return o * e / a + t;
1265                        case "mcsLinearOut":
1266                            return e /= a, e--, o * Math.sqrt(1 - e * e) + t;
1267                        case "easeInOutSmooth":
1268                            return e /= a / 2, 1 > e ? o / 2 * e * e + t : (e--, -o / 2 * (e * (e - 2) - 1) + t);
1269                        case "easeInOutStrong":
1270                            return e /= a / 2, 1 > e ? o / 2 * Math.pow(2, 10 * (e - 1)) + t : (e--, o / 2 * (-Math.pow(2, -10 * e) + 2) + t);
1271                        case "easeInOut":
1272                        case "mcsEaseInOut":
1273                            return e /= a / 2, 1 > e ? o / 2 * e * e * e + t : (e -= 2, o / 2 * (e * e * e + 2) + t);
1274                        case "easeOutSmooth":
1275                            return e /= a, e--, -o * (e * e * e * e - 1) + t;
1276                        case "easeOutStrong":
1277                            return o * (-Math.pow(2, -10 * e / a) + 1) + t;
1278                        case "easeOut":
1279                        case "mcsEaseOut":
1280                        default:
1281                            var i = (e /= a) * e,
1282                                r = i * e;
1283                            return t + o * (.499999999999997 * r * i + -2.5 * i * i + 5.5 * r + -6.5 * i + 4 * e)
1284                    }
1285                }
1286                e._mTween || (e._mTween = {
1287                    top: {},
1288                    left: {}
1289                });
1290                var f, h, r = r || {},
1291                    m = r.onStart || function() {},
1292                    p = r.onUpdate || function() {},
1293                    g = r.onComplete || function() {},
1294                    v = K(),
1295                    x = 0,
1296                    _ = e.offsetTop,
1297                    w = e.style,
1298                    S = e._mTween[t];
1299                "left" === t && (_ = e.offsetLeft);
1300                var b = o - _;
1301                S.stop = 0, "none" !== i && d(), c()
1302            },
1303            K = function() {
1304                return window.performance && window.performance.now ? window.performance.now() : window.performance && window.performance.webkitNow ? window.performance.webkitNow() : Date.now ? Date.now() : (new Date).getTime()
1305            },
1306            Z = function() {
1307                var e = this;
1308                e._mTween || (e._mTween = {
1309                    top: {},
1310                    left: {}
1311                });
1312                for (var t = ["top", "left"], o = 0; o < t.length; o++) {
1313                    var a = t[o];
1314                    e._mTween[a].id && (window.requestAnimationFrame ? window.cancelAnimationFrame(e._mTween[a].id) : clearTimeout(e._mTween[a].id), e._mTween[a].id = null, e._mTween[a].stop = 1)
1315                }
1316            },
1317            $ = function(e, t) {
1318                try {
1319                    delete e[t]
1320                } catch (o) {
1321                    e[t] = null
1322                }
1323            },
1324            ee = function(e) {
1325                return !(e.which && 1 !== e.which)
1326            },
1327            te = function(e) {
1328                var t = e.originalEvent.pointerType;
1329                return !(t && "touch" !== t && 2 !== t)
1330            },
1331            oe = function(e) {
1332                return !isNaN(parseFloat(e)) && isFinite(e)
1333            },
1334            ae = function(e) {
1335                var t = e.parents(".mCSB_container");
1336                return [e.offset().top - t.offset().top, e.offset().left - t.offset().left]
1337            },
1338            ne = function() {
1339                function e() {
1340                    var e = ["webkit", "moz", "ms", "o"];
1341                    if ("hidden" in document) return "hidden";
1342                    for (var t = 0; t < e.length; t++)
1343                        if (e[t] + "Hidden" in document) return e[t] + "Hidden";
1344                    return null
1345                }
1346                var t = e();
1347                return t ? document[t] : !1
1348            };
1349        e.fn[o] = function(t) {
1350            return u[t] ? u[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : u.init.apply(this, arguments)
1351        }, e[o] = function(t) {
1352            return u[t] ? u[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : u.init.apply(this, arguments)
1353        }, e[o].defaults = i, window[o] = !0, e(window).bind("load", function() {
1354            e(n)[o](), e.extend(e.expr[":"], {
1355                mcsInView: e.expr[":"].mcsInView || function(t) {
1356                    var o, a, n = e(t),
1357                        i = n.parents(".mCSB_container");
1358                    if (i.length) return o = i.parent(), a = [i[0].offsetTop, i[0].offsetLeft], a[0] + ae(n)[0] >= 0 && a[0] + ae(n)[0] < o.height() - n.outerHeight(!1) && a[1] + ae(n)[1] >= 0 && a[1] + ae(n)[1] < o.width() - n.outerWidth(!1)
1359                },
1360                mcsInSight: e.expr[":"].mcsInSight || function(t, o, a) {
1361                    var n, i, r, l, s = e(t),
1362                        c = s.parents(".mCSB_container"),
1363                        d = "exact" === a[3] ? [
1364                            [1, 0],
1365                            [1, 0]
1366                        ] : [
1367                            [.9, .1],
1368                            [.6, .4]
1369                        ];
1370                    if (c.length) return n = [s.outerHeight(!1), s.outerWidth(!1)], r = [c[0].offsetTop + ae(s)[0], c[0].offsetLeft + ae(s)[1]], i = [c.parent()[0].offsetHeight, c.parent()[0].offsetWidth], l = [n[0] < i[0] ? d[0] : d[1], n[1] < i[1] ? d[0] : d[1]], r[0] - i[0] * l[0][0] < 0 && r[0] + n[0] - i[0] * l[0][1] >= 0 && r[1] - i[1] * l[1][0] < 0 && r[1] + n[1] - i[1] * l[1][1] >= 0
1371                },
1372                mcsOverflow: e.expr[":"].mcsOverflow || function(t) {
1373                    var o = e(t).data(a);
1374                    if (o) return o.overflowed[0] || o.overflowed[1]
1375                }
1376            })
1377        })
1378    })
1379});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.