PageSourceSearch

https://www.proppa.es/wp-content/plugins/slider/js/jssor.js?ver=5.3.26

js proppa.es collected 2026-10-10 01:59:41 UTC 126,554 bytes, 3,874 lines download raw bytes

1(function(k, f, c, j, d, l, g) { /*! Jssor */
2    new(function() {
3        this.$DebugMode = d;
4        this.$Log = function(c, d) {
5            var a = k.console || {},
6                b = this.$DebugMode;
7            if (b && a.log) a.log(c);
8            else b && d && alert(c)
9        };
10        this.$Error = function(b, d) {
11            var c = k.console || {},
12                a = this.$DebugMode;
13            if (a && c.error) c.error(b);
14            else a && alert(b);
15            if (a) throw d || new Error(b);
16        };
17        this.$Fail = function(a) {
18            throw new Error(a);
19        };
20        this.$Assert = function(b, c) {
21            var a = this.$DebugMode;
22            if (a)
23                if (!b) throw new Error("Assert failed " + c || "");
24        };
25        this.$Trace = function(c) {
26            var a = k.console || {},
27                b = this.$DebugMode;
28            b && a.log && a.log(c)
29        };
30        this.$Execute = function(b) {
31            var a = this.$DebugMode;
32            a && b()
33        };
34        this.$LiveStamp = function(c, d) {
35            var b = this.$DebugMode;
36            if (b) {
37                var a = f.createElement("DIV");
38                a.setAttribute("id", d);
39                c.$Live = a
40            }
41        };
42        this.$C_AbstractProperty = function() {
43            throw new Error("The property is abstract, it should be implemented by subclass.");
44        };
45        this.$C_AbstractMethod = function() {
46            throw new Error("The method is abstract, it should be implemented by subclass.");
47        };
48
49        function a(b) {
50            if (b.constructor === a.caller) throw new Error("Cannot create instance of an abstract class.");
51        }
52        this.$C_AbstractClass = a
53    });
54    var e = k.$JssorEasing$ = {
55            $EaseSwing: function(a) {
56                return -c.cos(a * c.PI) / 2 + .5
57            },
58            $EaseLinear: function(a) {
59                return a
60            },
61            $EaseInQuad: function(a) {
62                return a * a
63            },
64            $EaseOutQuad: function(a) {
65                return -a * (a - 2)
66            },
67            $EaseInOutQuad: function(a) {
68                return (a *= 2) < 1 ? 1 / 2 * a * a : -1 / 2 * (--a * (a - 2) - 1)
69            },
70            $EaseInCubic: function(a) {
71                return a * a * a
72            },
73            $EaseOutCubic: function(a) {
74                return (a -= 1) * a * a + 1
75            },
76            $EaseInOutCubic: function(a) {
77                return (a *= 2) < 1 ? 1 / 2 * a * a * a : 1 / 2 * ((a -= 2) * a * a + 2)
78            },
79            $EaseInQuart: function(a) {
80                return a * a * a * a
81            },
82            $EaseOutQuart: function(a) {
83                return -((a -= 1) * a * a * a - 1)
84            },
85            $EaseInOutQuart: function(a) {
86                return (a *= 2) < 1 ? 1 / 2 * a * a * a * a : -1 / 2 * ((a -= 2) * a * a * a - 2)
87            },
88            $EaseInQuint: function(a) {
89                return a * a * a * a * a
90            },
91            $EaseOutQuint: function(a) {
92                return (a -= 1) * a * a * a * a + 1
93            },
94            $EaseInOutQuint: function(a) {
95                return (a *= 2) < 1 ? 1 / 2 * a * a * a * a * a : 1 / 2 * ((a -= 2) * a * a * a * a + 2)
96            },
97            $EaseInSine: function(a) {
98                return 1 - c.cos(a * c.PI / 2)
99            },
100            $EaseOutSine: function(a) {
101                return c.sin(a * c.PI / 2)
102            },
103            $EaseInOutSine: function(a) {
104                return -1 / 2 * (c.cos(c.PI * a) - 1)
105            },
106            $EaseInExpo: function(a) {
107                return a == 0 ? 0 : c.pow(2, 10 * (a - 1))
108            },
109            $EaseOutExpo: function(a) {
110                return a == 1 ? 1 : -c.pow(2, -10 * a) + 1
111            },
112            $EaseInOutExpo: function(a) {
113                return a == 0 || a == 1 ? a : (a *= 2) < 1 ? 1 / 2 * c.pow(2, 10 * (a - 1)) : 1 / 2 * (-c.pow(2, -10 * --a) + 2)
114            },
115            $EaseInCirc: function(a) {
116                return -(c.sqrt(1 - a * a) - 1)
117            },
118            $EaseOutCirc: function(a) {
119                return c.sqrt(1 - (a -= 1) * a)
120            },
121            $EaseInOutCirc: function(a) {
122                return (a *= 2) < 1 ? -1 / 2 * (c.sqrt(1 - a * a) - 1) : 1 / 2 * (c.sqrt(1 - (a -= 2) * a) + 1)
123            },
124            $EaseInElastic: function(a) {
125                if (!a || a == 1) return a;
126                var b = .3,
127                    d = .075;
128                return -(c.pow(2, 10 * (a -= 1)) * c.sin((a - d) * 2 * c.PI / b))
129            },
130            $EaseOutElastic: function(a) {
131                if (!a || a == 1) return a;
132                var b = .3,
133                    d = .075;
134                return c.pow(2, -10 * a) * c.sin((a - d) * 2 * c.PI / b) + 1
135            },
136            $EaseInOutElastic: function(a) {
137                if (!a || a == 1) return a;
138                var b = .45,
139                    d = .1125;
140                return (a *= 2) < 1 ? -.5 * c.pow(2, 10 * (a -= 1)) * c.sin((a - d) * 2 * c.PI / b) : c.pow(2, -10 * (a -= 1)) * c.sin((a - d) * 2 * c.PI / b) * .5 + 1
141            },
142            $EaseInBack: function(a) {
143                var b = 1.70158;
144                return a * a * ((b + 1) * a - b)
145            },
146            $EaseOutBack: function(a) {
147                var b = 1.70158;
vendor: 5,332 bytes, lines 148-291
148                return (a -= 1) * a * ((b + 1) * a + b) + 1
149            },
150            $EaseInOutBack: function(a) {
151                var b = 1.70158;
152                return (a *= 2) < 1 ? 1 / 2 * a * a * (((b *= 1.525) + 1) * a - b) : 1 / 2 * ((a -= 2) * a * (((b *= 1.525) + 1) * a + b) + 2)
153            },
154            $EaseInBounce: function(a) {
155                return 1 - e.$EaseOutBounce(1 - a)
156            },
157            $EaseOutBounce: function(a) {
158                return a < 1 / 2.75 ? 7.5625 * a * a : a < 2 / 2.75 ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : a < 2.5 / 2.75 ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375
159            },
160            $EaseInOutBounce: function(a) {
161                return a < 1 / 2 ? e.$EaseInBounce(a * 2) * .5 : e.$EaseOutBounce(a * 2 - 1) * .5 + .5
162            },
163            $EaseGoBack: function(a) {
164                return 1 - c.abs(2 - 1)
165            },
166            $EaseInWave: function(a) {
167                return 1 - c.cos(a * c.PI * 2)
168            },
169            $EaseOutWave: function(a) {
170                return c.sin(a * c.PI * 2)
171            },
172            $EaseOutJump: function(a) {
173                return 1 - ((a *= 2) < 1 ? (a = 1 - a) * a * a : (a -= 1) * a * a)
174            },
175            $EaseInJump: function(a) {
176                return (a *= 2) < 1 ? a * a * a : (a = 2 - a) * a * a
177            }
178        },
179        h = k.$Jease$ = {
180            $Swing: e.$EaseSwing,
181            $Linear: e.$EaseLinear,
182            $InQuad: e.$EaseInQuad,
183            $OutQuad: e.$EaseOutQuad,
184            $InOutQuad: e.$EaseInOutQuad,
185            $InCubic: e.$EaseInCubic,
186            $OutCubic: e.$EaseOutCubic,
187            $InOutCubic: e.$EaseInOutCubic,
188            $InQuart: e.$EaseInQuart,
189            $OutQuart: e.$EaseOutQuart,
190            $InOutQuart: e.$EaseInOutQuart,
191            $InQuint: e.$EaseInQuint,
192            $OutQuint: e.$EaseOutQuint,
193            $InOutQuint: e.$EaseInOutQuint,
194            $InSine: e.$EaseInSine,
195            $OutSine: e.$EaseOutSine,
196            $InOutSine: e.$EaseInOutSine,
197            $InExpo: e.$EaseInExpo,
198            $OutExpo: e.$EaseOutExpo,
199            $InOutExpo: e.$EaseInOutExpo,
200            $InCirc: e.$EaseInCirc,
201            $OutCirc: e.$EaseOutCirc,
202            $InOutCirc: e.$EaseInOutCirc,
203            $InElastic: e.$EaseInElastic,
204            $OutElastic: e.$EaseOutElastic,
205            $InOutElastic: e.$EaseInOutElastic,
206            $InBack: e.$EaseInBack,
207            $OutBack: e.$EaseOutBack,
208            $InOutBack: e.$EaseInOutBack,
209            $InBounce: e.$EaseInBounce,
210            $OutBounce: e.$EaseOutBounce,
211            $InOutBounce: e.$EaseInOutBounce,
212            $GoBack: e.$EaseGoBack,
213            $InWave: e.$EaseInWave,
214            $OutWave: e.$EaseOutWave,
215            $OutJump: e.$EaseOutJump,
216            $InJump: e.$EaseInJump
217        };
218    k.$JssorDirection$ = {
219        $TO_LEFT: 1,
220        $TO_RIGHT: 2,
221        $TO_TOP: 4,
222        $TO_BOTTOM: 8,
223        $HORIZONTAL: 3,
224        $VERTICAL: 12,
225        $GetDirectionHorizontal: function(a) {
226            return a & 3
227        },
228        $GetDirectionVertical: function(a) {
229            return a & 12
230        },
231        $IsHorizontal: function(a) {
232            return a & 3
233        },
234        $IsVertical: function(a) {
235            return a & 12
236        }
237    };
238    var b = k.$Jssor$ = new function() {
239        var h = this,
240            Ab = /\S+/g,
241            L = 1,
242            jb = 2,
243            nb = 3,
244            mb = 4,
245            rb = 5,
246            M, s = 0,
247            i = 0,
248            t = 0,
249            z = 0,
250            A = 0,
251            D = navigator,
252            vb = D.appName,
253            o = D.userAgent,
254            y = f.documentElement,
255            q = parseFloat;
256
257        function Jb() {
258            if (!M) {
259                M = {
260                    $Touchable: "ontouchstart" in k || "createTouch" in f
261                };
262                var a;
263                if (D.pointerEnabled || (a = D.msPointerEnabled)) M.$TouchActionAttr = a ? "msTouchAction" : "touchAction"
264            }
265            return M
266        }
267
268        function v(h) {
269            if (!s) {
270                s = -1;
271                if (vb == "Microsoft Internet Explorer" && !!k.attachEvent && !!k.ActiveXObject) {
272                    var e = o.indexOf("MSIE");
273                    s = L;
274                    t = q(o.substring(e + 5, o.indexOf(";", e))); /*@cc_on z=@_jscript_version@*/ ;
275                    i = f.documentMode || t
276                } else if (vb == "Netscape" && !!k.addEventListener) {
277                    var d = o.indexOf("Firefox"),
278                        b = o.indexOf("Safari"),
279                        g = o.indexOf("Chrome"),
280                        c = o.indexOf("AppleWebKit");
281                    if (d >= 0) {
282                        s = jb;
283                        i = q(o.substring(d + 8))
284                    } else if (b >= 0) {
285                        var j = o.substring(0, b).lastIndexOf("/");
286                        s = g >= 0 ? mb : nb;
287                        i = q(o.substring(j + 1, b))
288                    } else {
289                        var a = /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i.exec(o);
290                        if (a) {
291                            s = L;
292                            i = t = q(a[1])
293                        }
294                    }
295                    if (c >= 0) A = q(o.substring(c + 12))
296                } else {
297                    var a = /(opera)(?:.*version|)[ \/]([\w.]+)/i.exec(o);
298                    if (a) {
299                        s = rb;
300                        i = q(a[2])
301                    }
302                }
303            }
304            return h == s
305        }
306
307        function r() {
308            return v(L)
309        }
310
311        function T() {
312            return r() && (i < 6 || f.compatMode == "BackCompat")
313        }
314
315        function Bb() {
316            return v(jb)
317        }
318
319        function lb() {
320            return v(nb)
321        }
322
323        function Eb() {
324            return v(mb)
325        }
326
327        function qb() {
328            return v(rb)
329        }
330
331        function gb() {
332            return lb() && A > 534 && A < 535
333        }
334
335        function H() {
336            v();
337            return A > 537 || i > 42 || s == L && i >= 11
338        }
339
340        function R() {
341            return r() && i < 9
342        }
343
344        function hb(a) {
345            var b, c;
346            return function(f) {
347                if (!b) {
348                    b = d;
349                    var e = a.substr(0, 1).toUpperCase() + a.substr(1);
350                    n([a].concat(["WebKit", "ms", "Moz", "O", "webkit"]), function(h, d) {
351                        var b = a;
352                        if (d) b = h + e;
353                        if (f.style[b] != g) return c = b
354                    })
355                }
356                return c
357            }
358        }
359
360        function fb(b) {
361            var a;
362            return function(c) {
363                a = a || hb(b)(c) || b;
364                return a
365            }
366        }
367        var N = fb("transform");
368
369        function ub(a) {
370            return {}.toString.call(a)
371        }
372        var K;
373
374        function Gb() {
375            if (!K) {
376                K = {};
377                n(["Boolean", "Number", "String", "Function", "Array", "Date", "RegExp", "Object"], function(a) {
378                    K["[object " + a + "]"] = a.toLowerCase()
379                })
380            }
381            return K
382        }
383
384        function n(b, d) {
385            var a, c;
386            if (ub(b) == "[object Array]") {
387                for (a = 0; a < b.length; a++)
388                    if (c = d(b[a], a, b)) return c
389            } else
390                for (a in b)
391                    if (c = d(b[a], a, b)) return c
392        }
393
394        function F(a) {
395            return a == j ? String(a) : Gb()[ub(a)] || "object"
396        }
397
398        function sb(a) {
399            for (var b in a) return d
400        }
401
402        function B(a) {
403            try {
404                return F(a) == "object" && !a.nodeType && a != a.window && (!a.constructor || {}.hasOwnProperty.call(a.constructor.prototype, "isPrototypeOf"))
405            } catch (b) {}
406        }
407
408        function p(a, b) {
409            return {
410                x: a,
411                y: b
412            }
413        }
414
415        function yb(b, a) {
416            setTimeout(b, a || 0)
417        }
418
419        function C(b, d, c) {
420            var a = !b || b == "inherit" ? "" : b;
421            n(d, function(c) {
422                var b = c.exec(a);
423                if (b) {
424                    var d = a.substr(0, b.index),
425                        e = a.substr(b.index + b[0].length + 1, a.length - 1);
426                    a = d + e
427                }
428            });
429            a = c + (!a.indexOf(" ") ? "" : " ") + a;
430            return a
431        }
432
433        function U(b, a) {
434            if (i < 9) b.style.filter = a
435        }
436        h.$Device = Jb;
437        h.$IsBrowserIE = r;
438        h.$IsBrowserIeQuirks = T;
439        h.$IsBrowserFireFox = Bb;
440        h.$IsBrowserSafari = lb;
441        h.$IsBrowserChrome = Eb;
442        h.$IsBrowserOpera = qb;
443        h.$IsBrowserBadTransform = gb;
444        h.$IsBrowser3dSafe = H;
445        h.$IsBrowserIe9Earlier = R;
446        h.$GetTransformProperty = hb("transform");
447        h.$BrowserVersion = function() {
448            return i
449        };
450        h.$BrowserEngineVersion = function() {
451            return t || i
452        };
453        h.$WebKitVersion = function() {
454            v();
455            return A
456        };
457        h.$Delay = yb;
458        h.$Inherit = function(a, b) {
459            b.call(a);
460            return E({}, a)
461        };
462
463        function bb(a) {
464            a.constructor === bb.caller && a.$Construct && a.$Construct.apply(a, bb.caller.arguments)
465        }
466        h.$Construct = bb;
467        h.$GetElement = function(a) {
468            if (h.$IsString(a)) a = f.getElementById(a);
469            return a
470        };
471
472        function u(a) {
473            return a || k.event
474        }
475        h.$GetEvent = u;
476        h.$EvtSrc = function(b) {
477            b = u(b);
478            var a = b.target || b.srcElement || f;
479            if (a.nodeType == 3) a = h.$ParentNode(a);
480            return a
481        };
482        h.$EvtTarget = function(a) {
483            a = u(a);
484            return a.relatedTarget || a.toElement
485        };
486        h.$EvtWhich = function(a) {
487            a = u(a);
488            return a.which || ([0, 1, 3, 0, 2])[a.button] || a.charCode || a.keyCode
489        };
490        h.$MousePosition = function(a) {
491            a = u(a);
492            return {
493                x: a.pageX || a.clientX || 0,
494                y: a.pageY || a.clientY || 0
495            }
496        };
497        h.$PageScroll = function() {
498            var a = f.body;
499            return {
500                x: (k.pageXOffset || y.scrollLeft || a.scrollLeft || 0) - (y.clientLeft || a.clientLeft || 0),
501                y: (k.pageYOffset || y.scrollTop || a.scrollTop || 0) - (y.clientTop || a.clientTop || 0)
502            }
503        };
504        h.$WindowSize = function() {
505            var a = f.body;
506            return {
507                x: a.clientWidth || y.clientWidth,
508                y: a.clientHeight || y.clientHeight
509            }
510        };
511
512        function G(c, d, a) {
513            if (a !== g) c.style[d] = a == g ? "" : a;
514            else {
515                var b = c.currentStyle || c.style;
516                a = b[d];
517                if (a == "" && k.getComputedStyle) {
518                    b = c.ownerDocument.defaultView.getComputedStyle(c, j);
519                    b && (a = b.getPropertyValue(d) || b[d])
520                }
521                return a
522            }
523        }
524
525        function db(b, c, a, d) {
526            if (a !== g) {
527                if (a == j) a = "";
528                else d && (a += "px");
529                G(b, c, a)
530            } else return q(G(b, c))
531        }
532
533        function Kb(b, c, a) {
534            return db(b, c, a, d)
535        }
536
537        function m(c, a) {
538            var d = a ? db : G,
539                b;
540            if (a & 4) b = fb(c);
541            return function(e, f) {
542                return d(e, b ? b(e) : c, f, a & 2)
543            }
544        }
545
546        function Db(b) {
547            if (r() && t < 9) {
548                var a = /opacity=([^)]*)/.exec(b.style.filter || "");
549                return a ? q(a[1]) / 100 : 1
550            } else return q(b.style.opacity || "1")
551        }
552
553        function Fb(b, a, f) {
554            if (r() && t < 9) {
555                var h = b.style.filter || "",
556                    i = new RegExp(/[\s]*alpha\([^\)]*\)/g),
557                    e = c.round(100 * a),
558                    d = "";
559                if (e < 100 || f) d = "alpha(opacity=" + e + ") ";
560                var g = C(h, [i], d);
561                U(b, g)
562            } else b.style.opacity = a == 1 ? "" : c.round(a * 100) / 100
563        }
564        var O = {
565            $Rotate: ["rotate"],
566            $RotateX: ["rotateX"],
567            $RotateY: ["rotateY"],
568            $SkewX: ["skewX"],
569            $SkewY: ["skewY"]
570        };
571        if (!H()) O = E(O, {
572            $ScaleX: ["scaleX", 2],
573            $ScaleY: ["scaleY", 2],
574            $TranslateZ: ["translateZ", 1]
575        });
576
577        function P(d, a) {
578            var c = "";
579            if (a) {
580                if (r() && i && i < 10) {
581                    delete a.$RotateX;
582                    delete a.$RotateY;
583                    delete a.$TranslateZ
584                }
585                b.$Each(a, function(d, b) {
586                    var a = O[b];
587                    if (a) {
588                        var e = a[1] || 0;
589                        if (Q[b] != d) c += " " + a[0] + "(" + d + (["deg", "px", ""])[e] + ")"
590                    }
591                });
592                if (H()) {
593                    if (a.$TranslateX || a.$TranslateY || a.$TranslateZ) c += " translate3d(" + (a.$TranslateX || 0) + "px," + (a.$TranslateY || 0) + "px," + (a.$TranslateZ || 0) + "px)";
594                    if (a.$ScaleX == g) a.$ScaleX = 1;
595                    if (a.$ScaleY == g) a.$ScaleY = 1;
596                    if (a.$ScaleX != 1 || a.$ScaleY != 1) c += " scale3d(" + a.$ScaleX + ", " + a.$ScaleY + ", 1)"
597                }
598            }
599            d.style[N(d)] = c
600        }
601        h.$CssTransformOrigin = m("transformOrigin", 4);
602        h.$CssBackfaceVisibility = m("backfaceVisibility", 4);
603        h.$CssTransformStyle = m("transformStyle", 4);
604        h.$CssPerspective = m("perspective", 6);
605        h.$CssPerspectiveOrigin = m("perspectiveOrigin", 4);
606        h.$CssScale = function(a, b) {
607            if (r() && t < 9 || t < 10 && T()) a.style.zoom = b == 1 ? "" : b;
608            else {
609                var c = N(a),
610                    f = "scale(" + b + ")",
611                    e = a.style[c],
612                    g = new RegExp(/[\s]*scale\(.*?\)/g),
613                    d = C(e, [g], f);
614                a.style[c] = d
615            }
616        };
617        var pb = 0,
618            kb = 0;
619        h.$WindowResizeFilter = function(b, a) {
620            return R() ? function() {
621                var g = d,
622                    c = T() ? b.document.body : b.document.documentElement;
623                if (c) {
624                    var f = c.offsetWidth - pb,
625                        e = c.offsetHeight - kb;
626                    if (f || e) {
627                        pb += f;
628                        kb += e
629                    } else g = l
630                }
631                g && a()
632            } : a
633        };
634        h.$MouseOverOutFilter = function(b, a) {
635            return function(c) {
636                c = u(c);
637                var e = c.type,
638                    d = c.relatedTarget || (e == "mouseout" ? c.toElement : c.fromElement);
639                (!d || d !== a && !h.$IsChild(a, d)) && b(c)
640            }
641        };
642        h.$AddEvent = function(a, c, d, b) {
643            a = h.$GetElement(a);
644            if (a.addEventListener) {
645                c == "mousewheel" && a.addEventListener("DOMMouseScroll", d, b);
646                a.addEventListener(c, d, b)
647            } else if (a.attachEvent) {
648                a.attachEvent("on" + c, d);
649                b && a.setCapture && a.setCapture()
650            }
651        };
652        h.$RemoveEvent = function(a, c, d, b) {
653            a = h.$GetElement(a);
654            if (a.removeEventListener) {
655                c == "mousewheel" && a.removeEventListener("DOMMouseScroll", d, b);
656                a.removeEventListener(c, d, b)
657            } else if (a.detachEvent) {
658                a.detachEvent("on" + c, d);
659                b && a.releaseCapture && a.releaseCapture()
660            }
661        };
662        h.$FireEvent = function(c, b) {
663            var a;
664            if (f.createEvent) {
665                a = f.createEvent("HTMLEvents");
666                a.initEvent(b, l, l);
667                c.dispatchEvent(a)
668            } else {
669                var d = "on" + b;
670                a = f.createEventObject();
671                c.fireEvent(d, a)
672            }
673        };
674        h.$CancelEvent = function(a) {
675            a = u(a);
676            a.preventDefault && a.preventDefault();
677            a.cancel = d;
678            a.returnValue = l
679        };
680        h.$StopEvent = function(a) {
681            a = u(a);
682            a.stopPropagation && a.stopPropagation();
683            a.cancelBubble = d
684        };
685        h.$CreateCallback = function(d, c) {
686            var a = [].slice.call(arguments, 2),
687                b = function() {
688                    var b = a.concat([].slice.call(arguments, 0));
689                    return c.apply(d, b)
690                };
691            return b
692        };
693        h.$InnerText = function(a, b) {
694            if (b == g) return a.textContent || a.innerText;
695            var c = f.createTextNode(b);
696            h.$Empty(a);
697            a.appendChild(c)
698        };
699        h.$InnerHtml = function(a, b) {
700            if (b == g) return a.innerHTML;
701            a.innerHTML = b
702        };
703        h.$GetClientRect = function(b) {
704            var a = b.getBoundingClientRect();
705            return {
706                x: a.left,
707                y: a.top,
708                w: a.right - a.left,
709                h: a.bottom - a.top
710            }
711        };
712        h.$ClearInnerHtml = function(a) {
713            a.innerHTML = ""
714        };
715        h.$EncodeHtml = function(b) {
716            var a = h.$CreateDiv();
717            h.$InnerText(a, b);
718            return h.$InnerHtml(a)
719        };
720        h.$DecodeHtml = function(b) {
721            var a = h.$CreateDiv();
722            h.$InnerHtml(a, b);
723            return h.$InnerText(a)
724        };
725        h.$SelectElement = function(c) {
726            var b;
727            if (k.getSelection) b = k.getSelection();
728            var a = j;
729            if (f.createRange) {
730                a = f.createRange();
731                a.selectNode(c)
732            } else {
733                a = f.body.createTextRange();
734                a.moveToElementText(c);
735                a.select()
736            }
737            b && b.addRange(a)
738        };
739        h.$DeselectElements = function() {
740            if (f.selection) f.selection.empty();
741            else k.getSelection && k.getSelection().removeAllRanges()
742        };
743        h.$Children = function(d, c) {
744            for (var b = [], a = d.firstChild; a; a = a.nextSibling)(c || a.nodeType == 1) && b.push(a);
745            return b
746        };
747
748        function tb(a, c, e, b) {
749            b = b || "u";
750            for (a = a ? a.firstChild : j; a; a = a.nextSibling)
751                if (a.nodeType == 1) {
752                    if (Y(a, b) == c) return a;
753                    if (!e) {
754                        var d = tb(a, c, e, b);
755                        if (d) return d
756                    }
757                }
758        }
759        h.$FindChild = tb;
760
761        function W(a, d, f, b) {
762            b = b || "u";
763            var c = [];
764            for (a = a ? a.firstChild : j; a; a = a.nextSibling)
765                if (a.nodeType == 1) {
766                    Y(a, b) == d && c.push(a);
767                    if (!f) {
768                        var e = W(a, d, f, b);
769                        if (e.length) c = c.concat(e)
770                    }
771                }
772            return c
773        }
774
775        function ob(a, c, d) {
776            for (a = a ? a.firstChild : j; a; a = a.nextSibling)
777                if (a.nodeType == 1) {
778                    if (a.tagName == c) return a;
779                    if (!d) {
780                        var b = ob(a, c, d);
781                        if (b) return b
782                    }
783                }
784        }
785        h.$FindChildByTag = ob;
786
787        function ib(a, c, e) {
788            var b = [];
789            for (a = a ? a.firstChild : j; a; a = a.nextSibling)
790                if (a.nodeType == 1) {
791                    (!c || a.tagName == c) && b.push(a);
792                    if (!e) {
793                        var d = ib(a, c, e);
794                        if (d.length) b = b.concat(d)
795                    }
796                }
797            return b
798        }
799        h.$FindChildrenByTag = ib;
800        h.$GetElementsByTag = function(b, a) {
801            return b.getElementsByTagName(a)
802        };
803
804        function E() {
805            var e = arguments,
806                d, c, b, a, h = 1 & e[0],
807                f = 1 + h;
808            d = e[f - 1] || {};
809            for (; f < e.length; f++)
810                if (c = e[f])
811                    for (b in c) {
812                        a = c[b];
813                        if (a !== g) {
814                            a = c[b];
815                            var i = d[b];
816                            d[b] = h && (B(i) || B(a)) ? E(h, {}, i, a) : a
817                        }
818                    }
819                return d
820        }
821        h.$Extend = E;
822
823        function cb(f, g) {
824            var d = {},
825                c, a, b;
826            for (c in f) {
827                a = f[c];
828                b = g[c];
829                if (a !== b) {
830                    var e;
831                    if (B(a) && B(b)) {
832                        a = cb(a, b);
833                        e = !sb(a)
834                    }!e && (d[c] = a)
835                }
836            }
837            return d
838        }
839        h.$Unextend = cb;
840        h.$IsFunction = function(a) {
841            return F(a) == "function"
842        };
843        h.$IsArray = function(a) {
844            return F(a) == "array"
845        };
846        h.$IsString = function(a) {
847            return F(a) == "string"
848        };
849        h.$IsNumeric = function(a) {
850            return !isNaN(q(a)) && isFinite(a)
851        };
852        h.$Type = F;
853        h.$Each = n;
854        h.$IsNotEmpty = sb;
855        h.$IsPlainObject = B;
856
857        function V(a) {
858            return f.createElement(a)
859        }
860        h.$CreateElement = V;
861        h.$CreateDiv = function() {
862            return V("DIV")
863        };
864        h.$CreateSpan = function() {
865            return V("SPAN")
866        };
867        h.$EmptyFunction = function() {};
868
869        function Z(b, c, a) {
870            if (a == g) return b.getAttribute(c);
871            b.setAttribute(c, a)
872        }
873
874        function Y(a, b) {
875            return Z(a, b) || Z(a, "data-" + b)
876        }
877        h.$Attribute = Z;
878        h.$AttributeEx = Y;
879
880        function x(b, a) {
881            if (a == g) return b.className;
882            b.className = a
883        }
884        h.$ClassName = x;
885
886        function xb(b) {
887            var a = {};
888            n(b, function(b) {
889                a[b] = b
890            });
891            return a
892        }
893
894        function Ib(b) {
895            var a = [];
896            n(b, function(b) {
897                a.push(b)
898            });
899            return a
900        }
901
902        function zb(b, a) {
903            return b.match(a || Ab)
904        }
905
906        function S(b, a) {
907            return xb(zb(b || "", a))
908        }
909        h.$ToHash = xb;
910        h.$FromHash = Ib;
911        h.$Split = zb;
912
913        function eb(b, c) {
914            var a = "";
915            n(c, function(c) {
916                a && (a += b);
917                a += c
918            });
919            return a
920        }
921
922        function J(a, c, b) {
923            x(a, eb(" ", E(cb(S(x(a)), S(c)), S(b))))
924        }
925        h.$Join = eb;
926        h.$AddClass = function(b, a) {
927            J(b, j, a)
928        };
929        h.$RemoveClass = J;
930        h.$ReplaceClass = J;
931        h.$ParentNode = function(a) {
932            return a.parentNode
933        };
934        h.$HideElement = function(a) {
935            h.$CssDisplay(a, "none")
936        };
937        h.$EnableElement = function(a, b) {
938            if (b) h.$Attribute(a, "disabled", d);
939            else h.$RemoveAttribute(a, "disabled")
940        };
941        h.$HideElements = function(b) {
942            for (var a = 0; a < b.length; a++) h.$HideElement(b[a])
943        };
944        h.$ShowElement = function(a, b) {
945            h.$CssDisplay(a, b ? "none" : "")
946        };
947        h.$ShowElements = function(b, c) {
948            for (var a = 0; a < b.length; a++) h.$ShowElement(b[a], c)
949        };
950        h.$RemoveAttribute = function(b, a) {
951            b.removeAttribute(a)
952        };
953        h.$CanClearClip = function() {
954            return r() && i < 10
955        };
956        h.$SetStyleClip = function(d, a) {
957            if (a) d.style.clip = "rect(" + c.round(a.$Top) + "px " + c.round(a.$Right) + "px " + c.round(a.$Bottom) + "px " + c.round(a.$Left) + "px)";
958            else if (a !== g) {
959                var h = d.style.cssText,
960                    f = [new RegExp(/[\s]*clip: rect\(.*?\)[;]?/i), new RegExp(/[\s]*cliptop: .*?[;]?/i), new RegExp(/[\s]*clipright: .*?[;]?/i), new RegExp(/[\s]*clipbottom: .*?[;]?/i), new RegExp(/[\s]*clipleft: .*?[;]?/i)],
961                    e = C(h, f, "");
962                b.$CssCssText(d, e)
963            }
964        };
965        h.$GetNow = function() {
966            return +new Date
967        };
968        h.$AppendChild = function(b, a) {
969            b.appendChild(a)
970        };
971        h.$AppendChildren = function(b, a) {
972            n(a, function(a) {
973                h.$AppendChild(b, a)
974            })
975        };
976        h.$InsertBefore = function(b, a, c) {
977            (c || a.parentNode).insertBefore(b, a)
978        };
979        h.$InsertAfter = function(b, a, c) {
980            h.$InsertBefore(b, a.nextSibling, c || a.parentNode)
981        };
982        h.$InsertAdjacentHtml = function(b, a, c) {
983            b.insertAdjacentHTML(a, c)
984        };
985        h.$RemoveElement = function(b, a) {
986            a = a || b.parentNode;
987            a && a.removeChild(b)
988        };
989        h.$RemoveElements = function(a, b) {
990            n(a, function(a) {
991                h.$RemoveElement(a, b)
992            })
993        };
994        h.$Empty = function(a) {
995            h.$RemoveElements(h.$Children(a, d), a)
996        };
997        h.$CenterElement = function(a, b) {
998            var c = h.$ParentNode(a);
999            b & 1 && h.$CssLeft(a, (h.$CssWidth(c) - h.$CssWidth(a)) / 2);
1000            b & 2 && h.$CssTop(a, (h.$CssHeight(c) - h.$CssHeight(a)) / 2)
1001        };
1002        h.$ParseInt = function(b, a) {
1003            return parseInt(b, a || 10)
1004        };
1005        h.$ParseFloat = q;
1006        h.$IsChild = function(b, a) {
1007            var c = f.body;
1008            while (a && b !== a && c !== a) try {
1009                a = a.parentNode
1010            } catch (d) {
1011                return l
1012            }
1013            return b === a
1014        };
1015
1016        function ab(d, c, b) {
1017            var a = d.cloneNode(!c);
1018            !b && h.$RemoveAttribute(a, "id");
1019            return a
1020        }
1021        h.$CloneNode = ab;
1022        h.$LoadImage = function(e, f) {
1023            var a = new Image;
1024
1025            function b(e, d) {
1026                h.$RemoveEvent(a, "load", b);
1027                h.$RemoveEvent(a, "abort", c);
1028                h.$RemoveEvent(a, "error", c);
1029                f && f(a, d)
1030            }
1031
1032            function c(a) {
1033                b(a, d)
1034            }
1035            if (qb() && i < 11.6 || !e) b(!e);
1036            else {
1037                h.$AddEvent(a, "load", b);
1038                h.$AddEvent(a, "abort", c);
1039                h.$AddEvent(a, "error", c);
1040                a.src = e
1041            }
1042        };
1043        h.$LoadImages = function(d, a, e) {
1044            var c = d.length + 1;
1045
1046            function b(b) {
1047                c--;
1048                if (a && b && b.src == a.src) a = b;
1049                !c && e && e(a)
1050            }
1051            n(d, function(a) {
1052                h.$LoadImage(a.src, b)
1053            });
1054            b()
1055        };
1056        h.$BuildElement = function(a, g, i, h) {
1057            if (h) a = ab(a);
1058            var c = W(a, g);
1059            if (!c.length) c = b.$GetElementsByTag(a, g);
1060            for (var f = c.length - 1; f > -1; f--) {
1061                var d = c[f],
1062                    e = ab(i);
1063                x(e, x(d));
1064                b.$CssCssText(e, d.style.cssText);
1065                b.$InsertBefore(e, d);
1066                b.$RemoveElement(d)
1067            }
1068            return a
1069        };
1070
1071        function Hb(a) {
1072            var l = this,
1073                p = "",
1074                r = ["av", "pv", "ds", "dn"],
1075                e = [],
1076                q, k = 0,
1077                i = 0,
1078                d = 0;
1079
1080            function j() {
1081                J(a, q, e[d || k || i & 2 || i]);
1082                b.$Css(a, "pointer-events", d ? "none" : "")
1083            }
1084
1085            function c() {
1086                k = 0;
1087                j();
1088                h.$RemoveEvent(f, "mouseup", c);
1089                h.$RemoveEvent(f, "touchend", c);
1090                h.$RemoveEvent(f, "touchcancel", c)
1091            }
1092
1093            function o(a) {
1094                if (d) h.$CancelEvent(a);
1095                else {
1096                    k = 4;
1097                    j();
1098                    h.$AddEvent(f, "mouseup", c);
1099                    h.$AddEvent(f, "touchend", c);
1100                    h.$AddEvent(f, "touchcancel", c)
1101                }
1102            }
1103            l.$Selected = function(a) {
1104                if (a === g) return i;
1105                i = a & 2 || a & 1;
1106                j()
1107            };
1108            l.$Enable = function(a) {
1109                if (a === g) return !d;
1110                d = a ? 0 : 3;
1111                j()
1112            };
1113            l.$Elmt = a = h.$GetElement(a);
1114            var m = b.$Split(x(a));
1115            if (m) p = m.shift();
1116            n(r, function(a) {
1117                e.push(p + a)
1118            });
1119            q = eb(" ", e);
1120            e.unshift("");
1121            h.$AddEvent(a, "mousedown", o);
1122            h.$AddEvent(a, "touchstart", o)
1123        }
1124        h.$Buttonize = function(a) {
1125            return new Hb(a)
1126        };
1127        h.$Css = G;
1128        h.$CssN = db;
1129        h.$CssP = Kb;
1130        h.$CssOverflow = m("overflow");
1131        h.$CssTop = m("top", 2);
1132        h.$CssLeft = m("left", 2);
1133        h.$CssWidth = m("width", 2);
1134        h.$CssHeight = m("height", 2);
1135        h.$CssMarginLeft = m("marginLeft", 2);
1136        h.$CssMarginTop = m("marginTop", 2);
1137        h.$CssPosition = m("position");
1138        h.$CssDisplay = m("display");
1139        h.$CssZIndex = m("zIndex", 1);
1140        h.$CssFloat = function(b, a) {
1141            return G(b, r() ? "styleFloat" : "cssFloat", a)
1142        };
1143        h.$CssOpacity = function(b, a, c) {
1144            if (a != g) Fb(b, a, c);
1145            else return Db(b)
1146        };
1147        h.$CssCssText = function(a, b) {
1148            if (b != g) a.style.cssText = b;
1149            else return a.style.cssText
1150        };
1151        var X = {
1152            $Opacity: h.$CssOpacity,
1153            $Top: h.$CssTop,
1154            $Left: h.$CssLeft,
1155            $Width: h.$CssWidth,
1156            $Height: h.$CssHeight,
1157            $Position: h.$CssPosition,
1158            $Display: h.$CssDisplay,
1159            $ZIndex: h.$CssZIndex
1160        };
1161        h.$GetStyles = function(c, b) {
1162            var a = {};
1163            n(b, function(d, b) {
1164                if (X[b]) a[b] = X[b](c)
1165            });
1166            return a
1167        };
1168
1169        function w(f, l) {
1170            var e = R(),
1171                b = H(),
1172                d = gb(),
1173                i = N(f);
1174
1175            function k(b, d, a) {
1176                var e = b.$TransformPoint(p(-d / 2, -a / 2)),
1177                    f = b.$TransformPoint(p(d / 2, -a / 2)),
1178                    g = b.$TransformPoint(p(d / 2, a / 2)),
1179                    h = b.$TransformPoint(p(-d / 2, a / 2));
1180                b.$TransformPoint(p(300, 300));
1181                return p(c.min(e.x, f.x, g.x, h.x) + d / 2, c.min(e.y, f.y, g.y, h.y) + a / 2)
1182            }
1183
1184            function a(d, a) {
1185                a = a || {};
1186                var f = a.$TranslateZ || 0,
1187                    l = (a.$RotateX || 0) % 360,
1188                    m = (a.$RotateY || 0) % 360,
1189                    o = (a.$Rotate || 0) % 360,
1190                    p = a.$ScaleZ;
1191                if (e) {
1192                    f = 0;
1193                    l = 0;
1194                    m = 0;
1195                    p = 0
1196                }
1197                var c = new Cb(a.$TranslateX, a.$TranslateY, f);
1198                c.$RotateX(l);
1199                c.$RotateY(m);
1200                c.$RotateZ(o);
1201                c.$Skew(a.$SkewX, a.$SkewY);
1202                c.$Scale(a.$ScaleX, a.$ScaleY, p);
1203                if (b) {
1204                    c.$Move(a.$MoveX, a.$MoveY);
1205                    d.style[i] = c.$Format3d()
1206                } else if (!z || z < 9) {
1207                    var j = "";
1208                    if (o || a.$ScaleX != g && a.$ScaleX != 1 || a.$ScaleY != g && a.$ScaleY != 1) {
1209                        var n = k(c, a.$OriginalWidth, a.$OriginalHeight);
1210                        h.$CssMarginTop(d, n.y);
1211                        h.$CssMarginLeft(d, n.x);
1212                        j = c.$Format2d()
1213                    }
1214                    var r = d.style.filter,
1215                        s = new RegExp(/[\s]*progid:DXImageTransform\.Microsoft\.Matrix\([^\)]*\)/g),
1216                        q = C(r, [s], j);
1217                    U(d, q)
1218                }
1219            }
1220            w = function(e, c) {
1221                c = c || {};
1222                var i = c.$MoveX,
1223                    k = c.$MoveY,
1224                    f;
1225                n(X, function(a, b) {
1226                    f = c[b];
1227                    f !== g && a(e, f)
1228                });
1229                h.$SetStyleClip(e, c.$Clip);
1230                if (!b) {
1231                    i != g && h.$CssLeft(e, c.$OriginalX + i);
1232                    k != g && h.$CssTop(e, c.$OriginalY + k)
1233                }
1234                if (c.$Transform)
1235                    if (d) yb(h.$CreateCallback(j, P, e, c));
1236                    else a(e, c)
1237            };
1238            h.$SetStyleTransform = P;
1239            if (d) h.$SetStyleTransform = w;
1240            if (e) h.$SetStyleTransform = a;
1241            else if (!b) a = P;
1242            h.$SetStyles = w;
1243            w(f, l)
1244        }
1245        h.$SetStyleTransform = w;
1246        h.$SetStyles = w;
1247
1248        function Cb(k, l, p) {
1249            var d = this,
1250                b = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, k || 0, l || 0, p || 0, 1],
1251                i = c.sin,
1252                h = c.cos,
1253                m = c.tan;
1254
1255            function f(a) {
1256                return a * c.PI / 180
1257            }
1258
1259            function o(a, b) {
1260                return {
1261                    x: a,
1262                    y: b
1263                }
1264            }
1265
1266            function n(b, c, f, g, i, l, n, o, q, t, u, w, y, A, C, F, a, d, e, h, j, k, m, p, r, s, v, x, z, B, D, E) {
1267                return [b * a + c * j + f * r + g * z, b * d + c * k + f * s + g * B, b * e + c * m + f * v + g * D, b * h + c * p + f * x + g * E, i * a + l * j + n * r + o * z, i * d + l * k + n * s + o * B, i * e + l * m + n * v + o * D, i * h + l * p + n * x + o * E, q * a + t * j + u * r + w * z, q * d + t * k + u * s + w * B, q * e + t * m + u * v + w * D, q * h + t * p + u * x + w * E, y * a + A * j + C * r + F * z, y * d + A * k + C * s + F * B, y * e + A * m + C * v + F * D, y * h + A * p + C * x + F * E]
1268            }
1269
1270            function e(c, a) {
1271                return n.apply(j, (a || b).concat(c))
1272            }
1273            d.$Matrix = function() {
1274                return b
1275            };
1276            d.$Scale = function(a, c, d) {
1277                if (a == g) a = 1;
1278                if (c == g) c = 1;
1279                if (d == g) d = 1;
1280                if (a != 1 || c != 1 || d != 1) b = e([a, 0, 0, 0, 0, c, 0, 0, 0, 0, d, 0, 0, 0, 0, 1])
1281            };
1282            d.$Translate = function(a, c, d) {
1283                if (a || c || d) b = e([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, a || 0, c || 0, d || 0, 1])
1284            };
1285            d.$Move = function(a, c, d) {
1286                b[12] += a || 0;
1287                b[13] += c || 0;
1288                b[14] += d || 0
1289            };
1290            d.$RotateX = function(c) {
1291                if (c) {
1292                    a = f(c);
1293                    var d = h(a),
1294                        g = i(a);
1295                    b = e([1, 0, 0, 0, 0, d, g, 0, 0, -g, d, 0, 0, 0, 0, 1])
1296                }
1297            };
1298            d.$RotateY = function(c) {
1299                if (c) {
1300                    a = f(c);
1301                    var d = h(a),
1302                        g = i(a);
1303                    b = e([d, 0, -g, 0, 0, 1, 0, 0, g, 0, d, 0, 0, 0, 0, 1])
1304                }
1305            };
1306            d.$RotateZ = function(c) {
1307                if (c) {
1308                    a = f(c);
1309                    var d = h(a),
1310                        g = i(a);
1311                    b = e([d, g, 0, 0, -g, d, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])
1312                }
1313            };
1314            d.$Skew = function(a, c) {
1315                if (a || c) {
1316                    k = f(a);
1317                    l = f(c);
1318                    b = e([1, m(l), 0, 0, m(k), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1])
1319                }
1320            };
1321            d.$TransformPoint = function(c) {
1322                var a = e(b, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, c.x, c.y, 0, 1]);
1323                return o(a[12], a[13])
1324            };
1325            d.$Format3d = function() {
1326                return "matrix3d(" + b.join(",") + ")"
1327            };
1328            d.$Format2d = function() {
1329                return "progid:DXImageTransform.Microsoft.Matrix(M11=" + b[0] + ", M12=" + b[4] + ", M21=" + b[1] + ", M22=" + b[5] + ", SizingMethod='auto expand')"
1330            }
1331        }
1332        new(function() {
1333            var a = this;
1334
1335            function b(d, g) {
1336                for (var j = d[0].length, i = d.length, h = g[0].length, f = [], c = 0; c < i; c++)
1337                    for (var k = f[c] = [], b = 0; b < h; b++) {
1338                        for (var e = 0, a = 0; a < j; a++) e += d[c][a] * g[a][b];
1339                        k[b] = e
1340                    }
1341                return f
1342            }
1343            a.$ScaleX = function(b, c) {
1344                return a.$ScaleXY(b, c, 0)
1345            };
1346            a.$ScaleY = function(b, c) {
1347                return a.$ScaleXY(b, 0, c)
1348            };
1349            a.$ScaleXY = function(a, c, d) {
1350                return b(a, [
1351                    [c, 0],
1352                    [0, d]
1353                ])
1354            };
1355            a.$TransformPoint = function(d, c) {
1356                var a = b(d, [
1357                    [c.x],
1358                    [c.y]
1359                ]);
1360                return p(a[0][0], a[1][0])
1361            }
1362        });
1363        var Q = {
1364            $OriginalX: 0,
1365            $OriginalY: 0,
1366            $MoveX: 0,
1367            $MoveY: 0,
1368            $Zoom: 1,
1369            $ScaleX: 1,
1370            $ScaleY: 1,
1371            $Rotate: 0,
1372            $RotateX: 0,
1373            $RotateY: 0,
1374            $TranslateX: 0,
1375            $TranslateY: 0,
1376            $TranslateZ: 0,
1377            $SkewX: 0,
1378            $SkewY: 0
1379        };
1380        h.$FormatEasings = function(a) {
1381            var c = a || {};
1382            if (a)
1383                if (b.$IsFunction(a)) c = {
1384                    $Default: c
1385                };
1386                else if (b.$IsFunction(a.$Clip)) c.$Clip = {
1387                $Default: a.$Clip
1388            };
1389            return c
1390        };
1391
1392        function wb(c, a) {
1393            var b = {};
1394            n(c, function(c, d) {
1395                var e = c;
1396                if (a[d] != g)
1397                    if (h.$IsNumeric(c)) e = c + a[d];
1398                    else e = wb(c, a[d]);
1399                b[d] = e
1400            });
1401            return b
1402        }
1403        h.$AddDif = wb;
1404        h.$Cast = function(l, m, w, n, y, z, o) {
1405            var a = m;
1406            if (l) {
1407                a = {};
1408                for (var h in m) {
1409                    var A = z[h] || 1,
1410                        v = y[h] || [0, 1],
1411                        f = (w - v[0]) / v[1];
1412                    f = c.min(c.max(f, 0), 1);
1413                    f = f * A;
1414                    var u = c.floor(f);
1415                    if (f != u) f -= u;
1416                    var i = n.$Default || e.$EaseSwing,
1417                        k, B = l[h],
1418                        q = m[h];
1419                    if (b.$IsNumeric(q)) {
1420                        i = n[h] || i;
1421                        var x = i(f);
1422                        k = B + q * x
1423                    } else {
1424                        k = b.$Extend({
1425                            $Offset: {}
1426                        }, l[h]);
1427                        b.$Each(q.$Offset || q, function(d, a) {
1428                            if (n.$Clip) i = n.$Clip[a] || n.$Clip.$Default || i;
1429                            var c = i(f),
1430                                b = d * c;
1431                            k.$Offset[a] = b;
1432                            k[a] += b
1433                        })
1434                    }
1435                    a[h] = k
1436                }
1437                var t = b.$Each(m, function(b, a) {
1438                    return Q[a] != g
1439                });
1440                t && b.$Each(Q, function(c, b) {
1441                    if (a[b] == g && l[b] !== g) a[b] = l[b]
1442                });
1443                if (t) {
1444                    if (a.$Zoom) a.$ScaleX = a.$ScaleY = a.$Zoom;
1445                    a.$OriginalWidth = o.$OriginalWidth;
1446                    a.$OriginalHeight = o.$OriginalHeight;
1447                    a.$Transform = d
1448                }
1449            }
1450            if (m.$Clip && o.$Move) {
1451                var p = a.$Clip.$Offset,
1452                    s = (p.$Top || 0) + (p.$Bottom || 0),
1453                    r = (p.$Left || 0) + (p.$Right || 0);
1454                a.$Left = (a.$Left || 0) + r;
1455                a.$Top = (a.$Top || 0) + s;
1456                a.$Clip.$Left -= r;
1457                a.$Clip.$Right -= r;
1458                a.$Clip.$Top -= s;
1459                a.$Clip.$Bottom -= s
1460            }
1461            if (a.$Clip && b.$CanClearClip() && !a.$Clip.$Top && !a.$Clip.$Left && a.$Clip.$Right == o.$OriginalWidth && a.$Clip.$Bottom == o.$OriginalHeight) a.$Clip = j;
1462            return a
1463        }
1464    };
1465
1466    function n() {
1467        var a = this,
1468            d = [],
1469            c = [];
1470
1471        function h(a, b) {
1472            d.push({
1473                $EventName: a,
1474                $Handler: b
1475            })
1476        }
1477
1478        function g(a, c) {
1479            b.$Each(d, function(b, e) {
1480                b.$EventName == a && b.$Handler === c && d.splice(e, 1)
1481            })
1482        }
1483
1484        function f() {
1485            d = []
1486        }
1487
1488        function e() {
1489            b.$Each(c, function(a) {
1490                b.$RemoveEvent(a.$Obj, a.$EventName, a.$Handler)
1491            });
1492            c = []
1493        }
1494        a.$Listen = function(e, a, d, f) {
1495            b.$AddEvent(e, a, d, f);
1496            c.push({
1497                $Obj: e,
1498                $EventName: a,
1499                $Handler: d
1500            })
1501        };
1502        a.$Unlisten = function(e, a, d) {
1503            b.$Each(c, function(f, g) {
1504                if (f.$Obj === e && f.$EventName == a && f.$Handler === d) {
1505                    b.$RemoveEvent(e, a, d);
1506                    c.splice(g, 1)
1507                }
1508            })
1509        };
1510        a.$UnlistenAll = e;
1511        a.$On = a.addEventListener = h;
1512        a.$Off = a.removeEventListener = g;
1513        a.$TriggerEvent = function(a) {
1514            var c = [].slice.call(arguments, 1);
1515            b.$Each(d, function(b) {
1516                b.$EventName == a && b.$Handler.apply(k, c)
1517            })
1518        };
1519        a.$Destroy = function() {
1520            e();
1521            f();
1522            for (var b in a) delete a[b]
1523        }
1524    }
1525    var m = k.$JssorAnimator$ = function(z, C, h, L, O, J) {
1526        z = z || 0;
1527        var a = this,
1528            q, N, n, o, v, A = 0,
1529            H, I, G, B, y = 0,
1530            g = 0,
1531            m = 0,
1532            D, i, s, f, e, p, w = [],
1533            x;
1534
1535        function P(a) {
1536            f += a;
1537            e += a;
1538            i += a;
1539            s += a;
1540            g += a;
1541            m += a;
1542            y += a
1543        }
1544
1545        function u(o) {
1546            var j = o;
1547            if (p && (j >= e || j <= f)) j = ((j - f) % p + p) % p + f;
1548            if (!D || v || g != j) {
1549                var k = c.min(j, e);
1550                k = c.max(k, f);
1551                if (!D || v || k != m) {
1552                    if (J) {
1553                        var l = (k - i) / (C || 1);
1554                        if (h.$Reverse) l = 1 - l;
1555                        var n = b.$Cast(O, J, l, H, G, I, h);
1556                        if (x) b.$Each(n, function(b, a) {
1557                            x[a] && x[a](L, b)
1558                        });
1559                        else b.$SetStyles(L, n)
1560                    }
1561                    a.$OnInnerOffsetChange(m - i, k - i);
1562                    m = k;
1563                    b.$Each(w, function(b, c) {
1564                        var a = o < g ? w[w.length - c - 1] : b;
1565                        a.$GoToPosition(m - y)
1566                    });
1567                    var r = g,
1568                        q = m;
1569                    g = j;
1570                    D = d;
1571                    a.$OnPositionChange(r, q)
1572                }
1573            }
1574        }
1575
1576        function E(a, b, d) {
1577            b && a.$Shift(e);
1578            if (!d) {
1579                f = c.min(f, a.$GetPosition_OuterBegin() + y);
1580                e = c.max(e, a.$GetPosition_OuterEnd() + y)
1581            }
1582            w.push(a)
1583        }
1584        var r = k.requestAnimationFrame || k.webkitRequestAnimationFrame || k.mozRequestAnimationFrame || k.msRequestAnimationFrame;
1585        if (b.$IsBrowserSafari() && b.$BrowserVersion() < 7) r = j;
1586        r = r || function(a) {
1587            b.$Delay(a, h.$Interval)
1588        };
1589
1590        function K() {
1591            if (q) {
1592                var d = b.$GetNow(),
1593                    e = c.min(d - A, h.$IntervalMax),
1594                    a = g + e * o;
1595                A = d;
1596                if (a * o >= n * o) a = n;
1597                u(a);
1598                if (!v && a * o >= n * o) M(B);
1599                else r(K)
1600            }
1601        }
1602
1603        function t(h, i, j) {
1604            if (!q) {
1605                q = d;
1606                v = j;
1607                B = i;
1608                h = c.max(h, f);
1609                h = c.min(h, e);
1610                n = h;
1611                o = n < g ? -1 : 1;
1612                a.$OnStart();
1613                A = b.$GetNow();
1614                r(K)
1615            }
1616        }
1617
1618        function M(b) {
1619            if (q) {
1620                v = q = B = l;
1621                a.$OnStop();
1622                b && b()
1623            }
1624        }
1625        a.$Play = function(a, b, c) {
1626            t(a ? g + a : e, b, c)
1627        };
1628        a.$PlayToPosition = t;
1629        a.$PlayToBegin = function(a, b) {
1630            t(f, a, b)
1631        };
1632        a.$PlayToEnd = function(a, b) {
1633            t(e, a, b)
1634        };
1635        a.$Stop = M;
1636        a.$Continue = function(a) {
1637            t(a)
1638        };
1639        a.$GetPosition = function() {
1640            return g
1641        };
1642        a.$GetPlayToPosition = function() {
1643            return n
1644        };
1645        a.$GetPosition_Display = function() {
1646            return m
1647        };
1648        a.$GoToPosition = u;
1649        a.$GoToBegin = function() {
1650            u(f, d)
1651        };
1652        a.$GoToEnd = function() {
1653            u(e, d)
1654        };
1655        a.$Move = function(a) {
1656            u(g + a)
1657        };
1658        a.$CombineMode = function() {
1659            return N
1660        };
1661        a.$GetDuration = function() {
1662            return C
1663        };
1664        a.$IsPlaying = function() {
1665            return q
1666        };
1667        a.$IsOnTheWay = function() {
1668            return g > i && g <= s
1669        };
1670        a.$SetLoopLength = function(a) {
1671            p = a
1672        };
1673        a.$Shift = P;
vendor: 16,222 bytes, lines 1674-2188
1674        a.$Join = E;
1675        a.$Combine = function(a, b) {
1676            E(a, 0, b)
1677        };
1678        a.$Chain = function(a) {
1679            E(a, 1)
1680        };
1681        a.$Expand = function(a) {
1682            e += a
1683        };
1684        a.$GetPosition_InnerBegin = function() {
1685            return i
1686        };
1687        a.$GetPosition_InnerEnd = function() {
1688            return s
1689        };
1690        a.$GetPosition_OuterBegin = function() {
1691            return f
1692        };
1693        a.$GetPosition_OuterEnd = function() {
1694            return e
1695        };
1696        a.$OnPositionChange = a.$OnStart = a.$OnStop = a.$OnInnerOffsetChange = b.$EmptyFunction;
1697        a.$Version = b.$GetNow();
1698        h = b.$Extend({
1699            $Interval: 16,
1700            $IntervalMax: 50
1701        }, h);
1702        p = h.$LoopLength;
1703        x = h.$Setter;
1704        f = i = z;
1705        e = s = z + C;
1706        I = h.$Round || {};
1707        G = h.$During || {};
1708        H = b.$FormatEasings(h.$Easing)
1709    };
1710    var p = k.$JssorSlideshowFormations$ = new function() {
1711        var h = this,
1712            b = 0,
1713            a = 1,
1714            f = 2,
1715            e = 3,
1716            s = 1,
1717            r = 2,
1718            t = 4,
1719            q = 8,
1720            w = 256,
1721            x = 512,
1722            v = 1024,
1723            u = 2048,
1724            j = u + s,
1725            i = u + r,
1726            o = x + s,
1727            m = x + r,
1728            n = w + t,
1729            k = w + q,
1730            l = v + t,
1731            p = v + q;
1732
1733        function y(a) {
1734            return (a & r) == r
1735        }
1736
1737        function z(a) {
1738            return (a & t) == t
1739        }
1740
1741        function g(b, a, c) {
1742            c.push(a);
1743            b[a] = b[a] || [];
1744            b[a].push(c)
1745        }
1746        h.$FormationStraight = function(f) {
1747            for (var d = f.$Cols, e = f.$Rows, s = f.$Assembly, t = f.$Count, r = [], a = 0, b = 0, p = d - 1, q = e - 1, h = t - 1, c, b = 0; b < e; b++)
1748                for (a = 0; a < d; a++) {
1749                    switch (s) {
1750                        case j:
1751                            c = h - (a * e + (q - b));
1752                            break;
1753                        case l:
1754                            c = h - (b * d + (p - a));
1755                            break;
1756                        case o:
1757                            c = h - (a * e + b);
1758                        case n:
1759                            c = h - (b * d + a);
1760                            break;
1761                        case i:
1762                            c = a * e + b;
1763                            break;
1764                        case k:
1765                            c = b * d + (p - a);
1766                            break;
1767                        case m:
1768                            c = a * e + (q - b);
1769                            break;
1770                        default:
1771                            c = b * d + a
1772                    }
1773                    g(r, c, [b, a])
1774                }
1775            return r
1776        };
1777        h.$FormationSwirl = function(q) {
1778            var x = q.$Cols,
1779                y = q.$Rows,
1780                B = q.$Assembly,
1781                w = q.$Count,
1782                A = [],
1783                z = [],
1784                u = 0,
1785                c = 0,
1786                h = 0,
1787                r = x - 1,
1788                s = y - 1,
1789                t, p, v = 0;
1790            switch (B) {
1791                case j:
1792                    c = r;
1793                    h = 0;
1794                    p = [f, a, e, b];
1795                    break;
1796                case l:
1797                    c = 0;
1798                    h = s;
1799                    p = [b, e, a, f];
1800                    break;
1801                case o:
1802                    c = r;
1803                    h = s;
1804                    p = [e, a, f, b];
1805                    break;
1806                case n:
1807                    c = r;
1808                    h = s;
1809                    p = [a, e, b, f];
1810                    break;
1811                case i:
1812                    c = 0;
1813                    h = 0;
1814                    p = [f, b, e, a];
1815                    break;
1816                case k:
1817                    c = r;
1818                    h = 0;
1819                    p = [a, f, b, e];
1820                    break;
1821                case m:
1822                    c = 0;
1823                    h = s;
1824                    p = [e, b, f, a];
1825                    break;
1826                default:
1827                    c = 0;
1828                    h = 0;
1829                    p = [b, f, a, e]
1830            }
1831            u = 0;
1832            while (u < w) {
1833                t = h + "," + c;
1834                if (c >= 0 && c < x && h >= 0 && h < y && !z[t]) {
1835                    z[t] = d;
1836                    g(A, u++, [h, c])
1837                } else switch (p[v++ % p.length]) {
1838                    case b:
1839                        c--;
1840                        break;
1841                    case f:
1842                        h--;
1843                        break;
1844                    case a:
1845                        c++;
1846                        break;
1847                    case e:
1848                        h++
1849                }
1850                switch (p[v % p.length]) {
1851                    case b:
1852                        c++;
1853                        break;
1854                    case f:
1855                        h++;
1856                        break;
1857                    case a:
1858                        c--;
1859                        break;
1860                    case e:
1861                        h--
1862                }
1863            }
1864            return A
1865        };
1866        h.$FormationZigZag = function(p) {
1867            var w = p.$Cols,
1868                x = p.$Rows,
1869                z = p.$Assembly,
1870                v = p.$Count,
1871                t = [],
1872                u = 0,
1873                c = 0,
1874                d = 0,
1875                q = w - 1,
1876                r = x - 1,
1877                y, h, s = 0;
1878            switch (z) {
1879                case j:
1880                    c = q;
1881                    d = 0;
1882                    h = [f, a, e, a];
1883                    break;
1884                case l:
1885                    c = 0;
1886                    d = r;
1887                    h = [b, e, a, e];
1888                    break;
1889                case o:
1890                    c = q;
1891                    d = r;
1892                    h = [e, a, f, a];
1893                    break;
1894                case n:
1895                    c = q;
1896                    d = r;
1897                    h = [a, e, b, e];
1898                    break;
1899                case i:
1900                    c = 0;
1901                    d = 0;
1902                    h = [f, b, e, b];
1903                    break;
1904                case k:
1905                    c = q;
1906                    d = 0;
1907                    h = [a, f, b, f];
1908                    break;
1909                case m:
1910                    c = 0;
1911                    d = r;
1912                    h = [e, b, f, b];
1913                    break;
1914                default:
1915                    c = 0;
1916                    d = 0;
1917                    h = [b, f, a, f]
1918            }
1919            u = 0;
1920            while (u < v) {
1921                y = d + "," + c;
1922                if (c >= 0 && c < w && d >= 0 && d < x && typeof t[y] == "undefined") {
1923                    g(t, u++, [d, c]);
1924                    switch (h[s % h.length]) {
1925                        case b:
1926                            c++;
1927                            break;
1928                        case f:
1929                            d++;
1930                            break;
1931                        case a:
1932                            c--;
1933                            break;
1934                        case e:
1935                            d--
1936                    }
1937                } else {
1938                    switch (h[s++ % h.length]) {
1939                        case b:
1940                            c--;
1941                            break;
1942                        case f:
1943                            d--;
1944                            break;
1945                        case a:
1946                            c++;
1947                            break;
1948                        case e:
1949                            d++
1950                    }
1951                    switch (h[s++ % h.length]) {
1952                        case b:
1953                            c++;
1954                            break;
1955                        case f:
1956                            d++;
1957                            break;
1958                        case a:
1959                            c--;
1960                            break;
1961                        case e:
1962                            d--
1963                    }
1964                }
1965            }
1966            return t
1967        };
1968        h.$FormationStraightStairs = function(q) {
1969            var u = q.$Cols,
1970                v = q.$Rows,
1971                e = q.$Assembly,
1972                t = q.$Count,
1973                r = [],
1974                s = 0,
1975                c = 0,
1976                d = 0,
1977                f = u - 1,
1978                h = v - 1,
1979                x = t - 1;
1980            switch (e) {
1981                case j:
1982                case m:
1983                case o:
1984                case i:
1985                    var a = 0,
1986                        b = 0;
1987                    break;
1988                case k:
1989                case l:
1990                case n:
1991                case p:
1992                    var a = f,
1993                        b = 0;
1994                    break;
1995                default:
1996                    e = p;
1997                    var a = f,
1998                        b = 0
1999            }
2000            c = a;
2001            d = b;
2002            while (s < t) {
2003                if (z(e) || y(e)) g(r, x - s++, [d, c]);
2004                else g(r, s++, [d, c]);
2005                switch (e) {
2006                    case j:
2007                    case m:
2008                        c--;
2009                        d++;
2010                        break;
2011                    case o:
2012                    case i:
2013                        c++;
2014                        d--;
2015                        break;
2016                    case k:
2017                    case l:
2018                        c--;
2019                        d--;
2020                        break;
2021                    case p:
2022                    case n:
2023                    default:
2024                        c++;
2025                        d++
2026                }
2027                if (c < 0 || d < 0 || c > f || d > h) {
2028                    switch (e) {
2029                        case j:
2030                        case m:
2031                            a++;
2032                            break;
2033                        case k:
2034                        case l:
2035                        case o:
2036                        case i:
2037                            b++;
2038                            break;
2039                        case p:
2040                        case n:
2041                        default:
2042                            a--
2043                    }
2044                    if (a < 0 || b < 0 || a > f || b > h) {
2045                        switch (e) {
2046                            case j:
2047                            case m:
2048                                a = f;
2049                                b++;
2050                                break;
2051                            case o:
2052                            case i:
2053                                b = h;
2054                                a++;
2055                                break;
2056                            case k:
2057                            case l:
2058                                b = h;
2059                                a--;
2060                                break;
2061                            case p:
2062                            case n:
2063                            default:
2064                                a = 0;
2065                                b++
2066                        }
2067                        if (b > h) b = h;
2068                        else if (b < 0) b = 0;
2069                        else if (a > f) a = f;
2070                        else if (a < 0) a = 0
2071                    }
2072                    d = b;
2073                    c = a
2074                }
2075            }
2076            return r
2077        };
2078        h.$FormationSquare = function(i) {
2079            var a = i.$Cols || 1,
2080                b = i.$Rows || 1,
2081                j = [],
2082                d, e, f, h, k;
2083            f = a < b ? (b - a) / 2 : 0;
2084            h = a > b ? (a - b) / 2 : 0;
2085            k = c.round(c.max(a / 2, b / 2)) + 1;
2086            for (d = 0; d < a; d++)
2087                for (e = 0; e < b; e++) g(j, k - c.min(d + 1 + f, e + 1 + h, a - d + f, b - e + h), [e, d]);
2088            return j
2089        };
2090        h.$FormationRectangle = function(f) {
2091            var d = f.$Cols || 1,
2092                e = f.$Rows || 1,
2093                h = [],
2094                a, b, i;
2095            i = c.round(c.min(d / 2, e / 2)) + 1;
2096            for (a = 0; a < d; a++)
2097                for (b = 0; b < e; b++) g(h, i - c.min(a + 1, b + 1, d - a, e - b), [b, a]);
2098            return h
2099        };
2100        h.$FormationRandom = function(d) {
2101            for (var e = [], a, b = 0; b < d.$Rows; b++)
2102                for (a = 0; a < d.$Cols; a++) g(e, c.ceil(1e5 * c.random()) % 13, [b, a]);
2103            return e
2104        };
2105        h.$FormationCircle = function(d) {
2106            for (var e = d.$Cols || 1, f = d.$Rows || 1, h = [], a, i = e / 2 - .5, j = f / 2 - .5, b = 0; b < e; b++)
2107                for (a = 0; a < f; a++) g(h, c.round(c.sqrt(c.pow(b - i, 2) + c.pow(a - j, 2))), [a, b]);
2108            return h
2109        };
2110        h.$FormationCross = function(d) {
2111            for (var e = d.$Cols || 1, f = d.$Rows || 1, h = [], a, i = e / 2 - .5, j = f / 2 - .5, b = 0; b < e; b++)
2112                for (a = 0; a < f; a++) g(h, c.round(c.min(c.abs(b - i), c.abs(a - j))), [a, b]);
2113            return h
2114        };
2115        h.$FormationRectangleCross = function(f) {
2116            for (var h = f.$Cols || 1, i = f.$Rows || 1, j = [], a, d = h / 2 - .5, e = i / 2 - .5, k = c.max(d, e) + 1, b = 0; b < h; b++)
2117                for (a = 0; a < i; a++) g(j, c.round(k - c.max(d - c.abs(b - d), e - c.abs(a - e))) - 1, [a, b]);
2118            return j
2119        }
2120    };
2121    k.$JssorSlideshowRunner$ = function(k, s, q, t, y) {
2122        var f = this,
2123            u, g, a, x = 0,
2124            w = t.$TransitionsOrder,
2125            r, h = 8;
2126
2127        function i(g, f) {
2128            var a = {
2129                $Interval: f,
2130                $Duration: 1,
2131                $Delay: 0,
2132                $Cols: 1,
2133                $Rows: 1,
2134                $Opacity: 0,
2135                $Zoom: 0,
2136                $Clip: 0,
2137                $Move: l,
2138                $SlideOut: l,
2139                $Reverse: l,
2140                $Formation: p.$FormationRandom,
2141                $Assembly: 1032,
2142                $ChessMode: {
2143                    $Column: 0,
2144                    $Row: 0
2145                },
2146                $Easing: e.$EaseSwing,
2147                $Round: {},
2148                $Blocks: [],
2149                $During: {}
2150            };
2151            b.$Extend(a, g);
2152            a.$Count = a.$Cols * a.$Rows;
2153            a.$Easing = b.$FormatEasings(a.$Easing);
2154            a.$FramesCount = c.ceil(a.$Duration / a.$Interval);
2155            a.$GetBlocks = function(c, b) {
2156                c /= a.$Cols;
2157                b /= a.$Rows;
2158                var f = c + "x" + b;
2159                if (!a.$Blocks[f]) {
2160                    a.$Blocks[f] = {
2161                        $Width: c,
2162                        $Height: b
2163                    };
2164                    for (var d = 0; d < a.$Cols; d++)
2165                        for (var e = 0; e < a.$Rows; e++) a.$Blocks[f][e + "," + d] = {
2166                            $Top: e * b,
2167                            $Right: d * c + c,
2168                            $Bottom: e * b + b,
2169                            $Left: d * c
2170                        }
2171                }
2172                return a.$Blocks[f]
2173            };
2174            if (a.$Brother) {
2175                a.$Brother = i(a.$Brother, f);
2176                a.$SlideOut = d
2177            }
2178            return a
2179        }
2180
2181        function o(B, h, a, w, o, m) {
2182            var z = this,
2183                u, v = {},
2184                i = {},
2185                n = [],
2186                f, e, s, q = a.$ChessMode.$Column || 0,
2187                r = a.$ChessMode.$Row || 0,
2188                g = a.$GetBlocks(o, m),
2189                p = C(a),
2190                D = p.length - 1,
2191                t = a.$Duration + a.$Delay * D,
2192                x = w + t,
2193                k = a.$SlideOut,
2194                y;
2195            x += 50;
2196
2197            function C(a) {
2198                var b = a.$Formation(a);
2199                return a.$Reverse ? b.reverse() : b
2200            }
2201            z.$EndTime = x;
2202            z.$ShowFrame = function(d) {
2203                d -= w;
2204                var e = d < t;
2205                if (e || y) {
2206                    y = e;
2207                    if (!k) d = t - d;
2208                    var f = c.ceil(d / a.$Interval);
2209                    b.$Each(i, function(a, e) {
2210                        var d = c.max(f, a.$Min);
2211                        d = c.min(d, a.length - 1);
2212                        if (a.$LastFrameIndex != d) {
2213                            if (!a.$LastFrameIndex && !k) b.$ShowElement(n[e]);
2214                            else d == a.$Max && k && b.$HideElement(n[e]);
2215                            a.$LastFrameIndex = d;
2216                            b.$SetStyles(n[e], a[d])
2217                        }
2218                    })
2219                }
2220            };
2221            h = b.$CloneNode(h);
2222            b.$SetStyleTransform(h, j);
2223            if (b.$IsBrowserIe9Earlier()) {
2224                var E = !h["no-image"],
2225                    A = b.$FindChildrenByTag(h);
2226                b.$Each(A, function(a) {
2227                    (E || a["jssor-slider"]) && b.$CssOpacity(a, b.$CssOpacity(a), d)
2228                })
2229            }
2230            b.$Each(p, function(h, j) {
2231                b.$Each(h, function(G) {
2232                    var K = G[0],
2233                        J = G[1],
2234                        t = K + "," + J,
2235                        n = l,
2236                        p = l,
2237                        x = l;
2238                    if (q && J % 2) {
2239                        if (q & 3) n = !n;
2240                        if (q & 12) p = !p;
2241                        if (q & 16) x = !x
2242                    }
2243                    if (r && K % 2) {
2244                        if (r & 3) n = !n;
2245                        if (r & 12) p = !p;
2246                        if (r & 16) x = !x
2247                    }
2248                    a.$Top = a.$Top || a.$Clip & 4;
2249                    a.$Bottom = a.$Bottom || a.$Clip & 8;
2250                    a.$Left = a.$Left || a.$Clip & 1;
2251                    a.$Right = a.$Right || a.$Clip & 2;
2252                    var C = p ? a.$Bottom : a.$Top,
2253                        z = p ? a.$Top : a.$Bottom,
2254                        B = n ? a.$Right : a.$Left,
2255                        A = n ? a.$Left : a.$Right;
2256                    a.$Clip = C || z || B || A;
2257                    s = {};
2258                    e = {
2259                        $Top: 0,
2260                        $Left: 0,
2261                        $Opacity: 1,
2262                        $Width: o,
2263                        $Height: m
2264                    };
2265                    f = b.$Extend({}, e);
2266                    u = b.$Extend({}, g[t]);
2267                    if (a.$Opacity) e.$Opacity = 2 - a.$Opacity;
2268                    if (a.$ZIndex) {
2269                        e.$ZIndex = a.$ZIndex;
2270                        f.$ZIndex = 0
2271                    }
2272                    var I = a.$Cols * a.$Rows > 1 || a.$Clip;
2273                    if (a.$Zoom || a.$Rotate) {
2274                        var H = d;
2275                        if (b.$IsBrowserIe9Earlier())
2276                            if (a.$Cols * a.$Rows > 1) H = l;
2277                            else I = l;
2278                        if (H) {
2279                            e.$Zoom = a.$Zoom ? a.$Zoom - 1 : 1;
2280                            f.$Zoom = 1;
2281                            if (b.$IsBrowserIe9Earlier() || b.$IsBrowserOpera()) e.$Zoom = c.min(e.$Zoom, 2);
2282                            var N = a.$Rotate || 0;
2283                            e.$Rotate = N * 360 * (x ? -1 : 1);
2284                            f.$Rotate = 0
2285                        }
2286                    }
2287                    if (I) {
2288                        var h = u.$Offset = {};
2289                        if (a.$Clip) {
2290                            var w = a.$ScaleClip || 1;
2291                            if (C && z) {
2292                                h.$Top = g.$Height / 2 * w;
2293                                h.$Bottom = -h.$Top
2294                            } else if (C) h.$Bottom = -g.$Height * w;
2295                            else if (z) h.$Top = g.$Height * w;
2296                            if (B && A) {
2297                                h.$Left = g.$Width / 2 * w;
2298                                h.$Right = -h.$Left
2299                            } else if (B) h.$Right = -g.$Width * w;
2300                            else if (A) h.$Left = g.$Width * w
2301                        }
2302                        s.$Clip = u;
2303                        f.$Clip = g[t]
2304                    }
2305                    var L = n ? 1 : -1,
2306                        M = p ? 1 : -1;
2307                    if (a.x) e.$Left += o * a.x * L;
2308                    if (a.y) e.$Top += m * a.y * M;
2309                    b.$Each(e, function(a, c) {
2310                        if (b.$IsNumeric(a))
2311                            if (a != f[c]) s[c] = a - f[c]
2312                    });
2313                    v[t] = k ? f : e;
2314                    var D = a.$FramesCount,
2315                        y = c.round(j * a.$Delay / a.$Interval);
2316                    i[t] = new Array(y);
2317                    i[t].$Min = y;
2318                    i[t].$Max = y + D - 1;
2319                    for (var F = 0; F <= D; F++) {
2320                        var E = b.$Cast(f, s, F / D, a.$Easing, a.$During, a.$Round, {
2321                            $Move: a.$Move,
2322                            $OriginalWidth: o,
2323                            $OriginalHeight: m
2324                        });
2325                        E.$ZIndex = E.$ZIndex || 1;
2326                        i[t].push(E)
2327                    }
2328                })
2329            });
2330            p.reverse();
2331            b.$Each(p, function(a) {
2332                b.$Each(a, function(c) {
2333                    var f = c[0],
2334                        e = c[1],
2335                        d = f + "," + e,
2336                        a = h;
2337                    if (e || f) a = b.$CloneNode(h);
2338                    b.$SetStyles(a, v[d]);
2339                    b.$CssOverflow(a, "hidden");
2340                    b.$CssPosition(a, "absolute");
2341                    B.$AddClipElement(a);
2342                    n[d] = a;
2343                    b.$ShowElement(a, !k)
2344                })
2345            })
2346        }
2347
2348        function v() {
2349            var b = this,
2350                c = 0;
2351            m.call(b, 0, u);
2352            b.$OnPositionChange = function(d, b) {
2353                if (b - c > h) {
2354                    c = b;
2355                    a && a.$ShowFrame(b);
2356                    g && g.$ShowFrame(b)
2357                }
2358            };
2359            b.$Transition = r
2360        }
2361        f.$GetTransition = function() {
2362            var a = 0,
2363                b = t.$Transitions,
2364                d = b.length;
2365            if (w) a = x++ % d;
2366            else a = c.floor(c.random() * d);
2367            b[a] && (b[a].$Index = a);
2368            return b[a]
2369        };
2370        f.$Initialize = function(w, x, l, m, b) {
2371            r = b;
2372            b = i(b, h);
2373            var j = m.$Item,
2374                e = l.$Item;
2375            j["no-image"] = !m.$Image;
2376            e["no-image"] = !l.$Image;
2377            var n = j,
2378                p = e,
2379                v = b,
2380                d = b.$Brother || i({}, h);
2381            if (!b.$SlideOut) {
2382                n = e;
2383                p = j
2384            }
2385            var t = d.$Shift || 0;
2386            g = new o(k, p, d, c.max(t - d.$Interval, 0), s, q);
2387            a = new o(k, n, v, c.max(d.$Interval - t, 0), s, q);
2388            g.$ShowFrame(0);
2389            a.$ShowFrame(0);
2390            u = c.max(g.$EndTime, a.$EndTime);
2391            f.$Index = w
2392        };
2393        f.$Clear = function() {
2394            k.$Clear();
2395            g = j;
2396            a = j
2397        };
2398        f.$GetProcessor = function() {
2399            var b = j;
2400            if (a) b = new v;
2401            return b
2402        };
2403        if (b.$IsBrowserIe9Earlier() || b.$IsBrowserOpera() || y && b.$WebKitVersion() < 537) h = 16;
2404        n.call(f);
2405        m.call(f, -1e7, 1e7)
2406    };
2407    var i = k.$JssorSlider$ = function(p, hc) {
2408        var h = this;
2409
2410        function Fc() {
2411            var a = this;
2412            m.call(a, -1e8, 2e8);
2413            a.$GetCurrentSlideInfo = function() {
2414                var b = a.$GetPosition_Display(),
2415                    d = c.floor(b),
2416                    f = t(d),
2417                    e = b - c.floor(b);
2418                return {
2419                    $Index: f,
2420                    $VirtualIndex: d,
2421                    $Position: e
2422                }
2423            };
2424            a.$OnPositionChange = function(b, a) {
2425                var e = c.floor(a);
2426                if (e != a && a > b) e++;
2427                Wb(e, d);
2428                h.$TriggerEvent(i.$EVT_POSITION_CHANGE, t(a), t(b), a, b)
2429            }
2430        }
2431
2432        function Ec() {
2433            var a = this;
2434            m.call(a, 0, 0, {
2435                $LoopLength: r
2436            });
2437            b.$Each(C, function(b) {
2438                D & 1 && b.$SetLoopLength(r);
2439                a.$Chain(b);
2440                b.$Shift(fb / dc)
2441            })
2442        }
2443
2444        function Dc() {
2445            var a = this,
2446                b = Vb.$Elmt;
2447            m.call(a, -1, 2, {
2448                $Easing: e.$EaseLinear,
2449                $Setter: {
2450                    $Position: bc
2451                },
2452                $LoopLength: r
2453            }, b, {
2454                $Position: 1
2455            }, {
2456                $Position: -2
2457            });
2458            a.$Wrapper = b
2459        }
2460
2461        function rc(o, n) {
2462            var b = this,
2463                e, f, g, k, c;
2464            m.call(b, -1e8, 2e8, {
2465                $IntervalMax: 100
2466            });
2467            b.$OnStart = function() {
2468                O = d;
2469                R = j;
2470                h.$TriggerEvent(i.$EVT_SWIPE_START, t(w.$GetPosition()), w.$GetPosition())
2471            };
2472            b.$OnStop = function() {
2473                O = l;
2474                k = l;
2475                var a = w.$GetCurrentSlideInfo();
2476                h.$TriggerEvent(i.$EVT_SWIPE_END, t(w.$GetPosition()), w.$GetPosition());
2477                !a.$Position && Hc(a.$VirtualIndex, s)
2478            };
2479            b.$OnPositionChange = function(i, h) {
2480                var b;
2481                if (k) b = c;
2482                else {
2483                    b = f;
2484                    if (g) {
2485                        var d = h / g;
2486                        b = a.$SlideEasing(d) * (f - e) + e
2487                    }
2488                }
2489                w.$GoToPosition(b)
2490            };
2491            b.$PlayCarousel = function(a, d, c, h) {
2492                e = a;
2493                f = d;
2494                g = c;
2495                w.$GoToPosition(a);
2496                b.$GoToPosition(0);
2497                b.$PlayToPosition(c, h)
2498            };
2499            b.$StandBy = function(a) {
2500                k = d;
2501                c = a;
2502                b.$Play(a, j, d)
2503            };
2504            b.$SetStandByPosition = function(a) {
2505                c = a
2506            };
2507            b.$MoveCarouselTo = function(a) {
2508                w.$GoToPosition(a)
2509            };
2510            w = new Fc;
2511            w.$Combine(o);
2512            w.$Combine(n)
2513        }
2514
2515        function sc() {
2516            var c = this,
2517                a = Zb();
2518            b.$CssZIndex(a, 0);
2519            b.$Css(a, "pointerEvents", "none");
2520            c.$Elmt = a;
2521            c.$AddClipElement = function(c) {
2522                b.$AppendChild(a, c);
2523                b.$ShowElement(a)
2524            };
2525            c.$Clear = function() {
2526                b.$HideElement(a);
2527                b.$Empty(a)
2528            }
2529        }
2530
2531        function Bc(k, f) {
2532            var e = this,
2533                q, H, x, o, y = [],
2534                w, B, W, G, Q, F, g, v, p, eb;
2535            m.call(e, -u, u + 1, {
2536                $SlideItemAnimator: d
2537            });
2538
2539            function E(a) {
2540                q && q.$Revert();
2541                T(k, a, 0);
2542                F = d;
2543                q = new I.$Class(k, I, b.$ParseFloat(b.$AttributeEx(k, "idle")) || qc);
2544                q.$GoToPosition(0)
2545            }
2546
2547            function Y() {
2548                q.$Version < I.$Version && E()
2549            }
2550
2551            function N(p, r, n) {
2552                if (!G) {
2553                    G = d;
2554                    if (o && n) {
2555                        var g = n.width,
2556                            c = n.height,
2557                            m = g,
2558                            k = c;
2559                        if (g && c && a.$FillMode) {
2560                            if (a.$FillMode & 3 && (!(a.$FillMode & 4) || g > K || c > J)) {
2561                                var j = l,
2562                                    q = K / J * c / g;
2563                                if (a.$FillMode & 1) j = q > 1;
2564                                else if (a.$FillMode & 2) j = q < 1;
2565                                m = j ? g * J / c : K;
2566                                k = j ? J : c * K / g
2567                            }
2568                            b.$CssWidth(o, m);
2569                            b.$CssHeight(o, k);
2570                            b.$CssTop(o, (J - k) / 2);
2571                            b.$CssLeft(o, (K - m) / 2)
2572                        }
2573                        b.$CssPosition(o, "absolute");
2574                        h.$TriggerEvent(i.$EVT_LOAD_END, f)
2575                    }
2576                }
2577                b.$HideElement(r);
2578                p && p(e)
2579            }
2580
2581            function X(b, c, d, g) {
2582                if (g == R && s == f && P)
2583                    if (!Gc) {
2584                        var a = t(b);
2585                        A.$Initialize(a, f, c, e, d);
2586                        c.$HideContentForSlideshow();
2587                        U.$Shift(a - U.$GetPosition_OuterBegin() - 1);
2588                        U.$GoToPosition(a);
2589                        z.$PlayCarousel(b, b, 0)
2590                    }
2591            }
2592
2593            function ab(b) {
2594                if (b == R && s == f) {
2595                    if (!g) {
2596                        var a = j;
2597                        if (A)
2598                            if (A.$Index == f) a = A.$GetProcessor();
2599                            else A.$Clear();
2600                        Y();
2601                        g = new zc(k, f, a, q);
2602                        g.$SetPlayer(p)
2603                    }!g.$IsPlaying() && g.$Replay()
2604                }
2605            }
2606
2607            function S(d, h, l) {
2608                if (d == f) {
2609                    if (d != h) C[h] && C[h].$ParkOut();
2610                    else !l && g && g.$AdjustIdleOnPark();
2611                    p && p.$Enable();
2612                    var m = R = b.$GetNow();
2613                    e.$LoadImage(b.$CreateCallback(j, ab, m))
2614                } else {
2615                    var k = c.min(f, d),
2616                        i = c.max(f, d),
2617                        o = c.min(i - k, k + r - i),
2618                        n = u + a.$LazyLoading - 1;
2619                    (!Q || o <= n) && e.$LoadImage()
2620                }
2621            }
2622
2623            function bb() {
2624                if (s == f && g) {
2625                    g.$Stop();
2626                    p && p.$Quit();
2627                    p && p.$Disable();
2628                    g.$OpenSlideshowPanel()
2629                }
2630            }
2631
2632            function db() {
2633                s == f && g && g.$Stop()
2634            }
2635
2636            function Z(a) {
2637                !M && h.$TriggerEvent(i.$EVT_CLICK, f, a)
2638            }
2639
2640            function O() {
2641                p = v.pInstance;
2642                g && g.$SetPlayer(p)
2643            }
2644            e.$LoadImage = function(c, a) {
2645                a = a || x;
2646                if (y.length && !G) {
2647                    b.$ShowElement(a);
2648                    if (!W) {
2649                        W = d;
2650                        h.$TriggerEvent(i.$EVT_LOAD_START, f);
2651                        b.$Each(y, function(a) {
2652                            if (!b.$Attribute(a, "src")) {
2653                                a.src = b.$AttributeEx(a, "src2");
2654                                b.$CssDisplay(a, a["display-origin"])
2655                            }
2656                        })
2657                    }
2658                    b.$LoadImages(y, o, b.$CreateCallback(j, N, c, a))
2659                } else N(c, a)
2660            };
2661            e.$GoForNextSlide = function() {
2662                var h = f;
2663                if (a.$AutoPlaySteps < 0) h -= r;
2664                var d = h + a.$AutoPlaySteps * xc;
2665                if (D & 2) d = t(d);
2666                if (!(D & 1)) d = c.max(0, c.min(d, r - u));
2667                if (d != f) {
2668                    if (A) {
2669                        var e = A.$GetTransition(r);
2670                        if (e) {
2671                            var i = R = b.$GetNow(),
2672                                g = C[t(d)];
2673                            return g.$LoadImage(b.$CreateCallback(j, X, d, g, e, i), x)
2674                        }
2675                    }
2676                    nb(d)
2677                }
2678            };
2679            e.$TryActivate = function() {
2680                S(f, f, d)
2681            };
2682            e.$ParkOut = function() {
2683                p && p.$Quit();
2684                p && p.$Disable();
2685                e.$UnhideContentForSlideshow();
2686                g && g.$Abort();
2687                g = j;
2688                E()
2689            };
2690            e.$StampSlideItemElements = function(a) {
2691                a = eb + "_" + a
2692            };
2693            e.$HideContentForSlideshow = function() {
2694                b.$HideElement(k)
2695            };
2696            e.$UnhideContentForSlideshow = function() {
2697                b.$ShowElement(k)
2698            };
2699            e.$EnablePlayer = function() {
2700                p && p.$Enable()
2701            };
2702
2703            function T(a, c, e) {
2704                if (b.$Attribute(a, "jssor-slider")) return;
2705                if (!F) {
2706                    if (a.tagName == "IMG") {
2707                        y.push(a);
2708                        if (!b.$Attribute(a, "src")) {
2709                            Q = d;
2710                            a["display-origin"] = b.$CssDisplay(a);
2711                            b.$HideElement(a)
2712                        }
2713                    }
2714                    b.$IsBrowserIe9Earlier() && b.$CssZIndex(a, (b.$CssZIndex(a) || 0) + 1)
2715                }
2716                var f = b.$Children(a);
2717                b.$Each(f, function(f) {
2718                    var h = f.tagName,
2719                        i = b.$AttributeEx(f, "u");
2720                    if (i == "player" && !v) {
2721                        v = f;
2722                        if (v.pInstance) O();
2723                        else b.$AddEvent(v, "dataavailable", O)
2724                    }
2725                    if (i == "caption") {
2726                        if (c) {
2727                            b.$CssTransformOrigin(f, b.$AttributeEx(f, "to"));
2728                            b.$CssBackfaceVisibility(f, b.$AttributeEx(f, "bf"));
2729                            b.$AttributeEx(f, "3d") && b.$CssTransformStyle(f, "preserve-3d")
2730                        } else if (!b.$IsBrowserIE()) {
2731                            var g = b.$CloneNode(f, l, d);
2732                            b.$InsertBefore(g, f, a);
2733                            b.$RemoveElement(f, a);
2734                            f = g;
2735                            c = d
2736                        }
2737                    }
2737 else if (!F && !e && !o) {
2738                        if (h == "A") {
2739                            if (b.$AttributeEx(f, "u") == "image") o = b.$FindChildByTag(f, "IMG");
2740                            else o = b.$FindChild(f, "image", d);
2741                            if (o) {
2742                                w = f;
2743                                b.$CssDisplay(w, "block");
2744                                b.$SetStyles(w, V);
2745                                B = b.$CloneNode(w, d);
2746                                b.$CssPosition(w, "relative");
2747                                b.$CssOpacity(B, 0);
2748                                b.$Css(B, "backgroundColor", "#000")
2749                            }
2750                        } else if (h == "IMG" && b.$AttributeEx(f, "u") == "image") o = f;
2751                        if (o) {
2752                            o.border = 0;
2753                            b.$SetStyles(o, V)
2754                        }
2755                    }
2756                    T(f, c, e + 1)
2757                })
2758            }
2759            e.$OnInnerOffsetChange = function(c, b) {
2760                var a = u - b;
2761                bc(H, a)
2762            };
2763            e.$Index = f;
2764            n.call(e);
2765            b.$CssPerspective(k, b.$AttributeEx(k, "p"));
2766            b.$CssPerspectiveOrigin(k, b.$AttributeEx(k, "po"));
2767            var L = b.$FindChild(k, "thumb", d);
2768            if (L) {
2769                e.$Thumb = b.$CloneNode(L);
2770                b.$HideElement(L)
2771            }
2772            b.$ShowElement(k);
2773            x = b.$CloneNode(cb);
2774            b.$CssZIndex(x, 1e3);
2775            b.$AddEvent(k, "click", Z);
2776            E(d);
2777            e.$Image = o;
2778            e.$Link = B;
2779            e.$Item = k;
2780            e.$Wrapper = H = k;
2781            b.$AppendChild(H, x);
2782            h.$On(203, S);
2783            h.$On(28, db);
2784            h.$On(24, bb)
2785        }
2786
2787        function zc(y, f, p, q) {
2788            var a = this,
2789                n = 0,
2790                u = 0,
2791                g, j, e, c, k, t, r, o = C[f];
2792            m.call(a, 0, 0);
2793
2794            function v() {
2795                b.$Empty(N);
2796                fc && k && o.$Link && b.$AppendChild(N, o.$Link);
2797                b.$ShowElement(N, !k && o.$Image)
2798            }
2799
2800            function w() {
2801                a.$Replay()
2802            }
2803
2804            function x(b) {
2805                r = b;
2806                a.$Stop();
2807                a.$Replay()
2808            }
2809            a.$Replay = function() {
2810                var b = a.$GetPosition_Display();
2811                if (!B && !O && !r && s == f) {
2812                    if (!b) {
2813                        if (g && !k) {
2814                            k = d;
2815                            a.$OpenSlideshowPanel(d);
2816                            h.$TriggerEvent(i.$EVT_SLIDESHOW_START, f, n, u, g, c)
2817                        }
2818                        v()
2819                    }
2820                    var l, p = i.$EVT_STATE_CHANGE;
2821                    if (b != c)
2822                        if (b == e) l = c;
2823                        else if (b == j) l = e;
2824                    else if (!b) l = j;
2825                    else l = a.$GetPlayToPosition();
2826                    h.$TriggerEvent(p, f, b, n, j, e, c);
2827                    var m = P && (!E || F);
2828                    if (b == c)(e != c && !(E & 12) || m) && o.$GoForNextSlide();
2829                    else(m || b != e) && a.$PlayToPosition(l, w)
2830                }
2831            };
2832            a.$AdjustIdleOnPark = function() {
2833                e == c && e == a.$GetPosition_Display() && a.$GoToPosition(j)
2834            };
2835            a.$Abort = function() {
2836                A && A.$Index == f && A.$Clear();
2837                var b = a.$GetPosition_Display();
2838                b < c && h.$TriggerEvent(i.$EVT_STATE_CHANGE, f, -b - 1, n, j, e, c)
2839            };
2840            a.$OpenSlideshowPanel = function(a) {
2841                p && b.$CssOverflow(hb, a && p.$Transition.$Outside ? "" : "hidden")
2842            };
2843            a.$OnInnerOffsetChange = function(b, a) {
2844                if (k && a >= g) {
2845                    k = l;
2846                    v();
2847                    o.$UnhideContentForSlideshow();
2848                    A.$Clear();
2849                    h.$TriggerEvent(i.$EVT_SLIDESHOW_END, f, n, u, g, c)
2850                }
2851                h.$TriggerEvent(i.$EVT_PROGRESS_CHANGE, f, a, n, j, e, c)
2852            };
2853            a.$SetPlayer = function(a) {
2854                if (a && !t) {
2855                    t = a;
2856                    a.$On($JssorPlayer$.$EVT_SWITCH, x)
2857                }
2858            };
2859            p && a.$Chain(p);
2860            g = a.$GetPosition_OuterEnd();
2861            a.$Chain(q);
2862            j = g + q.$IdleBegin;
2863            e = g + q.$IdleEnd;
2864            c = a.$GetPosition_OuterEnd()
2865        }
2866
2867        function Mb(a, c, d) {
2868            b.$CssLeft(a, c);
2869            b.$CssTop(a, d)
2870        }
2871
2872        function bc(c, b) {
2873            var a = x > 0 ? x : gb,
2874                d = Bb * b * (a & 1),
2875                e = Cb * b * (a >> 1 & 1);
2876            Mb(c, d, e)
2877        }
2878
2879        function Rb() {
2880            pb = O;
2881            Kb = z.$GetPlayToPosition();
2882            G = w.$GetPosition()
2883        }
2884
2885        function ic() {
2886            Rb();
2887            if (B || !F && E & 12) {
2888                z.$Stop();
2889                h.$TriggerEvent(i.$EVT_FREEZE)
2890            }
2891        }
2892
2893        function gc(f) {
2894            if (!B && (F || !(E & 12)) && !z.$IsPlaying()) {
2895                var d = w.$GetPosition(),
2896                    b = c.ceil(G);
2897                if (f && c.abs(H) >= a.$MinDragOffsetToSlide) {
2898                    b = c.ceil(d);
2899                    b += eb
2900                }
2901                if (!(D & 1)) b = c.min(r - u, c.max(b, 0));
2902                var e = c.abs(b - d);
2903                e = 1 - c.pow(1 - e, 5);
2904                if (!M && pb) z.$Continue(Kb);
2905                else if (d == b) {
2906                    tb.$EnablePlayer();
2907                    tb.$TryActivate()
2908                } else z.$PlayCarousel(d, b, e * Xb)
2909            }
2910        }
2911
2912        function Ib(a) {
2913            !b.$AttributeEx(b.$EvtSrc(a), "nodrag") && b.$CancelEvent(a)
2914        }
2915
2916        function vc(a) {
2917            ac(a, 1)
2918        }
2919
2920        function ac(a, c) {
2921            a = b.$GetEvent(a);
2922            var k = b.$EvtSrc(a);
2923            if (!L && !b.$AttributeEx(k, "nodrag") && wc() && (!c || a.touches.length == 1)) {
2924                B = d;
2925                Ab = l;
2926                R = j;
2927                b.$AddEvent(f, c ? "touchmove" : "mousemove", Db);
2928                b.$GetNow();
2929                M = 0;
2930                ic();
2931                if (!pb) x = 0;
2932                if (c) {
2933                    var g = a.touches[0];
2934                    vb = g.clientX;
2935                    wb = g.clientY
2936                } else {
2937                    var e = b.$MousePosition(a);
2938                    vb = e.x;
2939                    wb = e.y
2940                }
2941                H = 0;
2942                bb = 0;
2943                eb = 0;
2944                h.$TriggerEvent(i.$EVT_DRAG_START, t(G), G, a)
2945            }
2946        }
2947
2948        function Db(e) {
2949            if (B) {
2950                e = b.$GetEvent(e);
2951                var f;
2952                if (e.type != "mousemove") {
2953                    var l = e.touches[0];
2954                    f = {
2955                        x: l.clientX,
2956                        y: l.clientY
2957                    }
2958                } else f = b.$MousePosition(e);
2959                if (f) {
2960                    var j = f.x - vb,
2961                        k = f.y - wb;
2962                    if (c.floor(G) != G) x = x || gb & L;
2963                    if ((j || k) && !x) {
2964                        if (L == 3)
2965                            if (c.abs(k) > c.abs(j)) x = 2;
2966                            else x = 1;
2967                        else x = L;
2968                        if (jb && x == 1 && c.abs(k) - c.abs(j) > 3) Ab = d
2969                    }
2970                    if (x) {
2971                        var a = k,
2972                            i = Cb;
2973                        if (x == 1) {
2974                            a = j;
2975                            i = Bb
2976                        }
2977                        if (!(D & 1)) {
2978                            if (a > 0) {
2979                                var g = i * s,
2980                                    h = a - g;
2981                                if (h > 0) a = g + c.sqrt(h) * 5
2982                            }
2983                            if (a < 0) {
2984                                var g = i * (r - u - s),
2985                                    h = -a - g;
2986                                if (h > 0) a = -g - c.sqrt(h) * 5
2987                            }
2988                        }
2989                        if (H - bb < -2) eb = 0;
2990                        else if (H - bb > 2) eb = -1;
2991                        bb = H;
2992                        H = a;
2993                        sb = G - H / i / (Z || 1);
2994                        if (H && x && !Ab) {
2995                            b.$CancelEvent(e);
2996                            if (!O) z.$StandBy(sb);
2997                            else z.$SetStandByPosition(sb)
2998                        }
2999                    }
3000                }
3001            }
3002        }
3003
3004        function mb() {
3005            tc();
3006            if (B) {
3007                B = l;
3008                b.$GetNow();
3009                b.$RemoveEvent(f, "mousemove", Db);
3010                b.$RemoveEvent(f, "touchmove", Db);
3011                M = H;
3012                z.$Stop();
3013                var a = w.$GetPosition();
3014                h.$TriggerEvent(i.$EVT_DRAG_END, t(a), a, t(G), G);
3015                E & 12 && Rb();
3016                gc(d)
3017            }
3018        }
3019
3020        function mc(c) {
3021            if (M) {
3022                b.$StopEvent(c);
3023                var a = b.$EvtSrc(c);
3024                while (a && v !== a) {
3025                    a.tagName == "A" && b.$CancelEvent(c);
3026                    try {
3027                        a = a.parentNode
3028                    } catch (d) {
3029                        break
3030                    }
3031                }
3032            }
3033        }
3034
3035        function Lb(a) {
3036            C[s];
3037            s = t(a);
3038            tb = C[s];
3039            Wb(a);
3040            return s
3041        }
3042
3043        function Hc(a, b) {
3044            x = 0;
3045            Lb(a);
3046            h.$TriggerEvent(i.$EVT_PARK, t(a), b)
3047        }
3048
3049        function Wb(a, c) {
3050            yb = a;
3051            b.$Each(S, function(b) {
3052                b.$SetCurrentIndex(t(a), a, c)
3053            })
3054        }
3055
3056        function wc() {
3057            var b = i.$DragRegistry || 0,
3058                a = Y;
3059            if (jb) a & 1 && (a &= 1);
3060            i.$DragRegistry |= a;
3061            return L = a & ~b
3062        }
3063
3064        function tc() {
3065            if (L) {
3066                i.$DragRegistry &= ~Y;
3067                L = 0
3068            }
3069        }
3070
3071        function Zb() {
3072            var a = b.$CreateDiv();
3073            b.$SetStyles(a, V);
3074            b.$CssPosition(a, "absolute");
3075            return a
3076        }
3077
3078        function t(a) {
3079            return (a % r + r) % r
3080        }
3081
3082        function nc(b, d) {
3083            if (d)
3084                if (!D) {
3085                    b = c.min(c.max(b + yb, 0), r - u);
3086                    d = l
3087                } else if (D & 2) {
3088                b = t(b + yb);
3089                d = l
3090            }
3091            nb(b, a.$SlideDuration, d)
3092        }
3093
3094        function zb() {
3095            b.$Each(S, function(a) {
3096                a.$Show(a.$Options.$ChanceToShow <= F)
3097            })
3098        }
3099
3100        function kc() {
3101            if (!F) {
3102                F = 1;
3103                zb();
3104                if (!B) {
3105                    E & 12 && gc();
3106                    E & 3 && C[s].$TryActivate()
3107                }
3108            }
3109        }
3110
3111        function jc() {
3112            if (F) {
3113                F = 0;
3114                zb();
3115                B || !(E & 12) || ic()
3116            }
3117        }
3118
3119        function lc() {
3120            V = {
3121                $Width: K,
3122                $Height: J,
3123                $Top: 0,
3124                $Left: 0
3125            };
3126            b.$Each(T, function(a) {
3127                b.$SetStyles(a, V);
3128                b.$CssPosition(a, "absolute");
3129                b.$CssOverflow(a, "hidden");
3130                b.$HideElement(a)
3131            });
3132            b.$SetStyles(cb, V)
3133        }
3134
3135        function lb(b, a) {
3136            nb(b, a, d)
3137        }
3138
3139        function nb(h, f, k) {
3140            if (Tb && (!B && (F || !(E & 12)) || a.$NaviQuitDrag)) {
3141                O = d;
3142                B = l;
3143                z.$Stop();
3144                if (f == g) f = Xb;
3145                var e = Eb.$GetPosition_Display(),
3146                    b = h;
3147                if (k) {
3148                    b = e + h;
3149                    if (h > 0) b = c.ceil(b);
3150                    else b = c.floor(b)
3151                }
3152                if (D & 2) b = t(b);
3153                if (!(D & 1)) b = c.max(0, c.min(b, r - u));
3154                var j = (b - e) % r;
3155                b = e + j;
3156                var i = e == b ? 0 : f * c.abs(j);
3157                i = c.min(i, f * u * 1.5);
3158                z.$PlayCarousel(e, b, i || 1)
3159            }
3160        }
3161        h.$PlayTo = nb;
3162        h.$GoTo = function(a) {
3163            w.$GoToPosition(Lb(a))
3164        };
3165        h.$Next = function() {
3166            lb(1)
3167        };
3168        h.$Prev = function() {
3169            lb(-1)
3170        };
3171        h.$Pause = function() {
3172            P = l
3173        };
3174        h.$Play = function() {
3175            if (!P) {
3176                P = d;
3177                C[s] && C[s].$TryActivate()
3178            }
3179        };
3180        h.$SetSlideshowTransitions = function(b) {
3181            a.$SlideshowOptions.$Transitions = b
3182        };
3183        h.$SetCaptionTransitions = function(a) {
3184            I.$Transitions = a;
3185            I.$Version = b.$GetNow()
3186        };
3187        h.$SlidesCount = function() {
3188            return T.length
3189        };
3190        h.$CurrentIndex = function() {
3191            return s
3192        };
3193        h.$IsAutoPlaying = function() {
3194            return P
3195        };
3196        h.$IsDragging = function() {
3197            return B
3198        };
3199        h.$IsSliding = function() {
3200            return O
3201        };
3202        h.$IsMouseOver = function() {
3203            return !F
3204        };
3205        h.$LastDragSucceded = function() {
3206            return M
3207        };
3208
3209        function X() {
3210            return b.$CssWidth(y || p)
3211        }
3212
3213        function ib() {
3214            return b.$CssHeight(y || p)
3215        }
3216        h.$OriginalWidth = h.$GetOriginalWidth = X;
3217        h.$OriginalHeight = h.$GetOriginalHeight = ib;
3218
3219        function Gb(c, d) {
3220            if (c == g) return b.$CssWidth(p);
3221            if (!y) {
3222                var a = b.$CreateDiv(f);
3223                b.$ClassName(a, b.$ClassName(p));
3224                b.$CssCssText(a, b.$CssCssText(p));
3225                b.$CssDisplay(a, "block");
3226                b.$CssPosition(a, "relative");
3227                b.$CssTop(a, 0);
3228                b.$CssLeft(a, 0);
3229                b.$CssOverflow(a, "visible");
3230                y = b.$CreateDiv(f);
3231                b.$CssPosition(y, "absolute");
3232                b.$CssTop(y, 0);
3233                b.$CssLeft(y, 0);
3234                b.$CssWidth(y, b.$CssWidth(p));
3235                b.$CssHeight(y, b.$CssHeight(p));
3236                b.$CssTransformOrigin(y, "0 0");
3237                b.$AppendChild(y, a);
3238                var i = b.$Children(p);
3239                b.$AppendChild(p, y);
3240                b.$Css(p, "backgroundImage", "");
3241                b.$Each(i, function(c) {
3242                    b.$AppendChild(b.$AttributeEx(c, "noscale") ? p : a, c);
3243                    b.$AttributeEx(c, "autocenter") && Nb.push(c)
3244                })
3245            }
3246            Z = c / (d ? b.$CssHeight : b.$CssWidth)(y);
3247            b.$CssScale(y, Z);
3248            var h = d ? Z * X() : c,
3249                e = d ? c : Z * ib();
3250            b.$CssWidth(p, h);
3251            b.$CssHeight(p, e);
3252            b.$Each(Nb, function(a) {
3253                var c = b.$ParseInt(b.$AttributeEx(a, "autocenter"));
3254                b.$CenterElement(a, c)
3255            })
3256        }
3257        h.$ScaleHeight = h.$GetScaleHeight = function(a) {
3258            if (a == g) return b.$CssHeight(p);
3259            Gb(a, d)
3260        };
3261        h.$ScaleWidth = h.$SetScaleWidth = h.$GetScaleWidth = Gb;
3262        h.$GetVirtualIndex = function(a) {
3263            var d = c.ceil(t(fb / dc)),
3264                b = t(a - s + d);
3265            if (b > u) {
3266                if (a - s > r / 2) a -= r;
3267                else if (a - s <= -r / 2) a += r
3268            } else a = s + b - d;
3269            return a
3270        };
3271        n.call(h);
3272        h.$Elmt = p = b.$GetElement(p);
3273        var a = b.$Extend({
3274            $FillMode: 0,
3275            $LazyLoading: 1,
3276            $ArrowKeyNavigation: 1,
3277            $StartIndex: 0,
3278            $AutoPlay: l,
3279            $Loop: 1,
3280            $HWA: d,
3281            $NaviQuitDrag: d,
3282            $AutoPlaySteps: 1,
3283            $AutoPlayInterval: 3e3,
3284            $PauseOnHover: 1,
3285            $SlideDuration: 500,
3286            $SlideEasing: e.$EaseOutQuad,
3287            $MinDragOffsetToSlide: 20,
3288            $SlideSpacing: 0,
3289            $Cols: 1,
3290            $Align: 0,
3291            $UISearchMode: 1,
3292            $PlayOrientation: 1,
3293            $DragOrientation: 1
3294        }, hc);
3295        a.$HWA = a.$HWA && b.$IsBrowser3dSafe();
3296        if (a.$Idle != g) a.$AutoPlayInterval = a.$Idle;
3297        if (a.$ParkingPosition != g) a.$Align = a.$ParkingPosition;
3298        var gb = a.$PlayOrientation & 3,
3299            xc = (a.$PlayOrientation & 4) / -4 || 1,
3300            db = a.$SlideshowOptions,
3301            I = b.$Extend({
3302                $Class: q,
3303                $PlayInMode: 1,
3304                $PlayOutMode: 1,
3305                $HWA: a.$HWA
3306            }, a.$CaptionSliderOptions);
3307        I.$Transitions = I.$Transitions || I.$CaptionTransitions;
3308        var qb = a.$BulletNavigatorOptions,
3309            W = a.$ArrowNavigatorOptions,
3310            ab = a.$ThumbnailNavigatorOptions,
3311            Q = !a.$UISearchMode,
3312            y, v = b.$FindChild(p, "slides", Q),
3313            cb = b.$FindChild(p, "loading", Q) || b.$CreateDiv(f),
3314            Jb = b.$FindChild(p, "navigator", Q),
3315            ec = b.$FindChild(p, "arrowleft", Q),
3316            cc = b.$FindChild(p, "arrowright", Q),
3317            Hb = b.$FindChild(p, "thumbnavigator", Q),
3318            pc = b.$CssWidth(v),
3319            oc = b.$CssHeight(v),
3320            V, T = [],
3321            yc = b.$Children(v);
3322        b.$Each(yc, function(a) {
3323            if (a.tagName == "DIV" && !b.$AttributeEx(a, "u")) T.push(a);
3324            else b.$IsBrowserIe9Earlier() && b.$CssZIndex(a, (b.$CssZIndex(a) || 0) + 1)
3325        });
3326        var s = -1,
3327            yb, tb, r = T.length,
3328            K = a.$SlideWidth || pc,
3329            J = a.$SlideHeight || oc,
3330            Yb = a.$SlideSpacing,
3331            Bb = K + Yb,
3332            Cb = J + Yb,
3333            dc = gb & 1 ? Bb : Cb,
3334            u = c.min(a.$Cols, r),
3335            hb, x, L, Ab, S = [],
3336            Sb, Ub, Qb, fc, Gc, P, E = a.$PauseOnHover,
3337            qc = a.$AutoPlayInterval,
3338            Xb = a.$SlideDuration,
3339            rb, ub, fb, Tb = u < r,
3340            D = Tb ? a.$Loop : 0,
3341            Y, M, F = 1,
3342            O, B, R, vb = 0,
3343            wb = 0,
3344            H, bb, eb, Eb, w, U, z, Vb = new sc,
3345            Z, Nb = [];
3346        if (a.$HWA) Mb = function(a, c, d) {
3347            b.$SetStyleTransform(a, {
3348                $TranslateX: c,
3349                $TranslateY: d
3350            })
3351        };
3352        P = a.$AutoPlay;
3353        h.$Options = hc;
3354        lc();
3355        b.$Attribute(p, "jssor-slider", d);
3356        b.$CssZIndex(v, b.$CssZIndex(v) || 0);
3357        b.$CssPosition(v, "absolute");
3358        hb = b.$CloneNode(v, d);
3359        b.$InsertBefore(hb, v);
3360        if (db) {
3361            fc = db.$ShowLink;
3362            rb = db.$Class;
3363            ub = u == 1 && r > 1 && rb && (!b.$IsBrowserIE() || b.$BrowserVersion() >= 8)
3364        }
3365        fb = ub || u >= r || !(D & 1) ? 0 : a.$Align;
3366        Y = (u > 1 || fb ? gb : -1) & a.$DragOrientation;
3367        var xb = v,
3368            C = [],
3369            A, N, Fb = b.$Device(),
3370            jb = Fb.$Touchable,
3371            G, pb, Kb, sb;
3372        Fb.$TouchActionAttr && b.$Css(xb, Fb.$TouchActionAttr, ([j, "pan-y", "pan-x", "none"])[Y] || "");
3373        U = new Dc;
3374        if (ub) A = new rb(Vb, K, J, db, jb);
3375        b.$AppendChild(hb, U.$Wrapper);
3376        b.$CssOverflow(v, "hidden");
3377        N = Zb();
3378        b.$Css(N, "backgroundColor", "#000");
3379        b.$CssOpacity(N, 0);
3380        b.$InsertBefore(N, xb.firstChild, xb);
3381        for (var ob = 0; ob < T.length; ob++) {
3382            var Ac = T[ob],
3383                Cc = new Bc(Ac, ob);
3384            C.push(Cc)
3385        }
3386        b.$HideElement(cb);
3387        Eb = new Ec;
3388        z = new rc(Eb, U);
3389        if (Y) {
3390            b.$AddEvent(v, "mousedown", ac);
3391            b.$AddEvent(v, "touchstart", vc);
3392            b.$AddEvent(v, "dragstart", Ib);
3393            b.$AddEvent(v, "selectstart", Ib);
3394            b.$AddEvent(f, "mouseup", mb);
3395            b.$AddEvent(f, "touchend", mb);
3396            b.$AddEvent(f, "touchcancel", mb);
3397            b.$AddEvent(k, "blur", mb)
3398        }
3399        E &= jb ? 10 : 5;
3400        if (Jb && qb) {
3401            Sb = new qb.$Class(Jb, qb, X(), ib());
3402            S.push(Sb)
3403        }
3404        if (W && ec && cc) {
3405            W.$Loop = D;
3406            W.$Cols = u;
3407            Ub = new W.$Class(ec, cc, W, X(), ib());
3408            S.push(Ub)
3409        }
3410        if (Hb && ab) {
3411            ab.$StartIndex = a.$StartIndex;
3412            Qb = new ab.$Class(Hb, ab);
3413            S.push(Qb)
3414        }
3415        b.$Each(S, function(a) {
3416            a.$Reset(r, C, cb);
3417            a.$On(o.$NAVIGATIONREQUEST, nc)
3418        });
3419        b.$Css(p, "visibility", "visible");
3420        Gb(X());
3421        b.$AddEvent(v, "click", mc);
3422        b.$AddEvent(p, "mouseout", b.$MouseOverOutFilter(kc, p));
3423        b.$AddEvent(p, "mouseover", b.$MouseOverOutFilter(jc, p));
3424        zb();
3425        a.$ArrowKeyNavigation && b.$AddEvent(f, "keydown", function(b) {
3426            if (b.keyCode == 37) lb(-a.$ArrowKeyNavigation);
3427            else b.keyCode == 39 && lb(a.$ArrowKeyNavigation)
3428        });
3429        var kb = a.$StartIndex;
3430        if (!(D & 1)) kb = c.max(0, c.min(kb, r - u));
3431        z.$PlayCarousel(kb, kb, 0)
3432    };
3433    i.$EVT_CLICK = 21;
3434    i.$EVT_DRAG_START = 22;
3435    i.$EVT_DRAG_END = 23;
3436    i.$EVT_SWIPE_START = 24;
3437    i.$EVT_SWIPE_END = 25;
3438    i.$EVT_LOAD_START = 26;
3439    i.$EVT_LOAD_END = 27;
3440    i.$EVT_FREEZE = 28;
3441    i.$EVT_POSITION_CHANGE = 202;
3442    i.$EVT_PARK = 203;
3443    i.$EVT_SLIDESHOW_START = 206;
3444    i.$EVT_SLIDESHOW_END = 207;
3445    i.$EVT_PROGRESS_CHANGE = 208;
3446    i.$EVT_STATE_CHANGE = 209;
3447    var o = {
3448        $NAVIGATIONREQUEST: 1,
3449        $INDEXCHANGE: 2,
3450        $RESET: 3
3451    };
3452    k.$JssorBulletNavigator$ = function(e, C) {
3453        var f = this;
3454        n.call(f);
3455        e = b.$GetElement(e);
3456        var s, A, z, r, k = 0,
3457            a, m, i, w, x, h, g, q, p, B = [],
3458            y = [];
3459
3460        function v(a) {
3461            a != -1 && y[a].$Selected(a == k)
3462        }
3463
3464        function t(a) {
3465            f.$TriggerEvent(o.$NAVIGATIONREQUEST, a * m)
3466        }
3467        f.$Elmt = e;
3468        f.$GetCurrentIndex = function() {
3469            return r
3470        };
3471        f.$SetCurrentIndex = function(a) {
3472            if (a != r) {
3473                var d = k,
3474                    b = c.floor(a / m);
3475                k = b;
3476                r = a;
3477                v(d);
3478                v(b)
3479            }
3480        };
3481        f.$Show = function(a) {
3482            b.$ShowElement(e, a)
3483        };
3484        var u;
3485        f.$Reset = function(E) {
3486            if (!u) {
3487                s = c.ceil(E / m);
3488                k = 0;
3489                var o = q + w,
3490                    r = p + x,
3491                    n = c.ceil(s / i) - 1;
3492                A = q + o * (!h ? n : i - 1);
3493                z = p + r * (h ? n : i - 1);
3494                b.$CssWidth(e, A);
3495                b.$CssHeight(e, z);
3496                for (var f = 0; f < s; f++) {
3497                    var C = b.$CreateSpan();
3498                    b.$InnerText(C, f + 1);
3499                    var l = b.$BuildElement(g, "numbertemplate", C, d);
3500                    b.$CssPosition(l, "absolute");
3501                    var v = f % (n + 1);
3502                    b.$CssLeft(l, !h ? o * v : f % i * o);
3503                    b.$CssTop(l, h ? r * v : c.floor(f / (n + 1)) * r);
3504                    b.$AppendChild(e, l);
3505                    B[f] = l;
3506                    a.$ActionMode & 1 && b.$AddEvent(l, "click", b.$CreateCallback(j, t, f));
3507                    a.$ActionMode & 2 && b.$AddEvent(l, "mouseover", b.$MouseOverOutFilter(b.$CreateCallback(j, t, f), l));
3508                    y[f] = b.$Buttonize(l)
3509                }
3510                u = d
3511            }
3512        };
3513        f.$Options = a = b.$Extend({
3514            $SpacingX: 10,
3515            $SpacingY: 10,
3516            $Orientation: 1,
3517            $ActionMode: 1
3518        }, C);
3519        g = b.$FindChild(e, "prototype");
3520        q = b.$CssWidth(g);
3521        p = b.$CssHeight(g);
3522        b.$RemoveElement(g, e);
3523        m = a.$Steps || 1;
3524        i = a.$Rows || 1;
3525        w = a.$SpacingX;
3526        x = a.$SpacingY;
3527        h = a.$Orientation - 1;
3528        a.$Scale == l && b.$Attribute(e, "noscale", d);
3529        a.$AutoCenter && b.$Attribute(e, "autocenter", a.$AutoCenter)
3530    };
3531    k.$JssorArrowNavigator$ = function(a, g, h) {
3532        var c = this;
3533        n.call(c);
3534        var r, q, e, f, i;
3535        b.$CssWidth(a);
3536        b.$CssHeight(a);
3537
3538        function k(a) {
3539            c.$TriggerEvent(o.$NAVIGATIONREQUEST, a, d)
3540        }
3541
3542        function p(c) {
3543            b.$ShowElement(a, c || !h.$Loop && e == 0);
3544            b.$ShowElement(g, c || !h.$Loop && e >= q - h.$Cols);
3545            r = c
3546        }
3547        c.$GetCurrentIndex = function() {
3548            return e
3549        };
3550        c.$SetCurrentIndex = function(b, a, c) {
3551            if (c) e = a;
3552            else {
3553                e = b;
3554                p(r)
3555            }
3556        };
3557        c.$Show = p;
3558        var m;
3559        c.$Reset = function(c) {
3560            q = c;
3561            e = 0;
3562            if (!m) {
3563                b.$AddEvent(a, "click", b.$CreateCallback(j, k, -i));
3564                b.$AddEvent(g, "click", b.$CreateCallback(j, k, i));
3565                b.$Buttonize(a);
3566                b.$Buttonize(g);
3567                m = d
3568            }
3569        };
3570        c.$Options = f = b.$Extend({
3571            $Steps: 1
3572        }, h);
3573        i = f.$Steps;
3574        if (f.$Scale == l) {
3575            b.$Attribute(a, "noscale", d);
3576            b.$Attribute(g, "noscale", d)
3577        }
3578        if (f.$AutoCenter) {
3579            b.$Attribute(a, "autocenter", f.$AutoCenter);
3580            b.$Attribute(g, "autocenter", f.$AutoCenter)
3581        }
3582    };
3583    k.$JssorThumbnailNavigator$ = function(g, B) {
3584        var h = this,
3585            y, p, a, v = [],
3586            z, x, e, q, r, u, t, m, s, f, k;
3587        n.call(h);
3588        g = b.$GetElement(g);
3589
3590        function A(n, f) {
3591            var g = this,
3592                c, m, l;
3593
3594            function q() {
3595                m.$Selected(p == f)
3596            }
3597
3598            function i(d) {
3599                if (d || !s.$LastDragSucceded()) {
3600                    var a = e - f % e,
3601                        b = s.$GetVirtualIndex((f + a) / e - 1),
3602                        c = b * e + e - a;
3603                    h.$TriggerEvent(o.$NAVIGATIONREQUEST, c)
3604                }
3605            }
3606            g.$Index = f;
3607            g.$Highlight = q;
3608            l = n.$Thumb || n.$Image || b.$CreateDiv();
3609            g.$Wrapper = c = b.$BuildElement(k, "thumbnailtemplate", l, d);
3610            m = b.$Buttonize(c);
3611            a.$ActionMode & 1 && b.$AddEvent(c, "click", b.$CreateCallback(j, i, 0));
3612            a.$ActionMode & 2 && b.$AddEvent(c, "mouseover", b.$MouseOverOutFilter(b.$CreateCallback(j, i, 1), c))
3613        }
3614        h.$GetCurrentIndex = function() {
3615            return p
3616        };
3617        h.$SetCurrentIndex = function(b, d, f) {
3618            var a = p;
3619            p = b;
3620            a != -1 && v[a].$Highlight();
3621            v[b].$Highlight();
3622            !f && s.$PlayTo(s.$GetVirtualIndex(c.floor(d / e)))
3623        };
3624        h.$Show = function(a) {
3625            b.$ShowElement(g, a)
3626        };
3627        var w;
3628        h.$Reset = function(F, D) {
3629            if (!w) {
3630                y = F;
3631                c.ceil(y / e);
3632                p = -1;
3633                m = c.min(m, D.length);
3634                var h = a.$Orientation & 1,
3635                    n = u + (u + q) * (e - 1) * (1 - h),
3636                    k = t + (t + r) * (e - 1) * h,
3637                    B = n + (n + q) * (m - 1) * h,
3638                    o = k + (k + r) * (m - 1) * (1 - h);
3639                b.$CssPosition(f, "absolute");
3640                b.$CssOverflow(f, "hidden");
3641                a.$AutoCenter & 1 && b.$CssLeft(f, (z - B) / 2);
3642                a.$AutoCenter & 2 && b.$CssTop(f, (x - o) / 2);
3643                b.$CssWidth(f, B);
3644                b.$CssHeight(f, o);
3645                var j = [];
3646                b.$Each(D, function(l, g) {
3647                    var i = new A(l, g),
3648                        d = i.$Wrapper,
3649                        a = c.floor(g / e),
3650                        k = g % e;
3651                    b.$CssLeft(d, (u + q) * k * (1 - h));
3652                    b.$CssTop(d, (t + r) * k * h);
3653                    if (!j[a]) {
3654                        j[a] = b.$CreateDiv();
3655                        b.$AppendChild(f, j[a])
3656                    }
3657                    b.$AppendChild(j[a], d);
3658                    v.push(i)
3659                });
3660                var E = b.$Extend({
3661                    $AutoPlay: l,
3662                    $NaviQuitDrag: l,
3663                    $SlideWidth: n,
3664                    $SlideHeight: k,
3665                    $SlideSpacing: q * h + r * (1 - h),
3666                    $MinDragOffsetToSlide: 12,
3667                    $SlideDuration: 200,
3668                    $PauseOnHover: 1,
3669                    $PlayOrientation: a.$Orientation,
3670                    $DragOrientation: a.$NoDrag || a.$DisableDrag ? 0 : a.$Orientation
3671                }, a);
3672                s = new i(g, E);
3673                w = d
3674            }
3675        };
3676        h.$Options = a = b.$Extend({
3677            $SpacingX: 0,
3678            $SpacingY: 0,
3679            $Cols: 1,
3680            $Orientation: 1,
3681            $AutoCenter: 3,
3682            $ActionMode: 1
3683        }, B);
3684        z = b.$CssWidth(g);
3685        x = b.$CssHeight(g);
3686        f = b.$FindChild(g, "slides", d);
3687        k = b.$FindChild(f, "prototype");
3688        u = b.$CssWidth(k);
3689        t = b.$CssHeight(k);
3690        b.$RemoveElement(k, f);
3691        e = a.$Rows || 1;
3692        q = a.$SpacingX;
3693        r = a.$SpacingY;
3694        m = a.$Cols;
3695        a.$Scale == l && b.$Attribute(g, "noscale", d)
3696    };
3697
3698    function q(e, d, c) {
3699        var a = this;
3700        m.call(a, 0, c);
3701        a.$Revert = b.$EmptyFunction;
3702        a.$IdleBegin = 0;
3703        a.$IdleEnd = c
3704    }
3705    k.$JssorCaptionSlideo$ = function(n, f, l) {
3706        var a = this,
3707            o, g = {},
3708            i = f.$Transitions,
3709            c = new m(0, 0);
3710        m.call(a, 0, 0);
3711
3712        function j(d, c) {
3713            var a = {};
3714            b.$Each(d, function(d, f) {
3715                var e = g[f];
3716                if (e) {
3717                    if (b.$IsPlainObject(d)) d = j(d, c || f == "e");
3718                    else if (c)
3719                        if (b.$IsNumeric(d)) d = o[d];
3720                    a[e] = d
3721                }
3722            });
3723            return a
3724        }
3725
3726        function k(e, c) {
3727            var a = [],
3728                d = b.$Children(e);
3729            b.$Each(d, function(d) {
3730                var h = b.$AttributeEx(d, "u") == "caption";
3731                if (h) {
3732                    var e = b.$AttributeEx(d, "t"),
3733                        g = i[b.$ParseInt(e)] || i[e],
3734                        f = {
3735                            $Elmt: d,
3736                            $Transition: g
3737                        };
3738                    a.push(f)
3739                }
3740                if (c < 5) a = a.concat(k(d, c + 1))
3741            });
3742            return a
3743        }
3744
3745        function r(d, e, a) {
3746            b.$Each(e, function(g) {
3747                var e = j(g),
3748                    f = b.$FormatEasings(e.$Easing);
3749                if (e.$Left) {
3750                    e.$MoveX = e.$Left;
3751                    f.$MoveX = f.$Left;
3752                    delete e.$Left
3753                }
3754                if (e.$Top) {
3755                    e.$MoveY = e.$Top;
3756                    f.$MoveY = f.$Top;
3757                    delete e.$Top
3758                }
3759                var h = {
3760                        $Easing: f,
3761                        $OriginalWidth: a.$Width,
3762                        $OriginalHeight: a.$Height
3763                    },
3764                    i = new m(g.b, g.d, h, d, a, e);
3765                c.$Combine(i);
3766                a = b.$AddDif(a, e)
3767            });
3768            return a
3769        }
3770
3771        function q(a) {
3772            b.$Each(a, function(f) {
3773                var a = f.$Elmt,
3774                    e = b.$CssWidth(a),
3775                    d = b.$CssHeight(a),
3776                    c = {
3777                        $Left: b.$CssLeft(a),
3778                        $Top: b.$CssTop(a),
3779                        $MoveX: 0,
3780                        $MoveY: 0,
3781                        $Opacity: 1,
3782                        $ZIndex: b.$CssZIndex(a) || 0,
3783                        $Rotate: 0,
3784                        $RotateX: 0,
3785                        $RotateY: 0,
3786                        $ScaleX: 1,
3787                        $ScaleY: 1,
3788                        $TranslateX: 0,
3789                        $TranslateY: 0,
3790                        $TranslateZ: 0,
3791                        $SkewX: 0,
3792                        $SkewY: 0,
3793                        $Width: e,
3794                        $Height: d,
3795                        $Clip: {
3796                            $Top: 0,
3797                            $Right: e,
3798                            $Bottom: d,
3799                            $Left: 0
3800                        }
3801                    };
3802                c.$OriginalX = c.$Left;
3803                c.$OriginalY = c.$Top;
3804                r(a, f.$Transition, c)
3805            })
3806        }
3807
3808        function t(g, f, h) {
3809            var e = g.b - f;
3810            if (e) {
3811                var b = new m(f, e);
3812                b.$Combine(c, d);
3813                b.$Shift(h);
3814                a.$Combine(b)
3815            }
3816            a.$Expand(g.d);
3817            return e
3818        }
3819
3820        function s(f) {
3821            var d = c.$GetPosition_OuterBegin(),
3822                e = 0;
3823            b.$Each(f, function(c, f) {
3824                c = b.$Extend({
3825                    d: l
3826                }, c);
3827                t(c, d, e);
3828                d = c.b;
3829                e += c.d;
3830                if (!f || c.t == 2) {
3831                    a.$IdleBegin = d;
3832                    a.$IdleEnd = d + c.d
3833                }
3834            })
3835        }
3836        a.$Revert = function() {
3837            a.$GoToPosition(-1, d)
3838        };
3839        o = [h.$Swing, h.$Linear, h.$InQuad, h.$OutQuad, h.$InOutQuad, h.$InCubic, h.$OutCubic, h.$InOutCubic, h.$InQuart, h.$OutQuart, h.$InOutQuart, h.$InQuint, h.$OutQuint, h.$InOutQuint, h.$InSine, h.$OutSine, h.$InOutSine, h.$InExpo, h.$OutExpo, h.$InOutExpo, h.$InCirc, h.$OutCirc, h.$InOutCirc, h.$InElastic, h.$OutElastic, h.$InOutElastic, h.$InBack, h.$OutBack, h.$InOutBack, h.$InBounce, h.$OutBounce, h.$InOutBounce, h.$GoBack, h.$InWave, h.$OutWave, h.$OutJump, h.$InJump];
3840        var u = {
3841            $Top: "y",
3842            $Left: "x",
3843            $Bottom: "m",
3844            $Right: "t",
3845            $Rotate: "r",
3846            $RotateX: "rX",
3847            $RotateY: "rY",
3848            $ScaleX: "sX",
3849            $ScaleY: "sY",
3850            $TranslateX: "tX",
3851            $TranslateY: "tY",
3852            $TranslateZ: "tZ",
3853            $SkewX: "kX",
3854            $SkewY: "kY",
3855            $Opacity: "o",
3856            $Easing: "e",
3857            $ZIndex: "i",
3858            $Clip: "c"
3859        };
3860        b.$Each(u, function(b, a) {
3861            g[b] = a
3862        });
3863        q(k(n, 1));
3864        c.$GoToPosition(-1);
3865        var p = f.$Breaks || [],
3866            e = [].concat(p[b.$ParseInt(b.$AttributeEx(n, "b"))] || []);
3867        e.push({
3868            b: c.$GetPosition_OuterEnd(),
3869            d: e.length ? 0 : l
3870        });
3871        s(e);
3872        a.$GoToPosition(-1)
3873    }
3874})(window, document, Math, null, true, false)

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.