PageSourceSearch

https://www.starfamily.org.tw/assets/views/js/plugins.js?v=0

js starfamily.org.tw collected 2026-10-02 06:35:33 UTC 370,035 bytes, 6,563 lines download raw bytes

1// 避免  console errors
2(function() {
3    var method;
4    var noop = function noop() {};
5    var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
6    var length = methods.length;
7    var console = (window.console = window.console || {});
8    while (length--) {
9        method = methods[length];
10        // Only  undefined
11        if (!console[method]) {
12            console[method] = noop;
13        }
14    }
15}());
16
17/* == modernizr v3.6.0 | MIT
18  https://github.com/Modernizr/Modernizr
19*/
20!function(n, e, s) {
21    function o(n, e) {
22        return typeof n === e
23    }
24    function a() {
25        var n, e, s, a, i, l, r;
26        for (var c in f)
27            if (f.hasOwnProperty(c)) {
28                if (n = [],
29                e = f[c],
30                e.name && (n.push(e.name.toLowerCase()),
31                e.options && e.options.aliases && e.options.aliases.length))
32                    for (s = 0; s < e.options.aliases.length; s++)
33                        n.push(e.options.aliases[s].toLowerCase());
34                for (a = o(e.fn, "function") ? e.fn() : e.fn,
35                i = 0; i < n.length; i++)
36                    l = n[i],
37                    r = l.split("."),
38                    1 === r.length ? Modernizr[r[0]] = a : (!Modernizr[r[0]] || Modernizr[r[0]]instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])),
39                    Modernizr[r[0]][r[1]] = a),
40                    t.push((a ? "" : "no-") + r.join("-"))
41            }
42    }
43    function i(n) {
44        var e = r.className
45          , s = Modernizr._config.classPrefix || "";
46        if (c && (e = e.baseVal),
47        Modernizr._config.enableJSClass) {
48            var o = new RegExp("(^|\\s)" + s + "no-js(\\s|$)");
49            e = e.replace(o, "$1" + s + "js$2")
50        }
51        Modernizr._config.enableClasses && (e += " " + s + n.join(" " + s),
52        c ? r.className.baseVal = e : r.className = e)
53    }
54    var t = []
55      , f = []
56      , l = {
57        _version: "3.6.0",
58        _config: {
59            classPrefix: "",
60            enableClasses: !0,
61            enableJSClass: !0,
62            usePrefixes: !0
63        },
64        _q: [],
65        on: function(n, e) {
66            var s = this;
67            setTimeout(function() {
68                e(s[n])
69            }, 0)
70        },
71        addTest: function(n, e, s) {
72            f.push({
73                name: n,
74                fn: e,
75                options: s
76            })
77        },
78        addAsyncTest: function(n) {
79            f.push({
80                name: null,
81                fn: n
82            })
83        }
84    }
85      , Modernizr = function() {};
86    Modernizr.prototype = l,
87    Modernizr = new Modernizr;
88    var r = e.documentElement
89      , c = "svg" === r.nodeName.toLowerCase();
90    a(),
91    i(t),
92    delete l.addTest,
93    delete l.addAsyncTest;
94    for (var u = 0; u < Modernizr._q.length; u++)
95        Modernizr._q[u]();
96    n.Modernizr = Modernizr
97}(window, document);
98
99/* == Easing v1.3
100  http://gsgd.co.uk/sandbox/jquery/easing/
101 * Open source under the BSD License.
102 * Copyright © 2008 George McGinley Smith
103 * All rights reserved.
104 * https://raw.github.com/gdsmith/jquery.easing/master/LICENSE
105*/
106jQuery.easing.jswing = jQuery.easing.swing,
107jQuery.extend(jQuery.easing, {
108    def: "easeOutQuad",
109    swing: function(n, e, t, u, a) {
110        return jQuery.easing[jQuery.easing.def](n, e, t, u, a)
111    },
112    easeInQuad: function(n, e, t, u, a) {
113        return u * (e /= a) * e + t
114    },
115    easeOutQuad: function(n, e, t, u, a) {
116        return -u * (e /= a) * (e - 2) + t
117    },
118    easeInOutQuad: function(n, e, t, u, a) {
119        return (e /= a / 2) < 1 ? u / 2 * e * e + t : -u / 2 * (--e * (e - 2) - 1) + t
120    },
121    easeInCubic: function(n, e, t, u, a) {
122        return u * (e /= a) * e * e + t
123    },
124    easeOutCubic: function(n, e, t, u, a) {
125        return u * ((e = e / a - 1) * e * e + 1) + t
126    },
127    easeInOutCubic: function(n, e, t, u, a) {
128        return (e /= a / 2) < 1 ? u / 2 * e * e * e + t : u / 2 * ((e -= 2) * e * e + 2) + t
129    },
130    easeInQuart: function(n, e, t, u, a) {
131        return u * (e /= a) * e * e * e + t
132    },
133    easeOutQuart: function(n, e, t, u, a) {
134        return -u * ((e = e / a - 1) * e * e * e - 1) + t
135    },
136    easeInOutQuart: function(n, e, t, u, a) {
137        return (e /= a / 2) < 1 ? u / 2 * e * e * e * e + t : -u / 2 * ((e -= 2) * e * e * e - 2) + t
138    },
139    easeInQuint: function(n, e, t, u, a) {
140        return u * (e /= a) * e * e * e * e + t
141    },
142    easeOutQuint: function(n, e, t, u, a) {
143        return u * ((e = e / a - 1) * e * e * e * e + 1) + t
144    },
145    easeInOutQuint: function(n, e, t, u, a) {
146        return (e /= a / 2) < 1 ? u / 2 * e * e * e * e * e + t : u / 2 * ((e -= 2) * e * e * e * e + 2) + t
147    },
148    easeInSine: function(n, e, t, u, a) {
149        return -u * Math.cos(e / a * (Math.PI / 2)) + u + t
150    },
151    easeOutSine: function(n, e, t, u, a) {
152        return u * Math.sin(e / a * (Math.PI / 2)) + t
153    },
154    easeInOutSine: function(n, e, t, u, a) {
155        return -u / 2 * (Math.cos(Math.PI * e / a) - 1) + t
156    },
157    easeInExpo: function(n, e, t, u, a) {
158        return 0 == e ? t : u * Math.pow(2, 10 * (e / a - 1)) + t
159    },
160    easeOutExpo: function(n, e, t, u, a) {
161        return e == a ? t + u : u * (-Math.pow(2, -10 * e / a) + 1) + t
162    },
163    easeInOutExpo: function(n, e, t, u, a) {
164        return 0 == e ? t : e == a ? t + u : (e /= a / 2) < 1 ? u / 2 * Math.pow(2, 10 * (e - 1)) + t : u / 2 * (-Math.pow(2, -10 * --e) + 2) + t
165    },
166    easeInCirc: function(n, e, t, u, a) {
167        return -u * (Math.sqrt(1 - (e /= a) * e) - 1) + t
168    },
169    easeOutCirc: function(n, e, t, u, a) {
170        return u * Math.sqrt(1 - (e = e / a - 1) * e) + t
171    },
172    easeInOutCirc: function(n, e, t, u, a) {
173        return (e /= a / 2) < 1 ? -u / 2 * (Math.sqrt(1 - e * e) - 1) + t : u / 2 * (Math.sqrt(1 - (e -= 2) * e) + 1) + t
174    },
175    easeInElastic: function(n, e, t, u, a) {
176        var r = 1.70158
177          , i = 0
178          , s = u;
179        if (0 == e)
180            return t;
181        if (1 == (e /= a))
182            return t + u;
183        if (i || (i = .3 * a),
184        s < Math.abs(u)) {
185            s = u;
186            var r = i / 4
187        } else
188            var r = i / (2 * Math.PI) * Math.asin(u / s);
189        return -(s * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e * a - r) * Math.PI / i)) + t
190    },
191    easeOutElastic: function(n, e, t, u, a) {
192        var r = 1.70158
193          , i = 0
194          , s = u;
195        if (0 == e)
196            return t;
197        if (1 == (e /= a))
198            return t + u;
199        if (i || (i = .3 * a),
200        s < Math.abs(u)) {
201            s = u;
202            var r = i / 4
203        } else
204            var r = i / (2 * Math.PI) * Math.asin(u / s);
205        return s * Math.pow(2, -10 * e) * Math.sin(2 * (e * a - r) * Math.PI / i) + u + t
206    },
207    easeInOutElastic: function(n, e, t, u, a) {
208        var r = 1.70158
209          , i = 0
210          , s = u;
211        if (0 == e)
212            return t;
213        if (2 == (e /= a / 2))
214            return t + u;
215        if (i || (i = .3 * a * 1.5),
216        s < Math.abs(u)) {
217            s = u;
218            var r = i / 4
219        } else
220            var r = i / (2 * Math.PI) * Math.asin(u / s);
221        return 1 > e ? -.5 * s * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e * a - r) * Math.PI / i) + t : s * Math.pow(2, -10 * (e -= 1)) * Math.sin(2 * (e * a - r) * Math.PI / i) * .5 + u + t
222    },
223    easeInBack: function(n, e, t, u, a, r) {
224        return void 0 == r && (r = 1.70158),
225        u * (e /= a) * e * ((r + 1) * e - r) + t
226    },
227    easeOutBack: function(n, e, t, u, a, r) {
228        return void 0 == r && (r = 1.70158),
229        u * ((e = e / a - 1) * e * ((r + 1) * e + r) + 1) + t
230    },
231    easeInOutBack: function(n, e, t, u, a, r) {
232        return void 0 == r && (r = 1.70158),
233        (e /= a / 2) < 1 ? u / 2 * e * e * (((r *= 1.525) + 1) * e - r) + t : u / 2 * ((e -= 2) * e * (((r *= 1.525) + 1) * e + r) + 2) + t
234    },
235    easeInBounce: function(n, e, t, u, a) {
236        return u - jQuery.easing.easeOutBounce(n, a - e, 0, u, a) + t
237    },
238    easeOutBounce: function(n, e, t, u, a) {
239        return (e /= a) < 1 / 2.75 ? 7.5625 * u * e * e + t : 2 / 2.75 > e ? u * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + t : 2.5 / 2.75 > e ? u * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + t : u * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + t
240    },
241    easeInOutBounce: function(n, e, t, u, a) {
242        return a / 2 > e ? .5 * jQuery.easing.easeInBounce(n, 2 * e, 0, u, a) + t : .5 * jQuery.easing.easeOutBounce(n, 2 * e - a, 0, u, a) + .5 * u + t
243    }
244});
245
246// == Creative v5.1.3
247!function(e) {
248    "use strict";
249    e('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function() {
250        if (location.pathname.replace(/^\//, "") == this.pathname.replace(/^\//, "") && location.hostname == this.hostname) {
251            var a = e(this.hash);
252            if ((a = a.length ? a : e("[name=" + this.hash.slice(1) + "]")).length)
253                return e("html, body").animate({
254                    scrollTop: a.offset().top - 72
255                }, 1e3, "easeInOutExpo"),
256                !1
257        }
258    }),
259    e(".js-scroll-trigger").click(function() {
260        e(".navbar-collapse").collapse("hide")
261    });
262    /*e("body").scrollspy({
263        target: "#mainNav",
264        offset: 75
265    });*/
266    if(e("#mainNav")[0]){
267		var scrollSpyContentEl = document.getElementById('mainNav');
268		var scrollSpy = bootstrap.ScrollSpy.getInstance(scrollSpyContentEl);
269		
270         var a = function() {
271            100 < e("#mainNav").offset().top ? e("#mainNav").addClass("navbar-scrolled") : e("#mainNav").removeClass("navbar-scrolled")
272        };
273        a(),
274        e(window).scroll(a)
275    }
276	
277	var collapseElementList = [].slice.call(document.querySelectorAll('[data-toggle="collapse"]'));
278	var collapseList = collapseElementList.map(function (collapseEl) {
279	  return new bootstrap.Collapse(collapseEl)
280	});
281	
282	var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]'))
283	var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
284		return new bootstrap.Tooltip(tooltipTriggerEl, {
285			boundary: document.body, // or document.querySelector('#boundary')
286			html: true
287		})
288	});
289
290}(jQuery);
291
292/* == slick v1.8.1
293  Copyright (c) 2017 Ken Wheeler
294  https://github.com/kenwheeler/slick/
295  Licensed under the MIT license.
296*/
297!function(i) {
298    "use strict";
299    "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery)
300}(function(i) {
301    "use strict";
302    var e = window.Slick || {};
303    (e = function() {
304        var e = 0;
305        return function(t, o) {
306            var s, n = this;
307            n.defaults = {
308                accessibility: !0,
309                adaptiveHeight: !1,
310                appendArrows: i(t),
311                appendDots: i(t),
312                arrows: !0,
313                asNavFor: null,
314                prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
315                nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
316                autoplay: !1,
317                autoplaySpeed: 3e3,
318                centerMode: !1,
319                centerPadding: "50px",
320                cssEase: "ease",
321                customPaging: function(e, t) {
322                    return i('<button type="button" />').text(t + 1)
323                },
324                dots: !1,
325                dotsClass: "slick-dots",
326                draggable: !0,
327                easing: "linear",
328                edgeFriction: .35,
329                fade: !1,
330                focusOnSelect: !1,
331                focusOnChange: !1,
332                infinite: !0,
333                initialSlide: 0,
334                lazyLoad: "ondemand",
335                mobileFirst: !1,
336                pauseOnHover: !0,
337                pauseOnFocus: !0,
338                pauseOnDotsHover: !1,
339                respondTo: "window",
340                responsive: null,
341                rows: 1,
342                rtl: !1,
343                slide: "",
344                slidesPerRow: 1,
345                slidesToShow: 1,
346                slidesToScroll: 1,
347                speed: 500,
348                swipe: !0,
349                swipeToSlide: !1,
350                touchMove: !0,
351                touchThreshold: 5,
352                useCSS: !0,
353                useTransform: !0,
354                variableWidth: !1,
355                vertical: !1,
356                verticalSwiping: !1,
357                waitForAnimate: !0,
358                zIndex: 1e3
359            },
360            n.initials = {
361                animating: !1,
362                dragging: !1,
363                autoPlayTimer: null,
364                currentDirection: 0,
365                currentLeft: null,
366                currentSlide: 0,
367                direction: 1,
368                $dots: null,
369                listWidth: null,
370                listHeight: null,
371                loadIndex: 0,
372                $nextArrow: null,
373                $prevArrow: null,
374                scrolling: !1,
375                slideCount: null,
376                slideWidth: null,
377                $slideTrack: null,
378                $slides: null,
379                sliding: !1,
380                slideOffset: 0,
381                swipeLeft: null,
382                swiping: !1,
383                $list: null,
384                touchObject: {},
385                transformsEnabled: !1,
386                unslicked: !1
387            },
388            i.extend(n, n.initials),
389            n.activeBreakpoint = null,
390            n.animType = null,
391            n.animProp = null,
392            n.breakpoints = [],
393            n.breakpointSettings = [],
394            n.cssTransitions = !1,
395            n.focussed = !1,
396            n.interrupted = !1,
397            n.hidden = "hidden",
398            n.paused = !0,
399            n.positionProp = null,
400            n.respondTo = null,
401            n.rowCount = 1,
402            n.shouldClick = !0,
403            n.$slider = i(t),
404            n.$slidesCache = null,
405            n.transformType = null,
406            n.transitionType = null,
407            n.visibilityChange = "visibilitychange",
408            n.windowWidth = 0,
409            n.windowTimer = null,
410            s = i(t).data("slick") || {},
411            n.options = i.extend({}, n.defaults, o, s),
412            n.currentSlide = n.options.initialSlide,
413            n.originalSettings = n.options,
414            void 0 !== document.mozHidden ? (n.hidden = "mozHidden",
415            n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden",
416            n.visibilityChange = "webkitvisibilitychange"),
417            n.autoPlay = i.proxy(n.autoPlay, n),
418            n.autoPlayClear = i.proxy(n.autoPlayClear, n),
419            n.autoPlayIterator = i.proxy(n.autoPlayIterator, n),
420            n.changeSlide = i.proxy(n.changeSlide, n),
421            n.clickHandler = i.proxy(n.clickHandler, n),
422            n.selectHandler = i.proxy(n.selectHandler, n),
423            n.setPosition = i.proxy(n.setPosition, n),
424            n.swipeHandler = i.proxy(n.swipeHandler, n),
425            n.dragHandler = i.proxy(n.dragHandler, n),
426            n.keyHandler = i.proxy(n.keyHandler, n),
427            n.instanceUid = e++,
428            n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/,
429            n.registerBreakpoints(),
430            n.init(!0)
431        }
432    }()).prototype.activateADA = function() {
433        this.$slideTrack.find(".slick-active").attr({
434            "aria-hidden": "false"
435        }).find("a, input, button, select").attr({
436            tabindex: "0"
437        })
438    }
439    ,
440    e.prototype.addSlide = e.prototype.slickAdd = function(e, t, o) {
441        var s = this;
442        if ("boolean" == typeof t)
443            o = t,
444            t = null;
445        else if (t < 0 || t >= s.slideCount)
446            return !1;
447        s.unload(),
448        "number" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack),
449        s.$slides = s.$slideTrack.children(this.options.slide),
450        s.$slideTrack.children(this.options.slide).detach(),
451        s.$slideTrack.append(s.$slides),
452        s.$slides.each(function(e, t) {
453            i(t).attr("data-slick-index", e)
454        }),
455        s.$slidesCache = s.$slides,
456        s.reinit()
457    }
458    ,
459    e.prototype.animateHeight = function() {
460        var i = this;
461        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
462            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
463            i.$list.animate({
464                height: e
465            }, i.options.speed)
466        }
467    }
468    ,
469    e.prototype.animateSlide = function(e, t) {
470        var o = {}
471          , s = this;
472        s.animateHeight(),
473        !0 === s.options.rtl && !1 === s.options.vertical && (e = -e),
474        !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({
475            left: e
476        }, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({
477            top: e
478        }, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft),
479        i({
480            animStart: s.currentLeft
481        }).animate({
482            animStart: e
483        }, {
484            duration: s.options.speed,
485            easing: s.options.easing,
486            step: function(i) {
487                i = Math.ceil(i),
488                !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)",
489                s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)",
490                s.$slideTrack.css(o))
491            },
492            complete: function() {
493                t && t.call()
494            }
495        })) : (s.applyTransition(),
496        e = Math.ceil(e),
497        !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)",
498        s.$slideTrack.css(o),
499        t && setTimeout(function() {
500            s.disableTransition(),
501            t.call()
502        }, s.options.speed))
503    }
504    ,
505    e.prototype.getNavTarget = function() {
506        var e = this
507          , t = e.options.asNavFor;
508        return t && null !== t && (t = i(t).not(e.$slider)),
509        t
510    }
511    ,
512    e.prototype.asNavFor = function(e) {
513        var t = this.getNavTarget();
514        null !== t && "object" == typeof t && t.each(function() {
515            var t = i(this).slick("getSlick");
516            t.unslicked || t.slideHandler(e, !0)
517        })
518    }
519    ,
520    e.prototype.applyTransition = function(i) {
521        var e = this
522          , t = {};
523        !1 === e.options.fade ? t[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : t[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase,
524        !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
525    }
526    ,
527    e.prototype.autoPlay = function() {
528        var i = this;
529        i.autoPlayClear(),
530        i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed))
531    }
532    ,
533    e.prototype.autoPlayClear = function() {
534        var i = this;
535        i.autoPlayTimer && clearInterval(i.autoPlayTimer)
536    }
537    ,
538    e.prototype.autoPlayIterator = function() {
539        var i = this
540          , e = i.currentSlide + i.options.slidesToScroll;
541        i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll,
542        i.currentSlide - 1 == 0 && (i.direction = 1))),
543        i.slideHandler(e))
544    }
545    ,
546    e.prototype.buildArrows = function() {
547        var e = this;
548        !0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow"),
549        e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow"),
550        e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
551        e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
552        e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows),
553        e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows),
554        !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({
555            "aria-disabled": "true",
556            tabindex: "-1"
557        }))
558    }
559    ,
560    e.prototype.buildDots = function() {
561        var e, t, o = this;
562        if (!0 === o.options.dots) {
563            for (o.$slider.addClass("slick-dotted"),
564            t = i("<ul />").addClass(o.options.dotsClass),
565            e = 0; e <= o.getDotCount(); e += 1)
566                t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
567            o.$dots = t.appendTo(o.options.appendDots),
568            o.$dots.find("li").first().addClass("slick-active")
569        }
570    }
571    ,
572    e.prototype.buildOut = function() {
573        var e = this;
574        e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"),
575        e.slideCount = e.$slides.length,
576        e.$slides.each(function(e, t) {
577            i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "")
578        }),
579        e.$slider.addClass("slick-slider"),
580        e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(),
581        e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(),
582        e.$slideTrack.css("opacity", 0),
583        !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1),
584        i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"),
585        e.setupInfinite(),
586        e.buildArrows(),
587        e.buildDots(),
588        e.updateDots(),
589        e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
590        !0 === e.options.draggable && e.$list.addClass("draggable")
591    }
592    ,
593    e.prototype.buildRows = function() {
594        var i, e, t, o, s, n, r, l = this;
595        if (o = document.createDocumentFragment(),
596        n = l.$slider.children(),
597        l.options.rows > 1) {
598            for (r = l.options.slidesPerRow * l.options.rows,
599            s = Math.ceil(n.length / r),
600            i = 0; i < s; i++) {
601                var d = document.createElement("div");
602                for (e = 0; e < l.options.rows; e++) {
603                    var a = document.createElement("div");
604                    for (t = 0; t < l.options.slidesPerRow; t++) {
605                        var c = i * r + (e * l.options.slidesPerRow + t);
606                        n.get(c) && a.appendChild(n.get(c))
607                    }
608                    d.appendChild(a)
609                }
610                o.appendChild(d)
611            }
612            l.$slider.empty().append(o),
613            l.$slider.children().children().children().css({
614                width: 100 / l.options.slidesPerRow + "%",
615                display: "inline-block"
616            })
617        }
618    }
619    ,
620    e.prototype.checkResponsive = function(e, t) {
621        var o, s, n, r = this, l = !1, d = r.$slider.width(), a = window.innerWidth || i(window).width();
622        if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)),
623        r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
624            s = null;
625            for (o in r.breakpoints)
626                r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));
627            null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s,
628            "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.o
628ptions = i.extend({}, r.originalSettings, r.breakpointSettings[s]),
629            !0 === e && (r.currentSlide = r.options.initialSlide),
630            r.refresh(e)),
631            l = s) : (r.activeBreakpoint = s,
632            "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]),
633            !0 === e && (r.currentSlide = r.options.initialSlide),
634            r.refresh(e)),
635            l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null,
636            r.options = r.originalSettings,
637            !0 === e && (r.currentSlide = r.options.initialSlide),
638            r.refresh(e),
639            l = s),
640            e || !1 === l || r.$slider.trigger("breakpoint", [r, l])
641        }
642    }
643    ,
644    e.prototype.changeSlide = function(e, t) {
645        var o, s, n, r = this, l = i(e.currentTarget);
646        switch (l.is("a") && e.preventDefault(),
647        l.is("li") || (l = l.closest("li")),
648        n = r.slideCount % r.options.slidesToScroll != 0,
649        o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll,
650        e.data.message) {
651        case "previous":
652            s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o,
653            r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);
654            break;
655        case "next":
656            s = 0 === o ? r.options.slidesToScroll : o,
657            r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);
658            break;
659        case "index":
660            var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;
661            r.slideHandler(r.checkNavigable(d), !1, t),
662            l.children().trigger("focus");
663            break;
664        default:
665            return
666        }
667    }
668    ,
669    e.prototype.checkNavigable = function(i) {
670        var e, t;
671        if (e = this.getNavigableIndexes(),
672        t = 0,
673        i > e[e.length - 1])
674            i = e[e.length - 1];
675        else
676            for (var o in e) {
677                if (i < e[o]) {
678                    i = t;
679                    break
680                }
681                t = e[o]
682            }
683        return i
684    }
685    ,
686    e.prototype.cleanUpEvents = function() {
687        var e = this;
688        e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)),
689        !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)),
690        e.$slider.off("focus.slick blur.slick"),
691        !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide),
692        e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide),
693        !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler),
694        e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))),
695        e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler),
696        e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler),
697        e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
698        e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler),
699        e.$list.off("click.slick", e.clickHandler),
700        i(document).off(e.visibilityChange, e.visibility),
701        e.cleanUpSlideEvents(),
702        !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler),
703        !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler),
704        i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange),
705        i(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
706        i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault),
707        i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
708    }
709    ,
710    e.prototype.cleanUpSlideEvents = function() {
711        var e = this;
712        e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
713        e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1))
714    }
715    ,
716    e.prototype.cleanUpRows = function() {
717        var i, e = this;
718        e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"),
719        e.$slider.empty().append(i))
720    }
721    ,
722    e.prototype.clickHandler = function(i) {
723        !1 === this.shouldClick && (i.stopImmediatePropagation(),
724        i.stopPropagation(),
725        i.preventDefault())
726    }
727    ,
728    e.prototype.destroy = function(e) {
729        var t = this;
730        t.autoPlayClear(),
731        t.touchObject = {},
732        t.cleanUpEvents(),
733        i(".slick-cloned", t.$slider).detach(),
734        t.$dots && t.$dots.remove(),
735        t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
736        t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()),
737        t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""),
738        t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()),
739        t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
740            i(this).attr("style", i(this).data("originalStyling"))
741        }),
742        t.$slideTrack.children(this.options.slide).detach(),
743        t.$slideTrack.detach(),
744        t.$list.detach(),
745        t.$slider.append(t.$slides)),
746        t.cleanUpRows(),
747        t.$slider.removeClass("slick-slider"),
748        t.$slider.removeClass("slick-initialized"),
749        t.$slider.removeClass("slick-dotted"),
750        t.unslicked = !0,
751        e || t.$slider.trigger("destroy", [t])
752    }
753    ,
754    e.prototype.disableTransition = function(i) {
755        var e = this
756          , t = {};
757        t[e.transitionType] = "",
758        !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
759    }
760    ,
761    e.prototype.fadeSlide = function(i, e) {
762        var t = this;
763        !1 === t.cssTransitions ? (t.$slides.eq(i).css({
764            zIndex: t.options.zIndex
765        }),
766        t.$slides.eq(i).animate({
767            opacity: 1
768        }, t.options.speed, t.options.easing, e)) : (t.applyTransition(i),
769        t.$slides.eq(i).css({
770            opacity: 1,
771            zIndex: t.options.zIndex
772        }),
773        e && setTimeout(function() {
774            t.disableTransition(i),
775            e.call()
776        }, t.options.speed))
777    }
778    ,
779    e.prototype.fadeSlideOut = function(i) {
780        var e = this;
781        !1 === e.cssTransitions ? e.$slides.eq(i).animate({
782            opacity: 0,
783            zIndex: e.options.zIndex - 2
784        }, e.options.speed, e.options.easing) : (e.applyTransition(i),
785        e.$slides.eq(i).css({
786            opacity: 0,
787            zIndex: e.options.zIndex - 2
788        }))
789    }
790    ,
791    e.prototype.filterSlides = e.prototype.slickFilter = function(i) {
792        var e = this;
793        null !== i && (e.$slidesCache = e.$slides,
794        e.unload(),
795        e.$slideTrack.children(this.options.slide).detach(),
796        e.$slidesCache.filter(i).appendTo(e.$slideTrack),
797        e.reinit())
798    }
799    ,
800    e.prototype.focusHandler = function() {
801        var e = this;
802        e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function(t) {
803            t.stopImmediatePropagation();
804            var o = i(this);
805            setTimeout(function() {
806                e.options.pauseOnFocus && (e.focussed = o.is(":focus"),
807                e.autoPlay())
808            }, 0)
809        })
810    }
811    ,
812    e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() {
813        return this.currentSlide
814    }
815    ,
816    e.prototype.getDotCount = function() {
817        var i = this
818          , e = 0
819          , t = 0
820          , o = 0;
821        if (!0 === i.options.infinite)
822            if (i.slideCount <= i.options.slidesToShow)
823                ++o;
824            else
825                for (; e < i.slideCount; )
826                    ++o,
827                    e = t + i.options.slidesToScroll,
828                    t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
829        else if (!0 === i.options.centerMode)
830            o = i.slideCount;
831        else if (i.options.asNavFor)
832            for (; e < i.slideCount; )
833                ++o,
834                e = t + i.options.slidesToScroll,
835                t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
836        else
837            o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);
838        return o - 1
839    }
840    ,
841    e.prototype.getLeft = function(i) {
842        var e, t, o, s, n = this, r = 0;
843        return n.slideOffset = 0,
844        t = n.$slides.first().outerHeight(!0),
845        !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1,
846        s = -1,
847        !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)),
848        r = t * n.options.slidesToShow * s),
849        n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1,
850        r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1,
851        r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth,
852        r = (i + n.options.slidesToShow - n.slideCount) * t),
853        n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0,
854        r = 0),
855        !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0,
856        n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)),
857        e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r,
858        !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow),
859        e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0,
860        !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1),
861        e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0,
862        e += (n.$list.width() - o.outerWidth()) / 2)),
863        e
864    }
865    ,
866    e.prototype.getOption = e.prototype.slickGetOption = function(i) {
867        return this.options[i]
868    }
869    ,
870    e.prototype.getNavigableIndexes = function() {
871        var i, e = this, t = 0, o = 0, s = [];
872        for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll,
873        o = -1 * e.options.slidesToScroll,
874        i = 2 * e.slideCount); t < i; )
875            s.push(t),
876            t = o + e.options.slidesToScroll,
877            o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
878        return s
879    }
880    ,
881    e.prototype.getSlick = function() {
882        return this
883    }
884    ,
885    e.prototype.getSlideCount = function() {
886        var e, t, o = this;
887        return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0,
888        !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function(s, n) {
889            if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft)
890                return e = n,
891                !1
892        }),
893        Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll
894    }
895    ,
896    e.prototype.goTo = e.prototype.slickGoTo = function(i, e) {
897        this.changeSlide({
898            data: {
899                message: "index",
900                index: parseInt(i)
901            }
902        }, e)
903    }
904    ,
905    e.prototype.init = function(e) {
906        var t = this;
907        i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"),
908        t.buildRows(),
909        t.buildOut(),
910        t.setProps(),
911        t.startLoad(),
912        t.loadSlider(),
913        t.initializeEvents(),
914        t.updateArrows(),
915        t.updateDots(),
916        t.checkResponsive(!0),
917        t.focusHandler()),
918        e && t.$slider.trigger("init", [t]),
919        !0 === t.options.accessibility && t.initADA(),
920        t.options.autoplay && (t.paused = !1,
921        t.autoPlay())
922    }
923    ,
924    e.prototype.initADA = function() {
925        var e = this
926          , t = Math.ceil(e.slideCount / e.options.slidesToShow)
927          , o = e.getNavigableIndexes().filter(function(i) {
928            return i >= 0 && i < e.slideCount
929        });
930        e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
931            "aria-hidden": "true",
932            tabindex: "-1"
933        }).find("a, input, button, select").attr({
934            tabindex: "-1"
935        }),
936        null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t) {
937            var s = o.indexOf(t);
938            i(this).attr({
939                role: "tabpanel",
940                id: "slick-slide" + e.instanceUid + t,
941                tabindex: -1
942            }),
943            -1 !== s && i(this).attr({
944                "aria-describedby": "slick-slide-control" + e.instanceUid + s
945            })
946        }),
947        e.$dots.attr("role", "tablist").find("li").each(function(s) {
948            var n = o[s];
949            i(this).attr({
950                role: "presentation"
951            }),
952            i(this).find("button").first().attr({
953                role: "tab",
954                id: "slick-slide-control" + e.instanceUid + s,
955                "aria-controls": "slick-slide" + e.instanceUid + n,
956                "aria-label": s + 1 + " of " + t,
957                "aria-selected": null,
958                tabindex: "-1"
959            })
960        }).eq(e.currentSlide).find("button").attr({
961            "aria-selected": "true",
962            tabindex: "0"
963        }).end());
964        for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++)
965            e.$slides.eq(s).attr("tabindex", 0);
966        e.activateADA()
967    }
968    ,
969    e.prototype.initArrowEvents = function() {
970        var i = this;
971        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {
972            message: "previous"
973        }, i.changeSlide),
974        i.$nextArrow.off("click.slick").on("click.slick", {
975            message: "next"
976        }, i.changeSlide),
977        !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler),
978        i.$nextArrow.on("keydown.slick", i.keyHandler)))
979    }
980    ,
981    e.prototype.initDotEvents = function() {
982        var e = this;
983        !0 === e.options.dots && (i("li", e.$dots).on("click.slick", {
984            message: "index"
985        }, e.changeSlide),
986        !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)),
987        !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.
vendor: 16,911 bytes, lines 987-1382
987slick", i.proxy(e.interrupt, e, !1))
988    }
989    ,
990    e.prototype.initSlideEvents = function() {
991        var e = this;
992        e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
993        e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)))
994    }
995    ,
996    e.prototype.initializeEvents = function() {
997        var e = this;
998        e.initArrowEvents(),
999        e.initDotEvents(),
1000        e.initSlideEvents(),
1001        e.$list.on("touchstart.slick mousedown.slick", {
1002            action: "start"
1003        }, e.swipeHandler),
1004        e.$list.on("touchmove.slick mousemove.slick", {
1005            action: "move"
1006        }, e.swipeHandler),
1007        e.$list.on("touchend.slick mouseup.slick", {
1008            action: "end"
1009        }, e.swipeHandler),
1010        e.$list.on("touchcancel.slick mouseleave.slick", {
1011            action: "end"
1012        }, e.swipeHandler),
1013        e.$list.on("click.slick", e.clickHandler),
1014        i(document).on(e.visibilityChange, i.proxy(e.visibility, e)),
1015        !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler),
1016        !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler),
1017        i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)),
1018        i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)),
1019        i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
1020        i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
1021        i(e.setPosition)
1022    }
1023    ,
1024    e.prototype.initUI = function() {
1025        var i = this;
1026        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(),
1027        i.$nextArrow.show()),
1028        !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show()
1029    }
1030    ,
1031    e.prototype.keyHandler = function(i) {
1032        var e = this;
1033        i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({
1034            data: {
1035                message: !0 === e.options.rtl ? "next" : "previous"
1036            }
1037        }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({
1038            data: {
1039                message: !0 === e.options.rtl ? "previous" : "next"
1040            }
1041        }))
1042    }
1043    ,
1044    e.prototype.lazyLoad = function() {
1045        function e(e) {
1046            i("img[data-lazy]", e).each(function() {
1047                var e = i(this)
1048                  , t = i(this).attr("data-lazy")
1049                  , o = i(this).attr("data-srcset")
1050                  , s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes")
1051                  , r = document.createElement("img");
1052                r.onload = function() {
1053                    e.animate({
1054                        opacity: 0
1055                    }, 100, function() {
1056                        o && (e.attr("srcset", o),
1057                        s && e.attr("sizes", s)),
1058                        e.attr("src", t).animate({
1059                            opacity: 1
1060                        }, 200, function() {
1061                            e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
1062                        }),
1063                        n.$slider.trigger("lazyLoaded", [n, e, t])
1064                    })
1065                }
1066                ,
1067                r.onerror = function() {
1068                    e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),
1069                    n.$slider.trigger("lazyLoadError", [n, e, t])
1070                }
1071                ,
1072                r.src = t
1073            })
1074        }
1075        var t, o, s, n = this;
1076        if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)),
1077        s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide,
1078        s = Math.ceil(o + n.options.slidesToShow),
1079        !0 === n.options.fade && (o > 0 && o--,
1080        s <= n.slideCount && s++)),
1081        t = n.$slider.find(".slick-slide").slice(o, s),
1082        "anticipated" === n.options.lazyLoad)
1083            for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++)
1084                r < 0 && (r = n.slideCount - 1),
1085                t = (t = t.add(d.eq(r))).add(d.eq(l)),
1086                r--,
1087                l++;
1088        e(t),
1089        n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow))
1090    }
1091    ,
1092    e.prototype.loadSlider = function() {
1093        var i = this;
1094        i.setPosition(),
1095        i.$slideTrack.css({
1096            opacity: 1
1097        }),
1098        i.$slider.removeClass("slick-loading"),
1099        i.initUI(),
1100        "progressive" === i.options.lazyLoad && i.progressiveLazyLoad()
1101    }
1102    ,
1103    e.prototype.next = e.prototype.slickNext = function() {
1104        this.changeSlide({
1105            data: {
1106                message: "next"
1107            }
1108        })
1109    }
1110    ,
1111    e.prototype.orientationChange = function() {
1112        var i = this;
1113        i.checkResponsive(),
1114        i.setPosition()
1115    }
1116    ,
1117    e.prototype.pause = e.prototype.slickPause = function() {
1118        var i = this;
1119        i.autoPlayClear(),
1120        i.paused = !0
1121    }
1122    ,
1123    e.prototype.play = e.prototype.slickPlay = function() {
1124        var i = this;
1125        i.autoPlay(),
1126        i.options.autoplay = !0,
1127        i.paused = !1,
1128        i.focussed = !1,
1129        i.interrupted = !1
1130    }
1131    ,
1132    e.prototype.postSlide = function(e) {
1133        var t = this;
1134        t.unslicked || (t.$slider.trigger("afterChange", [t, e]),
1135        t.animating = !1,
1136        t.slideCount > t.options.slidesToShow && t.setPosition(),
1137        t.swipeLeft = null,
1138        t.options.autoplay && t.autoPlay(),
1139        !0 === t.options.accessibility && (t.initADA(),
1140        t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()))
1141    }
1142    ,
1143    e.prototype.prev = e.prototype.slickPrev = function() {
1144        this.changeSlide({
1145            data: {
1146                message: "previous"
1147            }
1148        })
1149    }
1150    ,
1151    e.prototype.preventDefault = function(i) {
1152        i.preventDefault()
1153    }
1154    ,
1155    e.prototype.progressiveLazyLoad = function(e) {
1156        e = e || 1;
1157        var t, o, s, n, r, l = this, d = i("img[data-lazy]", l.$slider);
1158        d.length ? (t = d.first(),
1159        o = t.attr("data-lazy"),
1160        s = t.attr("data-srcset"),
1161        n = t.attr("data-sizes") || l.$slider.attr("data-sizes"),
1162        (r = document.createElement("img")).onload = function() {
1163            s && (t.attr("srcset", s),
1164            n && t.attr("sizes", n)),
1165            t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),
1166            !0 === l.options.adaptiveHeight && l.setPosition(),
1167            l.$slider.trigger("lazyLoaded", [l, t, o]),
1168            l.progressiveLazyLoad()
1169        }
1170        ,
1171        r.onerror = function() {
1172            e < 3 ? setTimeout(function() {
1173                l.progressiveLazyLoad(e + 1)
1174            }, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),
1175            l.$slider.trigger("lazyLoadError", [l, t, o]),
1176            l.progressiveLazyLoad())
1177        }
1178        ,
1179        r.src = o) : l.$slider.trigger("allImagesLoaded", [l])
1180    }
1181    ,
1182    e.prototype.refresh = function(e) {
1183        var t, o, s = this;
1184        o = s.slideCount - s.options.slidesToShow,
1185        !s.options.infinite && s.currentSlide > o && (s.currentSlide = o),
1186        s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0),
1187        t = s.currentSlide,
1188        s.destroy(!0),
1189        i.extend(s, s.initials, {
1190            currentSlide: t
1191        }),
1192        s.init(),
1193        e || s.changeSlide({
1194            data: {
1195                message: "index",
1196                index: t
1197            }
1198        }, !1)
1199    }
1200    ,
1201    e.prototype.registerBreakpoints = function() {
1202        var e, t, o, s = this, n = s.options.responsive || null;
1203        if ("array" === i.type(n) && n.length) {
1204            s.respondTo = s.options.respondTo || "window";
1205            for (e in n)
1206                if (o = s.breakpoints.length - 1,
1207                n.hasOwnProperty(e)) {
1208                    for (t = n[e].breakpoint; o >= 0; )
1209                        s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1),
1210                        o--;
1211                    s.breakpoints.push(t),
1212                    s.breakpointSettings[t] = n[e].settings
1213                }
1214            s.breakpoints.sort(function(i, e) {
1215                return s.options.mobileFirst ? i - e : e - i
1216            })
1217        }
1218    }
1219    ,
1220    e.prototype.reinit = function() {
1221        var e = this;
1222        e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"),
1223        e.slideCount = e.$slides.length,
1224        e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll),
1225        e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
1226        e.registerBreakpoints(),
1227        e.setProps(),
1228        e.setupInfinite(),
1229        e.buildArrows(),
1230        e.updateArrows(),
1231        e.initArrowEvents(),
1232        e.buildDots(),
1233        e.updateDots(),
1234        e.initDotEvents(),
1235        e.cleanUpSlideEvents(),
1236        e.initSlideEvents(),
1237        e.checkResponsive(!1, !0),
1238        !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler),
1239        e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0),
1240        e.setPosition(),
1241        e.focusHandler(),
1242        e.paused = !e.options.autoplay,
1243        e.autoPlay(),
1244        e.$slider.trigger("reInit", [e])
1245    }
1246    ,
1247    e.prototype.resize = function() {
1248        var e = this;
1249        i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay),
1250        e.windowDelay = window.setTimeout(function() {
1251            e.windowWidth = i(window).width(),
1252            e.checkResponsive(),
1253            e.unslicked || e.setPosition()
1254        }, 50))
1255    }
1256    ,
1257    e.prototype.removeSlide = e.prototype.slickRemove = function(i, e, t) {
1258        var o = this;
1259        if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i,
1260        o.slideCount < 1 || i < 0 || i > o.slideCount - 1)
1261            return !1;
1262        o.unload(),
1263        !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(),
1264        o.$slides = o.$slideTrack.children(this.options.slide),
1265        o.$slideTrack.children(this.options.slide).detach(),
1266        o.$slideTrack.append(o.$slides),
1267        o.$slidesCache = o.$slides,
1268        o.reinit()
1269    }
1270    ,
1271    e.prototype.setCSS = function(i) {
1272        var e, t, o = this, s = {};
1273        !0 === o.options.rtl && (i = -i),
1274        e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px",
1275        t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px",
1276        s[o.positionProp] = i,
1277        !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {},
1278        !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")",
1279        o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)",
1280        o.$slideTrack.css(s)))
1281    }
1282    ,
1283    e.prototype.setDimensions = function() {
1284        var i = this;
1285        !1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({
1286            padding: "0px " + i.options.centerPadding
1287        }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow),
1288        !0 === i.options.centerMode && i.$list.css({
1289            padding: i.options.centerPadding + " 0px"
1290        })),
1291        i.listWidth = i.$list.width(),
1292        i.listHeight = i.$list.height(),
1293        !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow),
1294        i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth),
1295        i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length)));
1296        var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
1297        !1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e)
1298    }
1299    ,
1300    e.prototype.setFade = function() {
1301        var e, t = this;
1302        t.$slides.each(function(o, s) {
1303            e = t.slideWidth * o * -1,
1304            !0 === t.options.rtl ? i(s).css({
1305                position: "relative",
1306                right: e,
1307                top: 0,
1308                zIndex: t.options.zIndex - 2,
1309                opacity: 0
1310            }) : i(s).css({
1311                position: "relative",
1312                left: e,
1313                top: 0,
1314                zIndex: t.options.zIndex - 2,
1315                opacity: 0
1316            })
1317        }),
1318        t.$slides.eq(t.currentSlide).css({
1319            zIndex: t.options.zIndex - 1,
1320            opacity: 1
1321        })
1322    }
1323    ,
1324    e.prototype.setHeight = function() {
1325        var i = this;
1326        if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
1327            var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
1328            i.$list.css("height", e)
1329        }
1330    }
1331    ,
1332    e.prototype.setOption = e.prototype.slickSetOption = function() {
1333        var e, t, o, s, n, r = this, l = !1;
1334        if ("object" === i.type(arguments[0]) ? (o = arguments[0],
1335        l = arguments[1],
1336        n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0],
1337        s = arguments[1],
1338        l = arguments[2],
1339        "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")),
1340        "single" === n)
1341            r.options[o] = s;
1342        else if ("multiple" === n)
1343            i.each(o, function(i, e) {
1344                r.options[i] = e
1345            });
1346        else if ("responsive" === n)
1347            for (t in s)
1348                if ("array" !== i.type(r.options.responsive))
1349                    r.options.responsive = [s[t]];
1350                else {
1351                    for (e = r.options.responsive.length - 1; e >= 0; )
1352                        r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1),
1353                        e--;
1354                    r.options.responsive.push(s[t])
1355                }
1356        l && (r.unload(),
1357        r.reinit())
1358    }
1359    ,
1360    e.prototype.setPosition = function() {
1361        var i = this;
1362        i.setDimensions(),
1363        i.setHeight(),
1364        !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(),
1365        i.$slider.trigger("setPosition", [i])
1366    }
1367    ,
1368    e.prototype.setProps = function() {
1369        var i = this
1370          , e = document.body.style;
1371        i.positionProp = !0 === i.options.vertical ? "top" : "left",
1372        "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"),
1373        void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0),
1374        i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex),
1375        void 0 !== e.OTransform && (i.animType = "OTransform",
1376        i.transformType = "-o-transform",
1377        i.transitionType = "OTransition",
1378        void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)),
1379        void 0 !== e.MozTransform && (i.animType = "MozTransform",
1380        i.transformType = "-moz-transform",
1381        i.transitionType = "MozTransition",
1382        void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)),
1383        void 0 !== e.webkitTransform && (i.animType = "webkitTransform",
1384        i.transformType = "-webkit-transform",
1385        i.transitionType = "webkitTransition",
1386        void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)),
1387        void 0 !== e.msTransform && (i.animType = "msTransform",
1388        i.transformType = "-ms-transform",
1389        i.transitionType = "msTransition",
1390        void 0 === e.msTransform && (i.animType = !1)),
1391        void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform",
1392        i.transformType = "transform",
1393        i.transitionType = "transition"),
1394        i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType
1395    }
1396    ,
1397    e.prototype.setSlideClasses = function(i) {
1398        var e, t, o, s, n = this;
1399        if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"),
1400        n.$slides.eq(i).addClass("slick-current"),
1401        !0 === n.options.centerMode) {
1402            var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
1403            e = Math.floor(n.options.slidesToShow / 2),
1404            !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i,
1405            t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")),
1406            0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")),
1407            n.$slides.eq(i).addClass("slick-center")
1408        } else
1409            i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow,
1410            o = !0 === n.options.infinite ? n.options.slidesToShow + i : i,
1411            n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));
1412        "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad()
1413    }
1414    ,
1415    e.prototype.setupInfinite = function() {
1416        var e, t, o, s = this;
1417        if (!0 === s.options.fade && (s.options.centerMode = !1),
1418        !0 === s.options.infinite && !1 === s.options.fade && (t = null,
1419        s.slideCount > s.options.slidesToShow)) {
1420            for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow,
1421            e = s.slideCount; e > s.slideCount - o; e -= 1)
1422                t = e - 1,
1423                i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
1424            for (e = 0; e < o + s.slideCount; e += 1)
1425                t = e,
1426                i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
1427            s.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
1428                i(this).attr("id", "")
1429            })
1430        }
1431    }
1432    ,
1433    e.prototype.interrupt = function(i) {
1434        var e = this;
1435        i || e.autoPlay(),
1436        e.interrupted = i
1437    }
1438    ,
1439    e.prototype.selectHandler = function(e) {
1440        var t = this
1441          , o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide")
1442          , s = parseInt(o.attr("data-slick-index"));
1443        s || (s = 0),
1444        t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s)
1445    }
1446    ,
1447    e.prototype.slideHandler = function(i, e, t) {
1448        var o, s, n, r, l, d = null, a = this;
1449        if (e = e || !1,
1450        !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i))
1451            if (!1 === e && a.asNavFor(i),
1452            o = i,
1453            d = a.getLeft(o),
1454            r = a.getLeft(a.currentSlide),
1455            a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft,
1456            !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll))
1457                !1 === a.options.fade && (o = a.currentSlide,
1458                !0 !== t ? a.animateSlide(r, function() {
1459                    a.postSlide(o)
1460                }) : a.postSlide(o));
1461            else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll))
1462                !1 === a.options.fade && (o = a.currentSlide,
1463                !0 !== t ? a.animateSlide(r, function() {
1464                    a.postSlide(o)
1465                }) : a.postSlide(o));
1466            else {
1467                if (a.options.autoplay && clearInterval(a.autoPlayTimer),
1468                s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o,
1469                a.animating = !0,
1470                a.$slider.trigger("beforeChange", [a, a.currentSlide, s]),
1471                n = a.currentSlide,
1472                a.currentSlide = s,
1473                a.setSlideClasses(a.currentSlide),
1474                a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide),
1475                a.updateDots(),
1476                a.updateArrows(),
1477                !0 === a.options.fade)
1478                    return !0 !== t ? (a.fadeSlideOut(n),
1479                    a.fadeSlide(s, function() {
1480                        a.postSlide(s)
1481                    })) : a.postSlide(s),
1482                    void a.animateHeight();
1483                !0 !== t ? a.animateSlide(d, function() {
1484                    a.postSlide(s)
1485                }) : a.postSlide(s)
1486            }
1487    }
1488    ,
1489    e.prototype.startLoad = function() {
1490        var i = this;
1491        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(),
1492        i.$nextArrow.hide()),
1493        !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(),
1494        i.$slider.addClass("slick-loading")
1495    }
1496    ,
1497    e.prototype.swipeDirection = function() {
1498        var i, e, t, o, s = this;
1499        return i = s.touchObject.startX - s.touchObject.curX,
1500        e = s.touchObject.startY - s.touchObject.curY,
1501        t = Math.atan2(e, i),
1502        (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)),
1503        o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical"
1504    }
1505    ,
1506    e.prototype.swipeEnd = function(i) {
1507        var e, t, o = this;
1508        if (o.dragging = !1,
1509        o.swiping = !1,
1510        o.scrolling)
1511            return o.scrolling = !1,
1512            !1;
1513        if (o.interrupted = !1,
1514        o.shouldClick = !(o.touchObject.swipeLength > 10),
1515        void 0 === o.touchObject.curX)
1516            return !1;
1517        if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]),
1518        o.touchObject.swipeLength >= o.touchObject.minSwipe) {
1519            switch (t = o.swipeDirection()) {
1520            case "left":
1521            case "down":
1522                e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(),
1523                o.currentDirection = 0;
1524                break;
1525            case "right":
1526            case "up":
1527                e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(),
1528                o.currentDirection = 1
1529            }
1530            "vertical" != t && (o.slideHandler(e),
1531            o.touchObject = {},
1532            o.$slider.trigger("swipe", [o, t]))
1533        } else
1534            o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide),
1535            o.touchObject = {})
1536    }
1537    ,
1538    e.prototype.swipeHandler = function(i) {
1539        var e = this;
1540        if (!(!1 === e.options.swipe || "ontouchend"in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse")))
1541            switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1,
1542            e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold,
1543            !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold),
1544            i.data.action) {
1545            case "start":
1546                e.swipeStart(i);
1547                break;
1548            case "move":
1549                e.swipeMove(i);
1550                break;
1551            case "end":
1552                e.swipeEnd(i)
1553            }
1554    }
1555    ,
1556    e.prototype.swipeMove = function(i) {
1557        var e, t, o, s, n, r, l = this;
1558        return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null,
1559        !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide),
1560        l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX,
1561        l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY,
1562        l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))),
1563        r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))),
1564        !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0,
1565        !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r),
1566        t = l.swipeDirection(),
1567        void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0,
1568        i.preventDefault()),
1569        s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1),
1570        !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1),
1571        o = l.touchObject.swipeLength,
1572        l.touchObject.edgeHit = !1,
1573        !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction,
1574        l.touchObject.edgeHit = !0),
1575        !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s,
1576        !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s),
1577        !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null,
1578        !1) : void l.setCSS(l.swipeLeft))))
1579    }
1580    ,
1581    e.prototype.swipeStart = function(i) {
1582        var e, t = this;
1583        if (t.interrupted = !0,
1584        1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow)
1585            return t.touchObject = {},
1586            !1;
1587        void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]),
1588        t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX,
1589        t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY,
1590        t.dragging = !0
1591    }
1592    ,
1593    e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() {
1594        var i = this;
1595        null !== i.$slidesCache && (i.unload(),
1596        i.$slideTrack.children(this.options.slide).detach(),
1597        i.$slidesCache.appendTo(i.$slideTrack),
1598        i.reinit())
1599    }
1600    ,
1601    e.prototype.unload = function() {
1602        var e = this;
1603        i(".slick-cloned", e.$slider).remove(),
1604        e.$dots && e.$dots.remove(),
1605        e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(),
1606        e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(),
1607        e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
1608    }
1609    ,
1610    e.prototype.unslick = function(i) {
1611        var e = this;
1612        e.$slider.trigger("unslick", [e, i]),
1613        e.destroy()
1614    }
1615    ,
1616    e.prototype.updateArrows = function() {
1617        var i = this;
1618        Math.floor(i.options.slidesToShow / 2),
1619        !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
1620        i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
1621        0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
1622        i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
1623        i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"),
1624        i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
1625    }
1626    ,
1627    e.prototype.updateDots = function() {
1628        var i = this;
1629        null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(),
1630        i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active"))
1631    }
1632    ,
1633    e.prototype.visibility = function() {
1634        var i = this;
1635        i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1)
1636    }
1637    ,
1638    i.fn.slick = function() {
1639        var i, t, o = this, s = arguments[0], n = Array.prototype.slice.call(arguments, 1), r = o.length;
1640        for (i = 0; i < r; i++)
1641            if ("object" == typeof s || void 0 === s ? o[i].slick = new e(o[i],s) : t = o[i].slick[s].apply(o[i].slick, n),
1642            void 0 !== t)
1643                return t;
1644        return o
1645    }
1646});
1647
1648
1649/* == jquery mousewheel v3.1.13 【使用:首頁"活動區塊"】 
1650   Copyright OpenJS Foundation and other contributors
1651   https://github.com/jquery/jquery-mousewheel
1652*/
1653!function(a) {
1654    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? module.exports = a : a(jQuery)
1655}(function(a) {
1656    function b(b) {
1657        var g = b || window.event
1658          , h = i.call(arguments, 1)
1659          , j = 0
1660          , l = 0
1661          , m = 0
1662          , n = 0
1663          , o = 0
1664          , p = 0;
1665        if (b = a.event.fix(g),
1666        b.type = "mousewheel",
1667        "detail"in g && (m = -1 * g.detail),
1668        "wheelDelta"in g && (m = g.wheelDelta),
1669        "wheelDeltaY"in g && (m = g.wheelDeltaY),
1670        "wheelDeltaX"in g && (l = -1 * g.wheelDeltaX),
1671        "axis"in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m,
1672        m = 0),
1673        j = 0 === m ? l : m,
1674        "deltaY"in g && (m = -1 * g.deltaY,
1675        j = m),
1676        "deltaX"in g && (l = g.deltaX,
1677        0 === m && (j = -1 * l)),
1678        0 !== m || 0 !== l) {
1679            if (1 === g.deltaMode) {
1680                var q = a.data(this, "mousewheel-line-height");
1681                j *= q,
1682                m *= q,
1683                l *= q
1684            } else if (2 === g.deltaMode) {
1685                var r = a.data(this, "mousewheel-page-height");
1686                j *= r,
1687                m *= r,
1688                l *= r
1689            }
1690            if (n = Math.max(Math.abs(m), Math.abs(l)),
1691            (!f || f > n) && (f = n,
1692            d(g, n) && (f /= 40)),
1693            d(g, n) && (j /= 40,
1694            l /= 40,
1695            m /= 40),
1696            j = Math[j >= 1 ? "floor" : "ceil"](j / f),
1697            l = Math[l >= 1 ? "floor" : "ceil"](l / f),
1698            m = Math[m >= 1 ? "floor" : "ceil"](m / f),
1699            k.settings.normalizeOffset && this.getBoundingClientRect) {
1700                var s = this.getBoundingClientRect();
1701                o = b.clientX - s.left,
1702                p = b.clientY - s.top
1703            }
1704            return b.deltaX = l,
1705            b.deltaY = m,
1706            b.deltaFactor = f,
1707            b.offsetX = o,
1708            b.offsetY = p,
1709            b.deltaMode = 0,
1710            h.unshift(b, j, l, m),
1711            e && clearTimeout(e),
1712            e = setTimeout(c, 200),
1713            (a.event.dispatch || a.event.handle).apply(this, h)
1714        }
1715    }
1716    function c() {
1717        f = null
1718    }
1719    function d(a, b) {
1720        return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0
1721    }
1722    var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], h 
vendor: 80,411 bytes, lines 1722-3325
1722= "onwheel"in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"], i = Array.prototype.slice;
1723    if (a.event.fixHooks)
1724        for (var j = g.length; j; )
1725            a.event.fixHooks[g[--j]] = a.event.mouseHooks;
1726    var k = a.event.special.mousewheel = {
1727        version: "3.1.12",
1728        setup: function() {
1729            if (this.addEventListener)
1730                for (var c = h.length; c; )
1731                    this.addEventListener(h[--c], b, !1);
1732            else
1733                this.onmousewheel = b;
1734            a.data(this, "mousewheel-line-height", k.getLineHeight(this)),
1735            a.data(this, "mousewheel-page-height", k.getPageHeight(this))
1736        },
1737        teardown: function() {
1738            if (this.removeEventListener)
1739                for (var c = h.length; c; )
1740                    this.removeEventListener(h[--c], b, !1);
1741            else
1742                this.onmousewheel = null;
1743            a.removeData(this, "mousewheel-line-height"),
1744            a.removeData(this, "mousewheel-page-height")
1745        },
1746        getLineHeight: function(b) {
1747            var c = a(b)
1748              , d = c["offsetParent"in a.fn ? "offsetParent" : "parent"]();
1749            return d.length || (d = a("body")),
1750            parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16
1751        },
1752        getPageHeight: function(b) {
1753            return a(b).height()
1754        },
1755        settings: {
1756            adjustOldDeltas: !0,
1757            normalizeOffset: !0
1758        }
1759    };
1760    a.fn.extend({
1761        mousewheel: function(a) {
1762            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel")
1763        },
1764        unmousewheel: function(a) {
1765            return this.unbind("mousewheel", a)
1766        }
1767    })
1768});
1769!function(a) {
1770    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? module.exports = a : a(jQuery)
1771}(function(a) {
1772    function b(b) {
1773        var g = b || window.event
1774          , h = i.call(arguments, 1)
1775          , j = 0
1776          , l = 0
1777          , m = 0
1778          , n = 0
1779          , o = 0
1780          , p = 0;
1781        if (b = a.event.fix(g),
1782        b.type = "mousewheel",
1783        "detail"in g && (m = -1 * g.detail),
1784        "wheelDelta"in g && (m = g.wheelDelta),
1785        "wheelDeltaY"in g && (m = g.wheelDeltaY),
1786        "wheelDeltaX"in g && (l = -1 * g.wheelDeltaX),
1787        "axis"in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m,
1788        m = 0),
1789        j = 0 === m ? l : m,
1790        "deltaY"in g && (m = -1 * g.deltaY,
1791        j = m),
1792        "deltaX"in g && (l = g.deltaX,
1793        0 === m && (j = -1 * l)),
1794        0 !== m || 0 !== l) {
1795            if (1 === g.deltaMode) {
1796                var q = a.data(this, "mousewheel-line-height");
1797                j *= q,
1798                m *= q,
1799                l *= q
1800            } else if (2 === g.deltaMode) {
1801                var r = a.data(this, "mousewheel-page-height");
1802                j *= r,
1803                m *= r,
1804                l *= r
1805            }
1806            if (n = Math.max(Math.abs(m), Math.abs(l)),
1807            (!f || f > n) && (f = n,
1808            d(g, n) && (f /= 40)),
1809            d(g, n) && (j /= 40,
1810            l /= 40,
1811            m /= 40),
1812            j = Math[j >= 1 ? "floor" : "ceil"](j / f),
1813            l = Math[l >= 1 ? "floor" : "ceil"](l / f),
1814            m = Math[m >= 1 ? "floor" : "ceil"](m / f),
1815            k.settings.normalizeOffset && this.getBoundingClientRect) {
1816                var s = this.getBoundingClientRect();
1817                o = b.clientX - s.left,
1818                p = b.clientY - s.top
1819            }
1820            return b.deltaX = l,
1821            b.deltaY = m,
1822            b.deltaFactor = f,
1823            b.offsetX = o,
1824            b.offsetY = p,
1825            b.deltaMode = 0,
1826            h.unshift(b, j, l, m),
1827            e && clearTimeout(e),
1828            e = setTimeout(c, 200),
1829            (a.event.dispatch || a.event.handle).apply(this, h)
1830        }
1831    }
1832    function c() {
1833        f = null
1834    }
1835    function d(a, b) {
1836        return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0
1837    }
1838    var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], h = "onwheel"in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"], i = Array.prototype.slice;
1839    if (a.event.fixHooks)
1840        for (var j = g.length; j; )
1841            a.event.fixHooks[g[--j]] = a.event.mouseHooks;
1842    var k = a.event.special.mousewheel = {
1843        version: "3.1.12",
1844        setup: function() {
1845            if (this.addEventListener)
1846                for (var c = h.length; c; )
1847                    this.addEventListener(h[--c], b, !1);
1848            else
1849                this.onmousewheel = b;
1850            a.data(this, "mousewheel-line-height", k.getLineHeight(this)),
1851            a.data(this, "mousewheel-page-height", k.getPageHeight(this))
1852        },
1853        teardown: function() {
1854            if (this.removeEventListener)
1855                for (var c = h.length; c; )
1856                    this.removeEventListener(h[--c], b, !1);
1857            else
1858                this.onmousewheel = null;
1859            a.removeData(this, "mousewheel-line-height"),
1860            a.removeData(this, "mousewheel-page-height")
1861        },
1862        getLineHeight: function(b) {
1863            var c = a(b)
1864              , d = c["offsetParent"in a.fn ? "offsetParent" : "parent"]();
1865            return d.length || (d = a("body")),
1866            parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16
1867        },
1868        getPageHeight: function(b) {
1869            return a(b).height()
1870        },
1871        settings: {
1872            adjustOldDeltas: !0,
1873            normalizeOffset: !0
1874        }
1875    };
1876    a.fn.extend({
1877        mousewheel: function(a) {
1878            return a ? this.bind("mousewheel", a) : this.trigger("mousewheel")
1879        },
1880        unmousewheel: function(a) {
1881            return this.unbind("mousewheel", a)
1882        }
1883    })
1884});
1885/* == malihu jquery custom scrollbar v3.1.5 【使用:首頁"活動區塊"】 
1886  plugin is released under MIT license.
1887  https://github.com/mzubala/jquery-custom-scrollbar
1888*/
1889!function(e) {
1890    "function" == typeof define && define.amd ? define(["jquery"], e) : "undefined" != typeof module && module.exports ? module.exports = e : e(jQuery, window, document)
1891}(function(e) {
1892    !function(t) {
1893        var o = "function" == typeof define && define.amd
1894          , a = "undefined" != typeof module && module.exports
1895          , n = "https:" == document.location.protocol ? "https:" : "http:"
1896          , i = "cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";
1897        o || (a ? require("jquery-mousewheel")(e) : e.event.special.mousewheel || e("head").append(decodeURI("%3Cscript src=" + n + "//" + i + "%3E%3C/script%3E"))),
1898        t()
1899    }(function() {
1900        var t, o = "mCustomScrollbar", a = "mCS", n = ".mCustomScrollbar", i = {
1901            setTop: 0,
1902            setLeft: 0,
1903            axis: "y",
1904            scrollbarPosition: "inside",
1905            scrollInertia: 950,
1906            autoDraggerLength: !0,
1907            alwaysShowScrollbar: 0,
1908            snapOffset: 0,
1909            mouseWheel: {
1910                enable: !0,
1911                scrollAmount: "auto",
1912                axis: "y",
1913                deltaFactor: "auto",
1914                disableOver: ["select", "option", "keygen", "datalist", "textarea"]
1915            },
1916            scrollButtons: {
1917                scrollType: "stepless",
1918                scrollAmount: "auto"
1919            },
1920            keyboard: {
1921                enable: !0,
1922                scrollType: "stepless",
1923                scrollAmount: "auto"
1924            },
1925            contentTouchScroll: 25,
1926            documentTouchScroll: !0,
1927            advanced: {
1928                autoScrollOnFocus: "input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",
1929                updateOnContentResize: !0,
1930                updateOnImageLoad: "auto",
1931                autoUpdateTimeout: 60
1932            },
1933            theme: "light",
1934            callbacks: {
1935                onTotalScrollOffset: 0,
1936                onTotalScrollBackOffset: 0,
1937                alwaysTriggerOffsets: !0
1938            }
1939        }, r = 0, l = {}, s = window.attachEvent && !window.addEventListener ? 1 : 0, c = !1, 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"], u = {
1940            init: function(t) {
1941                var t = e.extend(!0, {}, i, t)
1942                  , o = f.call(this);
1943                if (t.live) {
1944                    var s = t.liveSelector || this.selector || n
1945                      , c = e(s);
1946                    if ("off" === t.live)
1947                        return void m(s);
1948                    l[s] = setTimeout(function() {
1949                        c.mCustomScrollbar(t),
1950                        "once" === t.live && c.length && m(s)
1951                    }, 500)
1952                } else
1953                    m(s);
1954                return t.setWidth = t.set_width ? t.set_width : t.setWidth,
1955                t.setHeight = t.set_height ? t.set_height : t.setHeight,
1956                t.axis = t.horizontalScroll ? "x" : p(t.axis),
1957                t.scrollInertia = t.scrollInertia > 0 && t.scrollInertia < 17 ? 17 : t.scrollInertia,
1958                "object" != typeof t.mouseWheel && 1 == t.mouseWheel && (t.mouseWheel = {
1959                    enable: !0,
1960                    scrollAmount: "auto",
1961                    axis: "y",
1962                    preventDefault: !1,
1963                    deltaFactor: "auto",
1964                    normalizeDelta: !1,
1965                    invert: !1
1966                }),
1967                t.mouseWheel.scrollAmount = t.mouseWheelPixels ? t.mouseWheelPixels : t.mouseWheel.scrollAmount,
1968                t.mouseWheel.normalizeDelta = t.advanced.normalizeMouseWheelDelta ? t.advanced.normalizeMouseWheelDelta : t.mouseWheel.normalizeDelta,
1969                t.scrollButtons.scrollType = g(t.scrollButtons.scrollType),
1970                h(t),
1971                e(o).each(function() {
1972                    var o = e(this);
1973                    if (!o.data(a)) {
1974                        o.data(a, {
1975                            idx: ++r,
1976                            opt: t,
1977                            scrollRatio: {
1978                                y: null,
1979                                x: null
1980                            },
1981                            overflowed: null,
1982                            contentReset: {
1983                                y: null,
1984                                x: null
1985                            },
1986                            bindEvents: !1,
1987                            tweenRunning: !1,
1988                            sequential: {},
1989                            langDir: o.css("direction"),
1990                            cbOffsets: null,
1991                            trigger: null,
1992                            poll: {
1993                                size: {
1994                                    o: 0,
1995                                    n: 0
1996                                },
1997                                img: {
1998                                    o: 0,
1999                                    n: 0
2000                                },
2001                                change: {
2002                                    o: 0,
2003                                    n: 0
2004                                }
2005                            }
2006                        });
2007                        var n = o.data(a)
2008                          , i = n.opt
2009                          , l = o.data("mcs-axis")
2010                          , s = o.data("mcs-scrollbar-position")
2011                          , c = o.data("mcs-theme");
2012                        l && (i.axis = l),
2013                        s && (i.scrollbarPosition = s),
2014                        c && (i.theme = c,
2015                        h(i)),
2016                        v.call(this),
2017                        n && i.callbacks.onCreate && "function" == typeof i.callbacks.onCreate && i.callbacks.onCreate.call(this),
2018                        e("#mCSB_" + n.idx + "_container img:not(." + d[2] + ")").addClass(d[2]),
2019                        u.update.call(null, o)
2020                    }
2021                })
2022            },
2023            update: function(t, o) {
2024                var n = t || f.call(this);
2025                return e(n).each(function() {
2026                    var t = e(this);
2027                    if (t.data(a)) {
2028                        var n = t.data(a)
2029                          , i = n.opt
2030                          , r = e("#mCSB_" + n.idx + "_container")
2031                          , l = e("#mCSB_" + n.idx)
2032                          , s = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")];
2033                        if (!r.length)
2034                            return;
2035                        n.tweenRunning && Q(t),
2036                        o && n && i.callbacks.onBeforeUpdate && "function" == typeof i.callbacks.onBeforeUpdate && i.callbacks.onBeforeUpdate.call(this),
2037                        t.hasClass(d[3]) && t.removeClass(d[3]),
2038                        t.hasClass(d[4]) && t.removeClass(d[4]),
2039                        l.css("max-height", "none"),
2040                        l.height() !== t.height() && l.css("max-height", t.height()),
2041                        _.call(this),
2042                        "y" === i.axis || i.advanced.autoExpandHorizontalScroll || r.css("width", x(r)),
2043                        n.overflowed = y.call(this),
2044                        M.call(this),
2045                        i.autoDraggerLength && S.call(this),
2046                        b.call(this),
2047                        T.call(this);
2048                        var c = [Math.abs(r[0].offsetTop), Math.abs(r[0].offsetLeft)];
2049                        "x" !== i.axis && (n.overflowed[0] ? s[0].height() > s[0].parent().height() ? B.call(this) : (G(t, c[0].toString(), {
2050                            dir: "y",
2051                            dur: 0,
2052                            overwrite: "none"
2053                        }),
2054                        n.contentReset.y = null) : (B.call(this),
2055                        "y" === i.axis ? k.call(this) : "yx" === i.axis && n.overflowed[1] && G(t, c[1].toString(), {
2056                            dir: "x",
2057                            dur: 0,
2058                            overwrite: "none"
2059                        }))),
2060                        "y" !== i.axis && (n.overflowed[1] ? s[1].width() > s[1].parent().width() ? B.call(this) : (G(t, c[1].toString(), {
2061                            dir: "x",
2062                            dur: 0,
2063                            overwrite: "none"
2064                        }),
2065                        n.contentReset.x = null) : (B.call(this),
2066                        "x" === i.axis ? k.call(this) : "yx" === i.axis && n.overflowed[0] && G(t, c[0].toString(), {
2067                            dir: "y",
2068                            dur: 0,
2069                            overwrite: "none"
2070                        }))),
2071                        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)),
2072                        N.call(this)
2073                    }
2074                })
2075            },
2076            scrollTo: function(t, o) {
2077                if ("undefined" != typeof t && null != t) {
2078                    var n = f.call(this);
2079                    return e(n).each(function() {
2080                        var n = e(this);
2081                        if (n.data(a)) {
2082                            var i = n.data(a)
2083                              , r = i.opt
2084                              , l = {
2085                                trigger: "external",
2086                                scrollInertia: r.scrollInertia,
2087                                scrollEasing: "mcsEaseInOut",
2088                                moveDragger: !1,
2089                                timeout: 60,
2090                                callbacks: !0,
2091                                onStart: !0,
2092                                onUpdate: !0,
2093                                onComplete: !0
2094                            }
2095                              , s = e.extend(!0, {}, l, o)
2096                              , c = Y.call(this, t)
2097                              , d = s.scrollInertia > 0 && s.scrollInertia < 17 ? 17 : s.scrollInertia;
2098                            c[0] = X.call(this, c[0], "y"),
2099                            c[1] = X.call(this, c[1], "x"),
2100                            s.moveDragger && (c[0] *= i.scrollRatio.y,
2101                            c[1] *= i.scrollRatio.x),
2102                            s.dur = ne() ? 0 : d,
2103                            setTimeout(function() {
2104                                null !== c[0] && "undefined" != typeof c[0] && "x" !== r.axis && i.overflowed[0] && (s.dir = "y",
2105                                s.overwrite = "all",
2106                                G(n, c[0].toString(), s)),
2107                                null !== c[1] && "undefined" != typeof c[1] && "y" !== r.axis && i.overflowed[1] && (s.dir = "x",
2108                                s.overwrite = "none",
2109                                G(n, c[1].toString(), s))
2110                            }, s.timeout)
2111                        }
2112                    })
2113                }
2114            },
2115            stop: function() {
2116                var t = f.call(this);
2117                return e(t).each(function() {
2118                    var t = e(this);
2119                    t.data(a) && Q(t)
2120                })
2121            },
2122            disable: function(t) {
2123                var o = f.call(this);
2124                return e(o).each(function() {
2125                    var o = e(this);
2126                    if (o.data(a)) {
2127                        o.data(a);
2128                        N.call(this, "remove"),
2129                        k.call(this),
2130                        t && B.call(this),
2131                        M.call(this, !0),
2132                        o.addClass(d[3])
2133                    }
2134                })
2135            },
2136            destroy: function() {
2137                var t = f.call(this);
2138                return e(t).each(function() {
2139                    var n = e(this);
2140                    if (n.data(a)) {
2141                        var i = n.data(a)
2142                          , r = i.opt
2143                          , l = e("#mCSB_" + i.idx)
2144                          , s = e("#mCSB_" + i.idx + "_container")
2145                          , c = e(".mCSB_" + i.idx + "_scrollbar");
2146                        r.live && m(r.liveSelector || e(t).selector),
2147                        N.call(this, "remove"),
2148                        k.call(this),
2149                        B.call(this),
2150                        n.removeData(a),
2151                        $(this, "mcs"),
2152                        c.remove(),
2153                        s.find("img." + d[2]).removeClass(d[2]),
2154                        l.replaceWith(s.contents()),
2155                        n.removeClass(o + " _" + a + "_" + i.idx + " " + d[6] + " " + d[7] + " " + d[5] + " " + d[3]).addClass(d[4])
2156                    }
2157                })
2158            }
2159        }, f = function() {
2160            return "object" != typeof e(this) || e(this).length < 1 ? n : this
2161        }, h = function(t) {
2162            var o = ["rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark"]
2163              , 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"]
2164              , n = ["minimal", "minimal-dark"]
2165              , i = ["minimal", "minimal-dark"]
2166              , r = ["minimal", "minimal-dark"];
2167            t.autoDraggerLength = e.inArray(t.theme, o) > -1 ? !1 : t.autoDraggerLength,
2168            t.autoExpandScrollbar = e.inArray(t.theme, a) > -1 ? !1 : t.autoExpandScrollbar,
2169            t.scrollButtons.enable = e.inArray(t.theme, n) > -1 ? !1 : t.scrollButtons.enable,
2170            t.autoHideScrollbar = e.inArray(t.theme, i) > -1 ? !0 : t.autoHideScrollbar,
2171            t.scrollbarPosition = e.inArray(t.theme, r) > -1 ? "outside" : t.scrollbarPosition
2172        }, m = function(e) {
2173            l[e] && (clearTimeout(l[e]),
2174            $(l, e))
2175        }, p = function(e) {
2176            return "yx" === e || "xy" === e || "auto" === e ? "yx" : "x" === e || "horizontal" === e ? "x" : "y"
2177        }, g = function(e) {
2178            return "stepped" === e || "pixels" === e || "step" === e || "click" === e ? "stepped" : "stepless"
2179        }, v = function() {
2180            var t = e(this)
2181              , n = t.data(a)
2182              , i = n.opt
2183              , r = i.autoExpandScrollbar ? " " + d[1] + "_expand" : ""
2184              , 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>"]
2185              , s = "yx" === i.axis ? "mCSB_vertical_horizontal" : "x" === i.axis ? "mCSB_horizontal" : "mCSB_vertical"
2186              , c = "yx" === i.axis ? l[0] + l[1] : "x" === i.axis ? l[1] : l[0]
2187              , u = "yx" === i.axis ? "<div id='mCSB_" + n.idx + "_container_wrapper' class='mCSB_container_wrapper' />" : ""
2188              , f = i.autoHideScrollbar ? " " + d[6] : ""
2189              , h = "x" !== i.axis && "rtl" === n.langDir ? " " + d[7] : "";
2190            i.setWidth && t.css("width", i.setWidth),
2191            i.setHeight && t.css("height", i.setHeight),
2192            i.setLeft = "y" !== i.axis && "rtl" === n.langDir ? "989999px" : i.setLeft,
2193            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>");
2194            var m = e("#mCSB_" + n.idx)
2195              , p = e("#mCSB_" + n.idx + "_container");
2196            "y" === i.axis || i.advanced.autoExpandHorizontalScroll || p.css("width", x(p)),
2197            "outside" === i.scrollbarPosition ? ("static" === t.css("position") && t.css("position", "relative"),
2198            t.css("overflow", "visible"),
2199            m.addClass("mCSB_outside").after(c)) : (m.addClass("mCSB_inside").append(c),
2200            p.wrap(u)),
2201            w.call(this);
2202            var g = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")];
2203            g[0].css("min-height", g[0].height()),
2204            g[1].css("min-width", g[1].width())
2205        }, x = function(t) {
2206            var o = [t[0].scrollWidth, Math.max.apply(Math, t.children().map(function() {
2207                return e(this).outerWidth(!0)
2208            }).get())]
2209              , a = t.parent().width();
2210            return o[0] > a ? o[0] : o[1] > a ? o[1] : "100%"
2211        }, _ = function() {
2212            var t = e(this)
2213              , o = t.data(a)
2214              , n = o.opt
2215              , i = e("#mCSB_" + o.idx + "_container");
2216            if (n.advanced.autoExpandHorizontalScroll && "y" !== n.axis) {
2217                i.css({
2218                    width: "auto",
2219                    "min-width": 0,
2220                    "overflow-x": "scroll"
2221                });
2222                var r = Math.ceil(i[0].scrollWidth);
2223                3 === n.advanced.autoExpandHorizontalScroll || 2 !== n.advanced.autoExpandHorizontalScroll && r > i.parent().width() ? i.css({
2224                    width: r,
2225                    "min-width": "100%",
2226                    "overflow-x": "inherit"
2227                }) : i.css({
2228                    "overflow-x": "inherit",
2229                    position: "absolute"
2230                }).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;' />").css({
2231                    width: Math.ceil(i[0].getBoundingClientRect().right + .4) - Math.floor(i[0].getBoundingClientRect().left),
2232                    "min-width": "100%",
2233                    position: "relative"
2234                }).unwrap()
2235            }
2236        }, w = function() {
2237            var t = e(this)
2238              , o = t.data(a)
2239              , n = o.opt
2240              , i = e(".mCSB_" + o.idx + "_scrollbar:first")
2241              , r = oe(n.scrollButtons.tabindex) ? "tabindex='" + n.scrollButtons.tabindex + "'" : ""
2242              , 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 + " />"]
2243              , s = ["x" === n.axis ? l[2] : l[0], "x" === n.axis ? l[3] : l[1], l[2], l[3]];
2244            n.scrollButtons.enable && i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3])
2245        }, S = function() {
2246            var t = e(this)
2247              , o = t.data(a)
2248              , n = e("#mCSB_" + o.idx)
2249              , i = e("#mCSB_" + o.idx + "_container")
2250              , r = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")]
2251              , l = [n.height() / i.outerHeight(!1), n.width() / i.outerWidth(!1)]
2252              , 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())]
2253              , d = s && c[1] < c[0] ? c[0] : c[1]
2254              , u = s && c[3] < c[2] ? c[2] : c[3];
2255            r[0].css({
2256                height: d,
2257                "max-height": r[0].parent().height() - 10
2258            }).find(".mCSB_dragger_bar").css({
2259                "line-height": c[0] + "px"
2260            }),
2261            r[1].css({
2262                width: u,
2263                "max-width": r[1].parent().width() - 10
2264            })
2265        }, b = function() {
2266            var t = e(this)
2267              , o = t.data(a)
2268              , n = e("#mCSB_" + o.idx)
2269              , i = e("#mCSB_" + o.idx + "_container")
2270              , r = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")]
2271              , l = [i.outerHeight(!1) - n.height(), i.outerWidth(!1) - n.width()]
2272              , s = [l[0] / (r[0].parent().height() - r[0].height()), l[1] / (r[1].parent().width() - r[1].width())];
2273            o.scrollRatio = {
2274                y: s[0],
2275                x: s[1]
2276            }
2277        }, C = function(e, t, o) {
2278            var a = o ? d[0] + "_expanded" : ""
2279              , n = e.closest(".mCSB_scrollTools");
2280            "active" === t ? (e.toggleClass(d[0] + " " + a),
2281            n.toggleClass(d[1]),
2282            e[0]._draggable = e[0]._draggable ? 0 : 1) : e[0]._draggable || ("hide" === t ? (e.removeClass(d[0]),
2283            n.removeClass(d[1])) : (e.addClass(d[0]),
2284            n.addClass(d[1])))
2285        }, y = function() {
2286            var t = e(this)
2287              , o = t.data(a)
2288              , n = e("#mCSB_" + o.idx)
2289              , i = e("#mCSB_" + o.idx + "_container")
2290              , r = null == o.overflowed ? i.height() : i.outerHeight(!1)
2291              , l = null == o.overflowed ? i.width() : i.outerWidth(!1)
2292              , s = i[0].scrollHeight
2293              , c = i[0].scrollWidth;
2294            return s > r && (r = s),
2295            c > l && (l = c),
2296            [r > n.height(), l > n.width()]
2297        }, B = function() {
2298            var t = e(this)
2299              , o = t.data(a)
2300              , n = o.opt
2301              , i = e("#mCSB_" + o.idx)
2302              , r = e("#mCSB_" + o.idx + "_container")
2303              , l = [e("#mCSB_" + o.idx + "_dragger_vertical"), e("#mCSB_" + o.idx + "_dragger_horizontal")];
2304            if (Q(t),
2305            ("x" !== n.axis && !o.overflowed[0] || "y" === n.axis && o.overflowed[0]) && (l[0].add(r).css("top", 0),
2306            G(t, "_resetY")),
2307            "y" !== n.axis && !o.overflowed[1] || "x" === n.axis && o.overflowed[1]) {
2308                var s = dx = 0;
2309                "rtl" === o.langDir && (s = i.width() - r.outerWidth(!1),
2310                dx = Math.abs(s / o.scrollRatio.x)),
2311                r.css("left", s),
2312                l[1].css("left", dx),
2313                G(t, "_resetX")
2314            }
2315        }, T = function() {
2316            function t() {
2317                r = setTimeout(function() {
2318                    e.event.special.mousewheel ? (clearTimeout(r),
2319                    W.call(o[0])) : t()
2320                }, 100)
2321            }
2322            var o = e(this)
2323              , n = o.data(a)
2324              , i = n.opt;
2325            if (!n.bindEvents) {
2326                if (I.call(this),
2327                i.contentTouchScroll && D.call(this),
2328                E.call(this),
2329                i.mouseWheel.enable) {
2330                    var r;
2331                    t()
2332                }
2333                P.call(this),
2334                U.call(this),
2335                i.advanced.autoScrollOnFocus && H.call(this),
2336                i.scrollButtons.enable && F.call(this),
2337                i.keyboard.enable && q.call(this),
2338                n.bindEvents = !0
2339            }
2340        }, k = function() {
2341            var t = e(this)
2342              , o = t.data(a)
2343              , n = o.opt
2344              , i = a + "_" + o.idx
2345              , r = ".mCSB_" + o.idx + "_scrollbar"
2346              , 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")
2347              , s = e("#mCSB_" + o.idx + "_container");
2348            n.advanced.releaseDraggableSelectors && l.add(e(n.advanced.releaseDraggableSelectors)),
2349            n.advanced.extraDraggableSelectors && l.add(e(n.advanced.extraDraggableSelectors)),
2350            o.bindEvents && (e(document).add(e(!A() || top.document)).unbind("." + i),
2351            l.each(function() {
2352                e(this).unbind("." + i)
2353            }),
2354            clearTimeout(t[0]._focusTimeout),
2355            $(t[0], "_focusTimeout"),
2356            clearTimeout(o.sequential.step),
2357            $(o.sequential, "step"),
2358            clearTimeout(s[0].onCompleteTimeout),
2359            $(s[0], "onCompleteTimeout"),
2360            o.bindEvents = !1)
2361        }, M = function(t) {
2362            var o = e(this)
2363              , n = o.data(a)
2364              , i = n.opt
2365              , r = e("#mCSB_" + n.idx + "_container_wrapper")
2366              , l = r.length ? r : e("#mCSB_" + n.idx + "_container")
2367              , s = [e("#mCSB_" + n.idx + "_scrollbar_vertical"), e("#mCSB_" + n.idx + "_scrollbar_horizontal")]
2368              , c = [s[0].find(".mCSB_dragger"), s[1].find(".mCSB_dragger")];
2369            "x" !== i.axis && (n.overflowed[0] && !t ? (s[0].add(c[0]).add(s[0].children("a")).css("display", "block"),
2370            l.removeClass(d[8] + " " + d[10])) : (i.alwaysShowScrollbar ? (2 !== i.alwaysShowScrollbar && c[0].css("display", "none"),
2371            l.removeClass(d[10])) : (s[0].css("display", "none"),
2372            l.addClass(d[10])),
2373            l.addClass(d[8]))),
2374            "y" !== i.axis && (n.overflowed[1] && !t ? (s[1].add(c[1]).add(s[1].children("a")).css("display", "block"),
2375            l.removeClass(d[9] + " " + d[11])) : (i.alwaysShowScrollbar ? (2 !== i.alwaysShowScrollbar && c[1].css("display", "none"),
2376            l.removeClass(d[11])) : (s[1].css("display", "none"),
2377            l.addClass(d[11])),
2378            l.addClass(d[9]))),
2379            n.overflowed[0] || n.overflowed[1] ? o.removeClass(d[5]) : o.addClass(d[5])
2380        }, O = function(t) {
2381            var o = t.type
2382              , a = t.target.ownerDocument !== document && null !== frameElement ? [e(frameElement).offset().top, e(frameElement).offset().left] : null
2383              , n = A() && t.target.ownerDocument !== top.document && null !== frameElement ? [e(t.view.frameElement).offset().top, e(t.view.frameElement).offset().left] : [0, 0];
2384            switch (o) {
2385            case "pointerdown":
2386            case "MSPointerDown":
2387            case "pointermove":
2388            case "MSPointerMove":
2389            case "pointerup":
2390            case "MSPointerUp":
2391                return a ? [t.originalEvent.pageY - a[0] + n[0], t.originalEvent.pageX - a[1] + n[1], !1] : [t.originalEvent.pageY, t.originalEvent.pageX, !1];
2392            case "touchstart":
2393            case "touchmove":
2394            case "touchend":
2395                var i = t.originalEvent.touches[0] || t.originalEvent.changedTouches[0]
2396                  , r = t.originalEvent.touches.length || t.originalEvent.changedTouches.length;
2397                return t.target.ownerDocument !== document ? [i.screenY, i.screenX, r > 1] : [i.pageY, i.pageX, r > 1];
2398            default:
2399                return a ? [t.pageY - a[0] + n[0], t.pageX - a[1] + n[1], !1] : [t.pageY, t.pageX, !1]
2400            }
2401        }, I = function() {
2402            function t(e, t, a, n) {
2403                if (h[0].idleTimer = d.scrollInertia < 233 ? 250 : 0,
2404                o.attr("id") === f[1])
2405                    var i = "x"
2406                      , s = (o[0].offsetLeft - t + n) * l.scrollRatio.x;
2407                else
2408                    var i = "y"
2409                      , s = (o[0].offsetTop - e + a) * l.scrollRatio.y;
2410                G(r, s.toString(), {
2411                    dir: i,
2412                    drag: !0
2413                })
2414            }
2415            var o, n, i, r = e(this), l = r.data(a), d = l.opt, u = a + "_" + l.idx, f = ["mCSB_" + l.idx + "_dragger_vertical", "mCSB_" + l.idx + "_dragger_horizontal"], h = e("#mCSB_" + l.idx + "_container"), m = e("#" + f[0] + ",#" + f[1]), p = d.advanced.releaseDraggableSelectors ? m.add(e(d.advanced.releaseDraggableSelectors)) : m, g = d.advanced.extraDraggableSelectors ? e(!A() || top.document).add(e(d.advanced.extraDraggableSelectors)) : e(!A() || top.document);
2416            m.bind("contextmenu." + u, function(e) {
2417                e.preventDefault()
2418            }).bind("mousedown." + u + " touchstart." + u + " pointerdown." + u + " MSPointerDown." + u, function(t) {
2419                if (t.stopImmediatePropagation(),
2420                t.preventDefault(),
2421                ee(t)) {
2422                    c = !0,
2423                    s && (document.onselectstart = function() {
2424                        return !1
2425                    }
2426                    ),
2427                    L.call(h, !1),
2428                    Q(r),
2429                    o = e(this);
2430                    var a = o.offset()
2431                      , l = O(t)[0] - a.top
2432                      , u = O(t)[1] - a.left
2433                      , f = o.height() + a.top
2434                      , m = o.width() + a.left;
2435                    f > l && l > 0 && m > u && u > 0 && (n = l,
2436                    i = u),
2437                    C(o, "active", d.autoExpandScrollbar)
2438                }
2439            }).bind("touchmove." + u, function(e) {
2440                e.stopImmediatePropagation(),
2441                e.preventDefault();
2442                var a = o.offset()
2443                  , r = O(e)[0] - a.top
2444                  , l = O(e)[1] - a.left;
2445                t(n, i, r, l)
2446            }),
2447            e(document).add(g).bind("mousemove." + u + " pointermove." + u + " MSPointerMove." + u, function(e) {
2448                if (o) {
2449                    var a = o.offset()
2450                      , r = O(e)[0] - a.top
2451                      , l = O(e)[1] - a.left;
2452                    if (n === r && i === l)
2453                        return;
2454                    t(n, i, r, l)
2455                }
2456            }).add(p).bind("mouseup." + u + " touchend." + u + " pointerup." + u + " MSPointerUp." + u, function() {
2457                o && (C(o, "active", d.autoExpandScrollbar),
2458                o = null),
2459                c = !1,
2460                s && (document.onselectstart = null),
2461                L.call(h, !0)
2462            })
2463        }, D = function() {
2464            function o(e) {
2465                if (!te(e) || c || O(e)[2])
2466                    return void (t = 0);
2467                t = 1,
2468                b = 0,
2469                C = 0,
2470                d = 1,
2471                y.removeClass("mCS_touch_action");
2472                var o = I.offset();
2473                u = O(e)[0] - o.top,
2474                f = O(e)[1] - o.left,
2475                z = [O(e)[0], O(e)[1]]
2476            }
2477            function n(e) {
2478                if (te(e) && !c && !O(e)[2] && (T.documentTouchScroll || e.preventDefault(),
2479                e.stopImmediatePropagation(),
2480                (!C || b) && d)) {
2481                    g = K();
2482                    var t = M.offset()
2483                      , o = O(e)[0] - t.top
2484                      , a = O(e)[1] - t.left
2485                      , n = "mcsLinearOut";
2486                    if (E.push(o),
2487                    W.push(a),
2488                    z[2] = Math.abs(O(e)[0] - z[0]),
2489                    z[3] = Math.abs(O(e)[1] - z[1]),
2490                    B.overflowed[0])
2491                        var i = D[0].parent().height() - D[0].height()
2492                          , r = u - o > 0 && o - u > -(i * B.scrollRatio.y) && (2 * z[3] < z[2] || "yx" === T.axis);
2493                    if (B.overflowed[1])
2494                        var l = D[1].parent().width() - D[1].width()
2495                          , h = f - a > 0 && a - f > -(l * B.scrollRatio.x) && (2 * z[2] < z[3] || "yx" === T.axis);
2496                    r || h ? (U || e.preventDefault(),
2497                    b = 1) : (C = 1,
2498                    y.addClass("mCS_touch_action")),
2499                    U && e.preventDefault(),
2500                    w = "yx" === T.axis ? [u - o, f - a] : "x" === T.axis ? [null, f - a] : [u - o, null],
2501                    I[0].idleTimer = 250,
2502                    B.overflowed[0] && s(w[0], R, n, "y", "all", !0),
2503                    B.overflowed[1] && s(w[1], R, n, "x", L, !0)
2504                }
2505            }
2506            function i(e) {
2507                if (!te(e) || c || O(e)[2])
2508                    return void (t = 0);
2509                t = 1,
2510                e.stopImmediatePropagation(),
2511                Q(y),
2512                p = K();
2513                var o = M.offset();
2514                h = O(e)[0] - o.top,
2515                m = O(e)[1] - o.left,
2516                E = [],
2517                W = []
2518            }
2519            function r(e) {
2520                if (te(e) && !c && !O(e)[2]) {
2521                    d = 0,
2522                    e.stopImmediatePropagation(),
2523                    b = 0,
2524                    C = 0,
2525                    v = K();
2526                    var t = M.offset()
2527                      , o = O(e)[0] - t.top
2528                      , a = O(e)[1] - t.left;
2529                    if (!(v - g > 30)) {
2530                        _ = 1e3 / (v - p);
2531                        var n = "mcsEaseOut"
2532                          , i = 2.5 > _
2533                          , r = i ? [E[E.length - 2], W[W.length - 2]] : [0, 0];
2534                        x = i ? [o - r[0], a - r[1]] : [o - h, a - m];
2535                        var u = [Math.abs(x[0]), Math.abs(x[1])];
2536                        _ = i ? [Math.abs(x[0] / 4), Math.abs(x[1] / 4)] : [_, _];
2537                        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])];
2538                        w = "yx" === T.axis ? [f[0], f[1]] : "x" === T.axis ? [null, f[1]] : [f[0], null],
2539                        S = [4 * u[0] + T.scrollInertia, 4 * u[1] + T.scrollInertia];
2540                        var y = parseInt(T.contentTouchScroll) || 0;
2541                        w[0] = u[0] > y ? w[0] : 0,
2542                        w[1] = u[1] > y ? w[1] : 0,
2543                        B.overflowed[0] && s(w[0], S[0], n, "y", L, !1),
2544                        B.overflowed[1] && s(w[1], S[1], n, "x", L, !1)
2545                    }
2546                }
2547            }
2548            function l(e, t) {
2549                var o = [1.5 * t, 2 * t, t / 1.5, t / 2];
2550                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]
2551            }
2552            function s(e, t, o, a, n, i) {
2553                e && G(y, e.toString(), {
2554                    dur: t,
2555                    scrollEasing: o,
2556                    dir: a,
2557                    overwrite: n,
2558                    drag: i
2559                })
2560            }
2561            var d, u, f, h, m, p, g, v, x, _, w, S, b, C, y = e(this), B = y.data(a), T = B.opt, k = a + "_" + B.idx, M = e("#mCSB_" + B.idx), I = e("#mCSB_" + B.idx + "_container"), D = [e("#mCSB_" + B.idx + "_dragger_vertical"), e("#mCSB_" + B.idx + "_dragger_horizontal")], E = [], W = [], R = 0, L = "yx" === T.axis ? "none" : "all", z = [], P = I.find("iframe"), H = ["touchstart." + k + " pointerdown." + k + " MSPointerDown." + k, "touchmove." + k + " pointermove." + k + " MSPointerMove." + k, "touchend." + k + " pointerup." + k + " MSPointerUp." + k], U = void 0 !== document.body.style.touchAction && "" !== document.body.style.touchAction;
2562            I.bind(H[0], function(e) {
2563                o(e)
2564            }).bind(H[1], function(e) {
2565                n(e)
2566            }),
2567            M.bind(H[0], function(e) {
2568                i(e)
2569            }).bind(H[2], function(e) {
2570                r(e)
2571            }),
2572            P.length && P.each(function() {
2573                e(this).bind("load", function() {
2574                    A(this) && e(this.contentDocument || this.contentWindow.document).bind(H[0], function(e) {
2575                        o(e),
2576                        i(e)
2577                    }).bind(H[1], function(e) {
2578                        n(e)
2579                    }).bind(H[2], function(e) {
2580                        r(e)
2581                    })
2582                })
2583            })
2584        }, E = function() {
2585            function o() {
2586                return window.getSelection ? window.getSelection().toString() : document.selection && "Control" != document.selection.type ? document.selection.createRange().text : 0
2587            }
2588            function n(e, t, o) {
2589                d.type = o && i ? "stepped" : "stepless",
2590                d.scrollAmount = 10,
2591                j(r, e, t, "mcsLinearOut", o ? 60 : null)
2592            }
2593            var i, r = e(this), l = r.data(a), s = l.opt, d = l.sequential, u = a + "_" + l.idx, f = e("#mCSB_" + l.idx + "_container"), h = f.parent();
2594            f.bind("mousedown." + u, function() {
2595                t || i || (i = 1,
2596                c = !0)
2597            }).add(document).bind("mousemove." + u, function(e) {
2598                if (!t && i && o()) {
2599                    var a = f.offset()
2600                      , r = O(e)[0] - a.top + f[0].offsetTop
2601                      , c = O(e)[1] - a.left + f[0].offsetLeft;
2602                    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)),
2603                    "y" !== s.axis && l.overflowed[1] && (0 > c ? n("on", 37) : c > h.width() && n("on", 39)))
2604                }
2605            }).bind("mouseup." + u + " dragend." + u, function() {
2606                t || (i && (i = 0,
2607                n("off", null)),
2608                c = !1)
2609            })
2610        }, W = function() {
2611            function t(t, a) {
2612                if (Q(o),
2613                !z(o, t.target)) {
2614                    var r = "auto" !== i.mouseWheel.deltaFactor ? parseInt(i.mouseWheel.deltaFactor) : s && t.deltaFactor < 100 ? 100 : t.deltaFactor || 100
2615                      , d = i.scrollInertia;
2616                    if ("x" === i.axis || "x" === i.mouseWheel.axis)
2617                        var u = "x"
2618                          , f = [Math.round(r * n.scrollRatio.x), parseInt(i.mouseWheel.scrollAmount)]
2619                          , h = "auto" !== i.mouseWheel.scrollAmount ? f[1] : f[0] >= l.width() ? .9 * l.width() : f[0]
2620                          , m = Math.abs(e("#mCSB_" + n.idx + "_container")[0].offsetLeft)
2621                          , p = c[1][0].offsetLeft
2622                          , g = c[1].parent().width() - c[1].width()
2623                          , v = "y" === i.mouseWheel.axis ? t.deltaY || a : t.deltaX;
2624                    else
2625                        var u = "y"
2626                          , f = [Math.round(r * n.scrollRatio.y), parseInt(i.mouseWheel.scrollAmount)]
2627                          , h = "auto" !== i.mouseWheel.scrollAmount ? f[1] : f[0] >= l.height() ? .9 * l.height() : f[0]
2628                          , m = Math.abs(e("#mCSB_" + n.idx + "_container")[0].offsetTop)
2629                          , p = c[0][0].offsetTop
2630                          , g = c[0].parent().height() - c[0].height()
2631                          , v = t.deltaY || a;
2632                    "y" === u && !n.overflowed[0] || "x" === u && !n.overflowed[1] || ((i.mouseWheel.invert || t.webkitDirectionInvertedFromDevice) && (v = -v),
2633                    i.mouseWheel.normalizeDelta && (v = 0 > v ? -1 : 1),
2634                    (v > 0 && 0 !== p || 0 > v && p !== g || i.mouseWheel.preventDefault) && (t.stopImmediatePropagation(),
2635                    t.preventDefault()),
2636                    t.deltaFactor < 5 && !i.mouseWheel.normalizeDelta && (h = t.deltaFactor,
2637                    d = 17),
2638                    G(o, (m - v * h).toString(), {
2639                        dir: u,
2640                        dur: d
2641                    }))
2642                }
2643            }
2644            if (e(this).data(a)) {
2645                var o = e(this)
2646                  , n = o.data(a)
2647                  , i = n.opt
2648                  , r = a + "_" + n.idx
2649                  , l = e("#mCSB_" + n.idx)
2650                  , c = [e("#mCSB_" + n.idx + "_dragger_vertical"), e("#mCSB_" + n.idx + "_dragger_horizontal")]
2651                  , d = e("#mCSB_" + n.idx + "_container").find("iframe");
2652                d.length && d.each(function() {
2653                    e(this).bind("load", function() {
2654                        A(this) && e(this.contentDocument || this.contentWindow.document).bind("mousewheel." + r, function(e, o) {
2655                            t(e, o)
2656                        })
2657                    })
2658                }),
2659                l.bind("mousewheel." + r, function(e, o) {
2660                    t(e, o)
2661                })
2662            }
2663        }, R = new Object, A = function(t) {
2664            var o = !1
2665              , a = !1
2666              , n = null;
2667            if (void 0 === t ? a = "#empty" : void 0 !== e(t).attr("id") && (a = e(t).attr("id")),
2668            a !== !1 && void 0 !== R[a])
2669                return R[a];
2670            if (t) {
2671                try {
2672                    var i = t.contentDocument || t.contentWindow.document;
2673                    n = i.body.innerHTML
2674                } catch (r) {}
2675                o = null !== n
2676            } else {
2677                try {
2678                    var i = top.document;
2679                    n = i.body.innerHTML
2680                } catch (r) {}
2681                o = null !== n
2682            }
2683            return a !== !1 && (R[a] = o),
2684            o
2685        }, L = function(e) {
2686            var t = this.find("iframe");
2687            if (t.length) {
2688                var o = e ? "auto" : "none";
2689                t.css("pointer-events", o)
2690            }
2691        }, z = function(t, o) {
2692            var n = o.nodeName.toLowerCase()
2693              , i = t.data(a).opt.mouseWheel.disableOver
2694              , r = ["select", "textarea"];
2695            return e.inArray(n, i) > -1 && !(e.inArray(n, r) > -1 && !e(o).is(":focus"))
2696        }, P = function() {
2697            var t, o = e(this), n = o.data(a), i = a + "_" + n.idx, r = e("#mCSB_" + n.idx + "_container"), l = r.parent(), s = e(".mCSB_" + n.idx + "_scrollbar ." + d[12]);
2698            s.bind("mousedown." + i + " touchstart." + i + " pointerdown." + i + " MSPointerDown." + i, function(o) {
2699                c = !0,
2700                e(o.target).hasClass("mCSB_dragger") || (t = 1)
2701            }).bind("touchend." + i + " pointerup." + i + " MSPointerUp." + i, function() {
2702                c = !1
2703            }).bind("click." + i, function(a) {
2704                if (t && (t = 0,
2705                e(a.target).hasClass(d[12]) || e(a.target).hasClass("mCSB_draggerRail"))) {
2706                    Q(o);
2707                    var i = e(this)
2708                      , s = i.find(".mCSB_dragger");
2709                    if (i.parent(".mCSB_scrollTools_horizontal").length > 0) {
2710                        if (!n.overflowed[1])
2711                            return;
2712                        var c = "x"
2713                          , u = a.pageX > s.offset().left ? -1 : 1
2714                          , f = Math.abs(r[0].offsetLeft) - u * (.9 * l.width())
2715                    } else {
2716                        if (!n.overflowed[0])
2717                            return;
2718                        var c = "y"
2719                          , u = a.pageY > s.offset().top ? -1 : 1
2720                          , f = Math.abs(r[0].offsetTop) - u * (.9 * l.height())
2721                    }
2722                    G(o, f.toString(), {
2723                        dir: c,
2724                        scrollEasing: "mcsEaseInOut"
2725                    })
2726                }
2727            })
2728        }, H = function() {
2729            var t = e(this)
2730              , o = t.data(a)
2731              , n = o.opt
2732              , i = a + "_" + o.idx
2733              , r = e("#mCSB_" + o.idx + "_container")
2734              , l = r.parent();
2735            r.bind("focusin." + i, function() {
2736                var o = e(document.activeElement)
2737                  , a = r.find(".mCustomScrollBox").length
2738                  , i = 0;
2739                o.is(n.advanced.autoScrollOnFocus) && (Q(t),
2740                clearTimeout(t[0]._focusTimeout),
2741                t[0]._focusTimer = a ? (i + 17) * a : 0,
2742                t[0]._focusTimeout = setTimeout(function() {
2743                    var e = [ae(o)[0], ae(o)[1]]
2744                      , a = [r[0].offsetTop, r[0].offsetLeft]
2745                      , 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)]
2746                      , c = "yx" !== n.axis || s[0] || s[1] ? "all" : "none";
2747                    "x" === n.axis || s[0] || G(t, e[0].toString(), {
2748                        dir: "y",
2749                        scrollEasing: "mcsEaseInOut",
2750                        overwrite: c,
2751                        dur: i
2752                    }),
2753                    "y" === n.axis || s[1] || G(t, e[1].toString(), {
2754                        dir: "x",
2755                        scrollEasing: "mcsEaseInOut",
2756                        overwrite: c,
2757                        dur: i
2758                    })
2759                }, t[0]._focusTimer))
2760            })
2761        }, U = function() {
2762            var t = e(this)
2763              , o = t.data(a)
2764              , n = a + "_" + o.idx
2765              , i = e("#mCSB_" + o.idx + "_container").parent();
2766            i.bind("scroll." + n, function() {
2767                0 === i.scrollTop() && 0 === i.scrollLeft() || e(".mCSB_" + o.idx + "_scrollbar").css("visibility", "hidden")
2768            })
2769        }, F = function() {
2770            var t = e(this)
2771              , o = t.data(a)
2772              , n = o.opt
2773              , i = o.sequential
2774              , r = a + "_" + o.idx
2775              , l = ".mCSB_" + o.idx + "_scrollbar"
2776              , s = e(l + ">a");
2777            s.bind("contextmenu." + r, function(e) {
2778                e.preventDefault()
2779            }).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) {
2780                function r(e, o) {
2781                    i.scrollAmount = n.scrollButtons.scrollAmount,
2782                    j(t, e, o)
2783                }
2784                if (a.preventDefault(),
2785                ee(a)) {
2786                    var l = e(this).attr("class");
2787                    switch (i.type = n.scrollButtons.scrollType,
2788                    a.type) {
2789                    case "mousedown":
2790                    case "touchstart":
2791                    case "pointerdown":
2792                    case "MSPointerDown":
2793                        if ("stepped" === i.type)
2794                            return;
2795                        c = !0,
2796                        o.tweenRunning = !1,
2797                        r("on", l);
2798                        break;
2799                    case "mouseup":
2800                    case "touchend":
2801                    case "pointerup":
2802                    case "MSPointerUp":
2803                    case "mouseout":
2804                    case "pointerout":
2805                    case "MSPointerOut":
2806                        if ("stepped" === i.type)
2807                            return;
2808                        c = !1,
2809                        i.dir && r("off", l);
2810                        break;
2811                    case "click":
2812                        if ("stepped" !== i.type || o.tweenRunning)
2813                            return;
2814                        r("on", l)
2815                    }
2816                }
2817            })
2818        }, q = function() {
2819            function t(t) {
2820                function a(e, t) {
2821                    r.type = i.keyboard.scrollType,
2822                    r.scrollAmount = i.keyboard.scrollAmount,
2823                    "stepped" === r.type && n.tweenRunning || j(o, e, t)
2824                }
2825                switch (t.type) {
2826                case "blur":
2827                    n.tweenRunning && r.dir && a("off", null);
2828                    break;
2829                case "keydown":
2830                case "keyup":
2831                    var l = t.keyCode ? t.keyCode : t.which
2832                      , s = "on";
2833                    if ("x" !== i.axis && (38 === l || 40 === l) || "y" !== i.axis && (37 === l || 39 === l)) {
2834                        if ((38 === l || 40 === l) && !n.overflowed[0] || (37 === l || 39 === l) && !n.overflowed[1])
2835                            return;
2836                        "keyup" === t.type && (s = "off"),
2837                        e(document.activeElement).is(u) || (t.preventDefault(),
2838                        t.stopImmediatePropagation(),
2839                        a(s, l))
2840                    } else if (33 === l || 34 === l) {
2841                        if ((n.overflowed[0] || n.overflowed[1]) && (t.preventDefault(),
2842                        t.stopImmediatePropagation()),
2843                        "keyup" === t.type) {
2844                            Q(o);
2845                            var f = 34 === l ? -1 : 1;
2846                            if ("x" === i.axis || "yx" === i.axis && n.overflowed[1] && !n.overflowed[0])
2847                                var h = "x"
2848                                  , m = Math.abs(c[0].offsetLeft) - f * (.9 * d.width());
2849                            else
2850                                var h = "y"
2851                                  , m = Math.abs(c[0].offsetTop) - f * (.9 * d.height());
2852                            G(o, m.toString(), {
2853                                dir: h,
2854                                scrollEasing: "mcsEaseInOut"
2855                            })
2856                        }
2857                    } else if ((35 === l || 36 === l) && !e(document.activeElement).is(u) && ((n.overflowed[0] || n.overflowed[1]) && (t.preventDefault(),
2858                    t.stopImmediatePropagation()),
2859                    "keyup" === t.type)) {
2860                        if ("x" === i.axis || "yx" === i.axis && n.overflowed[1] && !n.overflowed[0])
2861                            var h = "x"
2862                              , m = 35 === l ? Math.abs(d.width() - c.outerWidth(!1)) : 0;
2863                        else
2864                            var h = "y"
2865                              , m = 35 === l ? Math.abs(d.height() - c.outerHeight(!1)) : 0;
2866                        G(o, m.toString(), {
2867                            dir: h,
2868                            scrollEasing: "mcsEaseInOut"
2869                        })
2870                    }
2871                }
2872            }
2873            var o = e(this)
2874              , n = o.data(a)
2875              , i = n.opt
2876              , r = n.sequential
2877              , l = a + "_" + n.idx
2878              , s = e("#mCSB_" + n.idx)
2879              , c = e("#mCSB_" + n.idx + "_container")
2880              , d = c.parent()
2881              , u = "input,textarea,select,datalist,keygen,[contenteditable='true']"
2882              , f = c.find("iframe")
2883              , h = ["blur." + l + " keydown." + l + " keyup." + l];
2884            f.length && f.each(function() {
2885                e(this).bind("load", function() {
2886                    A(this) && e(this.contentDocument || this.contentWindow.document).bind(h[0], function(e) {
2887                        t(e)
2888                    })
2889                })
2890            }),
2891            s.attr("tabindex", "0").bind(h[0], function(e) {
2892                t(e)
2893            })
2894        }, j = function(t, o, n, i, r) {
2895            function l(e) {
2896                u.snapAmount && (f.scrollAmount = u.snapAmount instanceof Array ? "x" === f.dir[0] ? u.snapAmount[1] : u.snapAmount[0] : u.snapAmount);
2897                var o = "stepped" !== f.type
2898                  , a = r ? r : e ? o ? p / 1.5 : g : 1e3 / 60
2899                  , n = e ? o ? 7.5 : 40 : 2.5
2900                  , s = [Math.abs(h[0].offsetTop), Math.abs(h[0].offsetLeft)]
2901                  , d = [c.scrollRatio.y > 10 ? 10 : c.scrollRatio.y, c.scrollRatio.x > 10 ? 10 : c.scrollRatio.x]
2902                  , m = "x" === f.dir[0] ? s[1] + f.dir[1] * (d[1] * n) : s[0] + f.dir[1] * (d[0] * n)
2903                  , v = "x" === f.dir[0] ? s[1] + f.dir[1] * parseInt(f.scrollAmount) : s[0] + f.dir[1] * parseInt(f.scrollAmount)
2904                  , x = "auto" !== f.scrollAmount ? v : m
2905                  , _ = i ? i : e ? o ? "mcsLinearOut" : "mcsEaseInOut" : "mcsLinear"
2906                  , w = !!e;
2907                return e && 17 > a && (x = "x" === f.dir[0] ? s[1] : s[0]),
2908                G(t, x.toString(), {
2909                    dir: f.dir[0],
2910                    scrollEasing: _,
2911                    dur: a,
2912                    onComplete: w
2913                }),
2914                e ? void (f.dir = !1) : (clearTimeout(f.step),
2915                void (f.step = setTimeout(function() {
2916                    l()
2917                }, a)))
2918            }
2919            function s() {
2920                clearTimeout(f.step),
2921                $(f, "step"),
2922                Q(t)
2923            }
2924            var c = t.data(a)
2925              , u = c.opt
2926              , f = c.sequential
2927              , h = e("#mCSB_" + c.idx + "_container")
2928              , m = "stepped" === f.type
2929              , p = u.scrollInertia < 26 ? 26 : u.scrollInertia
2930              , g = u.scrollInertia < 1 ? 17 : u.scrollInertia;
2931            switch (o) {
2932            case "on":
2933                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],
2934                Q(t),
2935                oe(n) && "stepped" === f.type)
2936                    return;
2937                l(m);
2938                break;
2939            case "off":
2940                s(),
2941                (m || c.tweenRunning && f.dir) && l(!0)
2942            }
2943        }, Y = function(t) {
2944            var o = e(this).data(a).opt
2945              , n = [];
2946            return "function" == typeof t && (t = t()),
2947            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,
2948            n[1] = t.x ? t.x : t.y || "y" === o.axis ? null : t),
2949            "function" == typeof n[0] && (n[0] = n[0]()),
2950            "function" == typeof n[1] && (n[1] = n[1]()),
2951            n
2952        }, X = function(t, o) {
2953            if (null != t && "undefined" != typeof t) {
2954                var n = e(this)
2955                  , i = n.data(a)
2956                  , r = i.opt
2957                  , l = e("#mCSB_" + i.idx + "_container")
2958                  , s = l.parent()
2959                  , c = typeof t;
2960                o || (o = "x" === r.axis ? "x" : "y");
2961                var d = "x" === o ? l.outerWidth(!1) - s.width() : l.outerHeight(!1) - s.height()
2962                  , f = "x" === o ? l[0].offsetLeft : l[0].offsetTop
2963                  , h = "x" === o ? "left" : "top";
2964                switch (c) {
2965                case "function":
2966                    return t();
2967                case "object":
2968                    var m = t.jquery ? t : e(t);
2969                    if (!m.length)
2970                        return;
2971                    return "x" === o ? ae(m)[1] : ae(m)[0];
2972                case "string":
2973                case "number":
2974                    if (oe(t))
2975                        return Math.abs(t);
2976                    if (-1 !== t.indexOf("%"))
2977                        return Math.abs(d * parseInt(t) / 100);
2978                    if (-1 !== t.indexOf("-="))
2979                        return Math.abs(f - parseInt(t.split("-=")[1]));
2980                    if (-1 !== t.indexOf("+=")) {
2981                        var p = f + parseInt(t.split("+=")[1]);
2982                        return p >= 0 ? 0 : Math.abs(p)
2983                    }
2984                    if (-1 !== t.indexOf("px") && oe(t.split("px")[0]))
2985                        return Math.abs(t.split("px")[0]);
2986                    if ("top" === t || "left" === t)
2987                        return 0;
2988                    if ("bottom" === t)
2989                        return Math.abs(s.height() - l.outerHeight(!1));
2990                    if ("right" === t)
2991                        return Math.abs(s.width() - l.outerWidth(!1));
2992                    if ("first" === t || "last" === t) {
2993                        var m = l.find(":" + t);
2994                        return "x" === o ? ae(m)[1] : ae(m)[0]
2995                    }
2996                    return e(t).length ? "x" === o ? ae(e(t))[1] : ae(e(t))[0] : (l.css(h, t),
2997                    void u.update.call(null, n[0]))
2998                }
2999            }
3000        }, N = function(t) {
3001            function o() {
3002                return clearTimeout(f[0].autoUpdate),
3003                0 === l.parents("html").length ? void (l = null) : void (f[0].autoUpdate = setTimeout(function() {
3004                    return c.advanced.updateOnSelectorChange && (s.poll.change.n = i(),
3005                    s.poll.change.n !== s.poll.change.o) ? (s.poll.change.o = s.poll.change.n,
3006                    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,
3007                    s.poll.size.n !== s.poll.size.o) ? (s.poll.size.o = s.poll.size.n,
3008                    void r(1)) : !c.advanced.updateOnImageLoad || "auto" === c.advanced.updateOnImageLoad && "y" === c.axis || (s.poll.img.n = f.find("img").length,
3009                    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,
3010                    void f.find("img").each(function() {
3011                        n(this)
3012                    }))
3013                }, c.advanced.autoUpdateTimeout))
3014            }
3015            function n(t) {
3016                function o(e, t) {
3017                    return function() {
3018                        return t.apply(e, arguments)
3019                    }
3020                }
3021                function a() {
3022                    this.onload = null,
3023                    e(t).addClass(d[2]),
3024                    r(2)
3025                }
3026                if (e(t).hasClass(d[2]))
3027                    return void r();
3028                var n = new Image;
3029                n.onload = o(n, a),
3030                n.src = t.src
3031            }
3032            function i() {
3033                c.advanced.updateOnSelectorChange === !0 && (c.advanced.updateOnSelectorChange = "*");
3034                var e = 0
3035                  , t = f.find(c.advanced.updateOnSelectorChange);
3036                return c.advanced.updateOnSelectorChange && t.length > 0 && t.each(function() {
3037                    e += this.offsetHeight + this.offsetWidth
3038                }),
3039                e
3040            }
3041            function r(e) {
3042                clearTimeout(f[0].autoUpdate),
3043                u.update.call(null, l[0], e)
3044            }
3045            var l = e(this)
3046              , s = l.data(a)
3047              , c = s.opt
3048              , f = e("#mCSB_" + s.idx + "_container");
3049            return t ? (clearTimeout(f[0].autoUpdate),
3050            void $(f[0], "autoUpdate")) : void o()
3051        }, V = function(e, t, o) {
3052            return Math.round(e / t) * t - o
3053        }, Q = function(t) {
3054            var o = t.data(a)
3055              , n = e("#mCSB_" + o.idx + "_container,#mCSB_" + o.idx + "_container_wrapper,#mCSB_" + o.idx + "_dragger_vertical,#mCSB_" + o.idx + "_dragger_horizontal");
3056            n.each(function() {
3057                Z.call(this)
3058            })
3059        }, G = function(t, o, n) {
3060            function i(e) {
3061                return s && c.callbacks[e] && "function" == typeof c.callbacks[e]
3062            }
3063            function r() {
3064                return [c.callbacks.alwaysTriggerOffsets || w >= S[0] + y, c.callbacks.alwaysTriggerOffsets || -B >= w]
3065            }
3066            function l() {
3067                var e = [h[0].offsetTop, h[0].offsetLeft]
3068                  , o = [x[0].offsetTop, x[0].offsetLeft]
3069                  , a = [h.outerHeight(!1), h.outerWidth(!1)]
3070                  , i = [f.height(), f.width()];
3071                t[0].mcs = {
3072                    content: h,
3073                    top: e[0],
3074                    left: e[1],
3075                    draggerTop: o[0],
3076                    draggerLeft: o[1],
3077                    topPct: Math.round(100 * Math.abs(e[0]) / (Math.abs(a[0]) - i[0])),
3078                    leftPct: Math.round(100 * Math.abs(e[1]) / (Math.abs(a[1]) - i[1])),
3079                    direction: n.dir
3080                }
3081            }
3082            var s = t.data(a)
3083              , c = s.opt
3084              , d = {
3085                trigger: "internal",
3086                dir: "y",
3087                scrollEasing: "mcsEaseOut",
3088                drag: !1,
3089                dur: c.scrollInertia,
3090                overwrite: "all",
3091                callbacks: !0,
3092                onStart: !0,
3093                onUpdate: !0,
3094                onComplete: !0
3095            }
3096              , n = e.extend(d, n)
3097              , u = [n.dur, n.drag ? 0 : n.dur]
3098              , f = e("#mCSB_" + s.idx)
3099              , h = e("#mCSB_" + s.idx + "_container")
3100              , m = h.parent()
3101              , p = c.callbacks.onTotalScrollOffset ? Y.call(t, c.callbacks.onTotalScrollOffset) : [0, 0]
3102              , g = c.callbacks.onTotalScrollBackOffset ? Y.call(t, c.callbacks.onTotalScrollBackOffset) : [0, 0];
3103            if (s.trigger = n.trigger,
3104            0 === m.scrollTop() && 0 === m.scrollLeft() || (e(".mCSB_" + s.idx + "_scrollbar").css("visibility", "visible"),
3105            m.scrollTop(0).scrollLeft(0)),
3106            "_resetY" !== o || s.contentReset.y || (i("onOverflowYNone") && c.callbacks.onOverflowYNone.call(t[0]),
3107            s.contentReset.y = 1),
3108            "_resetX" !== o || s.contentReset.x || (i("onOverflowXNone") && c.callbacks.onOverflowXNone.call(t[0]),
3109            s.contentReset.x = 1),
3110            "_resetY" !== o && "_resetX" !== o) {
3111                if (!s.contentReset.y && t[0].mcs || !s.overflowed[0] || (i("onOverflowY") && c.callbacks.onOverflowY.call(t[0]),
3112                s.contentReset.x = null),
3113                !s.contentReset.x && t[0].mcs || !s.overflowed[1] || (i("onOverflowX") && c.callbacks.onOverflowX.call(t[0]),
3114                s.contentReset.x = null),
3115                c.snapAmount) {
3116                    var v = c.snapAmount instanceof Array ? "x" === n.dir ? c.snapAmount[1] : c.snapAmount[0] : c.snapAmount;
3117                    o = V(o, v, c.snapOffset)
3118                }
3119                switch (n.dir) {
3120                case "x":
3121                    var x = e("#mCSB_" + s.idx + "_dragger_horizontal")
3122                      , _ = "left"
3123                      , w = h[0].offsetLeft
3124                      , S = [f.width() - h.outerWidth(!1), x.parent().width() - x.width()]
3125                      , b = [o, 0 === o ? 0 : o / s.scrollRatio.x]
3126                      , y = p[1]
3127                      , B = g[1]
3128                      , T = y > 0 ? y / s.scrollRatio.x : 0
3129                      , k = B > 0 ? B / s.scrollRatio.x : 0;
3130                    break;
3131                case "y":
3132                    var x = e("#mCSB_" + s.idx + "_dragger_vertical")
3133                      , _ = "top"
3134                      , w = h[0].offsetTop
3135                      , S = [f.height() - h.outerHeight(!1), x.parent().height() - x.height()]
3136                      , b = [o, 0 === o ? 0 : o / s.scrollRatio.y]
3137                      , y = p[0]
3138                      , B = g[0]
3139                      , T = y > 0 ? y / s.scrollRatio.y : 0
3140                      , k = B > 0 ? B / s.scrollRatio.y : 0
3141                }
3142                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],
3143                t[0].mcs || (l(),
3144                i("onInit") && c.callbacks.onInit.call(t[0])),
3145                clearTimeout(h[0].onCompleteTimeout),
3146                J(x[0], _, Math.round(b[1]), u[1], n.scrollEasing),
3147                !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, {
3148                    onStart: function() {
3149                        n.callbacks && n.onStart && !s.tweenRunning && (i("onScrollStart") && (l(),
3150                        c.callbacks.onScrollStart.call(t[0])),
3151                        s.tweenRunning = !0,
3152                        C(x),
3153                        s.cbOffsets = r())
3154                    },
3155                    onUpdate: function() {
3156                        n.callbacks && n.onUpdate && i("whileScrolling") && (l(),
3157                        c.callbacks.whileScrolling.call(t[0]))
3158                    },
3159                    onComplete: function() {
3160                        if (n.callbacks && n.onComplete) {
3161                            "yx" === c.axis && clearTimeout(h[0].onCompleteTimeout);
3162                            var e = h[0].idleTimer || 0;
3163                            h[0].onCompleteTimeout = setTimeout(function() {
3164                                i("onScroll") && (l(),
3165                                c.callbacks.onScroll.call(t[0])),
3166                                i("onTotalScroll") && b[1] >= S[1] - T && s.cbOffsets[0] && (l(),
3167                                c.callbacks.onTotalScroll.call(t[0])),
3168                                i("onTotalScrollBack") && b[1] <= k && s.cbOffsets[1] && (l(),
3169                                c.callbacks.onTotalScrollBack.call(t[0])),
3170                                s.tweenRunning = !1,
3171                                h[0].idleTimer = 0,
3172                                C(x, "hide")
3173                            }, e)
3174                        }
3175                    }
3176                })
3177            }
3178        }, J = function(e, t, o, a, n, i, r) {
3179            function l() {
3180                S.stop || (x || m.call(),
3181                x = K() - v,
3182                s(),
3183                x >= S.time && (S.time = x > S.time ? x + f - (x - S.time) : x + f - 1,
3184                S.time < x + 1 && (S.time = x + 1)),
3185                S.time < a ? S.id = h(l) : g.call())
3186            }
3187            function s() {
3188                a > 0 ? (S.currVal = u(S.time, _, b, a, n),
3189                w[t] = Math.round(S.currVal) + "px") : w[t] = o + "px",
3190                p.call()
3191            }
3192            function c() {
3193                f = 1e3 / 60,
3194                S.time = x + f,
3195                h = window.requestAnimationFrame ? window.requestAnimationFrame : function(e) {
3196                    return s(),
3197                    setTimeout(e, .01)
3198                }
3199                ,
3200                S.id = h(l)
3201            }
3202            function d() {
3203                null != S.id && (window.requestAnimationFrame ? window.cancelAnimationFrame(S.id) : clearTimeout(S.id),
3204                S.id = null)
3205            }
3206            function u(e, t, o, a, n) {
3207                switch (n) {
3208                case "linear":
3209                case "mcsLinear":
3210                    return o * e / a + t;
3211                case "mcsLinearOut":
3212                    return e /= a,
3213                    e--,
3214                    o * Math.sqrt(1 - e * e) + t;
3215                case "easeInOutSmooth":
3216                    return e /= a / 2,
3217                    1 > e ? o / 2 * e * e + t : (e--,
3218                    -o / 2 * (e * (e - 2) - 1) + t);
3219                case "easeInOutStrong":
3220                    return e /= a / 2,
3221                    1 > e ? o / 2 * Math.pow(2, 10 * (e - 1)) + t : (e--,
3222                    o / 2 * (-Math.pow(2, -10 * e) + 2) + t);
3223                case "easeInOut":
3224                case "mcsEaseInOut":
3225                    return e /= a / 2,
3226                    1 > e ? o / 2 * e * e * e + t : (e -= 2,
3227                    o / 2 * (e * e * e + 2) + t);
3228                case "easeOutSmooth":
3229                    return e /= a,
3230                    e--,
3231                    -o * (e * e * e * e - 1) + t;
3232                case "easeOutStrong":
3233                    return o * (-Math.pow(2, -10 * e / a) + 1) + t;
3234                case "easeOut":
3235                case "mcsEaseOut":
3236                default:
3237                    var i = (e /= a) * e
3238                      , r = i * e;
3239                    return t + o * (.499999999999997 * r * i + -2.5 * i * i + 5.5 * r + -6.5 * i + 4 * e)
3240                }
3241            }
3242            e._mTween || (e._mTween = {
3243                top: {},
3244                left: {}
3245            });
3246            var f, h, r = r || {}, m = r.onStart || function() {}
3247            , p = r.onUpdate || function() {}
3248            , g = r.onComplete || function() {}
3249            , v = K(), x = 0, _ = e.offsetTop, w = e.style, S = e._mTween[t];
3250            "left" === t && (_ = e.offsetLeft);
3251            var b = o - _;
3252            S.stop = 0,
3253            "none" !== i && d(),
3254            c()
3255        }, K = function() {
3256            return window.performance && window.performance.now ? window.performance.now() : window.performance && window.performance.webkitNow ? window.performance.webkitNow() : Date.now ? Date.now() : (new Date).getTime()
3257        }, Z = function() {
3258            var e = this;
3259            e._mTween || (e._mTween = {
3260                top: {},
3261                left: {}
3262            });
3263            for (var t = ["top", "left"], o = 0; o < t.length; o++) {
3264                var a = t[o];
3265                e._mTween[a].id && (window.requestAnimationFrame ? window.cancelAnimationFrame(e._mTween[a].id) : clearTimeout(e._mTween[a].id),
3266                e._mTween[a].id = null,
3267                e._mTween[a].stop = 1)
3268            }
3269        }, $ = function(e, t) {
3270            try {
3271                delete e[t]
3272            } catch (o) {
3273                e[t] = null
3274            }
3275        }, ee = function(e) {
3276            return !(e.which && 1 !== e.which)
3277        }, te = function(e) {
3278            var t = e.originalEvent.pointerType;
3279            return !(t && "touch" !== t && 2 !== t)
3280        }, oe = function(e) {
3281            return !isNaN(parseFloat(e)) && isFinite(e)
3282        }, ae = function(e) {
3283            var t = e.parents(".mCSB_container");
3284            return [e.offset().top - t.offset().top, e.offset().left - t.offset().left]
3285        }, ne = function() {
3286            function e() {
3287                var e = ["webkit", "moz", "ms", "o"];
3288                if ("hidden"in document)
3289                    return "hidden";
3290                for (var t = 0; t < e.length; t++)
3291                    if (e[t] + "Hidden"in document)
3292                        return e[t] + "Hidden";
3293                return null
3294            }
3295            var t = e();
3296            return t ? document[t] : !1
3297        };
3298        e.fn[o] = function(t) {
3299            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)
3300        }
3301        ,
3302        e[o] = function(t) {
3303            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)
3304        }
3305        ,
3306        e[o].defaults = i,
3307        window[o] = !0,
3308        e(window).bind("load", function() {
3309            e(n)[o](),
3310            e.extend(e.expr[":"], {
3311                mcsInView: e.expr[":"].mcsInView || function(t) {
3312                    var o, a, n = e(t), i = n.parents(".mCSB_container");
3313                    if (i.length)
3314                        return o = i.parent(),
3315                        a = [i[0].offsetTop, i[0].offsetLeft],
3316                        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)
3317                }
3318                ,
3319                mcsInSight: e.expr[":"].mcsInSight || function(t, o, a) {
3320                    var n, i, r, l, s = e(t), c = s.parents(".mCSB_container"), d = "exact" === a[3] ? [[1, 0], [1, 0]] : [[.9, .1], [.6, .4]];
3321                    if (c.length)
3322                        return n = [s.outerHeight(!1), s.outerWidth(!1)],
3323                        r = [c[0].offsetTop + ae(s)[0], c[0].offsetLeft + ae(s)[1]],
3324                        i = [c.parent()[0].offsetHeight, c.parent()[0].offsetWidth],
3325                        l = [n[0] < i[0] ? d[0] : d[1], n[1] < i[
33251] ? d[0] : d[1]],
3326                        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
3327                }
3328                ,
3329                mcsOverflow: e.expr[":"].mcsOverflow || function(t) {
3330                    var o = e(t).data(a);
3331                    if (o)
3332                        return o.overflowed[0] || o.overflowed[1]
3333                }
3334            })
3335        })
3336    })
3337});
3338
3339/* mmenu.js (https://mmenujs.com) 【使用:手機版選單】
3340 * Copyright (c) Fred Heusschen (www.frebsite.nl)
3341 * License: CC-BY-NC-4.0 (http://creativecommons.org/licenses/by-nc/4.0/)
3342 */
3343!function(e) {
3344    var t = {};
3345    function n(i) {
3346        if (t[i])
3347            return t[i].exports;
3348        var s = t[i] = {
3349            i: i,
3350            l: !1,
3351            exports: {}
3352        };
3353        return e[i].call(s.exports, s, s.exports, n),
3354        s.l = !0,
3355        s.exports
3356    }
3357    n.m = e,
3358    n.c = t,
3359    n.d = function(e, t, i) {
3360        n.o(e, t) || Object.defineProperty(e, t, {
3361            enumerable: !0,
3362            get: i
3363        })
3364    }
3365    ,
3366    n.r = function(e) {
3367        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
3368            value: "Module"
3369        }),
3370        Object.defineProperty(e, "__esModule", {
3371            value: !0
3372        })
3373    }
3374    ,
3375    n.t = function(e, t) {
3376        if (1 & t && (e = n(e)),
3377        8 & t)
3378            return e;
3379        if (4 & t && "object" == typeof e && e && e.__esModule)
3380            return e;
3381        var i = Object.create(null);
3382        if (n.r(i),
3383        Object.defineProperty(i, "default", {
3384            enumerable: !0,
3385            value: e
3386        }),
3387        2 & t && "string" != typeof e)
3388            for (var s in e)
3389                n.d(i, s, function(t) {
3390                    return e[t]
3391                }
3392                .bind(null, s));
3393        return i
3394    }
3395    ,
3396    n.n = function(e) {
3397        var t = e && e.__esModule ? function() {
3398            return e.default
3399        }
3400        : function() {
3401            return e
3402        }
3403        ;
3404        return n.d(t, "a", t),
3405        t
3406    }
3407    ,
3408    n.o = function(e, t) {
3409        return Object.prototype.hasOwnProperty.call(e, t)
3410    }
3411    ,
3412    n.p = "",
3413    n(n.s = 0)
3414}([function(e, t, n) {
3415    "use strict";
3416    n.r(t);
3417    var i = {
3418        hooks: {},
3419        extensions: [],
3420        wrappers: [],
3421        navbar: {
3422            add: !0,
3423            title: "Menu",
3424            titleLink: "parent"
3425        },
3426        onClick: {
3427            close: null,
3428            preventDefault: null,
3429            setSelected: !0
3430        },
3431        slidingSubmenus: !0
3432    };
3433    var s = {
3434        classNames: {
3435            inset: "Inset",
3436            nolistview: "NoListview",
3437            nopanel: "NoPanel",
3438            panel: "Panel",
3439            selected: "Selected",
3440            spacer: "Spacer",
3441            vertical: "Vertical"
3442        },
3443        clone: !1,
3444        language: null,
3445        openingInterval: 25,
3446        panelNodetype: ["ul", "ol", "div"],
3447        transitionDuration: 400
3448    };
3449    function a(e, t) {
3450        "object" != o(e) && (e = {}),
3451        "object" != o(t) && (t = {});
3452        for (let n in t)
3453            t.hasOwnProperty(n) && (void 0 === e[n] ? e[n] = t[n] : "object" == o(e[n]) && a(e[n], t[n]));
3454        return e
3455    }
3456    function o(e) {
3457        return {}.toString.call(e).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
3458    }
3459    function r(e, t, n) {
3460        if ("function" == typeof t) {
3461            var i = t.call(e);
3462            if (void 0 !== i)
3463                return i
3464        }
3465        return null !== t && "function" != typeof t && void 0 !== t || void 0 === n ? t : n
3466    }
3467    function l(e, t, n) {
3468        var i = !1
3469          , s = function(n) {
3470            void 0 !== n && n.target !== e || (i || (e.removeEventListener("transitionend", s),
3471            e.removeEventListener("webkitTransitionEnd", s),
3472            t.call(e)),
3473            i = !0)
3474        };
3475        e.addEventListener("transitionend", s),
3476        e.addEventListener("webkitTransitionEnd", s),
3477        setTimeout(s, 1.1 * n)
3478    }
3479    function m() {
3480        return "mm-" + d++
3481    }
3482    var d = 0;
3483    function c(e) {
3484        return "mm-" == e.slice(0, 3) ? e.slice(3) : e
3485    }
3486    var p = {};
3487    function h(e, t) {
3488        void 0 === p[t] && (p[t] = {}),
3489        a(p[t], e)
3490    }
3491    var f = {
3492        Menu: "منو"
3493    }
3494      , u = {
3495        Menu: "Menü"
3496    }
3497      , v = {
3498        Menu: "Меню"
3499    };
3500    function b(e) {
3501        var t;
3502        return e.split(".").forEach((e,n)=>{
3503            0 == n ? t = document.createElement(e) : t.classList.add(e)
3504        }
3505        ),
3506        t
3507    }
3508    function g(e, t) {
3509        return Array.prototype.slice.call(e.querySelectorAll(t))
3510    }
3511    function _(e, t) {
3512        var n = Array.prototype.slice.call(e.children);
3513        return t ? n.filter(e=>e.matches(t)) : n
3514    }
3515    function y(e, t) {
3516        for (var n = [], i = e.parentElement; i; )
3517            n.push(i),
3518            i = i.parentElement;
3519        return t ? n.filter(e=>e.matches(t)) : n
3520    }
3521    function w(e) {
3522        return e.filter(e=>!e.matches(".mm-hidden"))
3523    }
3524    function L(e) {
3525        var t = [];
3526        return w(e).forEach(e=>{
3527            t.push(..._(e, "a.mm-listitem__text"))
3528        }
3529        ),
3530        t.filter(e=>!e.matches(".mm-btn_next"))
3531    }
3532    function E(e, t, n) {
3533        e.matches("." + t) && (e.classList.remove(t),
3534        e.classList.add(n))
3535    }
3536    var x = {};
3537    function P(e, t, n) {
3538        "number" == typeof e && (e = "(min-width: " + e + "px)"),
3539        x[e] = x[e] || [],
3540        x[e].push({
3541            yes: t,
3542            no: n
3543        })
3544    }
3545    function k(e, t) {
3546        var n = t.matches ? "yes" : "no";
3547        for (let t = 0; t < x[e].length; t++)
3548            x[e][t][n]()
3549    }
3550    h({
3551        Menu: "Menu"
3552    }, "nl"),
3553    h(f, "fa"),
3554    h(u, "de"),
3555    h(v, "ru");
3556    class S {
3557        constructor(e, t, n) {
3558            return this.opts = a(t, S.options),
3559            this.conf = a(n, S.configs),
3560            this._api = ["bind", "initPanels", "openPanel", "closePanel", "closeAllPanels", "setSelected"],
3561            this.node = {},
3562            this.vars = {},
3563            this.hook = {},
3564            this.clck = [],
3565            this.node.menu = "string" == typeof e ? document.querySelector(e) : e,
3566            "function" == typeof this._deprecatedWarnings && this._deprecatedWarnings(),
3567            this._initWrappers(),
3568            this._initAddons(),
3569            this._initExtensions(),
3570            this._initHooks(),
3571            this._initAPI(),
3572            this._initMenu(),
3573            this._initPanels(),
3574            this._initOpened(),
3575            this._initAnchors(),
3576            function() {
3577                for (let e in x) {
3578                    let t = window.matchMedia(e);
3579                    k(e, t),
3580                    t.onchange = (n=>{
3581                        k(e, t)
3582                    }
3583                    )
3584                }
3585            }(),
3586            this
3587        }
3588        openPanel(e, t) {
3589            if (this.trigger("openPanel:before", [e]),
3590            e && (e.matches(".mm-panel") || (e = e.closest(".mm-panel")),
3591            e)) {
3592                if ("boolean" != typeof t && (t = !0),
3593                e.parentElement.matches(".mm-listitem_vertical")) {
3594                    y(e, ".mm-listitem_vertical").forEach(e=>{
3595                        e.classList.add("mm-listitem_opened"),
3596                        _(e, ".mm-panel").forEach(e=>{
3597                            e.classList.remove("mm-hidden")
3598                        }
3599                        )
3600                    }
3601                    );
3602                    let t = y(e, ".mm-panel").filter(e=>!e.parentElement.matches(".mm-listitem_vertical"));
3603                    this.trigger("openPanel:start", [e]),
3604                    t.length && this.openPanel(t[0]),
3605                    this.trigger("openPanel:finish", [e])
3606                } else {
3607                    if (e.matches(".mm-panel_opened"))
3608                        return;
3609                    let n = _(this.node.pnls, ".mm-panel")
3610                      , i = _(this.node.pnls, ".mm-panel_opened")[0];
3611                    n.filter(t=>t !== e).forEach(e=>{
3612                        e.classList.remove("mm-panel_opened-parent")
3613                    }
3614                    );
3615                    let s = e.mmParent;
3616                    for (; s; )
3617                        (s = s.closest(".mm-panel")) && (s.parentElement.matches(".mm-listitem_vertical") || s.classList.add("mm-panel_opened-parent"),
3618                        s = s.mmParent);
3619                    n.forEach(e=>{
3620                        e.classList.remove("mm-panel_highest")
3621                    }
3622                    ),
3623                    n.filter(e=>e !== i).filter(t=>t !== e).forEach(e=>{
3624                        e.classList.add("mm-hidden")
3625                    }
3626                    ),
3627                    e.classList.remove("mm-hidden");
3628                    let a = ()=>{
3629                        i && i.classList.remove("mm-panel_opened"),
3630                        e.classList.add("mm-panel_opened"),
3631                        e.matches(".mm-panel_opened-parent") ? (i && i.classList.add("mm-panel_highest"),
3632                        e.classList.remove("mm-panel_opened-parent")) : (i && i.classList.add("mm-panel_opened-parent"),
3633                        e.classList.add("mm-panel_highest")),
3634                        this.trigger("openPanel:start", [e])
3635                    }
3636                      , o = ()=>{
3637                        i && (i.classList.remove("mm-panel_highest"),
3638                        i.classList.add("mm-hidden")),
3639                        e.classList.remove("mm-panel_highest"),
3640                        this.trigger("openPanel:finish", [e])
3641                    }
3642                    ;
3643                    t && !e.matches(".mm-panel_noanimation") ? setTimeout(()=>{
3644                        l(e, ()=>{
3645                            o()
3646                        }
3647                        , this.conf.transitionDuration),
3648                        a()
3649                    }
3650                    , this.conf.openingInterval) : (a(),
3651                    o())
3652                }
3653                this.trigger("openPanel:after", [e])
3654            }
3655        }
3656        closePanel(e) {
3657            this.trigger("closePanel:before", [e]);
3658            var t = e.parentElement;
3659            t.matches(".mm-listitem_vertical") && (t.classList.remove("mm-listitem_opened"),
3660            e.classList.add("mm-hidden"),
3661            this.trigger("closePanel", [e])),
3662            this.trigger("closePanel:after", [e])
3663        }
3664        closeAllPanels(e) {
3665            this.trigger("closeAllPanels:before"),
3666            this.node.pnls.querySelectorAll(".mm-listitem").forEach(e=>{
3667                e.classList.remove("mm-listitem_selected", "mm-listitem_opened")
3668            }
3669            );
3670            var t = _(this.node.pnls, ".mm-panel")
3671              , n = e || t[0];
3672            _(this.node.pnls, ".mm-panel").forEach(e=>{
3673                e !== n && (e.classList.remove("mm-panel_opened"),
3674                e.classList.remove("mm-panel_opened-parent"),
3675                e.classList.remove("mm-panel_highest"),
3676                e.classList.add("mm-hidden"))
3677            }
3678            ),
3679            this.openPanel(n, !1),
3680            this.trigger("closeAllPanels:after")
3681        }
3682        togglePanel(e) {
3683            let t = e.parentElement;
3684            t.matches(".mm-listitem_vertical") && this[t.matches(".mm-listitem_opened") ? "closePanel" : "openPanel"](e)
3685        }
3686        setSelected(e) {
3687            this.trigger("setSelected:before", [e]),
3688            g(this.node.menu, ".mm-listitem_selected").forEach(e=>{
3689                e.classList.remove("mm-listitem_selected")
3690            }
3691            ),
3692            e.classList.add("mm-listitem_selected"),
3693            this.trigger("setSelected:after", [e])
3694        }
3695        bind(e, t) {
3696            this.hook[e] = this.hook[e] || [],
3697            this.hook[e].push(t)
3698        }
3699        trigger(e, t) {
3700            if (this.hook[e])
3701                for (var n = 0, i = this.hook[e].length; n < i; n++)
3702                    this.hook[e][n].apply(this, t)
3703        }
3704        _initAPI() {
3705            var e = this;
3706            this.API = {},
3707            this._api.forEach(t=>{
3708                this.API[t] = function() {
3709                    var n = e[t].apply(e, arguments);
3710                    return void 0 === n ? e.API : n
3711                }
3712            }
3713            ),
3714            this.node.menu.mmApi = this.API
3715        }
3716        _initHooks() {
3717            for (let e in this.opts.hooks)
3718                this.bind(e, this.opts.hooks[e])
3719        }
3720        _initWrappers() {
3721            this.trigger("initWrappers:before");
3722            for (let e = 0; e < this.opts.wrappers.length; e++) {
3723                let t = S.wrappers[this.opts.wrappers[e]];
3724                "function" == typeof t && t.call(this)
3725            }
3726            this.trigger("initWrappers:after")
3727        }
3728        _initAddons() {
3729            this.trigger("initAddons:before");
3730            for (let e in S.addons)
3731                S.addons[e].call(this);
3732            this.trigger("initAddons:after")
3733        }
3734        _initExtensions() {
3735            this.trigger("initExtensions:before"),
3736            "array" == o(this.opts.extensions) && (this.opts.extensions = {
3737                all: this.opts.extensions
3738            });
3739            for (let e in this.opts.extensions)
3740                if (this.opts.extensions[e].length) {
3741                    let t = this.opts.extensions[e].map(e=>"mm-menu_" + e);
3742                    P(e, ()=>{
3743                        this.node.menu.classList.add(...t)
3744                    }
3745                    , ()=>{
3746                        this.node.menu.classList.remove(...t)
3747                    }
3748                    )
3749                }
3750            this.trigger("initExtensions:after")
3751        }
3752        _initMenu() {
3753            this.trigger("initMenu:before"),
3754            this.node.wrpr = this.node.wrpr || this.node.menu.parentElement,
3755            this.node.wrpr.classList.add("mm-wrapper"),
3756            this.node.menu.id = this.node.menu.id || m();
3757            let e = b("div.mm-panels");
3758            _(this.node.menu).forEach(t=>{
3759                this.conf.panelNodetype.indexOf(t.nodeName.toLowerCase()) > -1 && e.append(t)
3760            }
3761            ),
3762            this.node.menu.append(e),
3763            this.node.pnls = e,
3764            this.node.menu.classList.add("mm-menu"),
3765            this.trigger("initMenu:after")
3766        }
3767        _initPanels() {
3768            this.clck.push((e,t)=>{
3769                if (t.inMenu) {
3770                    var n = e.getAttribute("href");
3771                    if (n && n.length > 1 && "#" == n.slice(0, 1))
3772                        try {
3773                            let t = g(this.node.menu, n)[0];
3774                            if (t && t.matches(".mm-panel"))
3775                                return e.parentElement.matches(".mm-listitem_vertical") ? this.togglePanel(t) : this.openPanel
3775(t),
3776                                !0
3777                        } catch (e) {}
3778                }
3779            }
3780            ),
3781            this.initPanels()
3782        }
3783        initPanels(e) {
3784            this.trigger("initPanels:before", [e]);
3785            var t = this.conf.panelNodetype.join(", ")
3786              , n = [];
3787            e = e || _(this.node.pnls, t);
3788            const i = e=>{
3789                e.filter(e=>e.matches(t)).forEach(e=>{
3790                    if (e = this._initPanel(e)) {
3791                        this._initNavbar(e),
3792                        this._initListview(e),
3793                        n.push(e);
3794                        let s = [];
3795                        s.push(..._(e, "." + this.conf.classNames.panel)),
3796                        _(e, ".mm-listview").forEach(e=>{
3797                            _(e, ".mm-listitem").forEach(e=>{
3798                                s.push(..._(e, t))
3799                            }
3800                            )
3801                        }
3802                        ),
3803                        s.length && i(s)
3804                    }
3805                }
3806                )
3807            }
3808            ;
3809            i(e),
3810            this.trigger("initPanels:after", [n])
3811        }
3812        _initPanel(e) {
3813            if (this.trigger("initPanel:before", [e]),
3814            e.matches(".mm-panel"))
3815                return e;
3816            if (E(e, this.conf.classNames.panel, "mm-panel"),
3817            E(e, this.conf.classNames.nopanel, "mm-nopanel"),
3818            E(e, this.conf.classNames.inset, "mm-listview_inset"),
3819            e.matches(".mm-listview_inset") && e.classList.add("mm-nopanel"),
3820            e.matches(".mm-nopanel"))
3821                return null;
3822            var t = e.id || m()
3823              , n = e.matches("." + this.conf.classNames.vertical) || !this.opts.slidingSubmenus;
3824            if (e.classList.remove(this.conf.classNames.vertical),
3825            e.matches("ul, ol")) {
3826                e.removeAttribute("id");
3827                let t = b("div");
3828                e.before(t),
3829                t.append(e),
3830                e = t
3831            }
3832            e.id = t,
3833            e.classList.add("mm-panel", "mm-hidden");
3834            var i = [e.parentElement].filter(e=>e.matches("li"))[0];
3835            return n ? i && i.classList.add("mm-listitem_vertical") : this.node.pnls.append(e),
3836            i && (i.mmChild = e,
3837            e.mmParent = i),
3838            this.trigger("initPanel:after", [e]),
3839            e
3840        }
3841        _initNavbar(e) {
3842            if (this.trigger("initNavbar:before", [e]),
3843            _(e, ".mm-navbar").length)
3844                return;
3845            var t = e.mmParent
3846              , n = b("div.mm-navbar")
3847              , i = this._getPanelTitle(e, this.opts.navbar.title)
3848              , s = "";
3849            if (t) {
3850                if (t.matches(".mm-listitem_vertical"))
3851                    return;
3852                let a, o = (a = t.matches(".mm-listitem") ? _(t, ".mm-listitem__text")[0] : g(a = e.closest(".mm-panel"), 'a[href="#' + e.id + '"]')[0]).closest(".mm-panel").id;
3853                switch (i = this._getPanelTitle(e, a.textContent),
3854                this.opts.navbar.titleLink) {
3855                case "anchor":
3856                    s = a.getAttribute("href");
3857                    break;
3858                case "parent":
3859                    s = "#" + o
3860                }
3861                let r = b("a.mm-btn.mm-btn_prev.mm-navbar__btn");
3862                r.setAttribute("href", "#" + o),
3863                n.append(r)
3864            } else if (!this.opts.navbar.title)
3865                return;
3866            this.opts.navbar.add || _(e, ".mm-navbar")[0].classList.add("mm-hidden");
3867            let a = b("a.mm-navbar__title");
3868            if (a.innerHTML = i,
3869            s && a.setAttribute("href", s),
3870            n.append(a),
3871            t) {
3872                let e = b("span.mm-btn.mm-navbar__btn");
3873                n.append(e)
3874            }
3875            e.prepend(n),
3876            this.trigger("initNavbar:after", [e])
3877        }
3878        _initListview(e) {
3879            this.trigger("initListview:before", [e]),
3880            _(e, "ul, ol").forEach(e=>{
3881                E(e, this.conf.classNames.nolistview, "mm-nolistview"),
3882                e.matches(".mm-nolistview") || (e.classList.add("mm-listview"),
3883                _(e).forEach(e=>{
3884                    e.classList.add("mm-listitem"),
3885                    E(e, this.conf.classNames.selected, "mm-listitem_selected"),
3886                    E(e, this.conf.classNames.spacer, "mm-listitem_spacer"),
3887                    _(e, "a, span").forEach(e=>{
3888                        e.matches(".mm-btn") || e.classList.add("mm-listitem__text")
3889                    }
3890                    )
3891                }
3892                ))
3893            }
3894            );
3895            var t = e.mmParent;
3896            if (t && t.matches(".mm-listitem") && !_(t, ".mm-btn").length) {
3897                let n = _(t, ".mm-listitem__text")[0];
3898                if (n) {
3899                    let i = b("a.mm-btn.mm-btn_next.mm-listitem__btn");
3900                    i.setAttribute("href", "#" + e.id),
3901                    n.matches("span") ? (i.classList.add("mm-listitem__text"),
3902                    i.innerHTML = n.innerHTML,
3903                    t.insertBefore(i, n.nextElementSibling),
3904                    n.remove()) : t.append(i)
3905                }
3906            }
3907            this.trigger("initListview:after", [e])
3908        }
3909        _initOpened() {
3910            this.trigger("initOpened:before");
3911            let e = this.node.pnls.querySelectorAll(".mm-listitem_selected")
3912              , t = null;
3913            e.forEach(e=>{
3914                t = e,
3915                e.classList.remove("mm-listitem_selected")
3916            }
3917            ),
3918            t && t.classList.add("mm-listitem_selected");
3919            let n = t ? t.closest(".mm-panel") : _(this.node.pnls, ".mm-panel")[0];
3920            this.openPanel(n, !1),
3921            this.trigger("initOpened:after")
3922        }
3923        _initAnchors() {
3924            this.trigger("initAnchors:before"),
3925            document.addEventListener("click", e=>{
3926                var t = e.target.closest("a[href]");
3927                if (t) {
3928                    var n = {
3929                        inMenu: t.closest(".mm-menu") === this.node.menu,
3930                        inListview: t.matches(".mm-listitem > a"),
3931                        toExternal: t.matches('[rel="external"]') || t.matches('[target="_blank"]')
3932                    }
3933                      , i = {
3934                        close: null,
3935                        setSelected: null,
3936                        preventDefault: "#" == t.getAttribute("href").slice(0, 1)
3937                    };
3938                    for (let s = 0; s < this.clck.length; s++) {
3939                        let r = this.clck[s].call(this, t, n);
3940                        if (r) {
3941                            if ("boolean" == typeof r)
3942                                return void e.preventDefault();
3943                            "object" == o(r) && (i = a(r, i))
3944                        }
3945                    }
3946                    n.inMenu && n.inListview && !n.toExternal && (r(t, this.opts.onClick.setSelected, i.setSelected) && this.setSelected(t.parentElement),
3947                    r(t, this.opts.onClick.preventDefault, i.preventDefault) && e.preventDefault(),
3948                    r(t, this.opts.onClick.close, i.close) && this.opts.offCanvas && "function" == typeof this.close && this.close())
3949                }
3950            }
3951            , !0),
3952            this.trigger("initAnchors:after")
3953        }
3954        i18n(e) {
3955            return function(e, t) {
3956                return "string" == typeof t && void 0 !== p[t] && p[t][e] || e
3957            }(e, this.conf.language)
3958        }
3959        _getPanelTitle(e, t) {
3960            var n;
3961            return "function" == typeof this.opts.navbar.title && (n = this.opts.navbar.title.call(e)),
3962            void 0 === n && (n = e.getAttribute("mm-data-title")),
3963            "string" == typeof n && n.length ? n : "string" == typeof t ? this.i18n(t) : "function" == typeof t ? this.i18n(t.call(e)) : "string" == typeof S.options.navbar.title ? this.i18n(S.options.navbar.title) : this.i18n("Menu")
3964        }
3965    }
3966    S.version = "8.1.1",
3967    S.options = i,
3968    S.configs = s,
3969    S.addons = {},
3970    S.wrappers = {},
3971    S.node = {},
3972    S.vars = {};
3973    var M = {
3974        blockUI: !0,
3975        moveBackground: !0
3976    };
3977    var T = {
3978        clone: !1,
3979        menu: {
3980            insertMethod: "prepend",
3981            insertSelector: "body"
3982        },
3983        page: {
3984            nodetype: "div",
3985            selector: null,
3986            noSelector: []
3987        }
3988    };
3989    function A(e) {
3990        return e ? e.charAt(0).toUpperCase() + e.slice(1) : ""
3991    }
3992    function C(e, t, n) {
3993        var i = t.split(".");
3994        e[t = "mmEvent" + A(i[0]) + A(i[1])] = e[t] || [],
3995        e[t].push(n),
3996        e.addEventListener(i[0], n)
3997    }
3998    function N(e, t) {
3999        var n = t.split(".");
4000        t = "mmEvent" + A(n[0]) + A(n[1]),
4001        (e[t] || []).forEach(t=>{
4002            e.removeEventListener(n[0], t)
4003        }
4004        )
4005    }
4006    S.options.offCanvas = M,
4007    S.configs.offCanvas = T;
4008    S.prototype.open = function() {
4009        this.trigger("open:before"),
4010        this.vars.opened || (this._openSetup(),
4011        setTimeout(()=>{
4012            this._openStart()
4013        }
4014        , this.conf.openingInterval),
4015        this.trigger("open:after"))
4016    }
4017    ,
4018    S.prototype._openSetup = function() {
4019        var e = this.opts.offCanvas;
4020        this.closeAllOthers(),
4021        S.node.page.mmStyle = S.node.page.getAttribute("style") || "",
4022        function(e, t, n) {
4023            var i = t.split(".");
4024            (e[t = "mmEvent" + A(i[0]) + A(i[1])] || []).forEach(e=>{
4025                e(n || {})
4026            }
4027            )
4028        }(window, "resize.page", {
4029            force: !0
4030        });
4031        var t = ["mm-wrapper_opened"];
4032        e.blockUI && t.push("mm-wrapper_blocking"),
4033        "modal" == e.blockUI && t.push("mm-wrapper_modal"),
4034        e.moveBackground && t.push("mm-wrapper_background"),
4035        this.node.wrpr.classList.add(...t),
4036        setTimeout(()=>{
4037            this.vars.opened = !0
4038        }
4039        , this.conf.openingInterval),
4040        this.node.menu.classList.add("mm-menu_opened")
4041    }
4042    ,
4043    S.prototype._openStart = function() {
4044        l(S.node.page, ()=>{
4045            this.trigger("open:finish")
4046        }
4047        , this.conf.transitionDuration),
4048        this.trigger("open:start"),
4049        this.node.wrpr.classList.add("mm-wrapper_opening")
4050    }
4051    ,
4052    S.prototype.close = function() {
4053        this.trigger("close:before"),
4054        this.vars.opened && (l(S.node.page, ()=>{
4055            this.node.menu.classList.remove("mm-menu_opened");
4056            this.node.wrpr.classList.remove("mm-wrapper_opened", "mm-wrapper_blocking", "mm-wrapper_modal", "mm-wrapper_background"),
4057            S.node.page.setAttribute("style", S.node.page.mmStyle),
4058            this.vars.opened = !1,
4059            this.trigger("close:finish")
4060        }
4061        , this.conf.transitionDuration),
4062        this.trigger("close:start"),
4063        this.node.wrpr.classList.remove("mm-wrapper_opening"),
4064        this.trigger("close:after"))
4065    }
4066    ,
4067    S.prototype.closeAllOthers = function() {
4068        g(document.body, ".mm-menu_offcanvas").forEach(e=>{
4069            if (e !== this.node.menu) {
4070                let t = e.mmApi;
4071                t && t.close && t.close()
4072            }
4073        }
4074        )
4075    }
4076    ,
4077    S.prototype.setPage = function(e) {
4078        this.trigger("setPage:before", [e]);
4079        var t = this.conf.offCanvas;
4080        if (!e) {
4081            let n = "string" == typeof t.page.selector ? g(document.body, t.page.selector) : _(document.body, t.page.nodetype);
4082            if (n = n.filter(e=>!e.matches(".mm-menu, .mm-wrapper__blocker")),
4083            t.page.noSelector.length && (n = n.filter(e=>!e.matches(t.page.noSelector.join(", ")))),
4084            n.length > 1) {
4085                let e = b("div");
4086                n[0].before(e),
4087                n.forEach(t=>{
4088                    e.append(t)
4089                }
4090                ),
4091                n = [e]
4092            }
4093            e = n[0]
4094        }
4095        e.classList.add("mm-page", "mm-slideout"),
4096        e.id = e.id || m(),
4097        S.node.page = e,
4098        this.trigger("setPage:after", [e])
4099    }
4100    ;
4101    const H = function() {
4102        N(document.body, "keydown.tabguard"),
4103        C(document.body, "keydown.tabguard", e=>{
4104            9 == e.keyCode && this.node.wrpr.matches(".mm-wrapper_opened") && e.preventDefault()
4105        }
4106        ),
4107        N(window, "resize.page"),
4108        C(window, "resize.page", e=>{
4109            S.node.page && (this.node.wrpr.matches(".mm-wrapper_opening") || e.force) && (S.node.page.style.minHeight = window.innerHeight + "px")
4110        }
4111        )
4112    }
4113      , j = function() {
4114        this.trigger("initBlocker:before");
4115        var e = this.opts.offCanvas
4116          , t = this.conf.offCanvas;
4117        if (e.blockUI) {
4118            if (!S.node.blck) {
4119                let e = b("div.mm-wrapper__blocker.mm-slideout");
4120                e.innerHTML = "<a></a>",
4121                document.querySelector(t.menu.insertSelector).append(e),
4122                S.node.blck = e
4123            }
4124            var n = e=>{
4125                e.preventDefault(),
4126                e.stopPropagation(),
4127                this.node.wrpr.matches(".mm-wrapper_modal") || this.close()
4128            }
4129            ;
4130            S.node.blck.addEventListener("mousedown", n, {passive: true}),
4131            S.node.blck.addEventListener("touchstart", n, {passive: true}),
4132            S.node.blck.addEventListener("touchmove", n, {passive: true}),
4133            this.trigger("initBlocker:after")
4134        }
4135    };
4136    var I = {
4137        aria: !0,
4138        text: !0
4139    };
4140    var O = {
4141        text: {
4142            closeMenu: "Close menu",
4143            closeSubmenu: "Close submenu",
4144            openSubmenu: "Open submenu",
4145            toggleSubmenu: "Toggle submenu"
4146        }
4147    }
4148      , q = {
4149        "Close menu": "بستن منو",
4150        "Close submenu": "بستن زیرمنو",
4151        "Open submenu": "بازکردن زیرمنو",
4152        "Toggle submenu": "سوییچ زیرمنو"
4153    }
4154      , D = {
4155        "Close menu": "Menü schließen",
4156        "Close submenu": "Untermenü schließen",
4157        "Open submenu": "Untermenü öffnen",
4158        "Toggle submenu": "Untermenü wechseln"
4159    }
4160      , B = {
4161        "Close menu": "Закрыть меню",
4162        "Close submenu": "Закрыть подменю",
4163        "Open submenu": "Открыть подменю",
4164        "Toggle submenu": "Переключить подменю"
4165    };
4166    h({
4167        "Close menu": "Menu sluiten",
4168        "Close submenu": "Submenu sluiten",
4169        "Open submenu": "Submenu openen",
4170        "Toggle submenu": "Submenu wisselen"
4171    }, "nl"),
4172    h(q, "fa"),
4173    h(D, "de"),
4174    h(B, "ru"),
4175    S.options.screenReader = I,
4176    S.configs.screenReader = O;
4177    var z;
4178    z = function(e, t, n) {
4179        e[t] = n,
4180        n ? e.setAttribute(t, n.toString()) : e.removeAttribute(t)
4181    }
4182    ,
4183    S.sr_aria = function(e, t, n) {
4184        z(e, "aria-" + t, n)
4185    }
4186    ,
4187    S.sr_role = function(e, t) {
4188        z(e, "role", t)
4189    }
4190    ,
4191    S.sr_text = function(e) {
4192        return '<span class="mm-sronly">' + e + "</span>"
4193    }
4194    ;
4195    var R = {
4196        fix: !0
4197    };
4198    const U = "ontouchstart"in window || !!navigator.msMaxTouchPoints || !1;
4199    S.options.scrollBugFix = R;
4200    var F = {
4201        height: "default"
4202    };
4203    S.options.autoHeight = F;
4204    var W = {
4205        close: !1,
4206        open: !1
4207    };
4208    S.options.backButton = W;
4209    var V = {
4210        add: !1,
4211        visible: {
4212            min: 1,
4213            max: 3
4214        }
4215    };
4216    S.options.columns = V;
4217    var Y = {
4218        add: !1,
4219        addTo: "panels",
4220        count: !1
4221    };
4222    S.options.counters = Y,
4223    S.configs.classNames.counters = {
4224        counter: "Counter"
4225    };
4226    var Z = {
4227        add: !1,
4228        addTo: "panels",
4229        type: null
4230    };
4231    S.options.dividers = Z,
4232    S.configs.classNames.divider = "Divider";
4233    var X = {
4234        menu: {
4235            open: !1,
4236            node: null,
4237            maxStartPos: 100,
4238            threshold: 50
4239        },
4240        panels: {
4241            close: !1
4242        },
4243        vendors: {
4244            hammer: {}
4245        }
4246    };
4247    var G = {
4248        menu: {
4249            width: {
4250                perc: .8,
4251                min: 140,
4252                max: 440
4253            },
4254            height: {
4255                perc: .8,
4256                min: 140,
4257                max: 880
4258            }
4259        }
4260    };
4261    S.options.drag = X,
4262    S.configs.drag = G;
4263    var K = {
4264        drop: !1,
4265        fitViewport: !0,
4266        event: "click",
4267        position: {},
4268        tip: !0
4269    };
4270    var Q = {
4271        offset: {
4272            button: {
4273                x: -5,
4274                y: 5
4275            },
4276            viewport: {
4277                x: 20,
4278                y: 20
4279            }
4280        },
4281        height: {
4282            max: 880
4283        },
4284        width: {
4285            max: 440
4286        }
4287    };
4288    S.options.dropdown = K,
4289    S.configs.dropdown = Q;
4290    var J = {
4291        fixed: {
4292            insertMethod: "append",
4293            insertSelector: "body"
4294        },
4295        sticky: {
4296            offset: 0
4297        }
4298    };
4299    S.configs.fixedElements = J,
4300    S.configs.classNames.fixedElements = {
4301        fixed: "Fixed",
4302        sticky: "Sticky"
4303    };
4304    var $ = {
4305        use: !1,
4306        top: [],
4307        bottom: [],
4308        position: "left",
4309        type: "default"
4310    };
4311    S.options.iconbar = $;
4312    var ee = {
4313        add: !1,
4314        blockPanel: !0,
4315        hideDivider: !1,
4316        hideNavbar: !0,
4317        visible: 3
4318    };
4319    S.options.iconPanels = ee;
4320    var te = {
4321        enable: !1,
4322        enhance: !1
4323    };
4324    S.options.keyboardNavigation = te;
4325    const ne = function(e) {
4326        N(document.body, "keydown.tabguard"),
4327        N(document.body, "focusin.tabguard"),
4328        C(document.body, "focusin.tabguard", e=>{
4329            if (this.node.wrpr.matches(".mm-wrapper_opened")) {
4330                let t = e.target;
4331                if (t.matches(".mm-tabend")) {
4332                    let e;
4333                    t.parentElement.matches(".mm-menu") && S.node.blck && (e = S.node.blck),
4334                    t.parentElement.matches(".mm-wrapper__blocker") && (e = g(document.body, ".mm-menu_offcanvas.mm-menu_opened")[0]),
4335                    e || (e = t.parentElement),
4336                    e && _(e, ".mm-tabstart")[0].focus()
4337                }
4338            }
4339        }
4340        ),
4341        N(document.body, "keydown.navigate"),
4342        C(document.body, "keydown.navigate", t=>{
4343            var n = t.target
4344              , i = n.closest(".mm-menu");
4345            if (i) {
4346                i.mmApi;
4347                if (!n.matches("input, textarea"))
4348                    switch (t.keyCode) {
4349                    case 13:
4350                        (n.matches(".mm-toggle") || n.matches(".mm-check")) && n.dispatchEvent(new Event("click"));
4351                        break;
4352                    case 32:
4353                    case 37:
4354                    case 38:
4355                    case 39:
4356                    case 40:
4357                        t.preventDefault()
4358                    }
4359                if (e)
4360                    if (n.matches("input"))
4361                        switch (t.keyCode) {
4362                        case 27:
4363                            n.value = ""
4364                        }
4365                    else {
4366                        let e = i.mmApi;
4367                        switch (t.keyCode) {
4368                        case 8:
4369                            let n = g(i, ".mm-panel_opened")[0].mmParent;
4370                            n && e.openPanel(n.closest(".mm-panel"));
4371                            break;
4372                        case 27:
4373                            i.matches(".mm-menu_offcanvas") && e.close()
4374                        }
4375                    }
4376            }
4377        }
4378        )
4379    };
4380    var ie = {
4381        load: !1
4382    };
4383    S.options.lazySubmenus = ie;
4384    var se = [];
4385    var ae = {
4386        breadcrumbs: {
4387            separator: "/",
4388            removeFirst: !1
4389        }
4390    };
4391    function oe() {
4392        var e = this.opts.navbars;
4393        if (void 0 !== e) {
4394            e instanceof Array || (e = [e]);
4395            var t = {};
4396            e.length && (e.forEach(e=>{
4397                if (!(e = function(e) {
4398                    return "boolean" == typeof e && e && (e = {}),
4399                    "object" != typeof e && (e = {}),
4400                    void 0 === e.content && (e.content = ["prev", "title"]),
4401                    e.content instanceof Array || (e.content = [e.content]),
4402                    void 0 === e.use && (e.use = !0),
4403                    "boolean" == typeof e.use && e.use && (e.use = !0),
4404                    e
4405                }(e)).use)
4406                    return !1;
4407                var n = b("div.mm-navbar")
4408                  , i = e.position;
4409                "bottom" !== i && (i = "top"),
4410                t[i] || (t[i] = b("div.mm-navbars_" + i)),
4411                t[i].append(n);
4412                for (let t = 0, i = e.content.length; t < i; t++) {
4413                    let i = e.content[t];
4414                    if ("string" == typeof i) {
4415                        let e = oe.navbarContents[i];
4416                        if ("function" == typeof e)
4417                            e.call(this, n);
4418                        else {
4419                            let e = b("span");
4420                            e.innerHTML = i;
4421                            let t = _(e);
4422                            1 == t.length && (e = t[0]),
4423                            n.append(e)
4424                        }
4425                    } else
4426                        n.append(i)
4427                }
4428                if ("string" == typeof e.type) {
4429                    let t = oe.navbarTypes[e.type];
4430                    "function" == typeof t && t.call(this, n)
4431                }
4432                let s = ()=>{
4433                    n.classList.remove("mm-hidden"),
4434                    S.sr_aria(n, "hidden", !1)
4435                }
4436                  , a = ()=>{
4437                    n.classList.add("mm-hidden"),
4438                    S.sr_aria(n, "hidden", !0)
4439                }
4440                ;
4441                "boolean" != typeof e.use && P(e.use, s, a)
4442            }
4443            ),
4444            this.bind("initMenu:after", ()=>{
4445                for (let e in t)
4446                    this.node.menu["bottom" == e ? "append" : "prepend"](t[e])
4447            }
4448            ))
4449        }
4450    }
4451    S.options.navbars = se,
4452    S.configs.navbars = ae,
4453    S.configs.classNames.navbars = {
4454        panelNext: "Next",
4455        panelPrev: "Prev",
4456        panelTitle: "Title"
4457    },
4458    oe.navbarContents = {
4459        breadcrumbs: function(e) {
4460            var t = b("span.mm-navbar__breadcrumbs");
4461            e.append(t),
4462            this.bind("initNavbar:after", e=>{
4463                if (!e.querySelector(".mm-navbar__breadcrumbs")) {
4464                    _(e, ".mm-navbar")[0].classList.add("mm-hidden");
4465                    for (var t = [], n = b("span.mm-navbar__breadcrumbs"), i = e, s = !0; i; ) {
4466                        if (i.matches(".mm-panel") || (i = i.closest(".mm-panel")),
4467                        !i.parentElement.matches(".mm-listitem_vertical")) {
4468                            var a = g(i, ".mm-navbar__title")[0].textContent;
4469                            a.length && t.unshift(s ? "<span>" + a + "</span>" : '<a href="#' + i.id + '">' + a + "</a>"),
4470                            s = !1
4471                        }
4472                        i = i.mmParent
4473                    }
4474                    this.conf.navbars.breadcrumbs.removeFirst && t.shift(),
4475                    n.innerHTML = t.join('<span class="mm-separator">' + this.conf.navbars.breadcrumbs.separator + "</span>"),
4476                    _(e, ".mm-navbar")[0].append(n)
4477                }
4478            }
4479            ),
4480            this.bind("openPanel:start", e=>{
4481                var n = e.querySelector(".mm-navbar__breadcrumbs");
4482                n && (t.innerHTML = n.innerHTML)
4483            }
4484            ),
4485            this.bind("initNavbar:after:sr-aria", e=>{
4486                g(e, ".mm-breadcrumbs a").forEach(e=>{
4487                    S.sr_aria(e, "owns", e.getAttribute("href").slice(1))
4488                }
4489                )
4490            }
4491            )
4492        },
4493        close: function(e) {
4494            var t = b("a.mm-btn.mm-btn_close.mm-navbar__btn");
4495            e.append(t),
4496            this.bind("setPage:after", e=>{
4497                t.setAttribute("href", "#" + e.id)
4498            }
4499            ),
4500            this.bind("setPage:after:sr-text", ()=>{
4501                t.innerHTML = S.sr_text(this.i18n(this.conf.screenReader.text.closeMenu)),
4502                S.sr_aria(t, "owns", t.getAttribute("href").slice(1))
4503            }
4504            )
4505        },
4506        next: function(e) {
4507            var t, n, i, s = b("a.mm-btn.mm-btn_next.mm-navbar__btn");
4508            e.append(s),
4509            this.bind("openPanel:start", e=>{
4510                t = e.querySelector("." + this.conf.classNames.navbars.panelNext),
4511                n = t ? t.getAttribute("href") : "",
4512                i = t ? t.innerHTML : "",
4513                n ? s.setAttribute("href", n) : s.removeAttribute("href"),
4514                s.classList[n || i ? "remove" : "add"]("mm-hidden"),
4515                s.innerHTML = i
4516            }
4517            ),
4518            this.bind("openPanel:start:sr-aria", e=>{
4519                S.sr_aria(s, "hidden", s.matches("mm-hidden")),
4520                S.sr_aria(s, "owns", (s.getAttribute("href") || "").slice(1))
4521            }
4522            )
4523        },
4524        prev: function(e) {
4525            var t, n, i, s = b("a.mm-btn.mm-btn_prev.mm-navbar__btn");
4526            e.append(s),
4527            this.bind("initNavbar:after", e=>{
4528                _(e, ".mm-navbar")[0].classList.add("mm-hidden")
4529            }
4530            ),
4531            this.bind("openPanel:start", e=>{
4532                e.parentElement.matches(".mm-listitem_vertical") || ((t = e.querySelector("." + this.conf.classNames.navbars.panelPrev)) || (t = e.querySelector(".mm-navbar__btn.mm-btn_prev")),
4533                n = t ? t.getAttribute("href") : "",
4534                i = t ? t.innerHTML : "",
4535                n ? s.setAttribute("href", n) : s.removeAttribute("href"),
4536                s.classList[n || i ? "remove" : "add"]("mm-hidden"),
4537                s.innerHTML = i)
4538            }
4539            ),
4540            this.bind("initNavbar:after:sr-aria", e=>{
4541                S.sr_aria(e.querySelector(".mm-navbar"), "hidden", !0)
4542            }
4543            ),
4544            this.bind("openPanel:start:sr-aria", e=>{
4545                S.sr_aria(s, "hidden", s.matches(".mm-hidden")),
4546                S.sr_aria(s, "owns", (s.getAttribute("href") || "").slice(1))
4547            }
4548            )
4549        },
4550        searchfield: function(e) {
4551            "object" != o(this.opts.searchfield) && (this.opts.searchfield = {}),
4552            this.opts.searchfield.add = !0,
4553            this.opts.searchfield.addTo = [e]
4554        },
4555        title: function(e) {
4556            var t, n, i, s, a = b("a.mm-navbar__title");
4557            e.append(a),
4558            this.bind("openPanel:start", e=>{
4559                e.parentElement.matches(".mm-listitem_vertical") || ((i = e.querySelector("." + this.conf.classNames.navbars.panelTitle)) || (i = e.querySelector(".mm-navbar__title")),
4560                (t = i ? i.getAttribute("href") : "") ? a.setAttribute("href", t) : a.removeAttribute("href"),
4561                n = i ? i.innerHTML : "",
4562                a.innerHTML = n,
4563                a.classList[t || n ? "remove" : "add"]("mm-hidden"))
4564            }
4565            ),
4566            this.bind("openPanel:start:sr-aria", e=>{
4567                if (this.opts.screenReader.text && (s || _(this.node.menu, ".mm-navbars_top, .mm-navbars_bottom").forEach(e
4567=>{
4568                    let t = e.querySelector(".mm-btn_prev");
4569                    t && (s = t)
4570                }
4571                ),
4572                s)) {
4573                    var t = !0;
4574                    "parent" == this.opts.navbar.titleLink && (t = !s.matches(".mm-hidden")),
4575                    S.sr_aria(a, "hidden", t)
4576                }
4577            }
4578            )
4579        }
4580    },
4581    oe.navbarTypes = {
4582        tabs: function(e) {
4583            e.classList.add("mm-navbar_tabs"),
4584            e.parentElement.classList.add("mm-navbars_has-tabs");
4585            var t = _(e, "a");
4586            e.addEventListener("click", e=>{
4587                var t = e.target;
4588                if (t.matches("a"))
4589                    if (t.matches(".mm-navbar__tab_selected"))
4590                        e.stopImmediatePropagation();
4591                    else
4592                        try {
4593                            this.openPanel(this.node.menu.querySelector(t.getAttribute("href")), !1),
4594                            e.stopImmediatePropagation()
4595                        } catch (e) {}
4596            }
4597            ),
4598            this.bind("openPanel:start", function e(n) {
4599                t.forEach(e=>{
4600                    e.classList.remove("mm-navbar__tab_selected")
4601                }
4602                );
4603                var i = t.filter(e=>e.matches('[href="#' + n.id + '"]'))[0];
4604                if (i)
4605                    i.classList.add("mm-navbar__tab_selected");
4606                else {
4607                    var s = n.mmParent;
4608                    s && e.call(this, s.closest(".mm-panel"))
4609                }
4610            })
4611        }
4612    };
4613    var re = {
4614        scroll: !1,
4615        update: !1
4616    };
4617    var le = {
4618        updateOffset: 50
4619    };
4620    S.options.pageScroll = re,
4621    S.configs.pageScroll = le;
4622    var me = {
4623        add: !1,
4624        addTo: "panels",
4625        cancel: !1,
4626        noResults: "No results found.",
4627        placeholder: "搜尋",
4628        panel: {
4629            add: !1,
4630            dividers: !0,
4631            fx: "none",
4632            id: null,
4633            splash: null,
4634            title: "Search"
4635        },
4636        search: !0,
4637        showTextItems: !1,
4638        showSubPanels: !0
4639    };
4640    var de = {
4641        clear: !1,
4642        form: !1,
4643        input: !1,
4644        submit: !1
4645    }
4646      , ce = {
4647        Search: "جستجو",
4648        "No results found.": "نتیجه‌ای یافت نشد.",
4649        cancel: "انصراف"
4650    }
4651      , pe = {
4652        Search: "Suche",
4653        "No results found.": "Keine Ergebnisse gefunden.",
4654        cancel: "beenden"
4655    }
4656      , he = {
4657        Search: "Найти",
4658        "No results found.": "Ничего не найдено.",
4659        cancel: "отменить"
4660    };
4661    h({
4662        Search: "Zoeken",
4663        "No results found.": "Geen resultaten gevonden.",
4664        cancel: "annuleren"
4665    }, "nl"),
4666    h(ce, "fa"),
4667    h(pe, "de"),
4668    h(he, "ru"),
4669    S.options.searchfield = me,
4670    S.configs.searchfield = de;
4671    const fe = function(e) {
4672        var t = this.opts.searchfield;
4673        this.conf.searchfield;
4674        if (_(this.node.pnls, ".mm-panel_search").length)
4675            return null;
4676        var n = b("div.mm-panel_search")
4677          , i = b("ul");
4678        switch (n.append(i),
4679        this.node.pnls.append(n),
4680        t.panel.id && (n.id = t.panel.id),
4681        t.panel.title && n.setAttribute("data-mm-title", t.panel.title),
4682        t.panel.fx) {
4683        case !1:
4684            break;
4685        case "none":
4686            n.classList.add("mm-panel_noanimation");
4687            break;
4688        default:
4689            n.classList.add("mm-panel_fx-" + t.panel.fx)
4690        }
4691        if (t.panel.splash) {
4692            let e = b("div.mm-panel__content");
4693            e.innerHTML = t.panel.splash,
4694            n.append(e)
4695        }
4696        return this.initPanels([n]),
4697        n
4698    }
4699      , ue = function(e) {
4700        var t = this.opts.searchfield
4701          , n = this.conf.searchfield;
4702        if (e.parentElement.matches(".mm-listitem_vertical"))
4703            return null;
4704        if (s = g(e, ".mm-searchfield")[0])
4705            return s;
4706        function i(e, t) {
4707            if (t)
4708                for (var n in t)
4709                    e.setAttribute(n, t[n])
4710        }
4711        var s = b((n.form ? "form" : "div") + ".mm-searchfield")
4712          , a = b("div.mm-searchfield__input")
4713          , o = b("input");
4714        if (o.type = "text",
4715        o.autocomplete = "off",
4716        o.placeholder = this.i18n(t.placeholder),
4717        a.append(o),
4718        s.append(a),
4719        e.prepend(s),
4720        i(o, n.input),
4721        n.clear) {
4722            let e = b("a.mm-btn.mm-btn_close.mm-searchfield__btn");
4723            e.setAttribute("href", "#"),
4724            a.append(e)
4725        }
4726        if (i(s, n.form),
4727        n.form && n.submit && !n.clear) {
4728            let e = b("a.mm-btn.mm-btn_next.mm-searchfield__btn");
4729            e.setAttribute("href", "#"),
4730            a.append(e)
4731        }
4732        if (t.cancel) {
4733            let e = b("a.mm-searchfield__cancel");
4734            e.setAttribute("href", "#"),
4735            e.textContent = this.i18n("cancel"),
4736            s.append(e)
4737        }
4738        return s
4739    }
4740      , ve = function(e) {
4741        var t = this.opts.searchfield
4742          , n = (this.conf.searchfield,
4743        {});
4744        e.closest(".mm-panel_search") ? (n.panels = g(this.node.pnls, ".mm-panel"),
4745        n.noresults = [e.closest(".mm-panel")]) : e.closest(".mm-panel") ? (n.panels = [e.closest(".mm-panel")],
4746        n.noresults = n.panels) : (n.panels = g(this.node.pnls, ".mm-panel"),
4747        n.noresults = [this.node.menu]),
4748        n.panels = n.panels.filter(e=>!e.parentElement.matches(".mm-listitem_vertical")),
4749        n.panels = n.panels.filter(e=>!e.matches(".mm-panel_search")),
4750        n.listitems = [],
4751        n.dividers = [],
4752        n.panels.forEach(e=>{
4753            n.listitems.push(...g(e, ".mm-listitem")),
4754            n.dividers.push(...g(e, ".mm-divider"))
4755        }
4756        );
4757        var i = _(this.node.pnls, ".mm-panel_search")[0]
4758          , s = g(e, "input")[0]
4759          , a = g(e, ".mm-searchfield__cancel")[0];
4760        s.mmSearchfield = n,
4761        t.panel.add && t.panel.splash && (N(s, "focus.splash"),
4762        C(s, "focus.splash", e=>{
4763            this.openPanel(i)
4764        }
4765        )),
4766        t.cancel && (N(s, "focus.cancel"),
4767        C(s, "focus.cancel", e=>{
4768            a.classList.add("mm-searchfield__cancel-active")
4769        }
4770        ),
4771        N(a, "click.splash"),
4772        C(a, "click.splash", e=>{
4773            if (e.preventDefault(),
4774            a.classList.remove("mm-searchfield__cancel-active"),
4775            i.matches(".mm-panel_opened")) {
4776                let e = _(this.node.pnls, ".mm-panel_opened-parent");
4777                e.length && this.openPanel(e[e.length - 1])
4778            }
4779        }
4780        )),
4781        t.panel.add && "panel" == t.addTo && this.bind("openPanel:finish", e=>{
4782            e === i && s.focus()
4783        }
4784        ),
4785        N(s, "input.search"),
4786        C(s, "input.search", e=>{
4787            switch (e.keyCode) {
4788            case 9:
4789            case 16:
4790            case 17:
4791            case 18:
4792            case 37:
4793            case 38:
4794            case 39:
4795            case 40:
4796                break;
4797            default:
4798                this.search(s)
4799            }
4800        }
4801        ),
4802        this.search(s)
4803    }
4804      , be = function(e) {
4805        if (e) {
4806            var t = this.opts.searchfield;
4807            this.conf.searchfield;
4808            if (e.closest(".mm-panel") || (e = _(this.node.pnls, ".mm-panel")[0]),
4809            !_(e, ".mm-panel__noresultsmsg").length) {
4810                var n = b("div.mm-panel__noresultsmsg.mm-hidden");
4811                n.innerHTML = this.i18n(t.noResults),
4812                e.append(n)
4813            }
4814        }
4815    };
4816    S.prototype.search = function(e, t) {
4817        var n = this.opts.searchfield;
4818        this.conf.searchfield;
4819        t = (t = t || "" + e.value).toLowerCase().trim();
4820        var i = e.mmSearchfield
4821          , s = g(e.closest(".mm-searchfield"), ".mm-btn")
4822          , a = _(this.node.pnls, ".mm-panel_search")[0]
4823          , o = i.panels
4824          , r = i.noresults
4825          , l = i.listitems
4826          , m = i.dividers;
4827        if (l.forEach(e=>{
4828            e.classList.remove("mm-listitem_nosubitems", "mm-listitem_onlysubitems", "mm-hidden")
4829        }
4830        ),
4831        a && (_(a, ".mm-listview")[0].innerHTML = ""),
4832        o.forEach(e=>{
4833            e.scrollTop = 0
4834        }
4835        ),
4836        t.length) {
4837            m.forEach(e=>{
4838                e.classList.add("mm-hidden")
4839            }
4840            ),
4841            l.forEach(e=>{
4842                var i = _(e, ".mm-listitem__text")[0]
4843                  , s = !1;
4844                i && function(e) {
4845                    return Array.prototype.slice.call(e.childNodes).filter(e=>3 == e.nodeType).map(e=>e.textContent).join(" ")
4846                }(i).toLowerCase().indexOf(t) > -1 && (i.matches(".mm-listitem__btn") ? n.showSubPanels && (s = !0) : i.matches("a") ? s = !0 : n.showTextItems && (s = !0)),
4847                s || e.classList.add("mm-hidden")
4848            }
4849            );
4850            var d = l.filter(e=>!e.matches(".mm-hidden")).length;
4851            if (n.panel.add) {
4852                let e = [];
4853                o.forEach(t=>{
4854                    let i = w(g(t, ".mm-listitem"));
4855                    if ((i = i.filter(e=>!e.matches(".mm-hidden"))).length) {
4856                        if (n.panel.dividers) {
4857                            let n = b("li.mm-divider");
4858                            n.innerHTML = t.querySelector(".mm-navbar__title").innerHTML,
4859                            e.push(n)
4860                        }
4861                        i.forEach(t=>{
4862                            e.push(t.cloneNode(!0))
4863                        }
4864                        )
4865                    }
4866                }
4867                ),
4868                e.forEach(e=>{
4869                    e.querySelectorAll(".mm-toggle, .mm-check").forEach(e=>{
4870                        e.remove()
4871                    }
4872                    )
4873                }
4874                ),
4875                _(a, ".mm-listview")[0].append(...e),
4876                this.openPanel(a)
4877            } else
4878                n.showSubPanels && o.forEach(e=>{
4879                    w(g(e, ".mm-listitem")).forEach(e=>{
4880                        let t = e.mmChild;
4881                        t && g(t, ".mm-listitem").forEach(e=>{
4882                            e.classList.remove("mm-hidden")
4883                        }
4884                        )
4885                    }
4886                    )
4887                }
4888                ),
4889                [...o].reverse().forEach((t,n)=>{
4890                    let i = t.mmParent;
4891                    if (i) {
4892                        w(g(t, ".mm-listitem")).length ? (i.matches(".mm-hidden") && i.classList.remove("mm-hidden"),
4893                        i.classList.add("mm-listitem_onlysubitems")) : e.closest(".mm-panel") || ((t.matches(".mm-panel_opened") || t.matches(".mm-panel_opened-parent")) && setTimeout(()=>{
4894                            this.openPanel(i.closest(".mm-panel"))
4895                        }
4896                        , (n + 1) * (1.5 * this.conf.openingInterval)),
4897                        i.classList.add("mm-listitem_nosubitems"))
4898                    }
4899                }
4900                ),
4901                o.forEach(e=>{
4902                    w(g(e, ".mm-listitem")).forEach(e=>{
4903                        let t = function(e, t) {
4904                            for (var n = [], i = e.previousElementSibling; i; )
4905                                t && !i.matches(t) || n.push(i),
4906                                i = i.previousElementSibling;
4907                            return n
4908                        }(e, ".mm-divider")[0];
4909                        t && t.classList.remove("mm-hidden")
4910                    }
4911                    )
4912                }
4913                );
4914            s.forEach(e=>e.classList.remove("mm-hidden")),
4915            r.forEach(e=>{
4916                g(e, ".mm-panel__noresultsmsg").forEach(e=>e.classList[d ? "add" : "remove"]("mm-hidden"))
4917            }
4918            ),
4919            n.panel.add && (n.panel.splash && g(a, ".mm-panel__content").forEach(e=>e.classList.add("mm-hidden")),
4920            l.forEach(e=>e.classList.remove("mm-hidden")),
4921            m.forEach(e=>e.classList.remove("mm-hidden")))
4922        } else if (l.forEach(e=>e.classList.remove("mm-hidden")),
4923        m.forEach(e=>e.classList.remove("mm-hidden")),
4924        s.forEach(e=>e.classList.add("mm-hidden")),
4925        r.forEach(e=>{
4926            g(e, ".mm-panel__noresultsmsg").forEach(e=>e.classList.add("mm-hidden"))
4927        }
4928        ),
4929        n.panel.add)
4930            if (n.panel.splash)
4931                g(a, ".mm-panel__content").forEach(e=>e.classList.remove("mm-hidden"));
4932            else if (!e.closest(".mm-panel_search")) {
4933                let e = _(this.node.pnls, ".mm-panel_opened-parent");
4934                this.openPanel(e.slice(-1)[0])
4935            }
4936        this.trigger("updateListview")
4937    }
4938    ;
4939    var ge = {
4940        add: !1,
4941        addTo: "panels"
4942    };
4943    S.options.sectionIndexer = ge;
4944    var _e = {
4945        current: !0,
4946        hover: !1,
4947        parent: !1
4948    };
4949    S.options.setSelected = _e;
4950    var ye = {
4951        collapsed: {
4952            use: !1,
4953            blockMenu: !0,
4954            hideDivider: !1,
4955            hideNavbar: !0
4956        },
4957        expanded: {
4958            use: !1
4959        }
4960    };
4961    S.options.sidebar = ye;
4962    S.configs.classNames.toggles = {
4963        toggle: "Toggle",
4964        check: "Check"
4965    };
4966    var we;
4967    S.addons = {
4968        offcanvas: function() {
4969            if (this.opts.offCanvas) {
4970                var e = function(e) {
4971                    return "object" != typeof e && (e = {}),
4972                    e
4973                }(this.opts.offCanvas);
4974                this.opts.offCanvas = a(e, S.options.offCanvas);
4975                var t = this.conf.offCanvas;
4976                this._api.push("open", "close", "setPage"),
4977                this.vars.opened = !1,
4978                this.bind("initMenu:before", ()=>{
4979                    t.clone && (this.node.menu = this.node.menu.cloneNode(!0),
4980                    this.node.menu.id && (this.node.menu.id = "mm-" + this.node.menu.id),
4981                    g(this.node.menu, "[id]").forEach(e=>{
4982                        e.id = "mm-" + e.id
4983                    }
4984                    )),
4985                    this.node.wrpr = document.documentElement,
4986                    document.querySelector(t.menu.insertSelector)[t.menu.insertMethod](this.node.menu)
4987                }
4988                ),
4989                this.bind("initMenu:after", ()=>{
4990                    j.call(this),
4991                    this.setPage(S.node.page),
4992                    H.call(this),
4993                    this.node.menu.classList.add("mm-menu_offcanvas");
4994                    let e = window.location.hash;
4995                    if (e) {
4996                        let t = c(this.node.menu.id);
4997                        t && t == e.slice(1) && setTimeout(()=>{
4998                            this.open()
4999                        }
5000                        , 1e3)
5001                    }
5002                }
5003                ),
5004                this.bind("setPage:after", e=>{
5005                    S.node.blck && _(S.node.blck, "a").forEach(t=>{
5006                        t.setAttribute("href", "#" + e.id)
5007                    }
5008                    )
5009                }
5010                ),
5011                this.bind("open:start:sr-aria", ()=>{
5012                    S.sr_aria(this.node.menu, "hidden", !1)
5013                }
5014                ),
5015                this.bind("close:finish:sr-aria", ()=>{
5016                    S.sr_aria(this.node.menu, "hidden", !0)
5017                }
5018                ),
5019                this.bind("initMenu:after:sr-aria", ()=>{
5020                    S.sr_aria(this.node.menu, "hidden", !0)
5021                }
5022                ),
5023                this.bind("initBlocker:after:sr-text", ()=>{
5024                    _(S.node.blck, "a").forEach(e=>{
5025                        e.innerHTML = S.sr_text(this.i18n(this.conf.screenReader.text.closeMenu))
5026                    }
5027                    )
5028                }
5029                ),
5030                this.clck.push((e,t)=>{
5031                    let n = c(this.node.menu.id);
5032                    if (n && e.matches('[href="#' + n + '"]')) {
5033                        if (t.inMenu)
5034                            return this.open(),
5035                            !0;
5036                        var i = e.closest(".mm-menu");
5037                        if (i) {
5038                            var s = i.mmApi;
5039                            if (s && s.close)
5040                                return s.close(),
5041                                l(i, ()=>{
5042                                    this.open()
5043                                }
5044                                , this.conf.transitionDuration),
5045                                !0
5046                        }
5047                        return this.open(),
5048                        !0
5049                    }
5050                    if ((n = S.node.page.id) && e.matches('[href="#' + n + '"]'))
5051                        return this.close(),
5052                        !0
5053                }
5054                )
5055            }
5056        },
5057        screenReader: function() {
5058            var e = function(e) {
5059                return "boolean" == typeof e && (e = {
5060                    aria: e,
5061                    text: e
5062                }),
5063                "object" != typeof e && (e = {}),
5064                e
5065            }(this.opts.screenReader);
5066            this.opts.screenReader = a(e, S.options.screenReader);
5067            var t = this.conf.screenReader;
5068            e.aria && (this.bind("initAddons:after", ()=>{
5069                this.bind("initMenu:after", function() {
5070                    this.trigger("initMenu:after:sr-aria", [].slice.call(arguments))
5071                }),
5072                this.bind("initNavbar:after", function() {
5073                    this.trigger("initNavbar:after:sr-aria", [].slice.call(arguments))
5074                }),
5075                this.bind("openPanel:start", function() {
5076                    this.trigger("openPanel:start:sr-aria", [].slice.call(arguments))
5077                }),
5078                this.bind("close:start", function() {
5079                    this.trigger("close:start:sr-aria", [].slice.call(arguments))
5080                }),
5081                this.bind("close:finish", function() {
5082                    this.trigger("close:finish:sr-aria", [].slice.call(arguments))
5083                }),
5084                this.bind("open:start", function() {
5085                    this.trigger("open:start:sr-aria", [].slice.call(arguments))
5086                }),
5087                this.bind("initOpened:after", function() {
5088                    this.trigger("initOpened:after:sr-aria", [].slice.call(arguments))
5089                })
5090            }
5091            ),
5092            this.bind("updateListview", ()=>{
5093                this.node.pnls.querySelectorAll(".mm-listitem").forEach(e
5093=>{
5094                    S.sr_aria(e, "hidden", e.matches(".mm-hidden"))
5095                }
5096                )
5097            }
5098            ),
5099            this.bind("openPanel:start", e=>{
5100                var t = g(this.node.pnls, ".mm-panel").filter(t=>t !== e).filter(e=>!e.parentElement.matches(".mm-panel"))
5101                  , n = [e];
5102                g(e, ".mm-listitem_vertical .mm-listitem_opened").forEach(e=>{
5103                    n.push(..._(e, ".mm-panel"))
5104                }
5105                ),
5106                t.forEach(e=>{
5107                    S.sr_aria(e, "hidden", !0)
5108                }
5109                ),
5110                n.forEach(e=>{
5111                    S.sr_aria(e, "hidden", !1)
5112                }
5113                )
5114            }
5115            ),
5116            this.bind("closePanel", e=>{
5117                S.sr_aria(e, "hidden", !0)
5118            }
5119            ),
5120            this.bind("initPanels:after", e=>{
5121                e.forEach(e=>{
5122                    g(e, ".mm-btn").forEach(e=>{
5123                        S.sr_aria(e, "haspopup", !0);
5124                        let t = e.getAttribute("href");
5125                        t && S.sr_aria(e, "owns", t.replace("#", ""))
5126                    }
5127                    )
5128                }
5129                )
5130            }
5131            ),
5132            this.bind("initNavbar:after", e=>{
5133                var t = _(e, ".mm-navbar")[0]
5134                  , n = t.matches(".mm-hidden");
5135                S.sr_aria(t, "hidden", n)
5136            }
5137            ),
5138            e.text && "parent" == this.opts.navbar.titleLink && this.bind("initNavbar:after", e=>{
5139                var t = _(e, ".mm-navbar")[0]
5140                  , n = !!t.querySelector(".mm-btn_prev");
5141                S.sr_aria(g(t, ".mm-navbar__title")[0], "hidden", n)
5142            }
5143            )),
5144            e.text && (this.bind("initAddons:after", ()=>{
5145                this.bind("setPage:after", function() {
5146                    this.trigger("setPage:after:sr-text", [].slice.call(arguments))
5147                }),
5148                this.bind("initBlocker:after", function() {
5149                    this.trigger("initBlocker:after:sr-text", [].slice.call(arguments))
5150                })
5151            }
5152            ),
5153            this.bind("initNavbar:after", e=>{
5154                let n = _(e, ".mm-navbar")[0];
5155                if (n) {
5156                    let e = _(n, ".mm-btn_prev")[0];
5157                    e && (e.innerHTML = S.sr_text(this.i18n(t.text.closeSubmenu)))
5158                }
5159            }
5160            ),
5161            this.bind("initListview:after", e=>{
5162                let n = e.mmParent;
5163                if (n) {
5164                    let e = _(n, ".mm-btn_next")[0];
5165                    if (e) {
5166                        let n = this.i18n(t.text[e.parentElement.matches(".mm-listitem_vertical") ? "toggleSubmenu" : "openSubmenu"]);
5167                        e.innerHTML += S.sr_text(n)
5168                    }
5169                }
5170            }
5171            ))
5172        },
5173        scrollBugFix: function() {
5174            if (U && this.opts.offCanvas && this.opts.offCanvas.blockUI) {
5175                var e = function(e) {
5176                    return "boolean" == typeof e && (e = {
5177                        fix: e
5178                    }),
5179                    "object" != typeof e && (e = {}),
5180                    e
5181                }(this.opts.scrollBugFix);
5182                if (this.opts.scrollBugFix = a(e, S.options.scrollBugFix),
5183                e.fix) {
5184                    if (this.bind("open:start", ()=>{
5185                        _(this.node.pnls, ".mm-panel_opened")[0].scrollTop = 0
5186                    }
5187                    ),
5188                    !S.vars.scrollBugFixed) {
5189                        let e = !1;
5190                        document.addEventListener("touchmove", e=>{
5191                            this.node.wrpr.matches(".mm-wrapper_opened") && e.preventDefault()
5192                        }
5193                        ),
5194                        document.body.addEventListener("touchstart", t=>{
5195                            var n = t.target;
5196                            n.matches(".mm-panels > .mm-panel") && this.node.wrpr.matches(".mm-wrapper_opened") && (e || (e = !0,
5197                            0 === n.scrollTop ? n.scrollTop = 1 : n.scrollHeight === n.scrollTop + n.offsetHeight && (n.scrollTop -= 1),
5198                            e = !1))
5199                        }
5200                        ),
5201                        document.body.addEventListener("touchmove", e=>{
5202                            var t = e.target;
5203                            t.matches(".mm-panels > .mm-panel") && this.node.wrpr.matches(".mm-wrapper_opened") && t.scrollHeight > t.clientHeight && e.stopPropagation()
5204                        }
5205                        )
5206                    }
5207                    S.vars.scrollBugFixed = !0,
5208                    window.addEventListener("orientationchange", e=>{
5209                        var t = _(this.node.pnls, ".mm-panel_opened")[0];
5210                        t.scrollTop = 0,
5211                        t.style["-webkit-overflow-scrolling"] = "auto",
5212                        t.style["-webkit-overflow-scrolling"] = "touch"
5213                    }
5214                    )
5215                }
5216            }
5217        },
5218        autoHeight: function() {
5219            var e = function(e) {
5220                return "boolean" == typeof e && e && (e = {
5221                    height: "auto"
5222                }),
5223                "string" == typeof e && (e = {
5224                    height: e
5225                }),
5226                "object" != typeof e && (e = {}),
5227                e
5228            }(this.opts.autoHeight);
5229            if (this.opts.autoHeight = a(e, S.options.autoHeight),
5230            "auto" != e.height && "highest" != e.height)
5231                return;
5232            const t = (()=>{
5233                const t = ()=>{
5234                    var e = _(this.node.pnls, ".mm-panel_opened")[0];
5235                    return e && (e = i(e)),
5236                    e || (e = _(this.node.pnls, ".mm-panel")[0]),
5237                    e.offsetHeight
5238                }
5239                  , n = ()=>{
5240                    var e = 0;
5241                    return _(this.node.pnls, ".mm-panel").forEach(t=>{
5242                        t = i(t),
5243                        e = Math.max(e, t.offsetHeight)
5244                    }
5245                    ),
5246                    e
5247                }
5248                  , i = e=>(e.parentElement.matches(".mm-listitem_vertical") && (e = y(e, ".mm-panel").filter(e=>!e.parentElement.matches(".mm-listitem_vertical"))[0]),
5249                e);
5250                return ()=>{
5251                    if (!this.opts.offCanvas || this.vars.opened) {
5252                        var i = window.getComputedStyle(this.node.pnls)
5253                          , s = Math.max(parseInt(i.top, 10), 0) || 0
5254                          , a = Math.max(parseInt(i.bottom, 10), 0) || 0
5255                          , o = 0;
5256                        this.node.menu.classList.add("mm-menu_autoheight-measuring"),
5257                        "auto" == e.height ? o = t() : "highest" == e.height && (o = n()),
5258                        this.node.menu.style.height = o + s + a + "px",
5259                        this.node.menu.classList.remove("mm-menu_autoheight-measuring")
5260                    }
5261                }
5262            }
5263            )();
5264            this.bind("initMenu:after", ()=>{
5265                this.node.menu.classList.add("mm-menu_autoheight")
5266            }
5267            ),
5268            this.opts.offCanvas && this.bind("open:start", t),
5269            "highest" == e.height && this.bind("initPanels:after", t),
5270            "auto" == e.height && (this.bind("updateListview", t),
5271            this.bind("openPanel:start", t))
5272        },
5273        backButton: function() {
5274            if (this.opts.offCanvas) {
5275                var e = function(e) {
5276                    return "boolean" == typeof e && (e = {
5277                        close: e
5278                    }),
5279                    "object" != typeof e && (e = {}),
5280                    e
5281                }(this.opts.backButton);
5282                this.opts.backButton = a(e, S.options.backButton);
5283                var t = "#" + this.node.menu.id;
5284                if (e.close) {
5285                    var n = [];
5286                    const e = ()=>{
5287                        n = [t],
5288                        _(this.node.pnls, ".mm-panel_opened, .mm-panel_opened-parent").forEach(e
5288=>{
5289                            n.push("#" + e.id)
5290                        }
5291                        )
5292                    }
5293                    ;
5294                    this.bind("open:finish", ()=>{
5295                        history.pushState(null, document.title, t)
5296                    }
5297                    ),
5298                    this.bind("open:finish", e),
5299                    this.bind("openPanel:finish", e),
5300                    this.bind("close:finish", ()=>{
5301                        n = [],
5302                        history.back(),
5303                        history.pushState(null, document.title, location.pathname + location.search)
5304                    }
5305                    ),
5306                    window.addEventListener("popstate", e=>{
5307                        if (this.vars.opened && n.length) {
5308                            var i = (n = n.slice(0, -1))[n.length - 1];
5309                            i == t ? this.close() : (this.openPanel(this.node.menu.querySelector(i)),
5310                            history.pushState(null, document.title, t))
5311                        }
5312                    }
5313                    )
5314                }
5315                e.open && window.addEventListener("popstate", e=>{
5316                    this.vars.opened || location.hash != t || this.open()
5317                }
5318                )
5319            }
5320        },
5321        columns: function() {
5322            var e = function(e) {
5323                return "boolean" == typeof e && (e = {
5324                    add: e
5325                }),
5326                "number" == typeof e && (e = {
5327                    add: !0,
5328                    visible: e
5329                }),
5330                "object" != typeof e && (e = {}),
5331                "number" == typeof e.visible && (e.visible = {
5332                    min: e.visible,
5333                    max: e.visible
5334                }),
5335                e
5336            }(this.opts.columns);
5337            if (this.opts.columns = a(e, S.options.columns),
5338            e.add) {
5339                e.visible.min = Math.max(1, Math.min(6, e.visible.min)),
5340                e.visible.max = Math.max(e.visible.min, Math.min(6, e.visible.max));
5341                for (var t = "", n = "", i = 0; i <= e.visible.max; i++)
5342                    t += " mm-menu_columns-" + i,
5343                    n += " mm-panel_columns-" + i;
5344                t.length && (t = t.slice(1),
5345                n = n.slice(1));
5346                var s = n + " mm-panel_opened mm-panel_opened-parent mm-panel_highest";
5347                this.bind("openPanel:before", e=>{
5348                    var t;
5349                    if (e && (t = e.mmParent),
5350                    t && (t = t.closest(".mm-panel"))) {
5351                        var n = t.className;
5352                        if (n.length && (n = n.split("mm-panel_columns-")[1]))
5353                            for (var i = parseInt(n.split(" ")[0], 10) + 1; i > 0; ) {
5354                                if (!(e = _(this.node.pnls, ".mm-panel_columns-" + i)[0])) {
5355                                    i = -1;
5356                                    break
5357                                }
5358                                i++,
5359                                e.classList.remove(s),
5360                                e.classList.add("mm-hidden")
5361                            }
5362                    }
5363                }
5364                ),
5365                this.bind("openPanel:start", i=>{
5366                    var s = _(this.node.pnls, ".mm-panel_opened-parent").length;
5367                    i.matches(".mm-panel_opened-parent") || s++,
5368                    s = Math.min(e.visible.max, Math.max(e.visible.min, s)),
5369                    this.node.menu.classList.remove(...t.split(" ")),
5370                    this.node.menu.classList.add("mm-menu_columns-" + s);
5371                    var a = [];
5372                    _(this.node.pnls, ".mm-panel").forEach(e=>{
5373                        e.classList.remove(...n.split(" ")),
5374                        e.matches(".mm-panel_opened-parent") && a.push(e)
5375                    }
5376                    ),
5377                    a.push(i),
5378                    a.slice(-e.visible.max).forEach((e,t)=>{
5379                        e.classList.add("mm-panel_columns-" + t)
5380                    }
5381                    )
5382                }
5383                )
5384            }
5385        },
5386        counters: function() {
5387            var e = function(e) {
5388                return "boolean" == typeof e && (e = {
5389                    add: e,
5390                    addTo: "panels",
5391                    count: e
5392                }),
5393                "object" != typeof e && (e = {}),
5394                "panels" == e.addTo && (e.addTo = ".mm-panel"),
5395                e
5396            }(this.opts.counters);
5397            if (this.opts.counters = a(e, S.options.counters),
5398            this.bind("initListview:after", e=>{
5399                var t = this.conf.classNames.counters.counter;
5400                e.querySelectorAll("." + t).forEach(e=>{
5401                    E(e, t, "mm-counter")
5402                }
5403                )
5404            }
5405            ),
5406            e.add && this.bind("initListview:after", t=>{
5407                if (t.matches(e.addTo)) {
5408                    var n = t.mmParent;
5409                    if (n && !n.querySelector(".mm-counter")) {
5410                        let e = b("span.mm-counter")
5411                          , t = _(n, ".mm-btn")[0];
5412                        t && t.prepend(e)
5413                    }
5414                }
5415            }
5416            ),
5417            e.count) {
5418                const e = e=>{
5419                    (e ? [e] : _(this.node.pnls, ".mm-panel")).forEac
5419h(e=>{
5420                        var t = e.mmParent;
5421                        if (t) {
5422                            var n = t.querySelector(".mm-counter");
5423                            if (n) {
5424                                var i = [];
5425                                _(e, ".mm-listview").forEach(e=>{
5426                                    i.push(..._(e))
5427                                }
5428                                ),
5429                                n.innerHTML = w(i).length.toString()
5430                            }
5431                        }
5432                    }
5433                    )
5434                }
5435                ;
5436                this.bind("initListview:after", e),
5437                this.bind("updateListview", e)
5438            }
5439        },
5440        dividers: function() {
5441            var e = function(e) {
5442                return "boolean" == typeof e && (e = {
5443                    add: e
5444                }),
5445                "object" != typeof e && (e = {}),
5446                "panels" == e.addTo && (e.addTo = ".mm-panel"),
5447                e
5448            }(this.opts.dividers);
5449            this.opts.dividers = a(e, S.options.dividers),
5450            this.bind("initListview:after", e=>{
5451                _(e, "ul, ol").forEach(e=>{
5452                    _(e).forEach(e=>{
5453                        E(e, this.conf.classNames.divider, "mm-divider"),
5454                        e.matches(".mm-divider") && e.classList.remove("mm-listitem")
5455                    }
5456                    )
5457                }
5458                )
5459            }
5460            ),
5461            e.type && this.bind("initMenu:after", ()=>{
5462                this.node.menu.classList.add("mm-menu_dividers-" + e.type)
5463            }
5464            ),
5465            e.add && this.bind("initListview:after", t=>{
5466                t.matches(e.addTo) && (g(t, ".mm-divider").forEach(e=>{
5467                    e.remove()
5468                }
5469                ),
5470                g(t, ".mm-listview").forEach(e=>{
5471                    var t = "";
5472                    w(_(e)).forEach(n=>{
5473                        let i = _(n, ".mm-listitem__text")[0].textContent.trim().toLowerCase()[0];
5474                        if (i.length && i != t) {
5475                            t = i;
5476                            let s = b("li.mm-divider");
5477                            s.textContent = i,
5478                            e.insertBefore(s, n)
5479                        }
5480                    }
5481                    )
5482                }
5483                ))
5484            }
5485            )
5486        },
5487        drag: function() {
5488            if (this.opts.offCanvas && !("function" != typeof window.Hammer || window.Hammer.VERSION < 2)) {
5489                var e = function(e) {
5490                    return "boolean" == typeof e && (e = {
5491                        menu: e,
5492                        panels: e
5493                    }),
5494                    "object" != typeof e && (e = {}),
5495                    "boolean" == typeof e.menu && (e.menu = {
5496                        open: e.menu
5497                    }),
5498                    "object" != typeof e.menu && (e.menu = {}),
5499                    "boolean" == typeof e.panels && (e.panels = {
5500                        close: e.panels
5501                    }),
5502                    "object" != typeof e.panels && (e.panels = {}),
5503                    e
5504                }(this.opts.drag);
5505                this.opts.drag = a(e, S.options.drag);
5506                var t = this.conf.drag;
5507                e.menu.open && this.bind("setPage:after", ()=>{
5508                    var i, s, a, o = {
5509                        events: "panleft panright",
5510                        typeLower: "x",
5511                        typeUpper: "X",
5512                        open_dir: "right",
5513                        close_dir: "left",
5514                        negative: !1
5515                    }, l = "width", m = "innerWidth", d = o.open_dir, c = function(t) {
5516                        t <= e.menu.maxStartPos && (h = 1)
5517                    }, p = function() {
5518                        return g(document.body, ".mm-slideout")
5519                    }, h = 0, f = 0, u = 0, v = this.opts.extensions.all, b = void 0 === v ? "left" : v.indexOf("mm-menu_position-right") > -1 ? "right" : v.indexOf("mm-menu_position-top") > -1 ? "top" : v.indexOf("mm-menu_position-bottom") > -1 ? "bottom" : "left", _ = void 0 === v ? "back" : v.indexOf("mm-menu_position-top") > -1 || v.indexOf("mm-menu_position-bottom") > -1 || v.indexOf("mm-menu_position-front") > -1 ? "front" : "back";
5520                    switch (b) {
5521                    case "top":
5522                    case "bottom":
5523                        o.events = "panup pandown",
5524                        o.typeLower = "y",
5525                        o.typeUpper = "Y",
5526                        l = "height",
5527                        m = "innerHeight"
5528                    }
5529                    switch (b) {
5530                    case "right":
5531                    case "bottom":
5532                        o.negative = !0,
5533                        c = function(t) {
5534                            t >= window[m] - e.menu.maxStartPos && (h = 1)
5535                        }
5536                    }
5537                    switch (b) {
5538                    case "right":
5539                        o.open_dir = "left",
5540                        o.close_dir = "right";
5541                        break;
5542                    case "top":
5543                        o.open_dir = "down",
5544                        o.close_dir = "up";
5545                        break;
5546                    case "bottom":
5547                        o.open_dir = "up",
5548                        o.close_dir = "down"
5549                    }
5550                    switch (_) {
5551                    case "front":
5552                        p = function() {
5553                            return [this.node.menu]
5554                        }
5555                    }
5556                    var y = r(this.node.menu, e.menu.node, S.node.page);
5557                    "string" == typeof y && (y = document.querySelector(y));
5558                    var w = new window.Hammer(y,this.opts.drag.vendors.hammer);
5559                    w.on("panstart", e=>{
5560                        c.call(this, e.center[o.typeLower]),
5561                        a = p.call(this),
5562                        d = o.open_dir
5563                    }
5564                    ),
5565                    w.on(o.events + " panend", e=>{
5566                        h > 0 && e.preventDefault()
5567                    }
5568                    ),
5569                    w.on(o.events, r=>{
5570                        if (i = r["delta" + o.typeUpper],
5571                        o.negative && (i = -i),
5572                        i != f && (d = i >= f ? o.open_dir : o.close_dir),
5573                        (f = i) > e.menu.threshold && 1 == h) {
5574                            if (this.node.wrpr.matches(".mm-wrapper_opened"))
5575                                return;
5576                            h = 2,
5577                            this._openSetup(),
5578                            this.trigger("open:start"),
5579                            this.node.wrpr.classList.add("mm-wrapper_dragging"),
5580                            u = n(window[m] * t.menu[l].perc, t.menu[l].min, t.menu[l].max)
5581                        }
5582                        if (2 == h) {
5583                            s = n(f, 10, u) - ("front" == _ ? u : 0),
5584                            o.negative && (s = -s);
5585                            let e = "translate" + o.typeUpper + "(" + s + "px )";
5586                            a.forEach(t=>{
5587                                t.style["-webkit-transform"] = "-webkit-" + e,
5588                                t.style.transform = e
5589                            }
5590                            )
5591                        }
5592                    }
5593                    ),
5594                    w.on("panend", e=>{
5595                        2 == h && (this.node.wrpr.classList.remove("mm-wrapper_dragging"),
5596                        a.forEach(e=>{
5597                            e.style["-webkit-transform"] = "",
5598                            e.style.transform = ""
5599                        }
5600                        ),
5601                        this[d == o.open_dir ? "_openStart" : "close"]()),
5602                        h = 0
5603                    }
5604                    )
5605                }
5606                ),
5607                e.panels.close && this.bind("initPanel:after", e=>{
5608                    var t = e["mmParent "];
5609                    if (t) {
5610                        t = t.closest(".mm-panel");
5611                        var n = new window.Hammer(e,this.opts.drag.vendors.hammer)
5612                          , i = null;
5613                        n.on("panright", e=>{
5614                            i || (this.openPanel(t),
5615                            i = setTimeout(()=>{
5616                                clearTimeout(i),
5617                                i = null
5618                            }
5619                            , this.conf.openingInterval + this.conf.transitionDuration))
5620                        }
5621                        )
5622                    }
5623                }
5624                )
5625            }
5626            function n(e, t, n) {
5627                return e < t && (e = t),
5628                e > n && (e = n),
5629                e
5630            }
5631        },
5632        dropdown: function() {
5633            if (this.opts.offCanvas) {
5634                var e = function(e) {
5635                    return "boolean" == typeof e && e && (e = {
5636                        drop: e
5637                    }),
5638                    "object" != typeof e && (e = {}),
5639                    "string" == typeof e.position && (e.position = {
5640                        of: e.position
5641                    }),
5642                    e
5643                }(this.opts.dropdown);
5644                this.opts.dropdown = a(e, S.options.dropdown);
5645                var t = this.conf.dropdown;
5646                if (e.drop) {
5647                    var n;
5648                    this.bind("initMenu:after", ()=>{
5649                        if (this.node.menu.classList.add("mm-menu_dropdown"),
5650                        "string" != typeof e.position.of) {
5651                            let t = c(this.node.menu.id);
5652                            t && t.length && (e.position.of = '[href="#' + t + '"]')
5653                        }
5654                        if ("string" == typeof e.position.of) {
5655                            n = g(document.body, e.position.of)[0];
5656                            var t = e.event.split(" ");
5657                            1 == t.length && (t[1] = t[0]),
5658                            "hover" == t[0] && n.addEventListener("mouseenter", e=>{
5659                                this.open()
5660                            }
5661                            , {
5662                                passive: !0
5663                            }),
5664                            "hover" == t[1] && this.node.menu.addEventListener("mouseleave", e=>{
5665                                this.close()
5666                            }
5667                            , {
5668                                passive: !0
5669                            })
5670                        }
5671                    }
5672                    ),
5673                    this.bind("open:start", ()=>{
5674                        this.node.menu.mmStyle = this.node.menu.getAttribute("style"),
5675                        this.node.wrpr.classList.add("mm-wrapper_dropdown")
5676                    }
5677                    ),
5678                    this.bind("close:finish", ()=>{
5679                        this.node.menu.setAttribute("style", this.node.menu.mmStyle),
5680                        this.node.wrpr.classList.remove("mm-wrapper_dropdown")
5681                    }
5682                    );
5683                    var i = function(i, s) {
5684                        var a, o, r, l = s[0], m = s[1], d = "x" == i ? "offsetWidth" : "offsetHeight", c = "x" == i ? "left" : "top", p = "x" == i ? "right" : "bottom", h = "x" == i ? "width" : "height", f = "x" == i ? "innerWidth" : "innerHe
5684ight", u = "x" == i ? "maxWidth" : "maxHeight", v = null, b = window["x" == i ? "scrollX" : "scrollY"], g = (a = c,
5685                        n.getBoundingClientRect()[a] + document.body["left" === a ? "scrollLeft" : "scrollTop"] - b), _ = g + n[d], y = window[f], w = t.offset.button[i] + t.offset.viewport[i];
5686                        if (e.position[i])
5687                            switch (e.position[i]) {
5688                            case "left":
5689                            case "bottom":
5690                                v = "after";
5691                                break;
5692                            case "right":
5693                            case "top":
5694                                v = "before"
5695                            }
5696                        return null === v && (v = g + (_ - g) / 2 < y / 2 ? "after" : "before"),
5697                        "after" == v ? (r = y - ((o = "x" == i ? g : _) + w),
5698                        l[c] = o + t.offset.button[i] + "px",
5699                        l[p] = "auto",
5700                        e.tip && m.push("mm-menu_tip-" + ("x" == i ? "left" : "top"))) : (r = (o = "x" == i ? _ : g) - w,
5701                        l[p] = "calc( 100% - " + (o - t.offset.button[i]) + "px )",
5702                        l[c] = "auto",
5703                        e.tip && m.push("mm-menu_tip-" + ("x" == i ? "right" : "bottom"))),
5704                        e.fitViewport && (l[u] = Math.min(t[h].max, r) + "px"),
5705                        [l, m]
5706                    };
5707                    this.bind("open:start", s),
5708                    window.addEventListener("resize", e=>{
5709                        s.call(this)
5710                    }
5711                    , {
5712                        passive: !0
5713                    }),
5714                    this.opts.offCanvas.blockUI || window.addEventListener("scroll", e=>{
5715                        s.call(this)
5716                    }
5717                    , {
5718                        passive: !0
5719                    })
5720                }
5721            }
5722            function s() {
5723                if (this.vars.opened) {
5724                    this.node.menu.setAttribute("style", this.node.menu.mmStyle);
5725                    var t = [{}, []];
5726                    t = i.call(this, "y", t),
5727                    t = i.call(this, "x", t);
5728                    for (let e in t[0])
5729                        this.node.menu.style[e] = t[0][e];
5730                    e.tip && (this.node.menu.classList.remove("mm-menu_tip-left", "mm-menu_tip-right", "mm-menu_tip-top", "mm-menu_tip-bottom"),
5731                    this.node.menu.classList.add(...t[1]))
5732                }
5733            }
5734        },
5735        fixedElements: function() {
5736            if (this.opts.offCanvas) {
5737                var e, t, n, i, s = this.conf.fixedElements;
5738                this.bind("setPage:after", a=>{
5739                    e = this.conf.classNames.fixedElements.fixed,
5740                    i = g(document, s.fixed.insertSelector)[0],
5741                    g(a, "." + e).forEach(t=>{
5742                        E(t, e, "mm-slideout"),
5743                        i[s.fixed.insertMethod](t)
5744                    }
5745                    ),
5746                    g(a, "." + (t = this.conf.classNames.fixedElements.sticky)).forEach(e=>{
5747                        E(e, t, "mm-sticky")
5748                    }
5749                    ),
5750                    n = g(a, ".mm-sticky")
5751                }
5752                ),
5753                this.bind("open:start", ()=>{
5754                    if (n.length && "hidden" == window.getComputedStyle(this.node.wrpr).overflow) {
5755                        let e = window.scrollY + s.sticky.offset;
5756                        n.forEach(t=>{
5757                            t.style.top = parseInt(window.getComputedStyle(t).top, 10) + e + "px"
5758                        }
5759                        )
5760                    }
5761                }
5762                ),
5763                this.bind("close:finish", ()=>{
5764                    n.forEach(e=>{
5765                        e.style.top = ""
5766                    }
5767                    )
5768                }
5769                )
5770            }
5771        },
5772        iconbar: function() {
5773            var e, t = function(e) {
5774                return "array" == o(e) && (e = {
5775                    use: !0,
5776                    top: e
5777                }),
5778                "object" != o(e) && (e = {}),
5779                void 0 === e.use && (e.use = !0),
5780                "boolean" == typeof e.use && e.use && (e.use = !0),
5781                e
5782            }(this.opts.iconbar);
5783            if (this.opts.iconbar = a(t, S.options.iconbar),
5784            t.use && (["top", "bottom"].forEach((n,i)=>{
5785                var s = t[n];
5786                "array" != o(s) && (s = [s]);
5787                var a = b("div.mm-iconbar__" + n);
5788                for (let e = 0, t = s.length; e < t; e++)
5789                    "string" == typeof s[e] ? a.innerHTML += s[e] : a.append(s[e]);
5790                a.children.length && (e || (e = b("div.mm-iconbar")),
5791                e.append(a))
5792            }
5793            ),
5794            e)) {
5795                this.bind("initMenu:after", ()=>{
5796                    this.node.menu.prepend(e)
5797                }
5798                );
5799                let n = "mm-menu_iconbar-" + t.position
5800                  , i = ()=>{
5801                    this.node.menu.classList.add(n),
5802                    S.sr_aria(e, "hidden", !1)
5803                }
5804                  , s = ()=>{
5805                    this.node.menu.classList.remove(n),
5806                    S.sr_aria(e, "hidden", !0)
5807                }
5808                ;
5809                if ("boolean" == typeof t.use ? this.bind("initMenu:after", i) : P(t.use, i, s),
5810                "tabs" == t.type) {
5811                    e.classList.add("mm-iconbar_tabs"),
5812                    e.addEventListener("click", e=>{
5813                        var t = e.target;
5814                        if (t.matches("a"))
5815                            if (t.matches(".mm-iconbar__tab_selected"))
5816                                e.stopImmediatePropagation();
5817                            else
5818                                try {
5819                                    var n = this.node.menu.querySelector(t.getAttribute("href"))[0];
5820                                    n && n.matches(".mm-panel") && (e.preventDefault(),
5821                                    e.stopImmediatePropagation(),
5822                                    this.openPanel(n, !1))
5823                                } catch (e) {}
5824                    }
5825                    );
5826                    const t = n=>{
5827                        g(e, "a").forEach(e=>{
5828                            e.classList.remove("mm-iconbar__tab_selected")
5829                        }
5830                        );
5831                        var i = g(e, '[href="#' + n.id + '"]')[0];
5832                        if (i)
5833                            i.classList.add("mm-iconbar__tab_selected");
5834                        else {
5835                            let e = n.mmParent;
5836                            e && t(e.closest(".mm-panel"))
5837                        }
5838                    }
5839                    ;
5840                    this.bind("openPanel:start", t)
5841                }
5842            }
5843        },
5844        iconPanels: function() {
5845            var e = function(e) {
5846                return "boolean" == typeof e && (e = {
5847                    add: e
5848                }),
5849                "number" != typeof e && "string" != typeof e || (e = {
5850                    add: !0,
5851                    visible: e
5852                }),
5853                "object" != typeof e && (e = {}),
5854                e
5855            }(this.opts.iconPanels);
5856            this.opts.iconPanels = a(e, S.options.iconPanels);
5857            var t = !1;
5858            if ("first" == e.visible && (t = !0,
5859            e.visible = 1),
5860            e.visible = Math.min(3, Math.max(1, e.visible)),
5861            e.visible++,
5862            e.add) {
5863                this.bind("initMenu:after", ()=>{
5864                    var t = ["mm-menu_iconpanel"];
5865                    e.hideNavbar && t.push("mm-menu_hidenavbar"),
5866                    e.hideDivider && t.push("mm-menu_hidedivider"),
5867                    this.node.menu.classList.add(...t)
5868                }
5869                );
5870                var n = [];
5871                if (!t)
5872                    for (var i = 0; i <= e.visible; i++)
5873                        n.push("mm-panel_iconpanel-" + i);
5874                this.bind("openPanel:start", i=>{
5875                    var s = _(this.node.pnls, ".mm-panel");
5876                    if (!(i = i || s[0]).parentElement.matches(".mm-listitem_vertical"))
5877                        if (t)
5878                            s.forEach((e,t)=>{
5879                                e.classList[0 == t ? "add" : "remove"]("mm-panel_iconpanel-first")
5880                            }
5881                            );
5882                        else {
5883                            s.forEach(e=>{
5884                                e.classList.remove(...n)
5885                            }
5886                            ),
5887                            s = s.filter(e=>e.matches(".mm-panel_opened-parent"));
5888                            let t = !1;
5889                            s.forEach(e=>{
5890                                i === e && (t = !0)
5891                            }
5892                            ),
5893                            t || s.push(i),
5894                            s.forEach(e=>{
5895                                e.classList.remove("mm-hidden")
5896                            }
5897                            ),
5898                            (s = s.slice(-e.visible)).forEach((e,t)=>{
5899                                e.classList.add("mm-panel_iconpanel-" + t)
5900                            }
5901                            )
5902                        }
5903                }
5904                ),
5905                this.bind("initListview:after", t=>{
5906                    if (e.blockPanel && !t.parentElement.matches(".mm-listitem_vertical") && !_(t, ".mm-panel__blocker")[0]) {
5907                        let e = b("a.mm-panel__blocker");
5908                        e.setAttribute("href", "#" + t.closest(".mm-panel").id),
5909                        t.prepend(e)
5910                    }
5911                }
5912                )
5913            }
5914        },
5915        keyboardNavigation: function() {
5916            if (!U) {
5917                var e = function(e) {
5918                    return "boolean" != typeof e && "string" != typeof e || (e = {
5919                        enable: e
5920                    }),
5921                    "object" != typeof e && (e = {}),
5922                    e
5923                }(this.opts.keyboardNavigation);
5924                if (this.opts.keyboardNavigation = a(e, S.options.keyboardNavigation),
5925                e.enable) {
5926                    let t = b("button.mm-tabstart.mm-sronly")
5927                      , n = b("button.mm-tabend.mm-sronly")
5928                      , i = b("button.mm-tabend.mm-sronly");
5929                    this.bind("initMenu:after", ()=>{
5930                        e.enhance && this.node.menu.classList.add("mm-menu_keyboardfocus"),
5931                        ne.call(this, e.enhance)
5932                    }
5933                    ),
5934                    this.bind("initOpened:before", ()=>{
5935                        this.node.menu.prepend(t),
5936                        this.node.menu.append(n),
5937                        _(this.node.menu, ".mm-navbars-top, .mm-navbars-bottom").forEach(e
5937=>{
5938                            e.querySelectorAll(".mm-navbar__title").forEach(e=>{
5939                                e.setAttribute("tabindex", "-1")
5940                            }
5941                            )
5942                        }
5943                        )
5944                    }
5945                    ),
5946                    this.bind("initBlocker:after", ()=>{
5947                        S.node.blck.append(i),
5948                        _(S.node.blck, "a")[0].classList.add("mm-tabstart")
5949                    }
5950                    );
5951                    let s = "input, select, textarea, button, label, a[href]";
5952                    const a = t=>{
5953                        t = t || _(this.node.pnls, ".mm-panel_opened")[0];
5954                        var n = null
5955                          , i = document.activeElement.closest(".mm-navbar");
5956                        if (!i || i.closest(".mm-menu") != this.node.menu) {
5957                            if ("default" == e.enable && ((n = g(t, ".mm-listview a[href]:not(.mm-hidden)")[0]) || (n = g(t, s + ":not(.mm-hidden)")[0]),
5958                            !n)) {
5959                                let e = [];
5960                                _(this.node.menu, ".mm-navbars_top, .mm-navbars_bottom").forEach(t=>{
5961                                    e.push(...g(t, s + ":not(.mm-hidden)"))
5962                                }
5963                                ),
5964                                n = e[0]
5965                            }
5966                            n || (n = _(this.node.menu, ".mm-tabstart")[0]),
5967                            n && n.focus()
5968                        }
5969                    }
5970                    ;
5971                    this.bind("open:finish", a),
5972                    this.bind("openPanel:finish", a),
5973                    this.bind("initOpened:after:sr-aria", ()=>{
5974                        [this.node.menu, S.node.blck].forEach(e=>{
5975                            _(e, ".mm-tabstart, .mm-tabend").forEach(e=>{
5976                                S.sr_aria(e, "hidden", !0),
5977                                S.sr_role(e, "presentation")
5978                            }
5979                            )
5980                        }
5981                        )
5982                    }
5983                    )
5984                }
5985            }
5986        },
5987        lazySubmenus: function() {
5988            var e = function(e) {
5989                return "boolean" == typeof e && (e = {
5990                    load: e
5991                }),
5992                "object" != typeof e && (e = {}),
5993                e
5994            }(this.opts.lazySubmenus);
5995            this.opts.lazySubmenus = a(e, S.options.lazySubmenus),
5996            e.load && (this.bind("initMenu:after", ()=>{
5997                var e = [];
5998                g(this.node.pnls, "li").forEach(t=>{
5999                    e.push(..._(t, this.conf.panelNodetype.join(", ")))
6000                }
6001                ),
6002                e.filter(e=>!e.matches(".mm-listview_inset")).filter(e=>!e.matches(".mm-nolistview")).filter(e=>
6002!e.matches(".mm-nopanel")).forEach(e=>{
6003                    e.classList.add("mm-panel_lazysubmenu", "mm-nolistview", "mm-nopanel")
6004                }
6005                )
6006            }
6007            ),
6008            this.bind("initPanels:before", e=>{
6009                (e = e || _(this.node.pnls, this.conf.panelNodetype.join(", "))).forEach(e=>{
6010                    var t = ".mm-panel_lazysubmenu"
6011                      , n = g(e, t);
6012                    e.matches(t) && n.unshift(e),
6013                    n.filter(e=>!e.matches(".mm-panel_lazysubmenu .mm-panel_lazysubmenu")).forEach(e=>{
6014                        e.classList.remove("mm-panel_lazysubmenu", "mm-nolistview", "mm-nopanel")
6015                    }
6016                    )
6017                }
6018                )
6019            }
6020            ),
6021            this.bind("initOpened:before", ()=>{
6022                var e = [];
6023                g(this.node.pnls, "." + this.conf.classNames.selected).forEach(t=>{
6024                    e.push(...y(t, ".mm-panel_lazysubmenu"))
6025                }
6026                ),
6027                e.length && (e.forEach(e=>{
6028                    e.classList.remove("mm-panel_lazysubmenu", "mm-nolistview mm-nopanel")
6029                }
6030                ),
6031                this.initPanels([e[e.length - 1]]))
6032            }
6033            ),
6034            this.bind("openPanel:before", e=>{
6035                var t = ".mm-panel_lazysubmenu"
6036                  , n = g(e, t);
6037                e.matches(t) && n.unshift(e),
6038                (n = n.filter(e=>!e.matches(".mm-panel_lazysubmenu .mm-panel_lazysubmenu"))).length && this.initPanels(n)
6039            }
6040            ))
6041        },
6042        navbars: oe,
6043        pageScroll: function() {
6044            var e = function(e) {
6045                return "boolean" == typeof e && (e = {
6046                    scroll: e
6047                }),
6048                "object" != typeof e && (e = {}),
6049                e
6050            }(this.opts.pageScroll);
6051            this.opts.pageScroll = a(e, S.options.pageScroll);
6052            var t, n = this.conf.pageScroll;
6053            function i() {
6054                t && t.scrollIntoView({
6055                    behavior: "smooth"
6056                }),
6057                t = null
6058            }
6059            function s(e) {
6060                try {
6061                    return "#" != e && "#" == e.slice(0, 1) ? S.node.page.querySelector(e) : null
6062                } catch (e) {
6063                    return null
6064                }
6065            }
6066            if (e.scroll && this.bind("close:finish", ()=>{
6067                i()
6068            }
6069            ),
6070            this.opts.offCanvas && e.scroll && this.clck.push((e,n)=>{
6071                if (t = null,
6072                n.inMenu) {
6073                    var a = e.getAttribute("href");
6074                    if (t = s(a))
6075                        return this.node.menu.matches(".mm-menu_sidebar-expanded") && this.node.wrpr.matches(".mm-wrapper_sidebar-expanded") ? void i() : {
6076                            close: !0
6077                        }
6078                }
6079            }
6080            ),
6081            e.update) {
6082                let e = [];
6083                this.bind("initListview:after", t=>{
6084                    L(g(t, ".mm-listitem")).forEach(t=>{
6085                        var n = s(t.getAttribute("href"));
6086                        n && e.unshift(n)
6087                    }
6088                    )
6089                }
6090                );
6091                let t = -1;
6092                window.addEventListener("scroll", i=>{
6093                    for (var s = window.scrollY, a = 0; a < e.length; a++)
6094                        if (e[a].offsetTop < s + n.updateOffset) {
6095                            if (t !== a) {
6096                                t = a;
6097                                let n = L(g(_(this.node.pnls, ".mm-panel_opened")[0], ".mm-listitem"));
6098                                (n = n.filter(t=>t.matches('[href="#' + e[a].id + '"]'))).length && this.setSelected(n[0].parentElement)
6099                            }
6100                            break
6101                        }
6102                }
6103                )
6104            }
6105        },
6106        searchfield: function() {
6107            var e = function(e) {
6108                return "boolean" == typeof e && (e = {
6109                    add: e
6110                }),
6111                "object" != typeof e && (e = {}),
6112                "boolean" == typeof e.panel && (e.panel = {
6113                    add: e.panel
6114                }),
6115                "object" != typeof e.panel && (e.panel = {}),
6116                "panel" == e.addTo && (e.panel.add = !0),
6117                e.panel.add && (e.showSubPanels = !1,
6118                e.panel.splash && (e.cancel = !0)),
6119                e
6120            }(this.opts.searchfield);
6121            this.opts.searchfield = a(e, S.options.searchfield);
6122            this.conf.searchfield;
6123            e.add && (this.bind("close:start", ()=>{
6124                g(this.node.menu, ".mm-searchfield").forEach(e=>{
6125                    e.blur()
6126                }
6127                )
6128            }
6129            ),
6130            this.bind("initPanels:after", t=>{
6131                var n = null;
6132                e.panel.add && (n = fe.call(this, t));
6133                var i = null;
6134                switch (e.addTo) {
6135                case "panels":
6136                    i = t;
6137                    break;
6138                case "panel":
6139                    i = [n];
6140                    break;
6141                default:
6142                    "string" == typeof e.addTo ? i = g(this.node.menu, e.addTo) : "array" == o(e.addTo) && (i = e.addTo)
6143                }
6144                i.forEach(t=>{
6145                    t = ue.call(this, t),
6146                    e.search && t && ve.call(this, t)
6147                }
6148                ),
6149                e.noResults && (e.panel.add ? [n] : t).forEach(e=>{
6150                    be.call(this, e)
6151                }
6152                )
6153            }
6154            ),
6155            this.clck.push((e,t)=>{
6156                if (t.inMenu && e.matches(".mm-searchfield__btn")) {
6157                    if (e.matches(".mm-btn_close")) {
6158                        let t = g(e.closest(".mm-searchfield"), "input")[0];
6159                        return t.value = "",
6160                        this.search(t),
6161                        !0
6162                    }
6163                    if (e.matches(".mm-btn_next")) {
6164                        let t = e.closest("form");
6165                        return t && t.submit(),
6166                        !0
6167                    }
6168                }
6169            }
6170            ))
6171        },
6172        sectionIndexer: function() {
6173            var e = function(e) {
6174                return "boolean" == typeof e && (e = {
6175                    add: e
6176                }),
6177                "object" != typeof e && (e = {}),
6178                e
6179            }(this.opts.sectionIndexer);
6180            this.opts.sectionIndexer = a(e, S.options.sectionIndexer),
6181            e.add && this.bind("initPanels:after", t=>{
6182                if ("panels" != e.addTo && g(this.node.menu, e.addTo).filter(e=>e.matches(".mm-panel")),
6183                !this.node.indx) {
6184                    let e = "";
6185                    "abcdefghijklmnopqrstuvwxyz".split("").forEach(t=>{
6186                        e += '<a href="#">' + t + "</a>"
6187                    }
6188                    );
6189                    let t = b("div.mm-sectionindexer");
6190                    t.innerHTML = e,
6191                    this.node.pnls.prepend(t),
6192                    this.node.indx = t,
6193                    this.node.indx.addEventListener("click", e=>{
6194                        e.target.matches("a") && e.preventDefault()
6195                    }
6196                    );
6197                    let n = e=>{
6198                        if (e.target.matches("a")) {
6199                            var t = e.target.textContent
6200                              , n = _(this.node.pnls, ".mm-panel_opened")[0]
6201                              , i = -1
6202                              , s = n.scrollTop;
6203                            n.scrollTop = 0,
6204                            g(n, ".mm-divider").filter(e=>!e.matches(".mm-hidden")).forEach(e=>{
6205                                i < 0 && t == e.textContent.trim().slice(0, 1).toLowerCase() && (i = e.offsetTop)
6206                            }
6207                            ),
6208                            n.scrollTop = i > -1 ? i : s
6209                        }
6210                    }
6211                    ;
6212                    U ? (this.node.indx.addEventListener("touchstart", n),
6213                    this.node.indx.addEventListener("touchmove", n)) : this.node.indx.addEventListener("mouseover", n)
6214                }
6215                this.bind("openPanel:start", e=>{
6216                    var t = g(e, ".mm-divider").filter(e=>!e.matches(".mm-hidden")).length;
6217                    this.node.indx.classList[t ? "add" : "remove"]("mm-sectionindexer_active")
6218                }
6219                )
6220            }
6221            )
6222        },
6223        setSelected: function() {
6224            var e = function(e) {
6225                return "boolean" == typeof e && (e = {
6226                    hover: e,
6227                    parent: e
6228                }),
6229                "object" != typeof e && (e = {}),
6230                e
6231            }(this.opts.setSelected);
6232            if (this.opts.setSelected = a(e, S.options.setSelected),
6233            "detect" == e.current) {
6234                const e = t=>{
6235                    t = t.split("?")[0].split("#")[0];
6236                    var n = this.node.menu.querySelector('a[href="' + t + '"], a[href="' + t + '/"]');
6237                    if (n)
6238                        this.setSelected(n.parentElement);
6239                    else {
6240                        var i = t.split("/").slice(0, -1);
6241                        i.length && e(i.join("/"))
6242                    }
6243                }
6244                ;
6245                this.bind("initMenu:after", ()=>{
6246                    e.call(this, window.location.href)
6247                }
6248                )
6249            } else
6250                e.current || this.bind("initListview:after", e=>{
6251                    g(e, ".mm-listitem_selected").forEach(e=>{
6252                        e.classList.remove("mm-listitem_selected")
6253                    }
6254                    )
6255                }
6256                );
6257            e.hover && this.bind("initMenu:after", ()=>{
6258                this.node.menu.classList.add("mm-menu_selected-hover")
6259            }
6260            ),
6261            e.parent && (this.bind("openPanel:finish", e=>{
6262                g(this.node.pnls, ".mm-listitem_selected-parent").forEach(e=>{
6263                    e.classList.remove("mm-listitem_selected-parent")
6264                }
6265                );
6266                for (var t = e.mmParent; t; )
6267                    t.matches(".mm-listitem_vertical") || t.classList.add("mm-listitem_selected-parent"),
6268                    t = (t = t.closest(".mm-panel")).mmParent
6269            }
6270            ),
6271            this.bind("initMenu:after", ()=>{
6272                this.node.menu.classList.add("mm-menu_selected-parent")
6273            }
6274            ))
6275        },
6276        sidebar: function() {
6277            if (this.opts.offCanvas) {
6278                var e = function(e) {
6279                    return ("string" == typeof e || "boolean" == typeof e && e || "number" == typeof e) && (e = {
6280                        expanded: e
6281                    }),
6282                    "object" != typeof e && (e = {}),
6283                    "boolean" == typeof e.collapsed && e.collapsed && (e.collapsed = {
6284                        use: !0
6285                    }),
6286                    "string" != typeof e.collapsed && "number" != typeof e.collapsed || (e.collapsed = {
6287                        use: e.collapsed
6288                    }),
6289                    "object" != typeof e.collapsed && (e.collapsed = {}),
6290                    "boolean" == typeof e.expanded && e.expanded && (e.expanded = {
6291                        use: !0
6292                    }),
6293                    "string" != typeof e.expanded && "number" != typeof e.expanded || (e.expanded = {
6294                        use: e.expanded
6295                    }),
6296                    "object" != typeof e.expanded && (e.expanded = {}),
6297                    e
6298                }(this.opts.sidebar);
6299                this.opts.sidebar = a(e, S.options.sidebar);
6300                var t = "mm-wrapper_sidebar-collapsed"
6301                  , n = "mm-wrapper_sidebar-expanded";
6302                if (e.collapsed.use) {
6303                    this.bind("initMenu:after", ()=>{
6304                        if (this.node.menu.classList.add("mm-menu_sidebar-collapsed"),
6305                        e.collapsed.blockMenu && this.opts.offCanvas && !_(this.node.menu, ".mm-menu__blocker")[0]) {
6306                            let e = b("a.mm-menu__blocker");
6307                            e.setAttribute("href", "#" + this.node.menu.id),
6308                            this.node.menu.prepend(e)
6309                        }
6310                        e.collapsed.hideNavbar && this.node.menu.classList.add("mm-menu_hidenavbar"),
6311                        e.collapsed.hideDivider && this.node.menu.classList.add("mm-menu_hidedivider")
6312                    }
6313                    );
6314                    let n = ()=>{
6315                        this.node.wrpr.classList.add(t)
6316                    }
6317                      , i = ()=>{
6318                        this.node.wrpr.classList.remove(t)
6319                    }
6320                    ;
6321                    "boolean" == typeof e.collapsed.use ? this.bind("initMenu:after", n) : P(e.collapsed.use, n, i)
6322                }
6323                if (e.expanded.use) {
6324                    this.bind("initMenu:after", ()=>{
6325                        this.node.menu.classList.add("mm-menu_sidebar-expanded")
6326                    }
6327                    );
6328                    let t = ()=>{
6329                        this.node.wrpr.classList.add(n),
6330                        this.node.wrpr.matches(".mm-wrapper_sidebar-closed") || this.open()
6331                    }
6332                      , i = ()=>{
6333                        this.node.wrpr.classList.remove(n),
6334                        this.close()
6335                    }
6336                    ;
6337                    "boolean" == typeof e.expanded.use ? this.bind("initMenu:after", t) : P(e.expanded.use, t, i),
6338                    this.bind("close:start", ()=>{
6339                        this.node.wrpr.matches("." + n) && this.node.wrpr.classList.add("mm-wrapper_sidebar-closed")
6340                    }
6341                    ),
6342                    this.bind("open:start", ()=>{
6343                        this.node.wrpr.classList.remove("mm-wrapper_sidebar-closed")
6344                    }
6345                    ),
6346                    this.clck.push((e,t)=>{
6347                        if (t.inMenu && t.inListview && this.node.wrpr.matches(".mm-wrapper_sidebar-expanded"))
6348                            return {
6349                                close: !1
6350                            }
6351                    }
6352                    )
6353                }
6354            }
6355        },
6356        toggles: function() {
6357            this.bind("initPanels:after", e=>{
6358                e.forEach(e=>{
6359                    g(e, "input").forEach(e=>{
6360                        E(e, this.conf.classNames.toggles.toggle, "mm-toggle"),
6361                        E(e, this.conf.classNames.toggles.check, "mm-check")
6362                    }
6363                    )
6364                }
6365                )
6366            }
6367            )
6368        }
6369    },
6370    S.wrappers = {
6371        angular: function() {
6372            this.opts.onClick = {
6373                close: !0,
6374                preventDefault: !1,
6375                setSelected: !0
6376            }
6377        },
6378        bootstrap: function() {
6379            if (this.node.menu.matches(".navbar-collapse")) {
6380                this.conf.offCanvas && (this.conf.offCanvas.clone = !1);
6381                var e = b("nav")
6382                  , t = b("div");
6383                e.append(t),
6384                _(this.node.menu).forEach(e=>{
6385                    switch (!0) {
6386                    case e.matches(".navbar-nav"):
6387                        t.append(function(e) {
6388                            var t = b("ul");
6389                            return g(e, ".nav-item").forEach(e=>{
6390                                var s = b("li");
6391                                if (e.matches(".active") && s.classList.add("Selected"),
6392                                !e.matches(".nav-link")) {
6393                                    let t = _(e, ".dropdown-menu")[0];
6394                                    t && s.append(i(t)),
6395                                    e = _(e, ".nav-link")[0]
6396                                }
6397                                s.prepend(n(e)),
6398                                t.append(s)
6399                            }
6400                            ),
6401                            t
6402                        }(e));
6403                        break;
6404                    case e.matches(".dropdown-menu"):
6405                        t.append(i(e));
6406                        break;
6407                    case e.matches(".form-inline"):
6408                        this.conf.searchfield.form = {
6409                            action: e.getAttribute("action") || null,
6410                            method: e.getAttribute("method") || null
6411                        },
6412                        this.conf.searchfield.input = {
6413                            name: e.querySelector("input").getAttribute("name") || null
6414                        },
6415                        this.conf.searchfield.clear = !1,
6416                        this.conf.searchfield.submit = !0;
6417                        break;
6418                    default:
6419                        t.append(e.cloneNode(!0))
6420                    }
6421                }
6422                ),
6423                this.bind("initMenu:before", ()=>{
6424                    document.body.prepend(e),
6425                    this.node.menu = e
6426                }
6427                );
6428                let s = this.node.menu.parentElement;
6429                if (s) {
6430                    let e = s.querySelector(".navbar-toggler");
6431                    e && (delete e.dataset.target,
6432                    e.removeAttribute("aria-controls"),
6433                    e.outerHTML = e.outerHTML,
6434                    (e = s.querySelector(".navbar-toggler")).addEventListener("click", e=>{
6435                        e.preventDefault(),
6436                        e.stopImmediatePropagation(),
6437                        this[this.vars.opened ? "close" : "open"]()
6438                    }
6439                    ))
6440                }
6441            }
6442            function n(e) {
6443                for (var t = b(e.matches("a") ? "a" : "span"), n = ["href", "title", "target"], i = 0; i < n.length; i++)
6444                    void 0 !== e.getAttribute(n[i]) && t.setAttribute(n[i], e.getAttribute(n[i]));
6445                return t.innerHTML = e.innerHTML,
6446                g(t, ".sr-only").forEach(e=>{
6447                    e.remove()
6448                }
6449                ),
6450                t
6451            }
6452            function i(e) {
6453                var t = b("ul");
6454                return _(e).forEach(e=>{
6455                    var i = b("li");
6456                    e.matches(".dropdown-divider") ? i.classList.add("Divider") : e.matches(".dropdown-item") && i.append(n(e)),
6457                    t.append(i)
6458                }
6459                ),
6460                t
6461            }
6462        },
6463        olark: function() {
6464            this.conf.offCanvas.page.noSelector.push("#olark")
6465        },
6466        turbolinks: function() {
6467            var e;
6468            document.addEventListener("turbolinks:before-visit", t=>{
6469                e = function(e, t) {
6470                    for (var n = [], i = 0; i < e.length; i++) {
6471                        let s = e[i];
6472                        t(s) && n.push(s)
6473                    }
6474                    return n
6475                }((e = document.documentElement.className).split(" "), e=>!/mm-/.test(e)).join(" ")
6476            }
6477            ),
6478            document.addEventListener("turbolinks:load", t=>{
6479                void 0 !== e && (document.documentElement.className = e)
6480            }
6481            )
6482        },
6483        wordpress: function() {
6484            this.conf.classNames.selected = "current-menu-item";
6485            var e = document.getElementById("wpadminbar");
6486            e && (e.style.position = "fixed",
6487            e.classList.add("mm-slideout"))
6488        }
6489    },
6490    window.Mmenu = S,
6491    (we = window.jQuery || window.Zepto || null) && (we.fn.mmenu = function(e, t) {
6492        var n = we();
6493        return this.each((i,s)=>{
6494            if (s.mmApi)
6495                return;
6496            let a = new S(s,e,t)
6497              , o = we(a.node.menu);
6498            o.data("mmenu", a.API),
6499            n = n.add(o)
6500        }
6501        ),
6502        n
6503    }
6504    )
6505}
6506]);
6507
6508
6509/* == Lightbox v2.11.1 
6510 * by Lokesh Dhakar
6511 *
6512 * More info:
6513 * http://lokeshdhakar.com/projects/lightbox2/
6514 *
6515 * Copyright Lokesh Dhakar
6516 * Released under the MIT license
6517 * https://github.com/lokesh/lightbox2/blob/master/LICENSE
6518*/
6519/*!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){if(!(a("#lightbox").length>0)){var b=this;a('<div id="lightboxOverlay" tabindex="-1" class="lightboxOverlay"></div><div id="lightbox" tabindex="-1" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt=""/><div class="lb-nav"><a class="lb-prev" aria-label="Previous image" href="" ></a><a class="lb-next" aria-label="Next image" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){"lightbox"===a(c.target).attr("id")&&b.end()}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})}},b.prototype.start=function(b){function c(a){d.album.push({alt:a.attr("data-alt"),link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;i<f.length;i=++i)c(a(f[i])),f[i]===b[0]&&(g=i)}else if("lightbox"===b.attr("rel"))c(b);else{f=a(b.prop("tagName")+'[rel="'+b.attr("rel")+'"]');for(var j=0;j<f.length;j=++j)c(a(f[j])),f[j]===b[0]&&(g=j)}var k=e.scrollTop()+this.options.positionFromTop,l=e.scrollLeft();this.$lightbox.css({top:k+"px",left:l+"px"}).fadeIn(this.options.fadeDuration),this.options.disableScrolling&&a("body").addClass("lb-disable-scrolling"),this.changeImage(g)},b.prototype.changeImage=function(b){var c=this,d=this.album[b].link,e=d.split(".").slice(-1)[0],f=this.$lightbox.find(".lb-image");this.disableKeyboardNav(),this.$overlay.fadeIn(this.options.fadeDuration),a(".lb-loader").fadeIn("slow"),this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide(),this.$outerContainer.addClass("animating");var g=new Image;g.onload=function(){var h,i,j,k,l,m;f.attr({alt:c.album[b].alt,src:d}),a(g),f.width(g.width),f.height(g.height),m=a(window).width(),l=a(window).height(),k=m-c.containerPadding.left-c.containerPadding.right-c.imageBorderWidth.left-c.imageBorderWidth.right-20,j=l-c.containerPadding.top-c.containerPadding.bottom-c.imageBorderWidth.top-c.imageBorderWidth.bottom-c.options.positionFromTop-70,"svg"===e&&(0!==g.width&&0!==g.height||(f.width(k),f.height(j))),c.options.fitImagesInViewport?(c.options.maxWidth&&c.options.maxWidth<k&&(k=c.options.maxWidth),c.options.maxHeight&&c.options.maxHeight<j&&(j=c.options.maxHeight)):(k=c.options.maxWidth||g.width||k,j=c.options.maxHeight||g.height||j),(g.width>k||g.height>j)&&(g.width/k>g.height/j?(i=k,h=parseInt(g.height/(g.width/i),10),f.width(i),f.height(h)):(h=j,i=parseInt(g.width/(g.height/h),10),f.width(i),f.height(h))),c.sizeContainer(f.width(),f.height())},g.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){var b=this;setTimeout(function(){b.$overlay.width(a(document).width()).height(a(document).height())},0)},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.$overlay.focus(),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").
6519css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex<this.album.length-1&&(this.$lightbox.find(".lb-next").show(),a&&this.$lightbox.find(".lb-next").css("opacity","1"))))},b.prototype.updateDetails=function(){var a=this;if(void 0!==this.album[this.currentImageIndex].title&&""!==this.album[this.currentImageIndex].title){var b=this.$lightbox.find(".lb-caption");this.options.sanitizeTitle?b.text(this.album[this.currentImageIndex].title):b.html(this.album[this.currentImageIndex].title),b.fadeIn("fast")}if(this.album.length>1&&this.options.showImageNumberLabel){var c=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(c).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return a.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){(new Image).src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){(new Image).src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){this.$lightbox.on("keyup.keyboard",a.proxy(this.keyboardAction,this)),this.$overlay.on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){this.$lightbox.off(".keyboard"),this.$overlay.off(".keyboard")},b.prototype.keyboardAction=function(a){var b=a.keyCode;27===b?(a.stopPropagation(),this.end()):37===b?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):39===b&&(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b});*/
6520
6521/* == Sticky Plugin v1.0.4
6522// Author: Anthony Garand
6523// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
6524// Improvements by Leonardo C. Daronco (daronco)
6525// Created: 02/14/2011
6526// Date: 07/20/2015
6527// Website: http://stickyjs.com/
6528// Description: Makes an element on the page stick on the screen as you scroll
6529//              It will only set the 'top' and 'position' of your element, you
6530//              might need to adjust the width in some cases.
6531*/
6532!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=Array.prototype.slice,i=Array.prototype.splice,n={topSpacing:0,bottomSpacing:0,className:"is-sticky",wrapperClassName:"sticky-wrapper",center:!1,getWidthFrom:"",widthFromWrapper:!0,responsiveWidth:!1,zIndex:"inherit"},r=t(window),s=t(document),o=[],c=r.height(),p=function(){for(var e=r.scrollTop(),i=s.height(),n=i-c,p=e>n?n-e:0,a=0,d=o.length;a<d;a++){var l=o[a],h=l.stickyWrapper.offset().top-l.topSpacing-p;if(l.stickyWrapper.css("height",l.stickyElement.outerHeight()),e<=h)null!==l.currentTop&&(l.stickyElement.css({width:"",position:"",top:"","z-index":""}),l.stickyElement.parent().removeClass(l.className),l.stickyElement.trigger("sticky-end",[l]),l.currentTop=null);else{var u,g=i-l.stickyElement.outerHeight()-l.topSpacing-l.bottomSpacing-e-p;if(g<0?g+=l.topSpacing:g=l.topSpacing,l.currentTop!==g)l.getWidthFrom?(padding=l.stickyElement.innerWidth()-l.stickyElement.width(),u=t(l.getWidthFrom).width()-padding||null):l.widthFromWrapper&&(u=l.stickyWrapper.width()),null==u&&(u=l.stickyElement.width()),l.stickyElement.css("width",u).css("position","fixed").css("top",g).css("z-index",l.zIndex),l.stickyElement.parent().addClass(l.className),null===l.currentTop?l.stickyElement.trigger("sticky-start",[l]):l.stickyElement.trigger("sticky-update",[l]),l.currentTop===l.topSpacing&&l.currentTop>g||null===l.currentTop&&g<l.topSpacing?l.stickyElement.trigger("sticky-bottom-reached",[l]):null!==l.currentTop&&g===l.topSpacing&&l.currentTop<g&&l.stickyElement.trigger("sticky-bottom-unreached",[l]),l.currentTop=g;var m=l.stickyWrapper.parent();l.stickyElement.offset().top+l.stickyElement.outerHeight()>=m.offset().top+m.outerHeight()&&l.stickyElement.offset().top<=l.topSpacing?l.stickyElement.css("position","absolute").css("top","").css("bottom",0).css("z-index",""):l.stickyElement.css("position","fixed").css("top",g).css("bottom","").css("z-index",l.zIndex)}}},a=function(){c=r.height();for(var e=0,i=o.length;e<i;e++){var n=o[e],s=null;n.getWidthFrom?n.responsiveWidth&&(s=t(n.getWidthFrom).width()):n.widthFromWrapper&&(s=n.stickyWrapper.width()),null!=s&&n.stickyElement.css("width",s)}},d={init:function(e){return this.each(function(){var i=t.extend({},n,e),r=t(this),s=r.attr("id"),c=s?s+"-"+n.wrapperClassName:n.wrapperClassName,p=t("<div></div>").attr("id",c).addClass(i.wrapperClassName);r.wrapAll(function(){if(0==t(this).parent("#"+c).length)return p});var a=r.parent();i.center&&a.css({width:r.outerWidth(),marginLeft:"auto",marginRight:"auto"}),"right"===r.css("float")&&r.css({float:"none"}).parent().css({float:"right"}),i.stickyElement=r,i.stickyWrapper=a,i.currentTop=null,o.push(i),d.setWrapperHeight(this),d.setupChangeListeners(this)})},setWrapperHeight:function(e){var i=t(e),n=i.parent();n&&n.css("height",i.outerHeight())},setupChangeListeners:function(t){window.MutationObserver?new window.MutationObserver(function(e){(e[0].addedNodes.length||e[0].removedNodes.length)&&d.setWrapperHeight(t)}).observe(t,{subtree:!0,childList:!0}):window.addEventListener?(t.addEventListener("DOMNodeInserted",function(){d.setWrapperHeight(t)},!1),t.addEventListener("DOMNodeRemoved",function(){d.setWrapperHeight(t)},!1)):window.attachEvent&&(t.attachEvent("onDOMNodeInserted",function(){d.setWrapperHeight(t)}),t.attachEvent("onDOMNodeRemoved",function(){d.setWrapperHeight(t)}))},update:p,unstick:function(e){return this.each(function(){for(var e=t
6532(this),n=-1,r=o.length;r-- >0;)o[r].stickyElement.get(0)===this&&(i.call(o,r,1),n=r);-1!==n&&(e.unwrap(),e.css({width:"",position:"",top:"",float:"","z-index":""}))})}};window.addEventListener?(window.addEventListener("scroll",p,!1),window.addEventListener("resize",a,!1)):window.attachEvent&&(window.attachEvent("onscroll",p),window.attachEvent("onresize",a)),t.fn.sticky=function(i){return d[i]?d[i].apply(this,e.call(arguments,1)):"object"!=typeof i&&i?void t.error("Method "+i+" does not exist on jQuery.sticky"):d.init.apply(this,arguments)},t.fn.unstick=function(i){return d[i]?d[i].apply(this,e.call(arguments,1)):"object"!=typeof i&&i?void t.error("Method "+i+" does not exist on jQuery.sticky"):d.unstick.apply(this,arguments)},t(function(){setTimeout(p,0)})});
6533
6534
6535/* == owl.carousel.min.js v2.3.4
6536 * Copyright 2013-2018 David Deutsch
6537 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
6538*/�
vendor: 31,998 bytes, lines 6538-6539
6538
6539!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("<div/>",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return"left"===c&&b>i-f&&b<i+f?e=a:"right"===c&&b>i-g-f&&b<i-g+f?e=a+1:this.op(b,"<",i)&&this.op(b,">",h[a+1]!==d?h[a+1]:i-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",h[this.minimum()])?e=b=this.minimum():this.op(b,"<",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1,lazyLoadEager:0},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?a("<div/>",{class:"owl-video-tn "+j,srcType:c}):a("<div/>",{class:"owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("<div/>",{class:"owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>'),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('<div class="owl-video-frame" />').insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,
vendor: 3,708 bytes, lines 6539-6540
6539
6540animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";
vendor: 5,783 bytes, line 6540
6540var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;</span>','<span aria-label="Next">&#x203a;</span>'],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('<button role="button">').addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d,e;e=this._core.settings;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)"$relative"===b&&e.navContainer?this._controls[b].html(""):this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(
vendor: 3,095 bytes, lines 6540-6549
6540window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
6541
6542
6543/* =========================================================
6544 * bootstrap-datepicker.js
6545 * Repo: https://github.com/uxsolutions/bootstrap-datepicker/
6546 * Demo: https://uxsolutions.github.io/bootstrap-datepicker/
6547 * Docs: https://bootstrap-datepicker.readthedocs.org/
6548 * =========================================================
6549 * Licensed under the Apache License, Version 2.0 (the "License");
6550 * you may not use this file except in compliance with the License.
6551 * You may obtain a copy of the License at
6552 *
6553 * https://www.apache.org/licenses/LICENSE-2.0
6554 *
6555 * Unless required by applicable law or agreed to in writing, software
6556 * distributed under the License is distributed on an "AS IS" BASIS,
6557 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6558 * See the License for the specific language governing permissions and
6559 * limitations under the License.
6560 * ========================================================= */
6561!function(b,U){var f=b(window);function M(){return new Date(Date.UTC.apply(Date,arguments))}function h(){var t=new Date;return M(t.getFullYear(),t.getMonth(),t.getDate())}function t(t){return function(){return this[t].apply(this,arguments)}}function m(t,e){this.dates=new i,this.viewDate=h(),this.focusDate=null,this._process_options(e),this.element=b(t),this.isInline=!1,this.isInput=this.element.is("input"),this.component=!!this.element.is(".date")&&this.element.find(".add-on, .input-group-addon, .btn"),this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.picker=b(S.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&this.picker.addClass("datepicker-rtl"),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot th.today").attr("colspan",function(t,e){return parseInt(e)+1}),this._allow_update=!1,this.setStartDate(this._o.startDate),this.setEndDate(this._o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()}var e,i=(e={get:function(t){return this.slice(t)[0]},contains:function(t){for(var e=t&&t.valueOf(),i=0,a=this.length;i<a;i++)if(this[i].valueOf()===e)return i;return-1},remove:function(t){this.splice(t,1)},replace:function(t){t&&(b.isArray(t)||(t=[t]),this.clear(),this.push.apply(this,t))},clear:function(){this.splice(0)},copy:function(){var t=new i;return t.replace(this),t}},function(){var t=[];return t.push.apply(t,arguments),b.extend(t,e),t});m.prototype={constructor:m,_process_options:function(t){this._o=b.extend({},this._o,t);var e=this.o=b.extend({},this._o),i=e.language;switch(x[i]||(i=i.split("-")[0],x[i]||(i=c.language)),e.language=i,e.startView){case 2:case"decade":e.startView=2;break;case 1:case"year":e.startView=1;break;default:e.startView=0}switch(e.minViewMode){case 1:case"months":e.minViewMode=1;break;case 2:case"years":e.minViewMode=2;break;default:e.minViewMode=0}e.startView=Math.max(e.startView,e.minViewMode),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate?e.multidate=Math.max(0,e.multidate):e.multidate=1),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var a=S.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=S.parseDate(e.startDate,a,e.language):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=S.parseDate(e.endDate,a,e.language):e.endDate=1/0),e.daysOfWeekDisabled=e.daysOfWeekDisabled||[],b.isArray(e.daysOfWeekDisabled)||(e.daysOfWeekDisabled=e.daysOfWeekDisabled.split(/[,\s]*/)),e.daysOfWeekDisabled=b.map(e.daysOfWeekDisabled,function(t){return parseInt(t,10)});var s=String(e.orientation).toLowerCase().split(/\s+/g),n=e.orientation.toLowerCase();if(s=b.grep(s,function(t){return/^auto|left|right|top|bottom$/.test(t)}),e.orientation={x:"auto",y:"auto"},n&&"auto"!==n)if(1===s.length)switch(s[0]){case"top":case"bottom":e.orientation.y=s[0];break;case"left":case"right":e.orientation.x=s[0]}else n=b.grep(s,function(t){return/^left|right$/.test(t)}),e.orientation.x=n[0]||"auto",n=b.grep(s,function(t){return/^top|bottom$/.test(t)}),e.orientation.y=n[0]||"auto";else;},_events:[],_secondaryEvents:[],_applyEvents:function(t){for(var e,i,a,s=0;s<t.length;s++)e=t[s][0],2===t[s].length?(i=U,a=t[s][1]):3===t[s].length&&(i=t[s][1],a=t[s][2]),e.on(a,i)},_unapplyEvents:function(t){for(var e,i,a,s=0;s<t.length;s++)e=t[s][0],2===t[s].length?(a=U,i=t[s][1]):3===t[s].length&&(a=t[s][1],i=t[s][2]),e.off(i,a)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:b.proxy(this.show,this),keyup:b.proxy(function(t){-1===b.inArray(t.keyCode,[27,37,39,38,40,32,13,9])&&this.update()},this),keydown:b.proxy(this.keydown,this)}]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),{focus:b.proxy(this.show,this),keyup:b.proxy(function(t){-1===b.inArray(t.keyCode,[27,37,39,38,40,32,13,9])&&this.update()},this),keydown:b.proxy(this.keydown,this)}],[this.component,{click:b.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:b.proxy(this.show,this)}]],this._events.push([this.element,"*",{blur:b.proxy(function(t){this._focused_from=t.target},this)}],[this.element,{blur:b.proxy(function(t){this._focused_from=t.target},this)}]),this._secondaryEvents=[[this.picker,{click:b.proxy(this.click,this)}],[b(window),{resize:b.proxy(this.place,this)}],[b(document),{"mousedown touchstart":b.proxy(function(t){this.element.is(t.target)||this.element.find(t.target).length||this.picker.is(t.target)||this.picker.find(t.target).length||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(t,e){var i=e||this.dates.get(-1),a=this._utc_to_local(i);this.element.trigger({type:t,date:a,dates:b.map(this.dates,this._utc_to_local),format:b.proxy(function(t,e){0===arguments.length?(t=this.dates.length-1,e=this.o.format):"string"==typeof t&&(e=t,t=this.dates.length-1),e=e||this.o.format;var i=this.dates.get(t);return S.formatDate(i,e,this.o.language)},this)})},show:function(){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.place(),this._attachSecondaryEvents(),this._trigger("show")},hide:function(){this.isInline||this.picker.is(":visible")&&(this.focusDate=null,this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"))},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date},_utc_to_local:function(t){return t&&new Date(t.getTime()+6e4*t.getTimezoneOffset())},_local_to_utc:function(t){return t&&new Date(t.getTime()-6e4*t.getTimezoneOffset())},_zero_time:function(t){return t&&new Date(t.getFullYear(),t.getMonth(),t.getDate())},_zero_utc_time:function(t){return t&&new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()))},getDates:function(){return b.map(this.dates,this._utc_to_local)},getUTCDates:function(){return b.map(this.dates,function(t){return new Date(t)})},getDate:function(){return this._utc_to_local(this.getUTCDate())},getUTCDate:function(){return new Date(this.dates.get(-1))},setDates:function(){var t=b.isArray(arguments[0])?arguments[0]:arguments;this.update.apply(this,t),this._trigger("changeDate"),this.setValue()},setUTCDates:function(){var t=b.isArray(arguments[0])?arguments[0]:arguments;this.update.apply(this,b.map(t,this._utc_to_local)),this._trigger("changeDate"),this.setValue()},setDate:t("setDates"),setUTCDate:t("setUTCDates"),setValue:function(){var t=this.getFormattedDate();this.isInput?this.element.val(t).change():this.component&&this.element.find("input").val(t).change()},getFormattedDate:function(e){e===U&&(e=this.o.format);var i=this.o.language;return b.map(this.dates,function(t){return S.formatDate(t,e,i)}).join(this.o.multidateSeparator)},setStartDate:function(t){this._process_options({startDate:t}),this.update(),this.updateNavArrows()},setEndDate:function(t){this._process_options({endDate:t}),this.update(),this.updateNavArrows()},setDaysOfWeekDisabled:function(t){this._process_options({daysOfWeekDisabled:t}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){var t=this.picker.outerWidth(),e=this.picker.outerHeight(),i=f.width(),a=f.height(),s=f.scrollTop(),n=parseInt(this.element.parents().filter(function(){return"auto"!==b(this).css("z-index")}).first().css("z-index"))+10,r=this.component?this.component.parent().offset():this.element.offset(),h=this.component?this.component.outerHeight(!0):this.element.outerHeight(!1),o=this.component?this.component.outerWidth(!0):this.element.outerWidth(!1),d=r.left,l=r.top;this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"),"auto"!==this.o.orientation.x?(this.picker.addClass("datepicker-orient-"+this.o.orientation.x),"right"===this.o.orientation.x&&(
6561d-=t-o)):(this.picker.addClass("datepicker-orient-left"),r.left<0?d-=r.left-10:r.left+t>i&&(d=i-t-10));var c,u,p=this.o.orientation.y;"auto"===p&&(c=-s+r.top-e,u=s+a-(r.top+h+e),p=Math.max(c,u)===u?"top":"bottom"),this.picker.addClass("datepicker-orient-"+p),"top"===p?l+=h:l-=e+parseInt(this.picker.css("padding-top")),this.picker.css({top:l,left:d,zIndex:n})}},_allow_update:!0,update:function(){if(this._allow_update){var t=this.dates.copy(),i=[],e=!1;arguments.length?(b.each(arguments,b.proxy(function(t,e){e instanceof Date&&(e=this._local_to_utc(e)),i.push(e)},this)),e=!0):(i=(i=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val())&&this.o.multidate?i.split(this.o.multidateSeparator):[i],delete this.element.data().date),i=b.map(i,b.proxy(function(t){return S.parseDate(t,this.o.format,this.o.language)},this)),i=b.grep(i,b.proxy(function(t){return t<this.o.startDate||t>this.o.endDate||!t},this),!0),this.dates.replace(i),this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDate<this.o.startDate?this.viewDate=new Date(this.o.startDate):this.viewDate>this.o.endDate&&(this.viewDate=new Date(this.o.endDate)),e?this.setValue():i.length&&String(t)!==String(this.dates)&&this._trigger("changeDate"),!this.dates.length&&t.length&&this._trigger("clearDate"),this.fill()}},fillDow:function(){var t=this.o.weekStart,e="<tr>";if(this.o.calendarWeeks){var i='<th class="cw">&nbsp;</th>';e+=i,this.picker.find(".datepicker-days thead tr:first-child").prepend(i)}for(;t<this.o.weekStart+7;)e+='<th class="dow">'+x[this.o.language].daysMin[t++%7]+"</th>";e+="</tr>",this.picker.find(".datepicker-days thead").append(e)},fillMonths:function(){for(var t="",e=0;e<12;)t+='<span class="month">'+x[this.o.language].monthsShort[e++]+"</span>";this.picker.find(".datepicker-months td").html(t)},setRange:function(t){t&&t.length?this.range=b.map(t,function(t){return t.valueOf()}):delete this.range,this.fill()},getClassNames:function(t){var e=[],i=this.viewDate.getUTCFullYear(),a=this.viewDate.getUTCMonth(),s=new Date;return t.getUTCFullYear()<i||t.getUTCFullYear()===i&&t.getUTCMonth()<a?e.push("old"):(t.getUTCFullYear()>i||t.getUTCFullYear()===i&&t.getUTCMonth()>a)&&e.push("new"),this.focusDate&&t.valueOf()===this.focusDate.valueOf()&&e.push("focused"),this.o.todayHighlight&&t.getUTCFullYear()===s.getFullYear()&&t.getUTCMonth()===s.getMonth()&&t.getUTCDate()===s.getDate()&&e.push("today"),-1!==this.dates.contains(t)&&e.push("active"),(t.valueOf()<this.o.startDate||t.valueOf()>this.o.endDate||-1!==b.inArray(t.getUTCDay(),this.o.daysOfWeekDisabled))&&e.push("disabled"),this.range&&(t>this.range[0]&&t<this.range[this.range.length-1]&&e.push("range"),-1!==b.inArray(t.valueOf(),this.range)&&e.push("selected")),e},fill:function(){var t,e=new Date(this.viewDate),i=e.getUTCFullYear(),a=e.getUTCMonth(),s=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,n=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,r=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,o=x[this.o.language].today||x.en.today||"",d=x[this.o.language].clear||x.en.clear||"";this.picker.find(".datepicker-days thead th.datepicker-switch").text(x[this.o.language].months[a]+" "+i),this.picker.find("tfoot th.today").text(o).toggle(!1!==this.o.todayBtn),this.picker.find("tfoot th.clear").text(d).toggle(!1!==this.o.clearBtn),this.updateNavArrows(),this.fillMonths();var l=M(i,a-1,28),c=S.getDaysInMonth(l.getUTCFullYear(),l.getUTCMonth());l.setUTCDate(c),l.setUTCDate(c-(l.getUTCDay()-this.o.weekStart+7)%7);var u=new Date(l);u.setUTCDate(u.getUTCDate()+42),u=u.valueOf();for(var p,f=[];l.valueOf()<u;){if(l.getUTCDay()===this.o.weekStart&&(f.push("<tr>"),this.o.calendarWeeks)){var g=new Date(+l+(this.o.weekStart-l.getUTCDay()-7)%7*864e5),D=new Date(Number(g)+(11-g.getUTCDay())%7*864e5),v=new Date(Number(v=M(D.getUTCFullYear(),0,1))+(11-v.getUTCDay())%7*864e5),m=(D-v)/864e5/7+1;f.push('<td class="cw">'+m+"</td>")}if((p=this.getClassNames(l)).push("day"),this.o.beforeShowDay!==b.noop){var y=this.o.beforeShowDay(this._utc_to_local(l));y===U?y={}:"boolean"==typeof y?y={enabled:y}:"string"==typeof y&&(y={classes:y}),!1===y.enabled&&p.push("disabled"),y.classes&&(p=p.concat(y.classes.split(/\s+/))),y.tooltip&&(t=y.tooltip)}p=b.unique(p),f.push('<td class="'+p.join(" ")+'"'+(t?' title="'+t+'"':"")+"><div>"+l.getUTCDate()+"</div></td>"),l.getUTCDay()===this.o.weekEnd&&f.push("</tr>"),l.setUTCDate(l.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(f.join(""));var w=this.picker.find(".datepicker-months").find("th:eq(1)").text(i).end().find("span").removeClass("active");b.each(this.dates,function(t,e){e.getUTCFullYear()===i&&w.eq(e.getUTCMonth()).addClass("active")}),(i<s||r<i)&&w.addClass("disabled"),i===s&&w.slice(0,n).addClass("disabled"),i===r&&w.slice(h+1).addClass("disabled"),f="",i=10*parseInt(i/10,10);var k=this.picker.find(".datepicker-years").find("th:eq(1)").text(i+"-"+(i+9)).end().find("td");
6561i-=1;for(var _,C=b.map(this.dates,function(t){return t.getUTCFullYear()}),T=-1;T<11;T++)_=["year"],-1===T?_.push("old"):10===T&&_.push("new"),-1!==b.inArray(i,C)&&_.push("active"),(i<s||r<i)&&_.push("disabled"),f+='<span class="'+_.join(" ")+'">'+i+"</span>",i+=1;k.html(f)},updateNavArrows:function(){if(this._allow_update){var t=new Date(this.viewDate),e=t.getUTCFullYear(),i=t.getUTCMonth();switch(this.viewMode){case 0:this.o.startDate!==-1/0&&e<=this.o.startDate.getUTCFullYear()&&i<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&e>=this.o.endDate.getUTCFullYear()&&i>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:this.o.startDate!==-1/0&&e<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&e>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(t){t.preventDefault();var e,i,a,s=b(t.target).closest("span, td, th");if(1===s.length)switch(s[0].nodeName.toLowerCase()){case"th":switch(s[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var n=S.modes[this.viewMode].navStep*("prev"===s[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,n),this._trigger("changeMonth",this.viewDate);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,n),1===this.viewMode&&this._trigger("changeYear",this.viewDate)}this.fill();break;case"today":var r=new Date;r=M(r.getFullYear(),r.getMonth(),r.getDate(),0,0,0),this.showMode(-2);var h="linked"===this.o.todayBtn?null:"view";this._setDate(r,h);break;case"clear":var o;this.isInput?o=this.element:this.component&&(o=this.element.find("input")),o&&o.val("").change(),this.update(),this._trigger("changeDate"),this.o.autoclose&&this.hide()}break;case"span":s.is(".disabled")||(this.viewDate.setUTCDate(1),s.is(".month")?(a=1,i=s.parent().find("span").index(s),e=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(i),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode&&this._setDate(M(e,i,a))):(a=1,i=0,e=parseInt(s.text(),10)||0,this.viewDate.setUTCFullYear(e),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(M(e,i,a))),this.showMode(-1),this.fill());break;case"td":s.is(".day")&&!s.is(".disabled")&&(a=parseInt(s.text(),10)||1,e=this.viewDate.getUTCFullYear(),i=this.viewDate.getUTCMonth(),s.is(".old")?0===i?(i=11,e-=1):i-=1:s.is(".new")&&(11===i?(i=0,e+=1):i+=1),this._setDate(M(e,i,a)))}this.picker.is(":visible")&&this._focused_from&&b(this._focused_from).focus(),delete this._focused_from},_toggle_multidate:function(t){var e=this.dates.contains(t);if(t?-1!==e?this.dates.remove(e):this.dates.push(t):this.dates.clear(),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(t,e){var i;e&&"date"!==e||this._toggle_multidate(t&&new Date(t)),e&&"view"!==e||(this.viewDate=t&&new Date(t)),this.fill(),this.setValue(),this._trigger("changeDate"),this.isInput?i=this.element:this.component&&(i=this.element.find("input")),i&&i.change(),!this.o.autoclose||e&&"date"!==e||this.hide()},moveMonth:function(t,e){if(!t)return U;if(!e)return t;var i,a,s=new Date(t.valueOf()),n=s.getUTCDate(),r=s.getUTCMonth(),h=Math.abs(e);if(e=0<e?1:-1,1===h)a=-1===e?function(){return s.getUTCMonth()===r}:function(){return s.getUTCMonth()!==i},i=r+e,s.setUTCMonth(i),(i<0||11<i)&&(i=(i+12)%12);else{for(var o=0;o<h;o++)s=this.moveMonth(s,e);i=s.getUTCMonth(),s.setUTCDate(n),a=function(){return i!==s.getUTCMonth()}}for(;a();)s.setUTCDate(--n),s.setUTCMonth(i);return s},moveYear:function(t,e){return this.moveMonth(t,12*e)},dateWithinRange:function(t){return t>=this.o.startDate&&t<=this.o.endDate},keydown:function(t){if(this.picker.is(":not(:visible)"))27===t.keyCode&&this.show();else{var e,i,a,s,n=!1,r=this.focusDate||this.viewDate;switch(t.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),t.preventDefault();break;case 37:case 39:if(!this.o.keyboardNavigation)break;e=37===t.keyCode?-1:1,t.ctrlKey?(i=this.moveYear(this.dates.get(-1)||h(),e),a=this.moveYear(r,e),this._trigger("changeYear",this.viewDate)):t.shiftKey?(i=this.moveMonth(this.dates.get(-1)||h(),e),a=this.moveMonth(r,e),this._trigger("changeMonth",this.viewDate)):((i=new Date(this.dates.get(-1)||h())).setUTCDate(i.getUTCDate()+e),(a=new Date(r)).setUTCDate(r.getUTCDate()+e)),this.dateWithinRange(i)&&(this.focusDate=this.viewDate=a,this.setValue(),this.fill(),t.preventDefault());break;case 38:case 40:if(!this.o.keyboardNavigation)break;e=38===t.keyCode?-1:1,t.ctrlKey?(i=this.moveYear(this.dates.get(-1)||h(),e),a=this.moveYear(r,e),this._trigger("changeYear",this.viewDate)):t.shiftKey?(i=this.moveMonth(this.dates.get(-1)||h(),e),a=this.moveMonth(r,e),this._trigger("changeMonth",this.viewDate)):((i=new Date(this.dates.get(-1)||h())).setUTCDate(i.getUTCDate()+7*e),(a=new Date(r)).setUTCDate(r.getUTCDate()+7*e)),this.dateWithinRange(i)&&(this.focusDate=this.viewDate=a,this.setValue(),this.fill(),t.preventDefault());break;case 32:break;case 13:r=this.focusDate||this.dates.get(-1)||this.viewDate,this._toggle_multidate(r),n=!0,this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(t.preventDefault(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}if(n)this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.isInput?s=this.element:this.component&&(s=this.element.find("input")),s&&s.change()}},showMode:function(t){t&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+t))),this.picker.find(">div").hide().filter(".datepicker-"+S.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};function l(t,e){this.element=b(t),this.inputs=b.map(e.inputs,function(t){return t.jquery?t[0]:t}),delete e.inputs,b(this.inputs).datepicker(e).bind("changeDate",b.proxy(this.dateUpdated,this)),this.pickers=b.map(this.inputs,function(t){return b(t).data("datepicker")}),this.updateDates()}l.prototype={updateDates:function(){this.dates=b.map(this.pickers,function(t){return t.getUTCDate()}),this.updateRanges()},updateRanges:function(){var i=b.map(this.dates,function(t){return t.valueOf()});b.each(this.pickers,function(t,e){e.setRange(i)})},dateUpdated:function(t){if(!this.updating){this.updating=!0;var i=b(t.target).data("datepicker").getUTCDate(),e=b.inArray(t.target,this.inputs),a=this.inputs.length;if(-1!==e){if(b.each(this.pickers,function(t,e){e.getUTCDate()||e.setUTCDate(i)}),i<this.dates[e])for(;0<=e&&i<this.dates[e];)this.pickers[e--].setUTCDate(i);else if(i>this.dates[e])for(;e<a&&i>this.dates[e];)this.pickers[e++].setUTCDate(i);this.updateDates(),delete this.updating}}},remove:function(){b.map(this.pickers,function(t){t.remove()}),delete this.element.data().datepicker}};var a=b.fn.datepicker;b.fn.datepicker=function(h){var o,d=Array.apply(null,arguments);return d.shift(),this.each(function(){var t=b(this),e=t.data("datepicker"),i="object"==typeof h&&h;
6561if(!e){var a=function(t,e){var i=b(t).data(),a={},s=new RegExp("^"+e.toLowerCase()+"([A-Z])");function n(t,e){return e.toLowerCase()}for(var r in e=new RegExp("^"+e.toLowerCase()),i)e.test(r)&&(a[r.replace(s,n)]=i[r]);return a}(this,"date"),s=function(t){var i={};if(x[t]||(t=t.split("-")[0],x[t])){var a=x[t];return b.each(u,function(t,e){e in a&&(i[e]=a[e])}),i}}(b.extend({},c,a,i).language),n=b.extend({},c,s,a,i);if(t.is(".input-daterange")||n.inputs){var r={inputs:n.inputs||t.find("input").toArray()};t.data("datepicker",e=new l(this,b.extend(n,r)))}else t.data("datepicker",e=new m(this,n))}if("string"==typeof h&&"function"==typeof e[h]&&(o=e[h].apply(e,d))!==U)return!1}),o!==U?o:this};var c=b.fn.datepicker.defaults={autoclose:!1,beforeShowDay:b.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},u=b.fn.datepicker.locale_opts=["format","rtl","weekStart"];b.fn.datepicker.Constructor=m;var x=b.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},S={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(t){return t%4==0&&t%100!=0||t%400==0},getDaysInMonth:function(t,e){return[31,S.isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(t){var e=t.replace(this.validParts,"\0").split("\0"),i=t.match(this.validParts);if(!e||!e.length||!i||0===i.length)throw new Error("Invalid date format.");return{separators:e,parts:i}},parseDate:function(t,e,i){if(!t)return U;if(t instanceof Date)return t;"string"==typeof e&&(e=S.parseFormat(e));var a,s,n,r=/([\-+]\d+)([dmwy])/,h=t.match(/([\-+]\d+)([dmwy])/g);if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(t)){for(t=new Date,n=0;n<h.length;n++)switch(a=r.exec(h[n]),s=parseInt(a[1]),a[2]){case"d":t.setUTCDate(t.getUTCDate()+s);break;case"m":t=m.prototype.moveMonth.call(m.prototype,t,s);break;case"w":t.setUTCDate(t.getUTCDate()+7*s);break;case"y":t=m.prototype.moveYear.call(m.prototype,t,s)}return M(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0)}h=t&&t.match(this.nonpunctuation)||[],t=new Date;var o,d,l={},c=["yyyy","yy","M","MM","m","mm","d","dd"],u={yyyy:function(t,e){return t.setUTCFullYear(e)},yy:function(t,e){return t.setUTCFullYear(2e3+e)},m:function(t,e){if(isNaN(t))return t;for(e-=1;e<0;)e+=12;for(e%=12,t.setUTCMonth(e);t.getUTCMonth()!==e;)t.setUTCDate(t.getUTCDate()-1);return t},d:function(t,e){return t.setUTCDate(e)}};u.M=u.MM=u.mm=u.m,u.dd=u.d,t=M(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0);var p=e.parts.slice();function f(){var t=this.slice(0,h[n].length);return t===h[n].slice(0,t.length)}if(h.length!==p.length&&(p=b(p).filter(function(t,e){return-1!==b.inArray(e,c)}).toArray()),h.length===p.length){var g,D,v;for(n=0,g=p.length;n<g;n++){if(o=parseInt(h[n],10),a=p[n],isNaN(o))switch(a){case"MM":d=b(x[i].months).filter(f),o=b.inArray(d[0],x[i].months)+1;break;case"M":d=b(x[i].monthsShort).filter(f),o=b.inArray(d[0],x[i].monthsShort)+1}l[a]=o}for(n=0;n<c.length;n++)(v=c[n])in l&&!isNaN(l[v])&&(D=new Date(t),u[v](D,l[v]),isNaN(D)||(t=D))}return t},formatDate:function(t,e,i){if(!t)return"";"string"==typeof e&&(e=S.parseFormat(e));var a={d:t.getUTCDate(),D:x[i].daysShort[t.getUTCDay()],DD:x[i].days[t.getUTCDay()],m:t.getUTCMonth()+1,M:x[i].monthsShort[t.getUTCMonth()],MM:x[i].months[t.getUTCMonth()],yy:t.getUTCFullYear().toString().substring(2),yyyy:t.getUTCFullYear()};a.dd=(a.d<10?"0":"")+a.d,a.mm=(a.m<10?"0":"")+a.m,t=[];for(var s=b.extend([],e.separators),n=0,r=e.parts.length;n<=r;n++)s.length&&t.push(s.shift()),t.push(a[e.parts[n]]);return t.join("")},headTemplate:'<thead><tr><th class="prev">&laquo;</th><th colspan="5" class="datepicker-switch"></th><th class="next">&raquo;</th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};S.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">'+S.headTemplate+"<tbody></tbody>"+S.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+S.headTemplate+S.contTemplate+S.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+S.headTemplate+S.contTemplate+S.footTemplate+"</table></div></div>",b.fn.datepicker.DPGlobal=S,b.fn.datepicker.noConflict=function(){return b.fn.datepicker=a,this},b(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(t){var e=b(this);e.data("datepicker")||(t.preventDefault(),e.datepicker("show"))}),b(function(){b('[data-provide="datepicker-inline"]').datepicker()})}(window.jQuery);
6562!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery);
6563

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.