1/* 2 * Table of content: 3 * 4 * 1. jQuery v2.2.0 5 * 2. Page scroll to id v1.5.9 6 * 3. Magnific Popup v1.1.0 7 * 4. jQuery ScrollAnimations v1.0.1 8 * 5. animsition v4.0.2 9 * 6. Swiper v4.0.7 10 * 7. Midnight.js 1.1.1 11 * 8. headroom.js v0.9.4 12 * 9. footer-reveal.js 13 * 10. Isotope PACKAGED v3.0.6 14 * 11. Typewriter 15 * 12. Particles.js v2.0.0 16 */ 17 18/* 1. 19 * jQuery JavaScript Library v2.2.0 20 * http://jquery.com/ 21 * 22 * Includes Sizzle.js 23 * http://sizzlejs.com/ 24 * 25 * Copyright jQuery Foundation and other contributors 26 * Released under the MIT license 27 * http://jquery.org/license 28 * 29 * Date: 2016-01-08T20:02Z 30 */ 31 32 33/* 2. 34 * Page scroll to id 35 * Version: 1.5.9 36 * Plugin URI: http://manos.malihu.gr/page-scroll-to-id/ 37 * Author: malihu 38 * Author URI: http://manos.malihu.gr 39 * License: MIT License (MIT) 40 */ 41!(function (e, t, a, l) { 42 var n, 43 s, 44 i, 45 o, 46 r, 47 c, 48 u, 49 h, 50 g, 51 f, 52 d, 53 p, 54 _ = "mPageScroll2id", 55 C = "mPS2id", 56 v = { 57 scrollSpeed: 1e3, 58 autoScrollSpeed: !0, 59 scrollEasing: "easeInOutQuint", 60 scrollingEasing: "easeOutQuint", 61 pageEndSmoothScroll: !0, 62 layout: "vertical", 63 offset: 0, 64 highlightSelector: !1, 65 clickedClass: C + "-clicked", 66 targetClass: C + "-target", 67 highlightClass: C + "-highlight", 68 forceSingleHighlight: !1, 69 keepHighlightUntilNext: !1, 70 highlightByNextTarget: !1, 71 disablePluginBelow: !1, 72 clickEvents: !0, 73 appendHash: !1, 74 onStart: function () {}, 75 onComplete: function () {}, 76 defaultSelector: !1, 77 live: !0, 78 liveSelector: !1, 79 }, 80 m = 0, 81 S = { 82 init: function (l) { 83 l = e.extend(!0, {}, v, l); 84 if ((e(a).data(C, l), (s = e(a).data(C)), !this.selector)) { 85 var c = "__" + C; 86 this.each(function () { 87 var t = e(this); 88 t.hasClass(c) || t.addClass(c); 89 }), 90 (this.selector = "." + c); 91 } 92 s.liveSelector && (this.selector += "," + s.liveSelector), 93 (n = n ? n + "," + this.selector : this.selector), 94 s.defaultSelector && (("object" == typeof e(n) && 0 !== e(n).length) || (n = ".m_PageScroll2id,a[rel~='m_PageScroll2id'],.page-scroll-to-id,a[rel~='page-scroll-to-id'],._ps2id")), 95 s.clickEvents && 96 e(a) 97 .undelegate("." + C) 98 .delegate(n, "click." + C, function (t) { 99 if (I._isDisabled.call(null)) I._removeClasses.call(null); 100 else { 101 var a = e(this), 102 l = a.attr("href"), 103 n = a.prop("href").baseVal || a.prop("href"); 104 (l && -1 !== l.indexOf("#/")) || 105 (I._reset.call(null), 106 (f = a.data("ps2id-offset") || 0), 107 I._isValid.call(null, l, n) && I._findTarget.call(null, l) && (t.preventDefault(), (o = "selector"), (r = a), I._setClasses.call(null, !0), I._scrollTo.call(null))); 108 } 109 }), 110 e(t) 111 .unbind("." + C) 112 .bind("scroll." + C + " resize." + C, function () { 113 if (I._isDisabled.call(null)) I._removeClasses.call(null); 114 else { 115 var t = e("._" + C + "-t"); 116 t.each(function (a) { 117 var l = e(this), 118 n = l.attr("id"), 119 s = I._findHighlight.call(null, n); 120 I._setClasses.call(null, !1, l, s), a == t.length - 1 && I._extendClasses.call(null); 121 }); 122 } 123 }), 124 (i = !0), 125 I._setup.call(null), 126 I._live.call(null); 127 }, 128 scrollTo: function (t, a) { 129 if (I._isDisabled.call(null)) I._removeClasses.call(null); 130 else if (t && void 0 !== t) { 131 I._isInit.call(null); 132 var l = { layout: s.layout, offset: s.offset, clicked: !1 }; 133 a = e.extend(!0, {}, l, a); 134 I._reset.call(null), 135 (h = a.layout), 136 (g = a.offset), 137 (t = -1 !== t.indexOf("#") ? t : "#" + t), 138 I._isValid.call(null, t) && I._findTarget.call(null, t) && ((o = "scrollTo"), (r = a.clicked) && I._setClasses.call(null, !0), I._scrollTo.call(null)); 139 } 140 }, 141 destroy: function () { 142 e(t).unbind("." + C), 143 e(a) 144 .undelegate("." + C) 145 .removeData(C), 146 e("._" + C + "-t").removeData(C), 147 I._removeClasses.call(null, !0); 148 }, 149 }, 150 I = { 151 _isDisabled: function () { 152 var e = t, 153 l = "inner", 154 n = s.disablePluginBelow instanceof Array ? [s.disablePluginBelow[0] || 0, s.disablePluginBelow[1] || 0] : [s.disablePluginBelow || 0, 0]; 155 return "innerWidth" in t || ((l = "client"), (e = a.documentElement || a.body)), e[l + "Width"] <= n[0] || e[l + "Height"] <= n[1]; 156 }, 157 _isValid: function (e, a) { 158 if (e) { 159 var l = -1 !== (a = a || e).indexOf("#/") ? a.split("#/")[0] : a.split("#")[0], 160 n = t.location.toString().split("#")[0]; 161 return "#" !== e && -1 !== e.indexOf("#") && ("" === l || decodeURIComponent(l) === decode
161URIComponent(n)); 162 } 163 }, 164 _setup: function () { 165 var t = I._highlightSelector(), 166 a = 1, 167 l = 0; 168 return e(t).each(function () { 169 var n = e(this), 170 i = n.attr("href"), 171 o = n.prop("href").baseVal || n.prop("href"); 172 if (I._isValid.call(null, i, o)) { 173 var r = -1 !== i.indexOf("#/") ? i.split("#/")[1] : i.split("#")[1], 174 c = e("#" + r); 175 if (c.length > 0) { 176 s.highlightByNextTarget && c !== l && (l ? l.data(C, { tn: c }) : c.data(C, { tn: "0" }), (l = c)), 177 c.hasClass("_" + C + "-t") || c.addClass("_" + C + "-t"), 178 c.data(C, { i: a }), 179 n.hasClass("_" + C + "-h") || n.addClass("_" + C + "-h"); 180 var u = I._findHighlight.call(null, r); 181 I._setClasses.call(null, !1, c, u), (m = a), ++a == e(t).length && I._extendClasses.call(null); 182 } 183 } 184 }); 185 }, 186 _highlightSelector: function () { 187 return s.highlightSelector && "" !== s.highlightSelector ? s.highlightSelector : n; 188 }, 189 _findTarget: function (t) { 190 var a = -1 !== t.indexOf("#/") ? t.split("#/")[1] : t.split("#")[1], 191 l = e("#" + a); 192 if (l.length < 1 || "fixed" === l.css("position")) { 193 if ("top" !== a) return; 194 l = e("body"); 195 } 196 return (c = l), h || (h = s.layout), (g = I._setOffset.call(null)), ((u = [(l.offset().top - g[0]).toString(), (l.offset().left - g[1]).toString()])[0] = u[0] < 0 ? 0 : u[0]), (u[1] = u[1] < 0 ? 0 : u[1]), u; 197 }, 198 _setOffset: function () { 199 var t, a, l, n; 200 switch ((g || (g = s.offset ? s.offset : 0), f && (g = f), typeof g)) { 201 case "object": 202 case "string": 203 (a = [(t = [g.y ? g.y : g, g.x ? g.x : g])[0] instanceof jQuery ? t[0] : e(t[0]), t[1] instanceof jQuery ? t[1] : e(t[1])])[0].length > 0 204 ? ((l = a[0].height()), "fixed" === a[0].css("position") && (l += a[0][0].offsetTop)) 205 : (l = !isNaN(parseFloat(t[0])) && isFinite(t[0]) ? parseInt(t[0]) : 0), 206 a[1].length > 0 ? ((n = a[1].width()), "fixed" === a[1].css("position") && (n += a[1][0].offsetLeft)) : (n = !isNaN(parseFloat(t[1])) && isFinite(t[1]) ? parseInt(t[1]) : 0); 207 break; 208 case "function": 209 (t = g.call(null)) instanceof Array ? ((l = t[0]), (n = t[1])) : (l = n = t); 210 break; 211 default: 212 l = n = parseInt(g); 213 } 214 return [l, n]; 215 }, 216 _findHighlight: function (a) { 217 var l = t.location, 218 n = l.toString().split("#")[0], 219 s = l.pathname; 220 return e( 221 "._" + 222 C + 223 "-h[href='#" + 224 a + 225 "'],._" + 226 C + 227 "-h[href='" + 228 n + 229 "#" + 230 a + 231 "'],._" + 232 C + 233 "-h[href='" + 234 s + 235 "#" + 236 a + 237 "'],._" + 238 C + 239 "-h[href='#/" + 240 a + 241 "'],._" + 242 C + 243 "-h[href='" + 244 n + 245 "#/" + 246 a + 247 "'],._" + 248 C + 249 "-h[href='" + 250 s + 251 "#/" + 252 a + 253 "']" 254 ); 255 }, 256 _setClasses: function (t, a, l) { 257 var n = s.clickedClass, 258 i = s.targetClass, 259 o = s.highlightClass; 260 t && n && "" !== n 261 ? (e("." + n).removeClass(n), r.addClass(n)) 262 : a && i && "" !== i && l && o && "" !== o && (I._currentTarget.call(null, a) ? (
262a.addClass(i), l.addClass(o)) : (!s.keepHighlightUntilNext || e("." + o).length > 1) && (a.removeClass(i), l.removeClass(o))); 263 }, 264 _extendClasses: function () { 265 var t = s.targetClass, 266 a = s.highlightClass, 267 l = e("." + t), 268 n = e("." + a), 269 i = t + "-first", 270 o = t + "-last", 271 r = a + "-first", 272 c = a + "-last"; 273 e("._" + C + "-t").removeClass(i + " " + o), 274 e("._" + C + "-h").removeClass(r + " " + c), 275 s.forceSingleHighlight 276 ? s.keepHighlightUntilNext && l.length > 1 277 ? (l.slice(0, 1).removeClass(t), n.slice(0, 1).removeClass(a)) 278 : (l.slice(1).removeClass(t), n.slice(1).removeClass(a)) 279 : (l.slice(0, 1).addClass(i).end().slice(-1).addClass(o), n.slice(0, 1).addClass(r).end().slice(-1).addClass(c)); 280 }, 281 _removeClasses: function (t) { 282 e("." + s.clickedClass).removeClass(s.clickedClass), 283 e("." + s.targetClass).removeClass(s.targetClass + " " + s.targetClass + "-first " + s.targetClass + "-last"), 284 e("." + s.highlightClass).removeClass(s.highlightClass + " " + s.highlightClass + "-first " + s.highlightClass + "-last"), 285 t && (e("._" + C + "-t").removeClass("_" + C + "-t"), e("._" + C + "-h").removeClass("_" + C + "-h")); 286 }, 287 _currentTarget: function (a) { 288 var l = s["target_" + a.data(C).i], 289 n = a.data("ps2id-target"), 290 i = n && e(n)[0] ? e(n)[0].getBoundingClientRect() : a[0].getBoundingClientRect(); 291 if (void 0 !== l) { 292 var o = a.offset().top, 293 r = a.offset().left, 294 c = l.from ? l.from + o : o, 295 u = l.to ? l.to + o : o, 296 h = l.fromX ? l.fromX + r : r, 297 g = l.toX ? l.toX + r : r; 298 return i.top >= u && i.top <= c && i.left >= g && i.left <= h; 299 } 300 var f = e(t).height(), 301 d = e(t).width(), 302 p = n ? e(n).height() : a.height(), 303 _ = n ? e(n).width() : a.width(), 304 v = 1 + p / f, 305 m = v, 306 S = p < f ? v * (f / p) : v, 307 I = 1 + _ / d, 308 O = I, 309 M = _ < d ? I * (d / _) : I, 310 b = [i.top <= f / m, i.bottom >= f / S, i.left <= d / O, i.right >= d / M]; 311 if (s.highlightByNextTarget) { 312 var w = a.data(C).tn; 313 if (w) { 314 var y = w[0].getBoundingClientRect(); 315 "vertical" === s.layout ? (b = [i.top <= f / 2, y.top > f / 2, 1, 1]) : "horizontal" === s.layout && (b = [1, 1, i.left <= d / 2, y.left > d / 2]); 316 } 317 } 318 return b[0] && b[1] && b[2] && b[3]; 319 }, 320 _scrollTo: function () { 321 (p = I._scrollSpeed.call(null)), (u = s.pageEndSmoothScroll ? I._pageEndSmoothScroll.call(null) : u); 322 var a = e("html,body"), 323 l = s.autoScrollSpeed ? I._autoScrollSpeed.call(null) : p, 324 n = a.is(":animated") ? s.scrollingEasing : s.scrollEasing, 325 i = e(t).scrollTop(), 326 o = e(t).scrollLeft(); 327 switch (h) { 328 case "horizontal": 329 o != u[1] && 330 (I._callbacks.call(null, "onStart"), 331 a 332 .stop() 333 .animate({ scrollLeft: u[1] }, l, n) 334 .promise() 335 .then(function () { 336 I._callbacks.call(null, "onComplete"); 337 })); 338 break; 339 case "auto": 340 var r; 341 if (i != u[0] || o != u[1]) 342 if ((I._callbacks.call(null, "onStart"), navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/))) 343 a.stop() 344 .animate( 345 { pageYOffset: u[0], pageXOffset: u[1] }, 346 { 347 duration: l, 348 easing: n, 349 step: function (e, a) { 350 "pageXOffset" == a.prop ? (r = e) : "pageYOffset" == a.prop && t.scrollTo(r, e); 351 }, 352 } 353 ) 354 .promise() 355 .then(function () { 356 I._callbacks.call(null, "onComplete"); 357 }); 358 else 359 a.stop() 360 .animate({ scrollTop: u[0], scrollLeft: u[1] }, l, n) 361 .promise() 362 .then(function () { 363 I._callbacks.call(null, "onComplete"); 364 }); 365 break; 366 default: 367 i != u[0] && 368 (I._callbacks.call(null, "onStart"), 369 a 370 .stop() 371 .animate({ scrollTop: u[0] }, l, n) 372 .promise() 373 .then(function () { 374 I._callbacks.call(null, "onComplete"); 375 })); 376 } 377 }, 378 _pageEndSmoothScroll: function () { 379 var l = e(a).height(), 380 n = e(a).width(), 381 s = e(t).height(), 382 i = e(t).width(); 383 return [l - u[0] < s ? l - s : u[0], n - u[1] < i ? n - i : u[1]]; 384 }, 385 _scrollSpeed: function () { 386 var t = s.scrollSpeed; 387 return ( 388 r && 389 r.length && 390 r.add(r.parent()).each(function () { 391 var a = e(this); 392 if (a.attr("class")) { 393 var l = a.attr("class").split(" "); 394 for (var n in l) 395 if (String(l[n]).match(/^ps2id-speed-\d+$/)) { 396 t = l[n].split("ps2id-speed-")[1]; 397 break; 398 } 399 } 400 }), 401 parseInt(t) 402 ); 403 }, 404 _autoScrollSpeed: function () { 405 var l = e(t).scrollTop(), 406 n = e(t).scrollLeft(), 407 s = e(a).height(), 408 i = e(a).width(), 409 o = [p + (p * Math.floor((Math.abs(u[0] - l) / s) * 100)) / 100, p + (p * Math.floor((Math.abs(u[1] - n) / i) * 100)) / 100]; 410 return Math.max.apply(Math, o); 411 }, 412 _callbacks: function (e) { 413 if (s) 414 switch (((this[C] = { trigger: o, clicked: r, target: c, scrollTo: { y: u[0], x: u[1] } }), e)) { 415 case "onStart": 416 if (s.appendHash && t.history && t.history.pushState && r && r.length) { 417 var a = "#" + r.attr("href").split("#")[1]; 418 a !== t.location.hash && history.pushState("", "", a); 419 } 420 s.onStart.call(null, this[C]); 421 break; 422 case "onComplete": 423 s.onComplete.call(null, this[C]); 424 } 425 }, 426 _reset: function () { 427 h = g = f = !1; 428 }, 429 _isInit: function () { 430 i || S.init.apply(this); 431 }, 432 _live: function () { 433 d = setTimeout(function () { 434 s.live ? e(I._highlightSelector()).length !== m && I._setup.call(null) : d && clearTimeout(d), I._live.call(null); 435 }, 1e3); 436 }, 437 _easing: function () { 438 function t(e) { 439 var t = 7.5625, 440 a = 2.75; 441 return e < 1 / a ? t * e * e : e < 2 / a ? t * (e -= 1.5 / a) * e + 0.75 : e < 2.5 / a ? t * (e -= 2.25 / a) * e + 0.9375 : t * (e -= 2.625 / a) * e + 0.984375; 442 } 443 (e.easing.easeInQuad = 444 e.easing.easeInQuad || 445 function (e) { 446 return e * e; 447 }), 448 (e.easing.easeOutQuad = 449 e.easing.easeOutQuad || 450 function (e) { 451 return 1 - (1 - e) * (1 - e); 452 }), 453 (e.easing.easeInOutQuad = 454 e.easing.easeInOutQuad || 455 function (e) { 456 return e < 0.5 ? 2 * e * e : 1 - Math.pow(-2 * e + 2, 2) / 2; 457 }), 458 (e.easing.easeInCubic = 459 e.easing.easeInCubic || 460 function (e) { 461 return e * e * e; 462 }), 463 (e.easing.easeOutCubic = 464 e.easing.easeOutCubic || 465 function (e) { 466 return 1 - Math.pow(1 - e, 3); 467 }), 468 (e.easing.easeInOutCubic = 469 e.easing.easeInOutCubic || 470 function (e) { 471 return e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2; 472 }), 473 (e.easing.easeInQuart = 474 e.easing.easeInQuart || 475 function (e) { 476 return e * e * e * e; 477 }), 478 (e.easing.easeOutQuart = 479 e.easing.easeOutQuart || 480 function (e) { 481 return 1 - Math.pow(1 - e, 4); 482 }), 483 (e.easing.easeInOutQuart = 484 e.easing.easeInOutQuart || 485 function (e) { 486 return e < 0.5 ? 8 * e * e * e * e : 1 - Math.pow(-2 * e + 2, 4) / 2; 487 }), 488 (e.easing.easeInQuint = 489 e.easing.easeInQuint || 490 function (e) { 491 return e * e * e * e * e; 492 }), 493 (e.easing.easeOutQuint = 494 e.easing.easeOutQuint || 495 function (e) { 496 return 1 - Math.pow(1 - e, 5); 497 }), 498 (e.easing.easeInOutQuint = 499 e.easing.easeInOutQuint || 500 function (e) { 501 return e < 0.5 ? 16 * e * e * e * e * e : 1 - Math.pow(-2 * e + 2, 5) / 2; 502 }), 503 (e.easing.easeInExpo = 504 e.easing.easeInExpo || 505 function (e) { 506 return 0 === e ? 0 : Math.pow(2, 10 * e - 10); 507 }), 508 (e.easing.easeOutExpo = 509 e.easing.easeOutExpo || 510 function (e) { 511 return 1 === e ? 1 : 1 - Math.pow(2, -10 * e); 512 }), 513 (e.easing.easeInOutExpo = 514 e.easing.easeInOutExpo || 515 function (e) { 516 return 0 === e ? 0 : 1 === e ? 1 : e < 0.5 ? Math.pow(2, 20 * e - 10) / 2 : (2 - Math.pow(2, -20 * e + 10)) / 2; 517 }), 518 (e.easing.easeInSine = 519 e.easing.easeInSine || 520 function (e) { 521 return 1 - Math.cos((e * Math.PI) / 2); 522 }), 523 (e.easing.easeOutSine = 524 e.easing.easeOutSine || 525 function (e) { 526 return Math.sin((e * Math.PI) / 2); 527 }), 528 (e.easing.easeInOutSine = 529 e.easing.easeInOutSine || 530 function (e) { 531 return -(Math.cos(Math.PI * e) - 1) / 2; 532 }), 533 (e.easing.easeInCirc = 534 e.easing.easeInCirc || 535 function (e) { 536 return 1 - Math.sqrt(1 - Math.pow(e, 2)); 537 }), 538 (e.easing.easeOutCirc = 539 e.easing.easeOutCirc || 540 function (e) { 541 return Math.sqrt(1 - Math.pow(e - 1, 2)); 542 }), 543 (e.easing.easeInOutCirc = 544 e.easing.easeInOutCirc || 545 function (e) { 546 return e < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * e, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * e + 2, 2)) + 1) / 2; 547 }), 548 (e.easing.easeInElastic = 549 e.easing.easeInElastic || 550 function (e) { 551 return 0 === e ? 0 : 1 === e ? 1 : -Math.pow(2, 10 * e - 10) * Math.sin((10 * e - 10.75) * ((2 * Math.PI) / 3)); 552 }), 553 (e.easing.easeOutElastic = 554 e.easing.easeOutElastic || 555 function (e) { 556 return 0 === e ? 0 : 1 === e ? 1 : Math.pow(2, -10 * e) * Math.sin((10 * e - 0.75) * ((2 * Math.PI) / 3)) + 1; 557 }), 558 (e.easing.easeInOutElastic = 559 e.easing.easeInOutElastic || 560 function (e) { 561 return 0 === e 562 ? 0 563 : 1 === e 564 ? 1 565 : e < 0.5 566 ? (-Math.pow(2, 20 * e - 10) * Math.sin((20 * e - 11.
566125) * ((2 * Math.PI) / 4.5))) / 2 567 : (Math.pow(2, -20 * e + 10) * Math.sin((20 * e - 11.125) * ((2 * Math.PI) / 4.5))) / 2 + 1; 568 }), 569 (e.easing.easeInBack = 570 e.easing.easeInBack || 571 function (e) { 572 return 2.70158 * e * e * e - 1.70158 * e * e; 573 }), 574 (e.easing.easeOutBack = 575 e.easing.easeOutBack || 576 function (e) { 577 return 1 + 2.70158 * Math.pow(e - 1, 3) + 1.70158 * Math.pow(e - 1, 2); 578 }), 579 (e.easing.easeInOutBack = 580 e.easing.easeInOutBack || 581 function (e) { 582 return e < 0.5 ? (Math.pow(2 * e, 2) * (7.189819 * e - 2.5949095)) / 2 : (Math.pow(2 * e - 2, 2) * (3.5949095 * (2 * e - 2) + 2.5949095) + 2) / 2; 583 }), 584 (e.easing.easeInBounce = 585 e.easing.easeInBounce || 586 function (e) { 587 return 1 - t(1 - e); 588 }), 589 (e.easing.easeOutBounce = e.easing.easeOutBounce || t), 590 (e.easing.easeInOutBounce = 591 e.easing.easeInOutBounce || 592 function (e) { 593 return e < 0.5 ? (1 - t(1 - 2 * e)) / 2 : (1 + t(2 * e - 1)) / 2; 594 }); 595 }, 596 }; 597 I._easing.call(), 598 (e.fn[_] = function (t) { 599 return S[t] ? S[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : S.init.apply(this, arguments); 600 }), 601 (e[_] = function (t) { 602 return S[t] ? S[t].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof t && t ? void e.error("Method " + t + " does not exist") : S.init.apply(this, arguments); 603 }), 604 (e[_].defaults = v); 605})(jQuery, window, document); 606 607/* 3. 608 * Magnific Popup 609 * Version: 1.1.0 - 2016-02-20 610 * http://dimsemenov.com/plugins/magnific-popup/ 611 * Copyright (c) 2016 Dmitry Semenov; 612 * License: MIT License (MIT) 613 */ 614!(function (e) { 615 "function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? e(require("jquery")) : e(window.jQuery || window.Zepto); 616})(function (e) { 617 var t, 618 n, 619 i, 620 o, 621 r, 622 a, 623 s = "Close", 624 l = "BeforeClose", 625 c = "MarkupParse", 626 d = "Open", 627 u = "Change", 628 p = "mfp", 629 f = "." + p, 630 m = "mfp-ready", 631 g = "mfp-removing", 632 h = "mfp-prevent-close", 633 v = function () {}, 634 y = !!window.jQuery, 635 C = e(window), 636 w = function (e, n) { 637 t.ev.on(p + e + f, n); 638 }, 639 b = function (t, n, i, o) { 640 var r = document.createElement("div"); 641 return (r.className = "mfp-" + t), i && (r.innerHTML = i), o ? n && n.appendChild(r) : ((r = e(r)), n && r.appendTo(n)), r; 642 }, 643 I = function (n, i) { 644 t.ev.triggerHandler(p + n, i), t.st.callbacks && ((n = n.charAt(0).toLowerCase() + n.slice(1)), t.st.callbacks[n] && t.st.callbacks[n].apply(t, e.isArray(i) ? i : [i])); 645 }, 646 x = function (n) { 647 return (n === a && t.currTemplate.closeBtn) || ((t.currTemplate.closeBtn = e(t.st.closeMarkup.replace("%title%", t.st.tClose))), (a = n)), t.currTemplate.closeBtn; 648 }, 649 k = function () { 650 e.magnificPopup.instance || ((t = new v()).init(), (e.magnificPopup.instance = t)); 651 }; 652 (v.prototype = { 653 constructor: v, 654 init: function () { 655 var n = navigator.appVersion; 656 (t.isLowIE = t.isIE8 = document.all && !document.addEventListener), 657 (t.isAndroid = /android/gi.test(n)), 658 (t.isIOS = /iphone|ipad|ipod/gi.test(n)),
659 (t.supportsTransition = (function () { 660 var e = document.createElement("p").style, 661 t = ["ms", "O", "Moz", "Webkit"]; 662 if (void 0 !== e.transition) return !0; 663 for (; t.length; ) if (t.pop() + "Transition" in e) return !0; 664 return !1; 665 })()), 666 (t.probablyMobile = t.isAndroid || t.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)), 667 (i = e(document)), 668 (t.popupsCache = {}); 669 }, 670 open: function (n) { 671 var o; 672 if (!1 === n.isObj) { 673 (t.items = n.items.toArray()), (t.index = 0); 674 var a, 675 s = n.items; 676 for (o = 0; o < s.length; o++) 677 if (((a = s[o]).parsed && (a = a.el[0]), a === n.el[0])) { 678 t.index = o; 679 break; 680 } 681 } else (t.items = e.isArray(n.items) ? n.items : [n.items]), (t.index = n.index || 0); 682 if (!t.isOpen) { 683 (t.types = []), 684 (r = ""), 685 n.mainEl && n.mainEl.length ? (t.ev = n.mainEl.eq(0)) : (t.ev = i), 686 n.key ? (t.popupsCache[n.key] || (t.popupsCache[n.key] = {}), (t.currTemplate = t.popupsCache[n.key])) : (t.currTemplate = {}), 687 (t.st = e.extend(!0, {}, e.magnificPopup.defaults, n)), 688 (t.fixedContentPos = "auto" === t.st.fixedContentPos ? !t.probablyMobile : t.st.fixedContentPos), 689 t.st.modal && ((t.st.closeOnContentClick = !1), (t.st.closeOnBgClick = !1), (t.st.showCloseBtn = !1), (t.st.enableEscapeKey = !1)), 690 t.bgOverlay || 691 ((t.bgOverlay = b("bg").on("click" + f, function () { 692 t.close(); 693 })), 694 (t.wrap = b("wrap") 695 .attr("tabindex", -1) 696 .on("click" + f, function (e) { 697 t._checkIfClose(e.target) && t.close(); 698 })), 699 (t.container = b("container", t.wrap))), 700 (t.contentContainer = b("content")), 701 t.st.preloader && (t.preloader = b("preloader", t.container, t.st.tLoading)); 702 var l = e.magnificPopup.modules; 703 for (o = 0; o < l.length; o++) { 704 var u = l[o]; 705 (u = u.charAt(0).toUpperCase() + u.slice(1)), t["init" + u].call(t); 706 } 707 I("BeforeOpen"), 708 t.st.showCloseBtn && 709 (t.st.closeBtnInside 710 ? (w(c, function (e, t, n, i) { 711 n.close_replaceWith = x(i.type); 712 }), 713 (r += " mfp-close-btn-in")) 714 : t.wrap.append(x())), 715 t.st.alignTop && (r += " mfp-align-top"), 716 t.fixedContentPos ? t.wrap.css({ overflow: t.st.overflowY, overflowX: "hidden", overflowY: t.st.overflowY }) : t.wrap.css({ top: C.scrollTop(), position: "absolute" }), 717 (!1 === t.st.fixedBgPos || ("auto" === t.st.fixedBgPos && !t.fixedContentPos)) && t.bgOverlay.css({ height: i.height(), position: "absolute" }), 718 t.st.enableEscapeKey && 719 i.on("keyup" + f, function (e) { 720 27 === e.keyCode && t.close(); 721 }), 722 C.on("resize" + f, function () { 723 t.updateSize(); 724 }), 725 t.st.closeOnContentClick || (r += " mfp-auto-cursor"), 726 r && t.wrap.addClass(r); 727 var p = (t.wH = C.height()), 728 g = {}; 729 if (t.fixedContentPos && t._hasScrollBar(p)) {
730 var h = t._getScrollbarSize(); 731 h && (g.marginRight = h); 732 } 733 t.fixedContentPos && (t.isIE7 ? e("body, html").css("overflow", "hidden") : (g.overflow = "hidden")); 734 var v = t.st.mainClass; 735 return ( 736 t.isIE7 && (v += " mfp-ie7"), 737 v && t._addClassToMFP(v), 738 t.updateItemHTML(), 739 I("BuildControls"), 740 e("html").css(g), 741 t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo || e(document.body)), 742 (t._lastFocusedEl = document.activeElement), 743 setTimeout(function () { 744 t.content ? (t._addClassToMFP(m), t._setFocus()) : t.bgOverlay.addClass(m), i.on("focusin" + f, t._onFocusIn); 745 }, 16), 746 (t.isOpen = !0), 747 t.updateSize(p), 748 I(d), 749 n 750 ); 751 } 752 t.updateItemHTML(); 753 }, 754 close: function () { 755 t.isOpen && 756 (I(l), 757 (t.isOpen = !1), 758 t.st.removalDelay && !t.isLowIE && t.supportsTransition 759 ? (t._addClassToMFP(g), 760 setTimeout(function () { 761 t._close(); 762 }, t.st.removalDelay)) 763 : t._close()); 764 }, 765 _close: function () { 766 I(s); 767 var n = g + " " + m + " "; 768 if ((t.bgOverlay.detach(), t.wrap.detach(), t.container.empty(), t.st.mainClass && (n += t.st.mainClass + " "), t._removeClassFromMFP(n), t.fixedContentPos)) { 769 var o = { marginRight: "" }; 770 t.isIE7 ? e("body, html").css("overflow", "") : (o.overflow = ""), e("html").css(o); 771 } 772 i.off("keyup.mfp focusin" + f), 773 t.ev.off(f), 774 t.wrap.attr("class", "mfp-wrap").removeAttr("style"), 775 t.bgOverlay.attr("class", "mfp-bg"), 776 t.container.attr("class", "mfp-container"), 777 !t.st.showCloseBtn || (t.st.closeBtnInside && !0 !== t.currTemplate[t.currItem.type]) || (t.currTemplate.closeBtn && t.currTemplate.closeBtn.detach()), 778 t.st.autoFocusLast && t._lastFocusedEl && e(t._lastFocusedEl).focus(), 779 (t.currItem = null), 780 (t.content = null), 781 (t.currTemplate = null), 782 (t.prevHeight = 0), 783 I("AfterClose"); 784 }, 785 updateSize: function (e) { 786 if (t.isIOS) { 787 var n = document.documentElement.clientWidth / window.innerWidth, 788 i = window.innerHeight * n; 789 t.wrap.css("height", i), (t.wH = i); 790 } else t.wH = e || C.height(); 791 t.fixedContentPos || t.wrap.css("height", t.wH), I("Resize"); 792 }, 793 updateItemHTML: function () { 794 var n = t.items[t.index]; 795 t.contentContainer.detach(), t.content && t.content.detach(), n.parsed || (n = t.parseEl(t.index)); 796 var i = n.type; 797 if ((I("BeforeChange", [t.currItem ? t.currItem.type : "", i]), (t.currItem = n), !t.currTemplate[i])) { 798 var r = !!t.st[i] && t.st[i].markup; 799 I("FirstMarkupParse", r), (t.currTemplate[i] = !r || e(r)); 800 } 801 o && o !== n.type && t.container.removeClass("mfp-" + o + "-holder"); 802 var a = t["get" + i.charAt(0).toUpperCase() + i.slice(1)](n, t.currTemplate[i]); 803 t.appendContent(a, i), (n.preloaded = !0), I(u, n), (o = n.type), t.container.prepend(t.contentContainer), I("AfterChange"); 804 }, 805 appendContent: function (e, n) { 806 (t.content = e), 807 e ? (t.st.showCloseBtn && t.st.closeBtnInside && !0 === t.currTemplate[n] ? t.content.find(".mfp-close").length || t.content.append(x()) : (t.content = e)) : (t.content = ""), 808 I("BeforeAppend"), 809 t.container.addClass("mfp-" + n + "-holder"), 810 t.contentContainer.append(t.content); 811 }, 812 parseEl: function (n) { 813 var i, 814 o = t.items[n]; 815 if ((o.tagName ? (o = { el: e(o) }) : ((i = o.type), (o = { data: o, src: o.src })), o.el)) { 816 for (var r = t.types, a = 0; a < r.length; a++) 817 if (o.el.hasClass("mfp-" + r[a])) { 818 i = r[a]; 819 break; 820 } 821 (o.src = o.el.attr("data-mfp-src")), o.src || (o.src = o.el.attr("href")); 822 } 823 return (o.type = i || t.st.type || "inline"), (o.index = n), (o.parsed = !0), (t.items[n] = o), I("ElementParse", o), t.items[n]; 824 }, 825 addGroup: function (e, n) { 826 var i = function (i) { 827 (i.mfpEl = this), t._openClick(i, e, n); 828 }; 829 n || (n = {}); 830 var o = "click.magnificPopup"; 831 (n.mainEl = e), n.items ? ((n.isObj = !0), e.off(o).on(o, i)) : ((n.isObj = !1), n.delegate ? e.off(o).on(o, n.delegate, i) : ((n.items = e), e.off(o).on(o, i))); 832 }, 833 _openClick: function (n, i, o) { 834 if ((void 0 !== o.midClick ? o.midClick : e.magnificPopup.defaults.midClick) || !(2 === n.which || n.ctrlKey || n.metaKey || n.altKey || n.shiftKey)) { 835 var r = void 0 !== o.disableOn ? o.disableOn : e.magnificPopup.defaults.disableOn; 836 if (r) 837 if (e.isFunction(r)) { 838 if (!r.call(t)) return !0; 839 } else if (C.width() < r) return !0; 840 n.type && (n.preventDefault(), t.isOpen && n.stopPropagation()), (o.el = e(n.mfpEl)), o.delegate && (o.items = i.find(o.delegate)), t.open(o); 841 } 842 }, 843 updateStatus: function (e, i) { 844 if (t.preloader) { 845 n !== e && t.container.removeClass("mfp-s-" + n), i || "loading" !== e || (i = t.st.tLoading); 846 var o = { status: e, text: i }; 847 I("UpdateStatus", o), 848 (e = o.status), 849 (i = o.text), 850 t.preloader.html(i), 851 t.preloader.find("a").on("click", function (e) { 852 e.stopImmediatePropagation(); 853 }), 854 t.container.addClass("mfp-s-" + e), 855 (n = e); 856 } 857 }, 858 _checkIfClose: function (n) { 859 if (!e(n).hasClass(h)) { 860 var i = t.st.closeOnContentClick, 861 o = t.st.closeOnBgClick; 862 if (i && o) return !0; 863 if (!t.content || e(n).hasClass("mfp-close") || (t.preloader && n === t.preloader[0])) return !0; 864 if (n === t.content[0] || e.contains(t.content[0], n)) { 865 if (i) return !0; 866 } else if (o && e.contains(document, n)) return !0; 867 return !1; 868 } 869 }, 870 _addClassToMFP: function (e) { 871 t.bgOverlay.addClass(e), t.wrap.addClass(e); 872 }, 873 _removeClassFromMFP: function (e) { 874 this.bgOverlay.removeClass(e), t.wrap.removeClass(e); 875 }, 876 _hasScrollBar: function (e) { 877 return (t.isIE7 ? i.height() : document.body.scrollHeight) > (e || C.height()); 878 }, 879 _setFocus: function () { 880 (t.st.focus ? t.content.find(t.st.focus).eq(0) : t.wrap).focus(); 881 }, 882 _onFocusIn: function (n) { 883 if (n.target !== t.wrap[0] && !e.contains(t.wrap[0], n.target)) return t._setFocus(), !1; 884 }, 885 _parseMarkup: function (t, n, i) { 886 var o; 887 i.data && (n = e.extend(i.data, n)), 888 I(c, [t, n, i]), 889 e.each(n, function (n, i) { 890 if (void 0 === i || !1 === i) return !0; 891 if ((o = n.split("_")).length > 1) { 892 var r = t.find(f + "-" + o[0]); 893 if (r.length > 0) { 894 var a = o[1]; 895 "replaceWith" === a ? r[0] !== i[0] && r.replaceWith(i) : "img" === a ? (r.is("img") ? r.attr("src", i) : r.replaceWith(e("<img>").attr("src", i).attr("class", r.attr("class")))) : r.attr(o[1], i); 896 } 897 } else t.find(f + "-" + n).html(i); 898 }); 899 }, 900 _getScrollbarSize: function () { 901 if (void 0 === t.scrollbarSize) { 902 var e = document.createElement("div"); 903 (e.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), document.body.appendChild(e), (t.scrollbarSize = e.offsetWidth - e.clientWidth), document.body.removeChild(e); 904 } 905 return t.scrollbarSize; 906 }, 907 }), 908 (e.magnificPopup = { 909 instance: null, 910 proto: v.prototype, 911 modules: [], 912 open: function (t, n) { 913 return k(), ((t = t ? e.extend(!0, {}, t) : {}).isObj = !0), (t.index = n || 0), this.instance.open(t); 914 }, 915 close: function () { 916 return e.magnificPopup.instance && e.magnificPopup.instance.close(); 917 }, 918 registerModule: function (t, n) { 919 n.options && (e.magnificPopup.defaults[t] = n.options), e.extend(this.proto, n.proto), this.modules.push(t); 920 }, 921 defaults: { 922 disableOn: 0, 923 key: null, 924 midClick: !1, 925 mainClass: "", 926 preloader: !0, 927 focus: "", 928 closeOnContentClick: !1, 929 closeOnBgClick: !0, 930 closeBtnInside: !0, 931 showCloseBtn: !0, 932 enableEscapeKey: !0, 933 modal: !1, 934 alignTop: !1, 935 removalDelay: 0, 936 prependTo: null, 937 fixedContentPos: "auto", 938 fixedBgPos: "auto", 939 overflowY: "auto", 940 closeMarkup: '<button title="%title%" type="button" class="mfp-close">×</button>', 941 tClose: "Close (Esc)", 942 tLoading: "Loading...", 943 autoFocusLast: !0, 944 }, 945 }), 946 (e.fn.magnificPopup = function (n) { 947 k(); 948 var i = e(this); 949 if ("string" == typeof n) 950 if ("open" === n) { 951 var o, 952 r = y ? i.data("magnificPopup") : i[0].magnificPopup, 953 a = parseInt(arguments[1], 10) || 0; 954 r.items ? (o = r.items[a]) : ((o = i), r.delegate && (o = o.find(r.delegate)), (o = o.eq(a))), t._openClick({ mfpEl: o }, i, r); 955 } else t.isOpen && t[n].apply(t, Array.prototype.slice.call(arguments, 1)); 956 else (n = e.extend(!0, {}, n)), y ? i.data("magnificPopup", n) : (i[0].magnificPopup = n), t.addGroup(i, n); 957 return i; 958 }); 959 var T, 960 _, 961 P, 962 S = "inline", 963 E = function () { 964 P && (_.after(P.addClass(T)).detach(), (P = null)); 965 }; 966 e.magnificPopup.registerModule(S, { 967 options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" }, 968 proto: { 969 initInline: function () { 970 t.types.push(S), 971 w(s + "." + S, function () { 972 E(); 973 }); 974 }, 975 getInline: function (n, i) { 976 if ((E(), n.src)) { 977 var o = t.st.inline, 978 r = e(n.src); 979 if (r.length) { 980 var a = r[0].parentNode; 981 a && a.tagName && (_ || ((T = o.hiddenClass), (_ = b(T)), (T = "mfp-" + T)), (P = r.after(_).detach().removeClass(T))), t.updateStatus("ready"); 982 } else t.updateStatus("error", o.tNotFound), (r = e("<div>")); 983 return (n.inlineElement = r), r; 984 } 985 return t.updateStatus("ready"), t._parseMarkup(i, {}, n), i; 986 }, 987 }, 988 }); 989 var z, 990 O = "ajax", 991 M = function () { 992 z && e(document.body).removeClass(z); 993 }, 994 B = function () { 995 M(), t.req && t.req.abort(); 996 }; 997 e.magnificPopup.registerModule(O, { 998 options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' }, 999 proto: { 1000 initAjax: function () { 1001 t.types.push(O), (z = t.st.ajax.cursor), w(s + "." + O, B), w("BeforeChange." + O, B); 1002 }, 1003 getAjax: function (n) { 1004 z && e(document.body).addClass(z), t.updateStatus("loading"); 1005 var i = e.extend( 1006 { 1007 url: n.src, 1008 success: function (i, o, r) { 1009 var a = { data: i, xhr: r }; 1010 I("ParseAjax", a), 1011 t.appendContent(e(a.data), O), 1012 (n.finished = !0), 1013 M(), 1014 t._setFocus(), 1015 setTimeout(function () { 1016 t.wrap.addClass(m); 1017 }, 16), 1018 t.updateStatus("ready"), 1019 I("AjaxContentAdded"); 1020 }, 1021 error: function () { 1022 M(), (n.finished = n.loadError = !0), t.updateStatus("error", t.st.ajax.tError.replace("%url%", n.src)); 1023 }, 1024 }, 1025 t.st.ajax.settings 1026 ); 1027 return (t.req = e.ajax(i)), ""; 1028 }, 1029 }, 1030 }); 1031 var L; 1032 e.magnificPopup.registerModule("image", { 1033 options: { 1034 markup: 1035 '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', 1036 cursor: "mfp-zoom-out-cur", 1037 titleSrc: "title", 1038 verticalFit: !0, 1039 tError: '<a href="%url%">The image</a> could not be loaded.', 1040 }, 1041 proto: { 1042 initImage: function () { 1043 var n = t.st.image, 1044 i = ".image"; 1045 t.types.push("image"), 1046 w(d + i, function () { 1047 "image" === t.currItem.type && n.cursor && e(document.body).addClass(n.cursor); 1048 }), 1049 w(s + i, function () { 1050 n.cursor && e(document.body).removeClass(n.cursor), C.off("resize" + f); 1051 }), 1052 w("Resize" + i, t.resizeImage), 1053 t.isLowIE && w("AfterChange", t.resizeImage); 1054 }, 1055 resizeImage: function () { 1056 var e = t.currItem; 1057 if (e && e.img && t.st.image.verticalFit) { 1058 var n = 0; 1059 t.isLowIE && (n = parseInt(e.img.css("padding-top"), 10) + parseInt(e.img.css("padding-bottom"), 10)), e.img.css("max-height", t.wH - n); 1060 } 1061 }, 1062 _onImageHasSize: function (e) { 1063 e.img && ((e.hasSize = !0), L && clearInterval(L), (e.isCheckingImgSize = !1), I("ImageHasSize", e), e.imgHidden && (t.content && t.content.removeClass("mfp-loading"), (e.imgHidden = !1))); 1064 }, 1065 findImageSize: function (e) { 1066 var n = 0, 1067 i = e.img[0], 1068 o = function (r) { 1069 L && clearInterval(L), 1070 (L = setInterval(function () {
1071 i.naturalWidth > 0 ? t._onImageHasSize(e) : (n > 200 && clearInterval(L), 3 === ++n ? o(10) : 40 === n ? o(50) : 100 === n && o(500)); 1072 }, r)); 1073 }; 1074 o(1); 1075 }, 1076 getImage: function (n, i) { 1077 var o = 0, 1078 r = function () { 1079 n && 1080 (n.img[0].complete 1081 ? (n.img.off(".mfploader"), n === t.currItem && (t._onImageHasSize(n), t.updateStatus("ready")), (n.hasSize = !0), (n.loaded = !0), I("ImageLoadComplete")) 1082 : ++o < 200 1083 ? setTimeout(r, 100) 1084 : a()); 1085 }, 1086 a = function () { 1087 n && (n.img.off(".mfploader"), n === t.currItem && (t._onImageHasSize(n), t.updateStatus("error", s.tError.replace("%url%", n.src))), (n.hasSize = !0), (n.loaded = !0), (n.loadError = !0)); 1088 }, 1089 s = t.st.image, 1090 l = i.find(".mfp-img"); 1091 if (l.length) { 1092 var c = document.createElement("img"); 1093 (c.className = "mfp-img"), 1094 n.el && n.el.find("img").length && (c.alt = n.el.find("img").attr("alt")), 1095 (n.img = e(c).on("load.mfploader", r).on("error.mfploader", a)), 1096 (c.src = n.src), 1097 l.is("img") && (n.img = n.img.clone()), 1098 (c = n.img[0]).naturalWidth > 0 ? (n.hasSize = !0) : c.width || (n.hasSize = !1); 1099 } 1100 return ( 1101 t._parseMarkup( 1102 i, 1103 { 1104 title: (function (n) { 1105 if (n.data && void 0 !== n.data.title) return n.data.title; 1106 var i = t.st.image.titleSrc; 1107 if (i) { 1108 if (e.isFunction(i)) return i.call(t, n); 1109 if (n.el) return n.el.attr(i) || ""; 1110 } 1111 return ""; 1112 })(n), 1113 img_replaceWith: n.img, 1114 }, 1115 n 1116 ), 1117 t.resizeImage(), 1118 n.hasSize 1119 ? (L && clearInterval(L), n.loadError ? (i.addClass("mfp-loading"), t.updateStatus("error", s.tError.replace("%url%", n.src))) : (i.removeClass("mfp-loading"), t.updateStatus("ready")), i) 1120 : (t.updateStatus("loading"), (n.loading = !0), n.hasSize || ((n.imgHidden = !0), i.addClass("mfp-loading"), t.findImageSize(n)), i) 1121 ); 1122 }, 1123 }, 1124 }); 1125 var H; 1126 e.magnificPopup.registerModule("zoom", { 1127 options: { 1128 enabled: !1, 1129 easing: "ease-in-out", 1130 duration: 300, 1131 opener: function (e) { 1132 return e.is("img") ? e : e.find("img"); 1133 }, 1134 }, 1135 proto: { 1136 initZoom: function () { 1137 var e, 1138 n = t.st.zoom, 1139 i = ".zoom"; 1140 if (n.enabled && t.supportsTransition) { 1141 var o, 1142 r, 1143 a = n.duration, 1144 c = function (e) { 1145 var t = e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), 1146 i = "all " + n.duration / 1e3 + "s " + n.easing, 1147 o = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" }, 1148 r = "transition"; 1149 return (o["-webkit-" + r] = o["-moz-" + r] = o["-o-" + r] = o[r] = i), t.css(o), t; 1150 }, 1151 d = function () { 1152 t.content.css("visibility", "visible"); 1153 }; 1154 w("BuildControls" + i, function () { 1155 if (t._allowZoom()) { 1156 if ((clearTimeout(o), t.content.css("visibility", "hidden"), !(e = t._getItemToZoom()))) return void d(); 1157 (r = c(e)).css(t._getOffset()), 1158 t.wrap.append(r), 1159 (o = setTimeout(function () { 1160 r.css(t._getOffset(!0)), 1161 (o = setTimeout(function () { 1162 d(), 1163 setTimeout(function () { 1164 r.remove(), (e = r = null), I("ZoomAnimationEnded"); 1165 }, 16); 1166 }, a)); 1167 }, 16)); 1168 } 1169 }), 1170 w(l + i, function () { 1171 if (t._allowZoom()) { 1172 if ((clearTimeout(o), (t.st.removalDelay = a), !e)) { 1173 if (!(e = t._getItemToZoom())) return; 1174 r = c(e); 1175 } 1176 r.css(t._getOffset(!0)), 1177 t.wrap.append(r), 1178 t.content.css("visibility", "hidden"), 1179 setTimeout(function () { 1180 r.css(t._getOffset()); 1181 }, 16); 1182 } 1183 }), 1184 w(s + i, function () { 1185 t._allowZoom() && (d(), r && r.remove(), (e = null)); 1186 }); 1187 } 1188 }, 1189 _allowZoom: function () { 1190 return "image" === t.currItem.type; 1191 }, 1192 _getItemToZoom: function () { 1193 return !!t.currItem.hasSize && t.currItem.img; 1194 }, 1195 _getOffset: function (n) { 1196 var i, 1197 o = (i = n ? t.currItem.img : t.st.zoom.opener(t.currItem.el || t.currItem)).offset(), 1198 r = parseInt(i.css("padding-top"), 10), 1199 a = parseInt(i.css("padding-bottom"), 10); 1200 o.top -= e(window).scrollTop() - r; 1201 var s = { width: i.width(), height: (y ? i.innerHeight() : i[0].offsetHeight) - a - r }; 1202 return void 0 === H && (H = void 0 !== document.createElement("p").style.MozTransform), H ? (s["-moz-transform"] = s.transform = "translate(" + o.left + "px," + o.top + "px)") : ((s.left = o.left), (s.top = o.top)), s; 1203 }, 1204 }, 1205 });
1206 var A = "iframe", 1207 F = function (e) { 1208 if (t.currTemplate[A]) { 1209 var n = t.currTemplate[A].find("iframe"); 1210 n.length && (e || (n[0].src = "//about:blank"), t.isIE8 && n.css("display", e ? "block" : "none")); 1211 } 1212 }; 1213 e.magnificPopup.registerModule(A, { 1214 options: { 1215 markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 1216 srcAction: "iframe_src", 1217 patterns: { 1218 youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" }, 1219 vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" }, 1220 gmaps: { index: "//maps.google.", src: "%id%&output=embed" }, 1221 }, 1222 }, 1223 proto: { 1224 initIframe: function () { 1225 t.types.push(A), 1226 w("BeforeChange", function (e, t, n) { 1227 t !== n && (t === A ? F() : n === A && F(!0)); 1228 }), 1229 w(s + "." + A, function () { 1230 F(); 1231 }); 1232 }, 1233 getIframe: function (n, i) { 1234 var o = n.src, 1235 r = t.st.iframe; 1236 e.each(r.patterns, function () { 1237 if (o.indexOf(this.index) > -1) return this.id && (o = "string" == typeof this.id ? o.substr(o.lastIndexOf(this.id) + this.id.length, o.length) : this.id.call(this, o)), (o = this.src.replace("%id%", o)), !1; 1238 }); 1239 var a = {}; 1240 return r.srcAction && (a[r.srcAction] = o), t._parseMarkup(i, a, n), t.updateStatus("ready"), i; 1241 }, 1242 }, 1243 }); 1244 var j = function (e) { 1245 var n = t.items.length; 1246 return e > n - 1 ? e - n : e < 0 ? n + e : e; 1247 }, 1248 N = function (e, t, n) { 1249 return e.replace(/%curr%/gi, t + 1).replace(/%total%/gi, n); 1250 }; 1251 e.magnificPopup.registerModule("gallery", { 1252 options: { 1253 enabled: !1, 1254 arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 1255 preload: [0, 2], 1256 navigateByImgClick: !0, 1257 arrows: !0, 1258 tPrev: "Previous (Left arrow key)", 1259 tNext: "Next (Right arrow key)", 1260 tCounter: "%curr% of %total%", 1261 }, 1262 proto: { 1263 initGallery: function () { 1264 var n = t.st.gallery, 1265 o = ".mfp-gallery"; 1266 if (((t.direction = !0), !n || !n.enabled)) return !1; 1267 (r += " mfp-gallery"), 1268 w(d + o, function () { 1269 n.navigateByImgClick && 1270 t.wrap.on("click" + o, ".mfp-img", function () { 1271 if (t.items.length > 1) return t.next(), !1; 1272 }), 1273 i.on("keydown" + o, function (e) { 1274 37 === e.keyCode ? t.prev() : 39 === e.keyCode && t.next(); 1275 }); 1276 }), 1277 w("UpdateStatus" + o, function (e, n) { 1278 n.text && (n.text = N(n.text, t.currItem.index, t.items.length)); 1279 }), 1280 w(c + o, function (e, i, o, r) { 1281 var a = t.items.length; 1282 o.counter = a > 1 ? N(n.tCounter, r.index, a) : ""; 1283 }), 1284 w("BuildControls" + o, function () { 1285 if (t.items.length > 1 && n.arrows && !t.arrowLeft) { 1286 var i = n.arrowMarkup, 1287 o = (t.arrowLeft = e(i.replace(/%title%/gi, n.tPrev).replace(/%dir%/gi, "left")).addClass(h)), 1288 r = (t.arrowRight = e(i.replace(/%title%/gi, n.tNext).replace(/%dir%/gi, "right")).addClass(h)); 1289 o.click(function () { 1290 t.prev(); 1291 }), 1292 r.click(function () { 1293 t.next(); 1294 }), 1295 t.container.append(o.add(r)); 1296 } 1297 }), 1298 w(u + o, function () { 1299 t._preloadTimeout && clearTimeout(t._preloadTimeout), 1300 (t._preloadTimeout = setTimeout(function () { 1301 t.preloadNearbyImages(), (t._preloadTimeout = null); 1302 }, 16)); 1303 }), 1304 w(s + o, function () { 1305 i.off(o), t.wrap.off("click" + o), (t.arrowRight = t.arrowLeft = null); 1306 }); 1307 }, 1308 next: function () { 1309 (t.direction = !0), (t.index = j(t.index + 1)), t.updateItemHTML(); 1310 }, 1311 prev: function () { 1312 (t.direction = !1), (t.index = j(t.index - 1)), t.updateItemHTML(); 1313 }, 1314 goTo: function (e) { 1315 (t.direction = e >= t.index), (t.index = e), t.updateItemHTML(); 1316 }, 1317 preloadNearbyImages: function () { 1318 var e, 1319 n = t.st.gallery.preload, 1320 i = Math.min(n[0], t.items.length), 1321 o = Math.min(n[1], t.items.length); 1322 for (e = 1; e <= (t.direction ? o : i); e++) t._preloadItem(t.index + e); 1323 for (e = 1; e <= (t.direction ? i : o); e++) t._preloadItem(t.index - e); 1324 }, 1325 _preloadItem: function (n) { 1326 if (((n = j(n)), !t.items[n].preloaded)) { 1327 var i = t.items[n]; 1328 i.parsed || (i = t.parseEl(n)), 1329 I("LazyLoad", i), 1330 "image" === i.type && 1331 (i.img = e('<img class="mfp-img" />') 1332 .on("load.mfploader", function () { 1333 i.hasSize = !0; 1334 }) 1335 .on("error.mfploader", function () { 1336 (i.hasSize = !0), (i.loadError = !0), I("LazyLoadError", i); 1337 }) 1338 .attr("src", i.src)), 1339 (i.preloaded = !0); 1340 } 1341 }, 1342 }, 1343 }); 1344 var W = "retina"; 1345 e.magnificPopup.registerModule(W, { 1346 options: { 1347 replaceSrc: function (e) { 1348 return e.src.replace(/\.\w+$/, function (e) { 1349 return "@2x" + e; 1350 }); 1351 }, 1352 ratio: 1, 1353 }, 1354 proto: { 1355 initRetina: function () { 1356 if (window.devicePixelRatio > 1) { 1357 var e = t.st.retina, 1358 n = e.ratio; 1359 (n = isNaN(n) ? n() : n) > 1 && 1360 (w("ImageHasSize." + W, function (e, t) { 1361 t.img.css({ "max-width": t.img[0].naturalWi
1361dth / n, width: "100%" }); 1362 }), 1363 w("ElementParse." + W, function (t, i) { 1364 i.src = e.replaceSrc(i, n); 1365 })); 1366 } 1367 }, 1368 }, 1369 }), 1370 k(); 1371}); 1372 1373/* 4. 1374 * jQuery ScrollAnimations 1375 * @version 1.0.1 1376 * @author Westley Mon @cavemon, Mindgruve @mindgruve 1377 * @copyright (c) 2017 Mindgruve / Westley Mon 1378 * @license MIT License 1379 */ 1380(function (t, i, a, n) { 1381 var e = "scrollAnimations", 1382 s = { offset: 0.7 }; 1383 var o; 1384 function m(a, n) { 1385 if (a) { 1386 this.element = a; 1387 this.animationElements = []; 1388 this.triggerPoint = null; 1389 this.lastScrollPos = -1; 1390 this.options = t.extend({}, s, n); 1391 this._defaults = s; 1392 this._name = e; 1393 i.onload = this.init(); 1394 } 1395 } 1396 m.prototype = { 1397 init: function () { 1398 var a = this; 1399 var n = t(this.element); 1400 i.requestAnimationFrame = 1401 i.requestAnimationFrame || 1402 i.mozRequestAnimationFrame || 1403 i.webkitRequestAnimationFrame || 1404 i.msRequestAnimationFrame || 1405 function (t) { 1406 setTimeout(t, 1e3 / 60); 1407 }; 1408 a.setup(n); 1409 a.updatePage(); 1410 t(i).on("resize", function () { 1411 a.resize(); 1412 }); 1413 }, 1414 resize: function () { 1415 var t = this; 1416 clearTimeout(o); 1417 o = setTimeout(function () { 1418 t.setTriggerpoint(); 1419 }, 50); 1420 }, 1421 setTriggerpoint: function () { 1422 this.triggerPoint = i.innerHeight * this.options.offset; 1423 }, 1424 setup: function (i) { 1425 this.setTriggerpoint(); 1426 var a = t(i), 1427 n = a.find("[data-animation-text]"); 1428 if (n.length) { 1429 n.each(function () { 1430 var i = t(this); 1431 var a = i.attr("data-animation-delay"); 1432 i.css({ "-webkit-animation-delay": a, "-moz-animation-delay": a, "-ms-animation-delay": a, "-o-animation-delay": a, "animation-delay": a }); 1433 }); 1434 } else { 1435 var e = a.attr("data-animation-delay"); 1436 a.css({ "-webkit-animation-delay": e, "-moz-animation-delay": e, "-ms-animation-delay": e, "-o-animation-delay": e, "animation-delay": e }); 1437 } 1438 this.animationElements.push(a); 1439 }, 1440 updatePage: function () { 1441 var t = this; 1442 this.animateElements(); 1443 requestAnimationFrame(this.updatePage.bind(this)); 1444 }, 1445 animateElements: function () { 1446 var a = this; 1447 var n = i.pageYOffset; 1448 if (n === this.lastScrollPos) return; 1449 this.lastScrollPos = n; 1450 t(a.animationElements).each(function () { 1451 var i = t(this), 1452 e = i.find("[data-animation-text]"); 1453 if (i.hasClass("animated") || n < i.offset().top - a.triggerPoint) return; 1454 if (e.length) { 1455 i.addClass("animated"); 1456 e.each(function () { 1457 t(this).addClass("animated").addClass(t(this).attr("data-animation")); 1458 }); 1459 } else { 1460 i.addClass("animated").addClass(i.attr("data-animation")); 1461 } 1462 }); 1463 }, 1464 }; 1465 t.fn[e] = function (i) { 1466 return this.each(function () { 1467 if (!t.data(this, "plugin_" + e)) { 1468 t.data(this, "plugin_" + e, new m(this, i)); 1469 } 1470 }); 1471 }; 1472 if (typeof define === "function" && define.amd) { 1473 define(function () { 1474 return m; 1475 }); 1476 } 1477})(jQuery, window, document); 1478 1479/* 5. 1480 * animsition 1481 * Version 4.0.2 1482 * http://blivesta.github.io/animsition 1483 * License : MIT 1484 * Author : blivesta (http://blivesta.com/) 1485 */ 1486!(function (t) { 1487 "use strict"; 1488 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? (module.exports = t(require("jquery"))) : t(jQuery); 1489})(function (t) { 1490 "use strict"; 1491 var n = "animsition", 1492 i = { 1493 init: function (a) { 1494 (a = t.extend( 1495 { 1496 inClass: "fade-in", 1497 outClass: "fade-out", 1498 inDuration: 1500,
1499 outDuration: 800, 1500 linkElement: ".animsition-link", 1501 loading: !0, 1502 loadingParentElement: "body", 1503 loadingClass: "animsition-loading", 1504 loadingInner: "", 1505 timeout: !1, 1506 timeoutCountdown: 5e3, 1507 onLoadEvent: !0, 1508 browser: ["animation-duration", "-webkit-animation-duration"], 1509 overlay: !1, 1510 overlayClass: "animsition-overlay-slide", 1511 overlayParentElement: "body", 1512 transition: function (t) { 1513 window.location.href = t; 1514 }, 1515 }, 1516 a 1517 )), 1518 (i.settings = { 1519 timer: !1, 1520 data: { inClass: "animsition-in-class", inDuration: "animsition-in-duration", outClass: "animsition-out-class", outDuration: "animsition-out-duration", overlay: "animsition-overlay" }, 1521 events: { inStart: "animsition.inStart", inEnd: "animsition.inEnd", outStart: "animsition.outStart", outEnd: "animsition.outEnd" }, 1522 }); 1523 var o = i.supportCheck.call(this, a); 1524 if (!o && a.browser.length > 0 && (!o || !this.length)) 1525 return ( 1526 "console" in window || 1527 ((window.console = {}), 1528 (window.console.log = function (t) { 1529 return t; 1530 })), 1531 this.length || console.log("Animsition: Element does not exist on page."), 1532 o || console.log("Animsition: Does not support this browser."), 1533 i.destroy.call(this) 1534 ); 1535 var e = i.optionCheck.call(this, a); 1536 return ( 1537 e && t("." + a.overlayClass).length <= 0 && i.addOverlay.call(this, a), 1538 a.loading && t("." + a.loadingClass).length <= 0 && i.addLoading.call(this, a), 1539 this.each(function () { 1540 var o = this, 1541 e = t(this), 1542 s = t(window), 1543 r = t(document), 1544 l = e.data(n); 1545 l || 1546 ((a = t.extend({}, a)), 1547 e.data(n, { options: a }), 1548 a.timeout && i.addTimer.call(o), 1549 a.onLoadEvent && 1550 s.on("load." + n, function () { 1551 i.settings.timer && clearTimeout(i.settings.timer), i["in"].call(o); 1552 }), 1553 s.on("pageshow." + n, function (t) { 1554 t.originalEvent.persisted && i["in"].call(o); 1555 }), 1556 s.on("unload." + n, function () {}), 1557 r.on("click." + n, a.linkElement, function (n) { 1558 n.preventDefault(); 1559 var a = t(this), 1560 e = a.attr("href"); 1561 2 === n.which || n.metaKey || n.shiftKey || (-1 !== navigator.platform.toUpperCase().indexOf("WIN") && n.ctrlKey) ? window.open(e, "_blank") : i.out.call(o, a, e); 1562 })); 1563 }) 1564 ); 1565 }, 1566 addOverlay: function (n) { 1567 t(n.overlayParentElement).prepend('<div class="' + n.overlayClass + '"></div>'); 1568 }, 1569 addLoading: function (n) { 1570 t(n.loadingParentElement).append('<div class="' + n.loadingClass + '">' + n.loadingInner + "</div>"); 1571 }, 1572 removeLoading: function () { 1573 var i = t(this), 1574 a = i.data(n).options, 1575 o = t(a.loadingParentElement).children("." + a.loadingClass); 1576 o.fadeOut().remove(); 1577 }, 1578 addTimer: function () { 1579 var a = this, 1580 o = t(this), 1581 e = o.data(n).options; 1582 i.settings.timer = setTimeout(function () { 1583 i["in"].call(a), t(window).off("load." + n); 1584 }, e.timeoutCountdown); 1585 }, 1586 supportCheck: function (n) { 1587 var i = t(this), 1588 a = n.browser, 1589 o = a.length, 1590 e = !1; 1591 0 === o && (e = !0); 1592 for (var s = 0; o > s; s++) 1593 if ("string" == typeof i.css(a[s])) { 1594 e = !0; 1595 break; 1596 } 1597 return e; 1598 }, 1599 optionCheck: function (n) { 1600 var a, 1601 o = t(this); 1602 return (a = n.overlay || o.data(i.settings.data.overlay) ? !0 : !1); 1603 }, 1604 animationCheck: function (i, a, o) { 1605 var e = t(this), 1606 s = e.data(n).options, 1607 r = typeof i, 1608 l = !a && "number" === r, 1609 d = a && "string" === r && i.length > 0; 1610 return l || d ? (i = i) : a && o ? (i = s.inClass) : !a && o ? (i = s.inDuration) : a && !o ? (i = s.outClass) : a || o || (i = s.outDuration), i; 1611 }, 1612 in: function () { 1613 var a = this, 1614 o = t(this), 1615 e = o.data(n).options, 1616 s = o.data(i.settings.data.inDuration), 1617 r = o.data(i.settings.data.inClass), 1618 l = i.animationCheck.call(a, s, !1, !0), 1619 d = i.animationCheck.call(a, r, !0, !0), 1620 u = i.optionCheck.call(a, e), 1621 c = o.data(n).outClass; 1622 e.loading && i.removeLoading.call(a), c && o.removeClass(c), u ? i.inOverlay.call(a, d, l) : i.inDefault.call(a, d, l); 1623 }, 1624 inDefault: function (n, a) { 1625 var o = t(this); 1626 o.css({ "animation-duration": a + "ms" }) 1627 .addClass(n) 1628 .trigger(i.settings.events.inStart) 1629 .animateCallback(function () { 1630 o.removeClass(n).css({ opacity: 1 }).trigger(i.settings.events.inEnd); 1631 }); 1632 }, 1633 inOverlay: function (a, o) { 1634 var e = t(this), 1635 s = e.data(n).options; 1636 e.css({ opacity: 1 }).trigger(i.settings.events.inStart), 1637 t(s.overlayParentElement) 1638 .children("." + s.overlayClass) 1639 .css({ "animation-duration": o + "ms" }) 1640 .addClass(a) 1641 .animateCallback(function () { 1642 e.trigger(i.settings.events.inEnd); 1643 }); 1644 }, 1645 out: function (a, o) { 1646 var e = this, 1647 s = t(this), 1648 r = s.data(n).options, 1649 l = a.data(i.settings.data.outClass), 1650 d = s.data(i.settings.data.outClass), 1651 u = a.data(i.settings.data.outDuration), 1652 c = s.data(i.settings.data.outDuration), 1653 m = l ? l : d, 1654 g = u ? u : c, 1655 f = i.animationCheck.call(e, m, !0, !1), 1656 v = i.animationCheck.call(e, g, !1, !1), 1657 h = i.optionCheck.call(e, r); 1658 (s.data(n).outClass = f), h ? i.outOverlay.call(e, f, v, o) : i.outDefault.call(e, f, v, o); 1659 }, 1660 outDefault: function (a, o, e) { 1661 var s = t(this), 1662 r = s.data(n).options; 1663 s.css({ "animation-duration": o + 1 + "ms" }) 1664 .addClass(a) 1665 .trigger(i.settings.events.outStart) 1666 .animateCallback(function () { 1667 s.trigger(i.settings.events.outEnd), r.transition(e); 1668 }); 1669 }, 1670 outOverlay: function (a, o, e) { 1671 var s = this, 1672 r = t(this), 1673 l = r.data(n).options, 1674 d = r.data(i.settings.data.inClass), 1675 u = i.animationCheck.call(s, d, !0, !0); 1676 t(l.overlayParentElement) 1677 .children("." + l.overlayClass) 1678 .css({ "animation-duration": o + 1 + "ms" }) 1679 .removeClass(u) 1680 .addClass(a) 1681 .trigger(i.settings.events.outStart) 1682 .animateCallback(function () { 1683 r.trigger(i.settings.events.outEnd), l.transition(e); 1684 }); 1685 }, 1686 destroy: function () { 1687 return this.each(function () { 1688 var i = t(this); 1689 t(window).off("." + n), i.css({ opacity: 1 }).removeData(n); 1690 }); 1691 }, 1692 }; 1693 (t.fn.animateCallback = function (n) { 1694 var i = "animationend webkitAnimationEnd"; 1695 return this.each(function () { 1696 var a = t(this); 1697 a.on(i, function () { 1698 return a.off(i), n.call(this); 1699 }); 1700 }); 1701 }), 1702 (t.fn.animsition = function (a) { 1703 return i[a] ? i[a].apply(this, Array.prototype.slice.call(arguments, 1)) : "object" != typeof a && a ? void t.error("Method " + a + " does not exist on jQuery." + n) : i.init.apply(this, arguments); 1704 }); 1705}); 1706 1707/* 6. 1708 * Swiper 4.0.7 1709 * Most modern mobile touch slider and framework with hardware accelerated transitions 1710 * http://www.idangero.us/swiper/ 1711 * 1712 * Copyright 2014-2017 Vladimir Kharlampidi 1713 * 1714 * Released under the MIT License 1715 * 1716 * Released on: November 28, 2017 1717 */ 1718!(function (e, t) { 1719 "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : (e.Swiper = t()); 1720})(this, function () { 1721 "use strict"; 1722 function e(e, t) { 1723 var a = [], 1724 i = 0; 1725 if (e && !t && e instanceof r) return e; 1726 if (e) 1727 if ("string" == typeof e) { 1728 var s, 1729 n, 1730 o = e.trim(); 1731 if (o.indexOf("<") >= 0 && o.indexOf(">") >= 0) { 1732 var l = "div"; 1733 for ( 1734 0 === o.indexOf("<li") && (l = "ul"), 1735 0 === o.indexOf("<tr") && (l = "tbody"), 1736 (0 !== o.indexOf("<td") && 0 !== o.indexOf("<th")) || (l = "tr"), 1737 0 === o.indexOf("<tbody") && (l = "table"), 1738 0 === o.indexOf("<option") && (l = "select"), 1739 (n = document.createElement(l)).innerHTML = o, 1740 i = 0; 1741 i < n.childNodes.length; 1742 i += 1 1743 ) 1744 a.push(n.childNodes[i]); 1745 } else for (s = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || document).querySelectorAll(e.trim()) : [document.getElementById(e.trim().split("#")[1])], i = 0; i < s.length; i += 1) s[i] && a.push(s[i]); 1746 } else if (e.nodeType || e === window || e === document) a.push(e); 1747 else if (e.length > 0 && e[0].nodeType) for (i = 0; i < e.length; i += 1) a.push(e[i]); 1748 return new r(a); 1749 } 1750 function t(e) { 1751 for (var t = [], a = 0; a < e.length; a += 1) -1 === t.indexOf(e[a]) && t.push(e[a]); 1752 return t; 1753 } 1754 function a() { 1755 var e = "onwheel" in d; 1756 if (!e) { 1757 var t = d.createElement("div"); 1758 t.setAttribute("onwheel", "return;"), (e = "function" == typeof t.onwheel); 1759 } 1760 return !e && d.implementation && d.implementation.hasFeature && !0 !== d.implementation.hasFeature("", "") && (e = d.implementation.hasFeature("Events.wheel", "3.0")), e; 1761 } 1762 var i, 1763 s = (i = 1764 "undefined" == typeof window 1765 ? { 1766 navigator: { userAgent: "" }, 1767 location: {}, 1768 history: {}, 1769 addEventListener: function () {}, 1770 removeEventListener: function () {}, 1771 getComputedStyle: function () { 1772 return {}; 1773 }, 1774 Image: function () {}, 1775 Date: function () {}, 1776 screen: {}, 1777 } 1778 : window), 1779 r = function (e) { 1780 for (var t = this, a = 0; a < e.length; a += 1) t[a] = e[a]; 1781 return (t.length = e.length), this; 1782 }; 1783 (e.fn = r.prototype), (e.Class = r), (e.Dom7 = r); 1784 "resize scroll".split(" "); 1785 var n = { 1786 addClass: function (e) { 1787 var t = this; 1788 if (void 0 === e) return this; 1789 for (var a = e.split(" "), i = 0; i < a.length; i += 1) for (var s = 0; s < this.length;
1789 s += 1) void 0 !== t[s].classList && t[s].classList.add(a[i]); 1790 return this; 1791 }, 1792 removeClass: function (e) { 1793 for (var t = this, a = e.split(" "), i = 0; i < a.length; i += 1) for (var s = 0; s < this.length; s += 1) void 0 !== t[s].classList && t[s].classList.remove(a[i]); 1794 return this; 1795 }, 1796 hasClass: function (e) { 1797 return !!this[0] && this[0].classList.contains(e); 1798 }, 1799 toggleClass: function (e) { 1800 for (var t = this, a = e.split(" "), i = 0; i < a.length; i += 1) for (var s = 0; s < this.length; s += 1) void 0 !== t[s].classList && t[s].classList.toggle(a[i]); 1801 return this; 1802 }, 1803 attr: function (e, t) { 1804 var a = arguments, 1805 i = this; 1806 if (1 !== arguments.length || "string" != typeof e) { 1807 for (var s = 0; s < this.length; s += 1) 1808 if (2 === a.length) i[s].setAttribute(e, t); 1809 else for (var r in e) (i[s][r] = e[r]), i[s].setAttribute(r, e[r]); 1810 return this; 1811 } 1812 if (this[0]) return this[0].getAttribute(e); 1813 }, 1814 removeAttr: function (e) { 1815 for (var t = this, a = 0; a < this.length; a += 1) t[a].removeAttribute(e); 1816 return this; 1817 }, 1818 data: function (e, t) { 1819 var a, 1820 i = this; 1821 if (void 0 !== t) { 1822 for (var s = 0; s < this.length; s += 1) (a = i[s]).dom7ElementDataStorage || (a.dom7ElementDataStorage = {}), (a.dom7ElementDataStorage[e] = t); 1823 return this; 1824 } 1825 if ((a = this[0])) { 1826 if (a.dom7ElementDataStorage && e in a.dom7ElementDataStorage) return a.dom7ElementDataStorage[e]; 1827 var r = a.getAttribute("data-" + e); 1828 if (r) return r; 1829 } 1830 }, 1831 transform: function (e) { 1832 for (var t = this, a = 0; a < this.length; a += 1) { 1833 var i = t[a].style; 1834 (i.webkitTransform = e), (i.transform = e); 1835 } 1836 return this; 1837 }, 1838 transition: function (e) { 1839 var t = this; 1840 "string" != typeof e && (e += "ms"); 1841 for (var a = 0; a < this.length; a += 1) { 1842 var i = t[a].style; 1843 (i.webkitTransitionDuration = e), (i.transitionDuration = e); 1844 } 1845 return this; 1846 }, 1847 on: function () { 1848 function t(t) { 1849 var a = t.target; 1850 if (a) { 1851 var i = t.target.dom7EventData || []; 1852 if ((i.unshift(t), e(a).is(o))) l.apply(a, i); 1853 else for (var s = e(a).parents(), r = 0; r < s.length; r += 1) e(s[r]).is(o) && l.apply(s[r], i); 1854 } 1855 } 1856 function a(e) { 1857 var t = e && e.target ? e.target.dom7EventData || [] : []; 1858 t.unshift(e), l.apply(this, t); 1859 } 1860 for (var i = this, s = [], r = arguments.length; r--; ) s[r] = arguments[r]; 1861 var n = s[0], 1862 o = s[1], 1863 l = s[2], 1864 d = s[3]; 1865 if ("function" == typeof s[1]) { 1866 var p; 1867 (n = (p = s)[0]), (l = p[1]), (d = p[2]), (o = void 0); 1868 } 1869 d || (d = !1); 1870 for (var c, u = n.split(" "), h = 0; h < this.length; h += 1) { 1871 var v = i[h]; 1872 if (o) for (c = 0; c < u.length; c += 1) v.dom7LiveListeners || (v.dom7LiveListeners = []), v.dom7LiveListeners.push({ type: n, listener: l, proxyListener: t }), v.addEventListener(u[c], t, d); 1873 else for (c = 0; c < u.length; c += 1) v.dom7Listeners || (v.dom7Listeners = []), v.dom7Listeners.push({ type: n, listener: l, proxyListener: a }), v.addEventListener(u[c], a, d); 1874 } 1875 return this; 1876 }, 1877 off: function () { 1878 for (var e = this, t = [], a = arguments.length; a--; ) t[a] = arguments[a]; 1879 var i = t[0], 1880 s = t[1], 1881 r = t[2], 1882 n = t[3]; 1883 if ("function" == typeof t[1]) { 1884 var o; 1885 (i = (o = t)[0]), (r = o[1]), (n = o[2]), (s = void 0); 1886 } 1887 n || (n = !1); 1888 for (var l = i.split(" "), d = 0; d < l.length; d += 1) 1889 for (var p = 0; p < this.length; p += 1) { 1890 var c = e[p]; 1891 if (s) { 1892 if (c.dom7LiveListeners) 1893 for (var u = 0; u < c.dom7LiveListeners.length; u += 1) 1894 r 1895 ? c.dom7LiveListeners[u].listener === r && c.removeEventListener(l[d], c.dom7LiveListeners[u].proxyListener, n) 1896 : c.dom7LiveListeners[u].type === l[d] && c.removeEventListener(l[d], c.dom7LiveListeners[u].proxyListener, n); 1897 } else if (c.dom7Listeners) 1898 for (var h = 0; h < c.dom7Listeners.length; h += 1) 1899 r ? c.dom7Listeners[h].listener === r && c.removeEventListener(l[d], c.dom7Listeners[h].proxyListener, n) : c.dom7Listeners[h].type === l[d] && c.removeEventListener(l[d], c.dom7Listeners[h].proxyListener, n); 1900 } 1901 return this; 1902 }, 1903 trigger: function () { 1904 for (var e = this, t = [], a = arguments.length; a--; ) t[a] = arguments[a]; 1905 for (var i = t[0].split(" "), s = t[1], r = 0; r < i.length; r += 1) 1906 for (var n = 0; n < this.length; n += 1) { 1907 var o = void 0; 1908 try { 1909 o = new window.CustomEvent(i[r], { detail: s, bubbles: !0, cancelable: !0 }); 1910 } catch (e) { 1911 (o = document.createEvent("Event")).initEvent(i[r], !0, !0), (o.detail = s); 1912 } 1913 (e[n].dom7EventData = t.filter(function (e, t) { 1914 return t > 0; 1915 })), 1916 e[n].dispatchEvent(o), 1917 (e[n].dom7EventData = []), 1918 delete e[n].dom7EventData; 1919 } 1920 return this; 1921 }, 1922 transitionEnd: function (e) { 1923 function t(r) { 1924 if (r.target === this) for (e.call(this, r), a = 0; a < i.length; a += 1) s.off(i[a], t); 1925 } 1926 var a, 1927 i = ["webkitTransitionEnd", "transitionend"], 1928 s = this; 1929 if (e) for (a = 0; a < i.length; a += 1) s.on(i[a], t); 1930 return this; 1931 }, 1932 outerWidth: function (e) { 1933 if (this.length > 0) { 1934 if (e) { 1935 var t = this.styles(); 1936 return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")); 1937 } 1938 return this[0].offsetWidth; 1939 } 1940 return null; 1941 }, 1942 outerHeight: function (e) { 1943 if (this.length > 0) { 1944 if (e) { 1945 var t = this.styles(); 1946 return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")); 1947 } 1948 return this[0].offsetHeight; 1949 } 1950 return null; 1951 }, 1952 offset: function () { 1953 if (this.length > 0) { 1954 var e = this[0], 1955 t = e.getBoundingClientRect(), 1956 a = document.body, 1957 i = e.clientTop || a.clientTop || 0, 1958 s = e.clientLeft || a.clientLeft || 0, 1959 r = e === window ? window.scrollY : e.scrollTop, 1960 n = e === window ? window.scrollX : e.scrollLeft; 1961 return { top: t.top + r - i, left: t.left + n - s }; 1962 } 1963 return null; 1964 }, 1965 css: function (e, t) { 1966 var a, 1967 i = this; 1968 if (1 === arguments.length) { 1969 if ("string" != typeof e) { 1970 for (a = 0; a < this.length; a += 1) for (var s in e) i[a].style[s] = e[s]; 1971 return this; 1972 } 1973 if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(e); 1974 } 1975 if (2 === arguments.length && "string" == typeof e) { 1976 for (a = 0; a < this.length; a += 1) i[a].style[e] = t; 1977 return this; 1978 } 1979 return this; 1980 }, 1981 each: function (e) { 1982 var t = this; 1983 if (!e) return this; 1984 for (var a = 0; a < this.length; a += 1) if (!1 === e.call(t[a], a, t[a])) return t; 1985 return this; 1986 }, 1987 html: function (e) { 1988 var t = this; 1989 if (void 0 === e) return this[0] ? this[0].innerHTML : void 0; 1990 for (var a = 0; a < this.length; a += 1) t[a].innerHTML = e; 1991 return this; 1992 }, 1993 text: function (e) { 1994 var t = this; 1995 if (void 0 === e) return this[0] ? this[0].textContent.trim() : null; 1996 for (var a = 0; a < this.length; a += 1) t[a].textContent = e; 1997 return this; 1998 }, 1999 is: function (t) { 2000 var a, 2001 i, 2002 s = this[0]; 2003 if (!s || void 0 === t) return !1; 2004 if ("string" == typeof t) { 2005 if (s.matches) return s.matches(t); 2006 if (s.webkitMatchesSelector) return s.webkitMatchesSelector(t); 2007 if (s.msMatchesSelector) return s.msMatchesSelector(t); 2008 for (a = e(t), i = 0; i < a.length; i += 1) if (a[i] === s) return !0; 2009 return !1; 2010 } 2011 if (t === document) return s === document; 2012 if (t === window) return s === window; 2013 if (t.nodeType || t instanceof r) {
2014 for (a = t.nodeType ? [t] : t, i = 0; i < a.length; i += 1) if (a[i] === s) return !0; 2015 return !1; 2016 } 2017 return !1; 2018 }, 2019 index: function () { 2020 var e, 2021 t = this[0]; 2022 if (t) { 2023 for (e = 0; null !== (t = t.previousSibling); ) 1 === t.nodeType && (e += 1); 2024 return e; 2025 } 2026 }, 2027 eq: function (e) { 2028 if (void 0 === e) return this; 2029 var t, 2030 a = this.length; 2031 return e > a - 1 ? new r([]) : e < 0 ? ((t = a + e), new r(t < 0 ? [] : [this[t]])) : new r([this[e]]); 2032 }, 2033 append: function () { 2034 for (var e = this, t = [], a = arguments.length; a--; ) t[a] = arguments[a]; 2035 for (var i, s = 0; s < t.length; s += 1) { 2036 i = t[s]; 2037 for (var n = 0; n < this.length; n += 1) 2038 if ("string" == typeof i) { 2039 var o = document.createElement("div"); 2040 for (o.innerHTML = i; o.firstChild; ) e[n].appendChild(o.firstChild); 2041 } else if (i instanceof r) for (var l = 0; l < i.length; l += 1) e[n].appendChild(i[l]); 2042 else e[n].appendChild(i); 2043 } 2044 return this; 2045 }, 2046 prepend: function (e) { 2047 var t, 2048 a, 2049 i = this; 2050 for (t = 0; t < this.length; t += 1) 2051 if ("string" == typeof e) { 2052 var s = document.createElement("div"); 2053 for (s.innerHTML = e, a = s.childNodes.length - 1; a >= 0; a -= 1) i[t].insertBefore(s.childNodes[a], i[t].childNodes[0]); 2054 } else if (e instanceof r) for (a = 0; a < e.length; a += 1) i[t].insertBefore(e[a], i[t].childNodes[0]); 2055 else i[t].insertBefore(e, i[t].childNodes[0]); 2056 return this; 2057 }, 2058 next: function (t) { 2059 return new r(this.length > 0 ? (t ? (this[0].nextElementSibling && e(this[0].nextElementSibling).is(t) ? [this[0].nextElementSibling] : []) : this[0].nextElementSibling ? [this[0].nextElementSibling] : []) : []); 2060 }, 2061 nextAll: function (t) { 2062 var a = [], 2063 i = this[0]; 2064 if (!i) return new r([]); 2065 for (; i.nextElementSibling; ) { 2066 var s = i.nextElementSibling; 2067 t ? e(s).is(t) && a.push(s) : a.push(s), (i = s); 2068 } 2069 return new r(a); 2070 }, 2071 prev: function (t) { 2072 if (this.length > 0) { 2073 var a = this[0]; 2074 return new r(t ? (a.previousElementSibling && e(a.previousElementSibling).is(t) ? [a.previousElementSibling] : []) : a.previousElementSibling ? [a.previousElementSibling] : []); 2075 } 2076 return new r([]); 2077 }, 2078 prevAll: function (t) { 2079 var a = [], 2080 i = this[0]; 2081 if (!i) return new r([]); 2082 for (; i.previousElementSibling; ) { 2083 var s = i.previousElementSibling; 2084 t ? e(s).is(t) && a.push(s) : a.push(s), (i = s); 2085 } 2086 return new r(a); 2087 }, 2088 parent: function (a) { 2089 for (var i = this, s = [], r = 0; r < this.length; r += 1) null !== i[r].parentNode && (a ? e(i[r].parentNode).is(a) && s.push(i[r].parentNode) : s.push(i[r].parentNode)); 2090 return e(t(s)); 2091 }, 2092 parents: function (a) { 2093 for (var i = this, s = [], r = 0; r < this.length; r += 1) for (var n = i[r].parentNode; n; ) a ? e(n).is(a) && s.push(n) : s.push(n), (n = n.parentNode); 2094 return e(t(s)); 2095 }, 2096 closest: function (e) { 2097 var t = this; 2098 return void 0 === e ? new r([]) : (t.is(e) || (t = t.parents(e).eq(0)), t); 2099 }, 2100 find: function (e) { 2101 for (var t = this, a = [], i = 0; i < this.length; i += 1) for (var s = t[i].querySelectorAll(e), n = 0; n < s.length; n += 1) a.push(s[n]); 2102 return new r(a); 2103 }, 2104 children: function (a) { 2105 for (var i = this, s = [], n = 0; n < this.length; n += 1) for (var o = i[n].childNodes, l = 0; l < o.length;
2105 l += 1) a ? 1 === o[l].nodeType && e(o[l]).is(a) && s.push(o[l]) : 1 === o[l].nodeType && s.push(o[l]); 2106 return new r(t(s)); 2107 }, 2108 remove: function () { 2109 for (var e = this, t = 0; t < this.length; t += 1) e[t].parentNode && e[t].parentNode.removeChild(e[t]); 2110 return this; 2111 }, 2112 add: function () { 2113 for (var t = [], a = arguments.length; a--; ) t[a] = arguments[a]; 2114 var i, 2115 s, 2116 r = this; 2117 for (i = 0; i < t.length; i += 1) { 2118 var n = e(t[i]); 2119 for (s = 0; s < n.length; s += 1) (r[r.length] = n[s]), (r.length += 1); 2120 } 2121 return r; 2122 }, 2123 styles: function () { 2124 return this[0] ? window.getComputedStyle(this[0], null) : {}; 2125 }, 2126 }; 2127 Object.keys(n).forEach(function (t) { 2128 e.fn[t] = n[t]; 2129 }); 2130 var o, 2131 l = { 2132 deleteProps: function (e) { 2133 var t = e; 2134 Object.keys(t).forEach(function (e) { 2135 try { 2136 t[e] = null; 2137 } catch (e) {} 2138 try { 2139 delete t[e]; 2140 } catch (e) {} 2141 }); 2142 }, 2143 nextTick: function (e, t) { 2144 return void 0 === t && (t = 0), setTimeout(e, t); 2145 }, 2146 now: function () { 2147 return Date.now(); 2148 }, 2149 getTranslate: function (e, t) { 2150 void 0 === t && (t = "x"); 2151 var a, 2152 i, 2153 r, 2154 n = s.getComputedStyle(e, null); 2155 return ( 2156 s.WebKitCSSMatrix 2157 ? ((i = n.transform || n.webkitTransform).split(",").length > 6 && 2158 (i = i 2159 .split(", ") 2160 .map(function (e) { 2161 return e.replace(",", "."); 2162 }) 2163 .join(", ")), 2164 (r = new s.WebKitCSSMatrix("none" === i ? "" : i))) 2165 : (a = (r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(",")), 2166 "x" === t && (i = s.WebKitCSSMatrix ? r.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), 2167 "y" === t && (i = s.WebKitCSSMatrix ? r.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), 2168 i || 0 2169 ); 2170 }, 2171 parseUrlQuery: function (e) { 2172 var t, 2173 a, 2174 i, 2175 r, 2176 n = {}, 2177 o = e || s.location.href; 2178 if ("string" == typeof o && o.length) 2179 for ( 2180 r = (a = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split("&").filter(function (e) { 2181 return "" !== e; 2182 })).length, 2183 t = 0; 2184 t < r; 2185 t += 1 2186 ) 2187 (i = a[t].replace(/#\S+/g, "").split("=")), (n[decodeURIComponent(i[0])] = void 0 === i[1] ? void 0 : decodeURIComponent(i[1]) || ""); 2188 return n; 2189 }, 2190 isObject: function (e) { 2191 return "object" == typeof e && null !== e && e.constructor && e.constructor === Object; 2192 }, 2193 extend: function () { 2194 for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]; 2195 for (var a = Object(e[0]), i = 1; i < e.length; i += 1) { 2196 var s = e[i]; 2197 if (void 0 !== s && null !== s) 2198 for (var r = Object.keys(Object(s)), n = 0, o = r.length; n < o; n += 1) { 2199 var d = r[n], 2200 p = Object.getOwnPropertyDescriptor(s, d); 2201 void 0 !== p && p.enumerable && (l.isObject(a[d]) && l.isObject(s[d]) ? l.extend(a[d], s[d]) : !l.isObject(a[d]) && l.isObject(s[d]) ? ((a[d] = {}), l.extend(a[d], s[d])) : (a[d] = s[d])); 2202 } 2203 } 2204 return a; 2205 }, 2206 }, 2207 d = (o = 2208 "undefined" == typeof document 2209 ? { 2210 addEventListener: function () {}, 2211 removeEventListener: function () {}, 2212 activeElement: { blur: function () {}, nodeName: "" }, 2213 querySelector: function () { 2214 return {}; 2215 }, 2216 querySelectorAll: function () { 2217 return []; 2218 }, 2219 createElement: function () { 2220 return { 2221 style: {}, 2222 setAttribute: function () {}, 2223 getElementsByTagName: function () { 2224 return []; 2225 }, 2226 }; 2227 }, 2228 location: { hash: "" }, 2229 } 2230 : document), 2231 p = { 2232 touch: (s.Modernizr && !0 === s.Modernizr.touch) || !!("ontouchstart" in s || (s.DocumentTouch && d instanceof s.DocumentTouch)), 2233 transforms3d: 2234 (s.Modernizr && !0 === s.Modernizr.csstransforms3d) || 2235 (function () { 2236 var e = d.createElement("div").style; 2237 return "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e; 2238 })(), 2239 flexbox: (function () { 2240 for ( 2241 var e = d.createElement("div").style, 2242 t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), 2243 a = 0; 2244 a < t.length; 2245 a += 1 2246 ) 2247 if (t[a] in e) return !0; 2248 return !1; 2249 })(), 2250 observer: "MutationObserver" in s || "WebkitMutationObserver" in s, 2251 passiveListener: (function () { 2252 var e = !1; 2253 try { 2254 var t = Object.defineProperty({}, "passive", { 2255 get: function () { 2256 e = !0; 2257 }, 2258 }); 2259 s.addEventListener("testPassiveListener", null, t); 2260 } catch (e) {} 2261 return e; 2262 })(), 2263 gestures: "ongesturestart" in s, 2264 }, 2265 c = function (e) { 2266 void 0 === e && (e = {}); 2267 var t = this; 2268 (t.params = e), 2269 (t.eventsListeners = {}), 2270 t.params && 2271 t.params.on &&
2272 Object.keys(t.params.on).forEach(function (e) { 2273 t.on(e, t.params.on[e]); 2274 }); 2275 }, 2276 u = { components: {} }; 2277 (c.prototype.on = function (e, t) { 2278 var a = this; 2279 return "function" != typeof t 2280 ? a 2281 : (e.split(" ").forEach(function (e) { 2282 a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e].push(t); 2283 }), 2284 a); 2285 }), 2286 (c.prototype.once = function (e, t) { 2287 function a() { 2288 for (var s = [], r = arguments.length; r--; ) s[r] = arguments[r]; 2289 t.apply(i, s), i.off(e, a); 2290 } 2291 var i = this; 2292 return "function" != typeof t ? i : i.on(e, a); 2293 }), 2294 (c.prototype.off = function (e, t) { 2295 var a = this; 2296 return ( 2297 e.split(" ").forEach(function (e) { 2298 void 0 === t 2299 ? (a.eventsListeners[e] = []) 2300 : a.eventsListeners[e].forEach(function (i, s) { 2301 i === t && a.eventsListeners[e].splice(s, 1); 2302 }); 2303 }), 2304 a 2305 ); 2306 }), 2307 (c.prototype.emit = function () { 2308 for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]; 2309 var a = this; 2310 if (!a.eventsListeners) return a; 2311 var i, s, r; 2312 return ( 2313 "string" == typeof e[0] || Array.isArray(e[0]) ? ((i = e[0]), (s = e.slice(1, e.length)), (r = a)) : ((i = e[0].events), (s = e[0].data), (r = e[0].context || a)), 2314 (Array.isArray(i) ? i : i.split(" ")).forEach(function (e) { 2315 if (a.eventsListeners[e]) { 2316 var t = []; 2317 a.eventsListeners[e].forEach(function (e) { 2318 t.push(e); 2319 }), 2320 t.forEach(function (e) { 2321 e.apply(r, s); 2322 }); 2323 } 2324 }), 2325 a 2326 ); 2327 }), 2328 (c.prototype.useModulesParams = function (e) { 2329 var t = this; 2330 t.modules && 2331 Object.keys(t.modules).forEach(function (a) { 2332 var i = t.modules[a]; 2333 i.params && l.extend(e, i.params); 2334 }); 2335 }), 2336 (c.prototype.useModules = function (e) { 2337 void 0 === e && (e = {}); 2338 var t = this; 2339 t.modules && 2340 Object.keys(t.modules).forEach(function (a) { 2341 var i = t.modules[a], 2342 s = e[a] || {}; 2343 i.instance && 2344 Object.keys(i.instance).forEach(function (e) { 2345 var a = i.instance[e]; 2346 t[e] = "function" == typeof a ? a.bind(t) : a; 2347 }), 2348 i.on && 2349 t.on && 2350 Object.keys(i.on).forEach(function (e) { 2351 t.on(e, i.on[e]); 2352 }), 2353 i.create && i.create.bind(t)(s); 2354 }); 2355 }), 2356 (u.components.set = function (e) { 2357 var t = this; 2358 t.use && t.use(e); 2359 }), 2360 (c.installModule = function (e) { 2361 for (var t = [], a = arguments.length - 1; a-- > 0; ) t[a] = arguments[a + 1]; 2362 var i = this; 2363 i.prototype.modules || (i.prototype.modules = {}); 2364 var s = e.name || Object.keys(i.prototype.modules).length + "_" + l.now(); 2365 return ( 2366 (i.prototype.modules[s] = e), 2367 e.proto && 2368 Object.keys(e.proto).forEach(function (t) { 2369 i.prototype[t] = e.proto[t]; 2370 }), 2371 e.static && 2372 Object.keys(e.static).forEach(function (t) { 2373 i[t] = e.static[t]; 2374 }), 2375 e.install && e.install.apply(i, t), 2376 i 2377 ); 2378 }), 2379 (c.use = function (e) { 2380 for (var t = [], a = arguments.length - 1; a-- > 0; ) t[a] = arguments[a + 1]; 2381 var i = this; 2382 return Array.isArray(e) 2383 ? (e.forEach(function (e) { 2384 return i.installModule(e); 2385 }), 2386 i) 2387 : i.installModule.apply(i, [e].concat(t)); 2388 }), 2389 Object.defineProperties(c, u); 2390 var h = { 2391 updateSize: function () { 2392 var e, 2393 t, 2394 a = this, 2395 i = a.$el; 2396 (e = void 0 !== a.params.width ? a.params.width : i[0].clientWidth), 2397 (t = void 0 !== a.params.height ? a.params.height : i[0].clientHeight), 2398 (0 === e && a.isHorizontal()) || 2399 (0 === t && a.isVertical()) || 2400 ((e = e - parseInt(i.css("padding-left"), 10) - parseInt(i.css("padding-right"), 10)), 2401 (t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10)), 2402 l.extend(a, { width: e, height: t, size: a.isHorizontal() ? e : t })); 2403 }, 2404 updateSlides: function () { 2405 var e = this, 2406 t = e.params, 2407 a = e.$wrapperEl, 2408 i = e.size, 2409 s = e.rtl, 2410 r = e.wrongRTL, 2411 n = a.children("." + e.params.slideClass), 2412 o = e.virtual && t.virtual.enabled ? e.virtual.slides.length : n.length, 2413 d = [], 2414 c = [], 2415 u = [], 2416 h = t.slidesOffsetBefore; 2417 "function" == typeof h && (h = t.slidesOffsetBefore.call(e)); 2418 var v = t.slidesOffsetAfter; 2419 "function" == typeof v && (v = t.slidesOffsetAfter.call(e)); 2420 var f = o, 2421 m = e.snapGrid.length, 2422 g = e.snapGrid.length, 2423 b = t.spaceBetween, 2424 w = -h, 2425 y = 0, 2426 x = 0; 2427 if (void 0 !== i) { 2428 "string" == typeof b && b.indexOf("%") >= 0 && (b = (parseFloat(b.replace("%", "")) / 100) * i), (e.virtualSize = -b), s ? n.css({ marginLeft: "", marginTop: "" }) : n.css({ marginRight: "", marginBottom: "" }); 2429 var T; 2430 t.slidesPerColumn > 1 && 2431 ((T = Math.floor(o / t.slidesPerColumn) === o / e.params.slidesPerColumn ? o : Math.ceil(o / t.slidesPerColumn) * t.slidesPerColumn), 2432 "auto" !== t.slidesPerView && "row" === t.slidesPerColumnFill && (T = Math.max(T, t.slidesPerView * t.slidesPerColumn))); 2433 for (var E, S = t.slidesPerColumn, C = T / S, M = C - (t.slidesPerColumn * C - o), z = 0; z < o; z += 1) { 2434 E = 0; 2435 var P = n.eq(z); 2436 if (t.slidesPerColumn > 1) { 2437 var k = void 0, 2438 $ = void 0, 2439 I = void 0; 2440 "column" === t.slidesPerColumnFill 2441 ? ((I = z - ($ = Math.floor(z / S)) * S), 2442 ($ > M || ($ === M && I === S - 1)) && (I += 1) >= S && ((I = 0), ($ += 1)), 2443 (k = $ + (I * T) / S),
2444 P.css({ "-webkit-box-ordinal-group": k, "-moz-box-ordinal-group": k, "-ms-flex-order": k, "-webkit-order": k, order: k })) 2445 : ($ = z - (I = Math.floor(z / C)) * C), 2446 P.css("margin-" + (e.isHorizontal() ? "top" : "left"), 0 !== I && t.spaceBetween && t.spaceBetween + "px") 2447 .attr("data-swiper-column", $) 2448 .attr("data-swiper-row", I); 2449 } 2450 "none" !== P.css("display") && 2451 ("auto" === t.slidesPerView 2452 ? ((E = e.isHorizontal() ? P.outerWidth(!0) : P.outerHeight(!0)), t.roundLengths && (E = Math.floor(E))) 2453 : ((E = (i - (t.slidesPerView - 1) * b) / t.slidesPerView), t.roundLengths && (E = Math.floor(E)), n[z] && (e.isHorizontal() ? (n[z].style.width = E + "px") : (n[z].style.height = E + "px"))), 2454 n[z] && (n[z].swiperSlideSize = E), 2455 u.push(E), 2456 t.centeredSlides 2457 ? ((w = w + E / 2 + y / 2 + b), 0 === y && 0 !== z && (w = w - i / 2 - b), 0 === z && (w = w - i / 2 - b), Math.abs(w) < 0.001 && (w = 0), x % t.slidesPerGroup == 0 && d.push(w), c.push(w)) 2458 : (x % t.slidesPerGroup == 0 && d.push(w), c.push(w), (w = w + E + b)), 2459 (e.virtualSize += E + b), 2460 (y = E), 2461 (x += 1)); 2462 } 2463 e.virtualSize = Math.max(e.virtualSize, i) + v; 2464 var L; 2465 if ( 2466 (s && r && ("slide" === t.effect || "coverflow" === t.effect) && a.css({ width: e.virtualSize + t.spaceBetween + "px" }), 2467 (p.flexbox && !t.setWrapperSize) || (e.isHorizontal() ? a.css({ width: e.virtualSize + t.spaceBetween + "px" }) : a.css({ height: e.virtualSize + t.spaceBetween + "px" })), 2468 t.slidesPerColumn > 1 && 2469 ((e.virtualSize = (E + t.spaceBetween) * T), 2470 (e.virtualSize = Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween), 2471 e.isHorizontal() ? a.css({ width: e.virtualSize + t.spaceBetween + "px" }) : a.css({ height: e.virtualSize + t.spaceBetween + "px" }), 2472 t.centeredSlides)) 2473 ) { 2474 L = []; 2475 for (var D = 0; D < d.length; D += 1) d[D] < e.virtualSize + d[0] && L.push(d[D]); 2476 d = L; 2477 } 2478 if (!t.centeredSlides) { 2479 L = []; 2480 for (var O = 0; O < d.length; O += 1) d[O] <= e.virtualSize - i && L.push(d[O]); 2481 (d = L), Math.floor(e.virtualSize - i) - Math.floor(d[d.length - 1]) > 1 && d.push(e.virtualSize - i); 2482 } 2483 0 === d.length && (d = [0]), 2484 0 !== t.spaceBetween && (e.isHorizontal() ? (s ? n.css({ marginLeft: b + "px" }) : n.css({ marginRight: b + "px" })) : n.css({ marginBottom: b + "px" })), 2485 l.extend(e, { slides: n, snapGrid: d, slidesGrid: c, slidesSizesGrid: u }), 2486 o !== f && e.emit("slidesLengthChange"), 2487 d.length !== m && e.emit("snapGridLengthChange"), 2488 c.length !== g && e.emit("slidesGridLengthChange"), 2489 (t.watchSlidesProgress || t.watchSlidesVisibility) && e.updateSlidesOffset(); 2490 } 2491 }, 2492 updateAutoHeight: function () { 2493 var e, 2494 t = this, 2495 a = [], 2496 i = 0; 2497 if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1) 2498 for (e = 0; e < Math.ceil(t.params.slidesPerView); e += 1) { 2499 var s = t.activeIndex + e; 2500 if (s > t.slides.length) break; 2501 a.push(t.slides.eq(s)[0]); 2502 } 2503 else a.push(t.slides.eq(t.activeIndex)[0]); 2504 for (e = 0; e < a.length; e += 1) 2505 if (void 0 !== a[e]) { 2506 var r = a[e].offsetHeight; 2507 i = r > i ? r : i; 2508 } 2509 i && t.$wrapperEl.css("height", i + "px"); 2510 }, 2511 updateSlidesOffset: function () { 2512 for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) t[a].swiperSlideOffset = e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop; 2513 }, 2514 updateSlidesProgress: function (e) { 2515 void 0 === e && (e = this.translate || 0); 2516 var t = this, 2517 a = t.params, 2518 i = t.slides, 2519 s = t.rtl; 2520 if (0 !== i.length) { 2521 void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset(); 2522 var r = -e; 2523 s && (r = e), i.removeClass(a.slideVisibleClass); 2524 for (var n = 0; n < i.length; n += 1) { 2525 var o = i[n], 2526 l = (r + (a.centeredSlides ? t.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + a.spaceBetween); 2527 if (a.watchSlidesVisibility) { 2528 var d = -(r - o.swiperSlideOffset), 2529 p = d + t.slidesSizesGrid[n]; 2530 ((d >= 0 && d < t.size) || (p > 0 && p <= t.size) || (d <= 0 && p >= t.size)) && i.eq(n).addClass(a.slideVisibleClass); 2531 } 2532 o.progress = s ? -l : l; 2533 } 2534 } 2535 }, 2536 updateProgress: function (e) { 2537 void 0 === e && (e = this.translate || 0); 2538 var t = this, 2539 a = t.params, 2540 i = t.maxTranslate() - t.minTranslate(), 2541 s = t.progress, 2542 r = t.isBeginning, 2543 n = t.isEnd, 2544 o = r, 2545 d = n; 2546 0 === i ? ((s = 0), (r = !0), (n = !0)) : ((r = (s = (e - t.minTranslate()) / i) <= 0), (n = s >= 1)), 2547 l.extend(t, { progress: s, isBeginning: r, isEnd: n }), 2548 (a.watchSlidesProgress || a.watchSlidesVisibility) && t.updateSlidesProgress(e), 2549 r && !o && t.emit("reachBeginning toEdge"), 2550 n && !d && t.emit("reachEnd toEdge"), 2551 ((o && !r) || (d && !n)) && t.emit("fromEdge"), 2552 t.emit("progress", s); 2553 }, 2554 updateSlidesClasses: function () { 2555 var e = this, 2556 t = e.slides, 2557 a = e.params, 2558 i = e.$wrapperEl, 2559 s = e.activeIndex, 2560 r = e.realIndex, 2561 n = e.virtual && a.virtual.enabled; 2562 t.removeClass(a.slideActiveClass + " " + a.slideNextClass + " " + a.slidePrevClass + " " + a.slideDuplicateActiveClass + " " + a.slideDuplicateNextClass + " " + a.slideDuplicatePrevClass); 2563 var o; 2564 (o = n ? e.$wrapperEl.find("." + a.slideClass + '[data-swiper-slide-index="' + s + '"]') : t.eq(s)).addClass(a.slideActiveClass), 2565 a.loop && 2566 (o.hasClass(a.slideDuplicateClass) 2567 ? i.children("." + a.slideClass + ":not(." + a.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]').addClass(a.slideDuplicateActiveClass) 2568 : i.children("." + a.slideClass + "." + a.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]').addClass(a.slideDuplicateActiveClass)); 2569 var l = o 2570 .nextAll("." + a.slideClass) 2571 .eq(0) 2572 .addClass(a.slideNextClass); 2573 a.loop && 0 === l.length && (l = t.eq(0)).addClass(a.slideNextClass); 2574 var d = o 2575 .prevAll("." + a.slideClass) 2576 .eq(0) 2577 .addClass(a.slidePrevClass); 2578 a.loop && 0 === d.length && (d = t.eq(-1)).addClass(a.slidePrevClass), 2579 a.loop && 2580 (l.hasClass(a.slideDuplicateClass) 2581 ? i.children("." + a.slideClass + ":not(." + a.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(a.slideDuplicateNextClass) 2582 : i.children("." + a.slideClass + "." + a.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(a.slideDuplicateNextClass), 2583 d.hasClass(a.slideDuplicateClass) 2584 ? i.children("." + a.slideClass + ":not(." + a.slideDuplicateClass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(a.slideDuplicatePrevClass) 2585 : i.children("." + a.slideClass + "." + a.slideDuplicateClass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(a.slideDuplicatePrevClass)); 2586 }, 2587 updateActiveIndex: function (e) { 2588 var t, 2589 a = this, 2590 i = a.rtl ? a.translate : -a.translate, 2591 s = a.slidesGrid, 2592 r = a.snapGrid, 2593 n = a.params, 2594 o = a.activeIndex, 2595 d = a.realIndex, 2596 p = a.snapIndex, 2597 c = e; 2598 if (void 0 === c) { 2599 for (var u = 0; u < s.length; u += 1) void 0 !== s[u + 1] ? (i >= s[u] && i < s[u + 1] - (s[u + 1] - s[u]) / 2 ? (c = u) : i >= s[u] && i < s[u + 1] && (c = u + 1)) : i >= s[u] && (c = u); 2600 n.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0); 2601 } 2602 if (((t = r.indexOf(i) >= 0 ? r.indexOf(i) : Math.floor(c / n.slidesPerGroup)) >= r.length && (t = r.length - 1), c !== o)) { 2603 var h = parseInt(a.slides.eq(c).attr("data-swiper-slide-index") || c, 10); 2604 l.extend(a, { snapIndex: t, realIndex: h, previousIndex: o, activeIndex: c }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), d !== h && a.emit("realIndexChange"), a.emit("slideChange"); 2605 } else t !== p && ((a.snapIndex = t), a.emit("snapIndexChange")); 2606 }, 2607 updateClickedSlide: function (t) { 2608 var a = this, 2609 i = a.params, 2610 s = e(t.target).closest("." + i.slideClass)[0], 2611 r = !1; 2612 if (s) for (var n = 0; n < a.slides.length; n += 1) a.slides[n] === s && (r = !0); 2613 if (!s || !r) return (a.clickedSlide = void 0), void (a.clickedIndex = void 0); 2614 (a.clickedSlide = s), 2615 a.virtual && a.params.virtual.enabled ? (a.clickedIndex = parseInt(e(s).attr("data-swiper-slide-index"), 10)) : (a.clickedIndex = e(s).index()), 2616 i.slideToClickedSlide && void 0 !== a.clickedIndex && a.clickedIndex !== a.activeIndex && a.slideToClickedSlide(); 2617 }, 2618 }, 2619 v = { 2620 getTranslate: function (e) { 2621 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 2622 var t = this, 2623 a = t.params, 2624 i = t.rtl, 2625 s = t.translate, 2626 r = t.$wrapperEl; 2627 if (a.virtualTranslate) return i ? -s : s; 2628 var n = l.getTranslate(r[0], e); 2629 return i && (n = -n), n || 0; 2630 }, 2631 setTranslate: function (e, t) { 2632 var a = this, 2633 i = a.rtl, 2634 s = a.params, 2635 r = a.$wrapperEl, 2636 n = a.progress, 2637 o = 0, 2638 l = 0; 2639 a.isHorizontal() ? (o = i ? -e : e) : (l = e), 2640 s.roundLengths && ((o = Math.floor(o)), (l = Math.floor(l))), 2641 s.virtualTranslate || (p.transforms3d ? r.transform("translate3d(" + o + "px, " + l + "px, 0px)") : r.transform("translate(" + o + "px, " + l + "px)")), 2642 (a.translate = a.isHorizontal() ? o : l); 2643 var d = a.maxTranslate() - a.minTranslate(); 2644 (0 === d ? 0 : (e - a.minTranslate()) / d) !== n && a.updateProgress(e), a.emit("setTranslate", a.translate, t); 2645 }, 2646 minTranslate: function () { 2647 return -this.snapGrid[0]; 2648 }, 2649 maxTranslate: function () { 2650 return -this.snapGrid[this.snapGrid.length - 1]; 2651 }, 2652 }, 2653 f = { 2654 setTransition: function (e, t) { 2655 var a = this; 2656 a.$wrapperEl.transition(e), a.emit("setTransition", e, t); 2657 }, 2658 transitionStart: function (e) { 2659 void 0 === e && (e = !0); 2660 var t = this, 2661 a = t.activeIndex, 2662 i = t.params, 2663 s = t.previousIndex; 2664 i.autoHeight && t.updateAutoHeight(), t.emit("transitionStart"), e && a !== s && (t.emit("slideChangeTransitionStart"), a > s ? t.emit("slideNextTransitionStart") : t.emit("slidePrevTransitionStart")); 2665 }, 2666 transitionEnd: function (e) { 2667 void 0 === e && (e = !0); 2668 var t = this, 2669 a = t.activeIndex, 2670 i = t.previousIndex; 2671 (t.animating = !1), t.setTransition(0), t.emit("transitionEnd"), e && a !== i && (t.emit("slideChangeTransitionEnd"), a > i ? t.emit("slideNextTransitionEnd") : t.emit("slidePrevTransitionEnd")); 2672 }, 2673 }, 2674 m = (function () { 2675 return { 2676 isSafari: (function () { 2677 var e = s.navigator.userAgent.toLowerCase(); 2678 return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0; 2679 })(),
2680 isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(s.navigator.userAgent), 2681 ie: s.navigator.pointerEnabled || s.navigator.msPointerEnabled, 2682 ieTouch: (s.navigator.msPointerEnabled && s.navigator.msMaxTouchPoints > 1) || (s.navigator.pointerEnabled && s.navigator.maxTouchPoints > 1), 2683 lteIE9: (function () { 2684 var e = d.createElement("div"); 2685 return (e.innerHTML = "\x3c!--[if lte IE 9]><i></i><![endif]--\x3e"), 1 === e.getElementsByTagName("i").length; 2686 })(), 2687 }; 2688 })(), 2689 g = { 2690 slideTo: function (e, t, a, i) { 2691 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0); 2692 var s = this, 2693 r = e; 2694 r < 0 && (r = 0); 2695 var n = s.params, 2696 o = s.snapGrid, 2697 l = s.slidesGrid, 2698 d = s.previousIndex, 2699 p = s.activeIndex, 2700 c = s.rtl, 2701 u = s.$wrapperEl, 2702 h = Math.floor(r / n.slidesPerGroup); 2703 h >= o.length && (h = o.length - 1), (p || n.initialSlide || 0) === (d || 0) && a && s.emit("beforeSlideChangeStart"); 2704 var v = -o[h]; 2705 if ((s.updateProgress(v), n.normalizeSlideIndex)) for (var f = 0; f < l.length; f += 1) -Math.floor(100 * v) >= Math.floor(100 * l[f]) && (r = f); 2706 return !( 2707 (!s.allowSlideNext && v < s.translate && v < s.minTranslate()) || 2708 (!s.allowSlidePrev && v > s.translate && v > s.maxTranslate() && (p || 0) !== r) || 2709 ((c && -v === s.translate) || (!c && v === s.translate) 2710 ? (s.updateActiveIndex(r), n.autoHeight && s.updateAutoHeight(), s.updateSlidesClasses(), "slide" !== n.effect && s.setTranslate(v), 1) 2711 : (0 === t || m.lteIE9 2712 ? (s.setTransition(0), s.setTranslate(v), s.updateActiveIndex(r), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a), s.transitionEnd(a)) 2713 : (s.setTransition(t), 2714 s.setTranslate(v), 2715 s.updateActiveIndex(r), 2716 s.updateSlidesClasses(), 2717 s.emit("beforeTransitionStart", t, i), 2718 s.transitionStart(a), 2719 s.animating || 2720 ((s.animating = !0), 2721 u.transitionEnd(function () { 2722 s && !s.destroyed && s.transitionEnd(a); 2723 }))), 2724 0)) 2725 ); 2726 }, 2727 slideNext: function (e, t, a) { 2728 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 2729 var i = this, 2730 s = i.params, 2731 r = i.animating; 2732 return s.loop ? !r && (i.loopFix(), (i._clientLeft = i.$wrapperEl[0].clientLeft), i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a)) : i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a); 2733 }, 2734 slidePrev: function (e, t, a) { 2735 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 2736 var i = this, 2737 s = i.params, 2738 r = i.animating; 2739 return s.loop ? !r && (i.loopFix(), (i._clientLeft = i.$wrapperEl[0].clientLeft), i.slideTo(i.activeIndex - 1, e, t, a)) : i.slideTo(i.activeIndex - 1, e, t, a); 2740 }, 2741 slideReset: function (e, t, a) { 2742 void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); 2743 var i = this; 2744 return i.slideTo(i.activeIndex, e, t, a); 2745 }, 2746 slideToClickedSlide: function () { 2747 var t, 2748 a = this, 2749 i = a.params, 2750 s = a.$wrapperEl, 2751 r = "auto" === i.slidesPerView ? a.slidesPerViewDynamic() : i.slidesPerView, 2752 n = a.clickedIndex; 2753 if (i.loop) { 2754 if (a.animating) return; 2755 (t = parseInt(e(a.clickedSlide).attr("data-swiper-slide-index"), 10)), 2756 i.centeredSlides 2757 ? n < a.loopedSlides - r / 2 || n > a.slides.length - a.loopedSlides + r / 2 2758 ? (a.loopFix(), 2759 (n = s 2760 .children("." + i.slideClass + '[data-swiper-slide-index="' + t + '"]:not(.' + i.slideDuplicateClass + ")") 2761 .eq(0) 2762 .index()), 2763 l.nextTick(function () { 2764 a.slideTo(n); 2765 })) 2766 : a.slideTo(n) 2767 : n > a.slides.length - r 2768 ? (a.loopFix(), 2769 (n = s 2770 .children("." + i.slideClass + '[data-swiper-slide-index="' + t + '"]:not(.' + i.slideDuplicateClass + ")") 2771 .eq(0) 2772 .index()), 2773 l.nextTick(function () { 2774 a.slideTo(n); 2775 })) 2776 : a.slideTo(n); 2777 } else a.slideTo(n); 2778 }, 2779 }, 2780 b = { 2781 loopCreate: function () { 2782 var t = this, 2783 a = t.params, 2784 i = t.$wrapperEl; 2785 i.children("." + a.slideClass + "." + a.slideDuplicateClass).remove(); 2786 var s = i.children("." + a.slideClass); 2787 if (a.loopFillGroupWithBlank) { 2788 var r = a.slidesPerGroup - (s.length % a.slidesPerGroup); 2789 if (r !== a.slidesPerGroup) { 2790 for (var n = 0; n < r; n += 1) { 2791 var o = e(d.createElement("div")).addClass(a.slideClass + " " + a.slideBlankClass); 2792 i.append(o); 2793 } 2794 s = i.children("." + a.slideClass); 2795 } 2796 } 2797 "auto" !== a.slidesPerView || a.loopedSlides || (a.loopedSlides = s.length), 2798 (t.loopedSlides = parseInt(a.loopedSlides || a.slidesPerView, 10)), 2799 (t.loopedSlides += a.loopAdditionalSlides), 2800 t.loopedSlides > s.length && (t.loopedSlides = s.length); 2801 var l = [], 2802 p = []; 2803 s.each(function (a, i) { 2804 var r = e(i); 2805 a < t.loopedSlides && p.push(i), a < s.length && a >= s.length - t.loopedSlides && l.push(i), r.attr("data-swiper-slide-index", a); 2806 }); 2807 for (var c = 0; c < p.length; c += 1) i.append(e(p[c].cloneNode(!0)).addClass(a.slideDuplicateClass)); 2808 for (var u = l.length - 1; u >= 0; u -= 1) i.prepend(e(l[u].cloneNode(!0)).addClass(a.slideDuplicateClass)); 2809 }, 2810 loopFix: function () { 2811 var e, 2812 t = this, 2813 a = t.params, 2814 i = t.activeIndex, 2815 s = t.slides, 2816 r = t.loopedSlides, 2817 n = t.allowSlidePrev, 2818 o = t.allowSlideNext; 2819 (t.allowSlidePrev = !0), 2820 (t.allowSlideNext = !0), 2821 i < r 2822 ? ((e = s.length - 3 * r + i), (e += r), t.slideTo(e, 0, !1, !0)) 2823 : (("auto" === a.slidesPerView && i >= 2 * r) || i > s.length - 2 * a.slidesPerView) && ((e = -s.length + i + r), (e += r), t.slideTo(e, 0, !1, !0)), 2824 (t.allowSlidePrev = n), 2825 (t.allowSlideNext = o); 2826 }, 2827 loopDestroy: function () { 2828 var e = this, 2829 t = e.$wrapperEl, 2830 a = e.params, 2831 i = e.slides; 2832 t.children("." + a.slideClass + "." + a.slideDuplicateClass).remove(), i.removeAttr("data-swiper-slide-index"); 2833 }, 2834 }, 2835 w = { 2836 setGrabCursor: function (e) { 2837 var t = this; 2838 if (!p.touch && t.params.simulateTouch) { 2839 var a = t.el; 2840 (a.style.cursor = "move"), (a.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"), (a.style.cursor = e ? "-moz-grabbin" : "-moz-grab"), (a.style.cursor = e ? "grabbing" : "grab"); 2841 } 2842 }, 2843 unsetGrabCursor: function () { 2844 var e = this; 2845 p.touch || (e.el.style.cursor = ""); 2846 }, 2847 }, 2848 y = { 2849 appendSlide: function (e) { 2850 var t = this, 2851 a = t.$wrapperEl, 2852 i = t.params; 2853 if ((i.loop && t.loopDestroy(), "object" == typeof e && "length" in e)) for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]); 2854 else a.append(e); 2855 i.loop && t.loopCreate(), (i.observer && p.observer) || t.update(
2855); 2856 }, 2857 prependSlide: function (e) { 2858 var t = this, 2859 a = t.params, 2860 i = t.$wrapperEl, 2861 s = t.activeIndex; 2862 a.loop && t.loopDestroy(); 2863 var r = s + 1; 2864 if ("object" == typeof e && "length" in e) { 2865 for (var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]); 2866 r = s + e.length; 2867 } else i.prepend(e); 2868 a.loop && t.loopCreate(), (a.observer && p.observer) || t.update(), t.slideTo(r, 0, !1); 2869 }, 2870 removeSlide: function (e) { 2871 var t = this, 2872 a = t.params, 2873 i = t.$wrapperEl, 2874 s = t.activeIndex; 2875 a.loop && (t.loopDestroy(), (t.slides = i.children("." + a.slideClass))); 2876 var r, 2877 n = s; 2878 if ("object" == typeof e && "length" in e) { 2879 for (var o = 0; o < e.length; o += 1) (r = e[o]), t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1); 2880 n = Math.max(n, 0); 2881 } else (r = e), t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), (n = Math.max(n, 0)); 2882 a.loop && t.loopCreate(), (a.observer && p.observer) || t.update(), a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1); 2883 }, 2884 removeAllSlides: function () { 2885 for (var e = this, t = [], a = 0; a < e.slides.length; a += 1) t.push(a); 2886 e.removeSlide(t); 2887 }, 2888 }, 2889 x = (function () { 2890 var e = s.navigator.userAgent, 2891 t = { ios: !1, android: !1, androidChrome: !1, desktop: !1, windows: !1, iphone: !1, ipod: !1, ipad: !1, cordova: s.cordova || s.phonegap, phonegap: s.cordova || s.phonegap }, 2892 a = e.match(/(Windows Phone);?[\s\/]+([\d.]+)?/), 2893 i = e.match(/(Android);?[\s\/]+([\d.]+)?/), 2894 r = e.match(/(iPad).*OS\s([\d_]+)/), 2895 n = e.match(/(iPod)(.*OS\s([\d_]+))?/), 2896 o = !r && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/); 2897 if ( 2898 (a && ((t.os = "windows"), (t.osVersion = a[2]), (t.windows = !0)), 2899 i && !a && ((t.os = "android"), (t.osVersion = i[2]), (t.android = !0), (t.androidChrome = e.toLowerCase().indexOf("chrome") >= 0)), 2900 (r || o || n) && ((t.os = "ios"), (t.ios = !0)), 2901 o && !n && ((t.osVersion = o[2].replace(/_/g, ".")), (t.iphone = !0)), 2902 r && ((t.osVersion = r[2].replace(/_/g, ".")), (t.ipad = !0)), 2903 n && ((t.osVersion = n[3] ? n[3].replace(/_/g, ".") : null), (t.iphone = !0)), 2904 t.ios && t.osVersion && e.indexOf("Version/") >= 0 && "10" === t.osVersion.split(".")[0] && (t.osVersion = e.toLowerCase().split("version/")[1].split(" ")[0]), 2905 (t.desktop = !(t.os || t.android || t.webView)), 2906 (t.webView = (o || r || n) && e.match(/.*AppleWebKit(?!.*Safari)/i)), 2907 t.os && "ios" === t.os) 2908 ) { 2909 var l = t.osVersion.split("."), 2910 p = d.querySelector('meta[name="viewport"]'); 2911 t.minimalUi = !t.webView && (n || o) && (1 * l[0] == 7 ? 1 * l[1] >= 1 : 1 * l[0] > 7) && p && p.getAttribute("content").indexOf("minimal-ui") >= 0; 2912 } 2913 return (t.pixelRatio = s.devicePixelRatio || 1), t; 2914 })(), 2915 T = function (t) { 2916 var a = this, 2917 i = a.touchEventsData, 2918 s = a.params, 2919 r = a.touches, 2920 n = t; 2921 if ((n.originalEvent && (n = n.originalEvent), (i.isTouchEvent = "touchstart" === n.type), (i.isTouchEvent || !("which" in n) || 3 !== n.which) && (!i.isTouched || !i.isMoved))) 2922 if (s.noSwiping && e(n.target).closest("." + s.noSwipingClass)[0]) a.allowClick = !0; 2923 else if (!s.swipeHandler || e(n).closest(s.swipeHandler)[0]) { 2924 (r.currentX = "touchstart" === n.type ? n.targetTouches[0].pageX : n.pageX), (r.currentY = "touchstart" === n.type ? n.targetTouches[0].pageY : n.pageY); 2925 var o = r.currentX, 2926 p = r.currentY; 2927 if (!(x.ios && !x.cordova && s.iOSEdgeSwipeDetection && o <= s.iOSEdgeSwipeThreshold && o >= window.screen.width - s.iOSEdgeSwipeThreshold)) { 2928 if ( 2929 (l.extend(i, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0 }), 2930 (r.startX = o), 2931 (r.startY = p), 2932 (i.touchStartTime = l.now()), 2933 (a.allowClick = !0), 2934 a.updateSize(), 2935 (a.swipeDirection = void 0), 2936 s.threshold > 0 && (i.allowThresholdMove = !1), 2937 "touchstart" !== n.type) 2938 ) { 2939 var c = !0; 2940 e(n.target).is(i.formElements) && (c = !1), d.activeElement && e(d.activeElement).is(i.formElements) && d.activeElement.blur(), c && a.allowTouchMove && n.preventDefault(); 2941 } 2942 a.emit("touchStart", n); 2943 } 2944 } 2945 }, 2946 E = function (t) { 2947 var a = this, 2948 i = a.touchEventsData, 2949 s = a.params, 2950 r = a.touches, 2951 n = a.rtl, 2952 o = t; 2953 if ((o.originalEvent && (o = o.originalEvent), !i.isTouchEvent || "mousemove" !== o.type)) { 2954 var p = "touchmove" === o.type ? o.targetTouches[0].pageX : o.pageX, 2955 c = "touchmove" === o.type ? o.targetTouches[0].pageY : o.pageY; 2956 if (o.preventedByNestedSwiper) return (r.startX = p), void (r.startY = c); 2957 if (!a.allowTouchMove) return (a.allowClick = !1), void (i.isTouched && (l.extend(r, { startX: p, startY: c, currentX: p, currentY: c }), (i.touchStartTime = l.now()))); 2958 if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop) 2959 if (a.isVertical()) { 2960 if ((c < r.startY && a.translate <= a.maxTranslate()) || (c > r.startY && a.translate >= a.minTranslate())) return (i.isTouched = !1), void (i.isMoved = !1); 2961 } else if ((p < r.startX && a.translate <= a.maxTranslate()) || (p > r.startX && a.translate >= a.minTranslate())) return; 2962 if (i.isTouchEvent && d.activeElement && o.target === d.activeElement && e(o.target).is(i.formElements)) return (i.isMoved = !0), void (a.allowClick = !1); 2963 if ((i.allowTouchCallbacks && a.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1))) { 2964 (r.currentX = p), (r.currentY = c); 2965 var u = r.currentX - r.startX, 2966 h = r.currentY - r.startY; 2967 if (void 0 === i.isScrolling) { 2968 var v; 2969 (a.isHorizontal() && r.currentY === r.startY) || (a.isVertical() && r.currentX === r.startX) 2970 ? (i.isScrolling = !1) 2971 : u * u + h * h >= 25 && ((v = (180 * Math.atan2(Math.abs(h), Math.abs(u))) / Math.PI), (i.isScrolling = a.isHorizontal() ? v > s.touchAngle : 90 - v >
2971 s.touchAngle)); 2972 } 2973 if ((i.isScrolling && a.emit("touchMoveOpposite", o), "undefined" == typeof startMoving && ((r.currentX === r.startX && r.currentY === r.startY) || (i.startMoving = !0)), i.isTouched)) 2974 if (i.isScrolling) i.isTouched = !1; 2975 else if (i.startMoving) { 2976 (a.allowClick = !1), 2977 o.preventDefault(), 2978 s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), 2979 i.isMoved || 2980 (s.loop && a.loopFix(), 2981 (i.startTranslate = a.getTranslate()), 2982 a.setTransition(0), 2983 a.animating && a.$wrapperEl.trigger("webkitTransitionEnd transitionend"), 2984 (i.allowMomentumBounce = !1), 2985 !s.grabCursor || (!0 !== a.allowSlideNext && !0 !== a.allowSlidePrev) || a.setGrabCursor(!0), 2986 a.emit("sliderFirstMove", o)), 2987 a.emit("sliderMove", o), 2988 (i.isMoved = !0); 2989 var f = a.isHorizontal() ? u : h; 2990 (r.diff = f), (f *= s.touchRatio), n && (f = -f), (a.swipeDirection = f > 0 ? "prev" : "next"), (i.currentTranslate = f + i.startTranslate); 2991 var m = !0, 2992 g = s.resistanceRatio; 2993 if ( 2994 (s.touchReleaseOnEdges && (g = 0), 2995 f > 0 && i.currentTranslate > a.minTranslate() 2996 ? ((m = !1), s.resistance && (i.currentTranslate = a.minTranslate() - 1 + Math.pow(-a.minTranslate() + i.startTranslate + f, g))) 2997 : f < 0 && i.currentTranslate < a.maxTranslate() && ((m = !1), s.resistance && (i.currentTranslate = a.maxTranslate() + 1 - Math.pow(a.maxTranslate() - i.startTranslate - f, g))), 2998 m && (o.preventedByNestedSwiper = !0), 2999 !a.allowSlideNext && "next" === a.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), 3000 !a.allowSlidePrev && "prev" === a.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), 3001 s.threshold > 0) 3002 ) { 3003 if (!(Math.abs(f) > s.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate); 3004 if (!i.allowThresholdMove) 3005 return ( 3006 (i.allowThresholdMove = !0), (r.startX = r.currentX), (r.startY = r.currentY), (i.currentTranslate = i.startTranslate), void (r.diff = a.isHorizontal() ? r.currentX - r.startX : r.currentY - r.startY) 3007 ); 3008 } 3009 s.followFinger && 3010 ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (a.updateActiveIndex(), a.updateSlidesClasses()), 3011 s.freeMode && 3012 (0 === i.velocities.length && i.velocities.push({ position: r[a.isHorizontal() ? "startX" : "startY"], time: i.touchStartTime }), 3013 i.velocities.push({ position: r[a.isHorizontal() ? "currentX" : "currentY"], time: l.now() })), 3014 a.updateProgress(i.currentTranslate), 3015 a.setTranslate(i.currentTranslate)); 3016 } 3017 } 3018 } 3019 }, 3020 S = function (e) { 3021 var t = this, 3022 a = t.touchEventsData, 3023 i = t.params, 3024 s = t.touches, 3025 r = t.rtl, 3026 n = t.$wrapperEl, 3027 o = t.slidesGrid, 3028 d = t.snapGrid, 3029 p = e; 3030 if ((p.originalEvent && (p = p.originalEvent), a.allowTouchCallbacks && t.emit("touchEnd", p), (a.allowTouchCallbacks = !1), a.isTouched)) { 3031 i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 3032 var c = l.now(), 3033 u = c - a.touchStartTime; 3034 if ( 3035 (t.allowClick && 3036 (t.updateClickedSlide(p), 3037 t.emit("tap", p), 3038 u < 300 && 3039 c - a.lastClickTime > 300 && 3040 (a.clickTimeout && clearTimeout(a.clickTimeout), 3041 (a.clickTimeout = l.nextTick(function () { 3042 t && !t.destroyed && t.emit("click", p); 3043 }, 300))), 3044 u < 300 && c - a.lastClickTime < 300 && (a.clickTimeout && clearTimeout(a.clickTimeout), t.emit("doubleTap", p))), 3045 (a.lastClickTime = l.now()), 3046 l.nextTick(function () { 3047 t.destroyed || (t.allowClick = !0); 3048 }), 3049 !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) 3050 ) 3051 return (a.isTouched = !1), void (a.isMoved = !1); 3052 (a.isTouched = !1), (a.isMoved = !1); 3053 var h; 3054 if (((h = i.followFinger ? (r ? t.translate : -t.translate) : -a.currentTranslate), i.freeMode)) { 3055 if (h < -t.minTranslate()) return void t.slideTo(t.activeIndex); 3056 if (h > -t.maxTranslate()) return void (t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1)); 3057 if (i.freeModeMomentum) { 3058 if (a.velocities.length > 1) { 3059 var v = a.velocities.pop(), 3060 f = a.velocities.pop(), 3061 m = v.position - f.position, 3062 g = v.time - f.time; 3063 (t.velocity = m / g), (t.velocity /= 2), Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (g > 150 || l.now() - v.time > 300) && (t.velocity = 0); 3064 } else t.velocity = 0; 3065 (t.velocity *= i.freeModeMomentumVelocityRatio), (a.velocities.length = 0); 3066 var b = 1e3 * i.freeModeMomentumRatio, 3067 w = t.velocity * b, 3068 y = t.translate + w; 3069 r && (y = -y); 3070 var x, 3071 T = !1, 3072 E = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio; 3073 if (y < t.maxTranslate()) i.freeModeMomentumBounce ? (y + t.maxTranslate() < -E && (y = t.maxTranslate() - E), (x = t.maxTranslate()), (T = !0), (a.allowMomentumBounce = !0)) : (y = t.maxTranslate()); 3074 else if (y > t.minTranslate()) i.freeModeMomentumBounce ? (y - t.minTranslate() > E && (y = t.minTranslate() + E), (x = t.minTranslate()), (T = !0), (a.allowMomentumBounce = !0)) : (y = t.minTranslate()); 3075 else if (i.freeModeSticky) { 3076 for (var S, C = 0; C < d.length; C += 1) 3077 if (d[C] > -y) { 3078 S = C; 3079 break; 3080 } 3081 y = -(y = Math.abs(d[S] - y) < Math.abs(d[S - 1] - y) || "next" === t.swipeDirection ? d[S] : d[S - 1]); 3082 } 3083 if (0 !== t.velocity) b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity); 3084 else if (i.freeModeSticky) return void t.slideReset(); 3085 i.freeModeMomentumBounce && T 3086 ? (t.updateProgress(x), 3087 t.setTransition(b), 3088 t.setTranslate(y), 3089 t.transitionStart(), 3090 (t.animating = !0), 3091 n.transitionEnd(function () { 3092 t && 3093 !t.destroyed && 3094 a.allowMomentumBounce && 3095 (t.emit("momentumBounce"), 3096 t.setTransition(i.speed), 3097 t.setTranslate(x), 3098 n.transitionEnd(function () { 3099 t && !t.destroyed && t.transitionEnd(); 3100 })); 3101 })) 3102 : t.velocity 3103 ? (t.updateProgress(y), 3104 t.setTransition(b), 3105 t.setTranslate(y), 3106 t.transitionStart(), 3107 t.animating || 3108 ((t.animating = !0), 3109 n.transitionEnd(function () { 3110 t && !t.destroyed && t.transitionEnd(); 3111 }))) 3112 : t.updateProgress(y), 3113 t.updateActiveIndex(), 3114 t.updateSlidesClasses(); 3115 } 3116 (!i.freeModeMomentum || u >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()); 3117 } else { 3118 for (var M = 0, z = t.slidesSizesGrid[0], P = 0; P < o.length; P += i.slidesPerGroup) 3119 void 0 !== o[P + i.slidesPerGroup] ? h >= o[P] && h < o[P + i.slidesPerGroup] && ((M = P), (z = o[P + i.slidesPerGroup] - o[P])) : h >= o[P] && ((M = P), (z = o[o.length - 1] - o[o.length - 2])); 3120 var k = (h - o[M]) / z; 3121 if (u > i.longSwipesMs) { 3122 if (!i.longSwipes) return void t.slideTo(t.activeIndex); 3123 "next" === t.swipeDirection && (k >= i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M)), "prev" === t.swipeDirection && (k > 1 - i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M)); 3124 } else { 3125 if (!i.shortSwipes) return void t.slideTo(t.activeIndex); 3126 "next" === t.swipeDirection && t.slideTo(M + i.slidesPerGroup), "prev" === t.swipeDirection && t.slideTo(M); 3127 } 3128 } 3129 } 3130 }, 3131 C = function () { 3132 var e = this, 3133 t = e.params, 3134 a = e.el; 3135 if (!a || 0 !== a.offsetWidth) { 3136 t.breakpoints && e.setBreakpoint(); 3137 var i = e.allowSlideNext, 3138 s = e.allowSlidePrev; 3139 if (((e.allowSlideNext = !0), (e.allowSlidePrev = !0), e.updateSize(), e.updateSlides(), t.freeMode)) { 3140 var r = Math.min(Math.max(e.translate, e.maxTranslate()), e.minTranslate()); 3141 e.setTranslate(r), e.updateActiveIndex(), e.updateSlidesClasses(), t.autoHeight && e.updateAutoHeight(); 3142 } else e.updateSlidesClasses(), ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0); 3143 (e.allowSlidePrev = s), (e.allowSlideNext = i); 3144 } 3145 }, 3146 M = function (e) { 3147 var t = this; 3148 t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())); 3149 }, 3150 z = { 3151 init: !0, 3152 direction: "horizontal", 3153 touchEventsTarget: "container", 3154 initialSlide: 0, 3155 speed: 300, 3156 iOSEdgeSwipeDetection: !1, 3157 iOSEdgeSwipeThreshold: 20, 3158 freeMode: !1, 3159 freeModeMomentum: !0, 3160 freeModeMomentumRatio: 1, 3161 freeModeMomentumBounce: !0, 3162 freeModeMomentumBounceRatio: 1, 3163 freeModeMomentumVelocityRatio: 1, 3164 freeModeSticky: !1, 3165 freeModeMinimumVelocity: 0.02, 3166 autoHeight: !1, 3167 setWrapperSize: !1, 3168 virtualTranslate: !1, 3169 effect: "slide", 3170 breakpoints: void 0, 3171 spaceBetween: 0, 3172 slidesPerView: 1, 3173 slidesPerColumn: 1, 3174 slidesPerColumnFill: "column", 3175 slidesPerGroup: 1, 3176 centeredSlides: !1, 3177 slidesOffsetBefore: 0, 3178 slidesOffsetAfter: 0, 3179 normalizeSlideIndex: !0, 3180 roundLengths: !1, 3181 touchRatio: 1, 3182 touchAngle: 45, 3183 simulateTouch: !0, 3184 shortSwipes: !0, 3185 longSwipes: !0, 3186 longSwipesRatio: 0.5, 3187 longSwipesMs: 300, 3188 followFinger: !0, 3189 allowTouchMove: !0, 3190 threshold: 0, 3191 touchMoveStopPropagation: !0, 3192 touchReleaseOnEdges: !1, 3193 uniqueNavElements: !0, 3194 resistance: !0, 3195 resistanceRatio: 0.85, 3196 watchSlidesProgress: !1, 3197 watchSlidesVisibility: !1, 3198 grabCursor: !1, 3199 preventClicks: !0, 3200 preventClicksPropagation: !0, 3201 slideToClickedSlide: !1, 3202 preloadImages: !0, 3203 updateOnImagesReady: !0, 3204 loop: !1, 3205 loopAdditionalSlides: 0, 3206 loopedSlides: null, 3207 loopFillGroupWithBlank: !1, 3208 allowSlidePrev: !0, 3209 allowSlideNext: !0, 3210 swipeHandler: null, 3211 noSwiping: !0, 3212 noSwipingClass: "swiper-no-swiping", 3213 passiveListeners: !0, 3214 containerModifierClass: "swiper-container-", 3215 slideClass: "swiper-slide", 3216 slideBlankClass: "swiper-slide-invisible-blank", 3217 slideActiveClass: "swiper-slide-active", 3218 slideDuplicateActiveClass: "swiper-slide-duplicate-active", 3219 slideVisibleClass: "swiper-slide-visible", 3220 slideDuplicateClass: "swiper-slide-duplicate", 3221 slideNextClass: "swiper-slide-next", 3222 slideDuplicateNextClass: "swiper-slide-duplicate-next", 3223 slidePrevClass: "swiper-slide-prev", 3224 slideDuplicatePrevClass: "swiper-slide-duplicate-prev", 3225 wrapperClass: "swiper-wrapper", 3226 runCallbacksOnInit: !0, 3227 }, 3228 P = { 3229 update: h, 3230 translate: v, 3231 transition: f, 3232 slide: g, 3233 loop: b, 3234 grabCursor: w, 3235 manipulation: y, 3236 events: { 3237 attachEvents: function () { 3238 var e = this, 3239 t = e.params, 3240 a = e.touchEvents, 3241 i = e.el, 3242 s = e.wrapperEl; 3243 (e.onTouchStart = T.bind(e)), (e.onTouchMove = E.bind(e)), (e.onTouchEnd = S.bind(e)), (e.onClick = M.bind(e)); 3244 var r = "container" === t.touchEventsTarget ? i : s, 3245 n = !!t.nested; 3246 if (m.ie) r.addEventListener(a.start, e.onTouchStart, !1), (p.touch ? r : d).addEventListener(a.move, e.onTouchMove, n), (p.touch ? r : d).addEventListener(a.end, e.onTouchEnd, !1); 3247 else { 3248 if (p.touch) { 3249 var o = !("touchstart" !== a.start || !p.passiveListener || !t.passiveListeners) && { passive: !0, capture: !1 }; 3250 r.addEventListener(a.start, e.onTouchStart, o), r.addEventListener(a.move, e.onTouchMove, p.passiveListener ? { passive: !1, capture: n } : n),
3250r.addEventListener(a.end, e.onTouchEnd, o); 3251 } 3252 ((t.simulateTouch && !x.ios && !x.android) || (t.simulateTouch && !p.touch && x.ios)) && 3253 (r.addEventListener("mousedown", e.onTouchStart, !1), d.addEventListener("mousemove", e.onTouchMove, n), d.addEventListener("mouseup", e.onTouchEnd, !1)); 3254 } 3255 (t.preventClicks || t.preventClicksPropagation) && r.addEventListener("click", e.onClick, !0), e.on("resize observerUpdate", C); 3256 }, 3257 detachEvents: function () { 3258 var e = this, 3259 t = e.params, 3260 a = e.touchEvents, 3261 i = e.el, 3262 s = e.wrapperEl, 3263 r = "container" === t.touchEventsTarget ? i : s, 3264 n = !!t.nested; 3265 if (m.ie) r.removeEventListener(a.start, e.onTouchStart, !1), (p.touch ? r : d).removeEventListener(a.move, e.onTouchMove, n), (p.touch ? r : d).removeEventListener(a.end, e.onTouchEnd, !1); 3266 else { 3267 if (p.touch) { 3268 var o = !("onTouchStart" !== a.start || !p.passiveListener || !t.passiveListeners) && { passive: !0, capture: !1 }; 3269 r.removeEventListener(a.start, e.onTouchStart, o), r.removeEventListener(a.move, e.onTouchMove, n), r.removeEventListener(a.end, e.onTouchEnd, o); 3270 } 3271 ((t.simulateTouch && !x.ios && !x.android) || (t.simulateTouch && !p.touch && x.ios)) && 3272 (r.removeEventListener("mousedown", e.onTouchStart, !1), d.removeEventListener("mousemove", e.onTouchMove, n), d.removeEventListener("mouseup", e.onTouchEnd, !1)); 3273 } 3274 (t.preventClicks || t.preventClicksPropagation) && r.removeEventListener("click", e.onClick, !0), e.off("resize observerUpdate", C); 3275 }, 3276 }, 3277 breakpoints: { 3278 setBreakpoint: function () { 3279 var e = this, 3280 t = e.activeIndex, 3281 a = e.loopedSlides; 3282 void 0 === a && (a = 0); 3283 var i = e.params, 3284 s = i.breakpoints; 3285 if (s && (!s || 0 !== Object.keys(s).length)) {
3286 var r = e.getBreakpoint(s); 3287 if (r && e.currentBreakpoint !== r) { 3288 var n = r in s ? s[r] : e.originalParams, 3289 o = i.loop && n.slidesPerView !== i.slidesPerView; 3290 l.extend(e.params, n), 3291 l.extend(e, { allowTouchMove: e.params.allowTouchMove, allowSlideNext: e.params.allowSlideNext, allowSlidePrev: e.params.allowSlidePrev }), 3292 (e.currentBreakpoint = r), 3293 o && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - a + e.loopedSlides, 0, !1)), 3294 e.emit("breakpoint", n); 3295 } 3296 } 3297 }, 3298 getBreakpoint: function (e) { 3299 if (e) { 3300 var t = !1, 3301 a = []; 3302 Object.keys(e).forEach(function (e) { 3303 a.push(e); 3304 }), 3305 a.sort(function (e, t) { 3306 return parseInt(e, 10) - parseInt(t, 10); 3307 }); 3308 for (var i = 0; i < a.length; i += 1) { 3309 var r = a[i]; 3310 r >= s.innerWidth && !t && (t = r); 3311 } 3312 return t || "max"; 3313 } 3314 }, 3315 }, 3316 classes: { 3317 addClasses: function () { 3318 var e = this, 3319 t = e.classNames, 3320 a = e.params, 3321 i = e.rtl, 3322 r = e.$el, 3323 n = []; 3324 n.push(a.direction), 3325 a.freeMode && n.push("free-mode"), 3326 p.flexbox || n.push("no-flexbox"), 3327 a.autoHeight && n.push("autoheight"), 3328 i && n.push("rtl"), 3329 a.slidesPerColumn > 1 && n.push("multirow"), 3330 x.android && n.push("android"), 3331 x.ios && n.push("ios"), 3332 (s.navigator.pointerEnabled || s.navigator.msPointerEnabled) && n.push("wp8-" + a.direction), 3333 n.forEach(function (e) { 3334 t.push(a.containerModifierClass + e); 3335 }), 3336 r.addClass(t.join(" ")); 3337 }, 3338 removeClasses: function () { 3339 var e = this, 3340 t = e.$el, 3341 a = e.classNames; 3342 t.removeClass(a.join(" ")); 3343 }, 3344 }, 3345 images: { 3346 loadImage: function (e, t, a, i, r, n) { 3347 function o() { 3348 n && n(); 3349 } 3350 var l; 3351 e.complete && r ? o() : t ? (((l = new s.Image()).onload = o), (l.onerror = o), i && (l.sizes = i), a && (l.srcset = a), t && (l.src = t)) : o(); 3352 }, 3353 preloadImages: function () { 3354 var e = this; 3355 e.imagesToLoad = e.$el.find("img"); 3356 for (var t = 0; t < e.imagesToLoad.length; t += 1) { 3357 var a = e.imagesToLoad[t]; 3358 e.loadImage(a, a.currentSrc || a.getAttribute("src"), a.srcset || a.getAttribute("srcset"), a.sizes || a.getAttribute("sizes"), !0, function () { 3359 void 0 !== e && 3360 null !== e && 3361 e && 3362 !e.destroyed && 3363 (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady"))); 3364 }); 3365 } 3366 }, 3367 }, 3368 }, 3369 k = {}, 3370 $ = (function (t) { 3371 function a() { 3372 for (var i = [], r = arguments.length; r--; ) i[r] = arguments[r]; 3373 var n, o; 3374 if (1 === i.length && i[0].constructor && i[0].constructor === Object) o = i[0]; 3375 else { 3376 var d; 3377 (n = (d = i)[0]), (o = d[1]); 3378 } 3379 o || (o = {}), 3380 (o = l.extend({}, o)), 3381 n && !o.el && (o.el = n), 3382 t.call(this, o), 3383 Object.keys(P).forEach(function (e) {
3384 Object.keys(P[e]).forEach(function (t) { 3385 a.prototype[t] || (a.prototype[t] = P[e][t]); 3386 }); 3387 }); 3388 var c = this; 3389 void 0 === c.modules && (c.modules = {}), 3390 Object.keys(c.modules).forEach(function (e) { 3391 var t = c.modules[e]; 3392 if (t.params) { 3393 var a = Object.keys(t.params)[0], 3394 i = t.params[a]; 3395 if ("object" != typeof i) return; 3396 if (!(a in o && "enabled" in i)) return; 3397 !0 === o[a] && (o[a] = { enabled: !0 }), "object" != typeof o[a] || "enabled" in o[a] || (o[a].enabled = !0), o[a] || (o[a] = { enabled: !1 }); 3398 } 3399 }); 3400 var u = l.extend({}, z); 3401 c.useModulesParams(u), (c.params = l.extend({}, u, k, o)), (c.originalParams = l.extend({}, c.params)), (c.passedParams = l.extend({}, o)); 3402 var h = e(c.params.el); 3403 if ((n = h[0])) { 3404 if (h.length > 1) { 3405 var v = []; 3406 return ( 3407 h.each(function (e, t) { 3408 var i = l.extend({}, o, { el: t }); 3409 v.push(new a(i)); 3410 }), 3411 v 3412 ); 3413 } 3414 (n.swiper = c), h.data("swiper", c); 3415 var f = h.children("." + c.params.wrapperClass); 3416 return ( 3417 l.extend(c, { 3418 $el: h, 3419 el: n, 3420 $wrapperEl: f, 3421 wrapperEl: f[0], 3422 classNames: [], 3423 slides: e(), 3424 slidesGrid: [], 3425 snapGrid: [], 3426 slidesSizesGrid: [], 3427 isHorizontal: function () { 3428 return "horizontal" === c.params.direction; 3429 }, 3430 isVertical: function () { 3431 return "vertical" === c.params.direction; 3432 }, 3433 rtl: "horizontal" === c.params.direction && ("rtl" === n.dir.toLowerCase() || "rtl" === h.css("direction")), 3434 wrongRTL: "-webkit-box" === f.css("display"), 3435 activeIndex: 0, 3436 realIndex: 0, 3437 isBeginning: !0, 3438 isEnd: !1, 3439 translate: 0, 3440 progress: 0, 3441 velocity: 0, 3442 animating: !1, 3443 allowSlideNext: c.params.allowSlideNext, 3444 allowSlidePrev: c.params.allowSlidePrev, 3445 touchEvents: (function () { 3446 var e = ["touchstart", "touchmove", "touchend"], 3447 t = ["mousedown", "mousemove", "mouseup"]; 3448 return ( 3449 s.navigator.pointerEnabled ? (t = ["pointerdown", "pointermove", "pointerup"]) : s.navigator.msPointerEnabled && (t = ["MSPointerDown", "MsPointerMove", "MsPointerUp"]), 3450 { start: p.touch || !c.params.simulateTouch ? e[0] : t[0], move: p.touch || !c.params.simulateTouch ? e[1] : t[1], end: p.touch || !c.params.simulateTouch ? e[2] : t[2] } 3451 ); 3452 })(), 3453 touchEventsData: { 3454 isTouched: void 0, 3455 isMoved: void 0, 3456 allowTouchCallbacks: void 0, 3457 touchStartTime: void 0, 3458 isScrolling: void 0, 3459 currentTranslate: void 0, 3460 startTranslate: void 0, 3461 allowThresholdMove: void 0, 3462 formElements: "input, select, option, textarea, button, video", 3463 lastClickTime: l.now(), 3464 clickTimeout: void 0, 3465 velocities: [], 3466 allowMomentumBounce: void 0, 3467 isTouchEvent: void 0, 3468 startMoving: void 0, 3469 }, 3470 allowClick: !0, 3471 allowTouchMove: c.params.allowTouchMove, 3472 touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 }, 3473 imagesToLoad: [], 3474 imagesLoaded: 0, 3475 }), 3476 c.useModules(), 3477 c.params.init && c.init(), 3478 c 3479 ); 3480 } 3481 } 3482 t && (a.__proto__ = t), (a.prototype = Object.create(t && t.prototype)), (a.prototype.constructor = a); 3483 var i = { extendedDefaults: {}, defaults: {}, Class: {}, $: {} }; 3484 return ( 3485 (a.prototype.slidesPerViewDynamic = function () { 3486 var e = this, 3487 t = e.params, 3488 a = e.slides, 3489 i = e.slidesGrid, 3490 s = e.size, 3491 r = e.activeIndex, 3492 n = 1; 3493 if (t.centeredSlides) { 3494 for (var o, l = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) a[d] && !o && ((n += 1), (l += a[d].swiperSlideSize) > s && (o = !0)); 3495 for (var p = r - 1; p >= 0; p -= 1) a[p] && !o && ((n += 1), (l += a[p].swiperSlideSize) > s && (o = !0)); 3496 } else for (var c = r + 1; c < a.length;
3496 c += 1) i[c] - i[r] < s && (n += 1); 3497 return n; 3498 }), 3499 (a.prototype.update = function () { 3500 function e() { 3501 (a = Math.min(Math.max(t.translate, t.maxTranslate()), t.minTranslate())), t.setTranslate(a), t.updateActiveIndex(), t.updateSlidesClasses(); 3502 } 3503 var t = this; 3504 if (t && !t.destroyed) { 3505 t.updateSize(), t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(); 3506 var a; 3507 t.params.freeMode 3508 ? (e(), t.params.autoHeight && t.updateAutoHeight()) 3509 : (("auto" === t.params.slidesPerView || t.params.slidesPerView > 1) && t.isEnd && !t.params.centeredSlides ? t.slideTo(t.slides.length - 1, 0, !1, !0) : t.slideTo(t.activeIndex, 0, !1, !0)) || e(), 3510 t.emit("update"); 3511 } 3512 }), 3513 (a.prototype.init = function () { 3514 var e = this; 3515 e.initialized || 3516 (e.emit("beforeInit"), 3517 e.params.breakpoints && e.setBreakpoint(), 3518 e.addClasses(), 3519 e.params.loop && e.loopCreate(), 3520 e.updateSize(), 3521 e.updateSlides(), 3522 e.params.grabCursor && e.setGrabCursor(), 3523 e.params.preloadImages && e.preloadImages(), 3524 e.params.loop ? e.slideTo(e.params.initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit) : e.slideTo(e.params.initialSlide, 0, e.params.runCallbacksOnInit), 3525 e.attachEvents(), 3526 (e.initialized = !0), 3527 e.emit("init")); 3528 }), 3529 (a.prototype.destroy = function (e, t) { 3530 void 0 === e && (e = !0), void 0 === t && (t = !0); 3531 var a = this, 3532 i = a.params, 3533 s = a.$el, 3534 r = a.$wrapperEl, 3535 n = a.slides; 3536 a.emit("beforeDestroy"), 3537 (a.initialized = !1), 3538 a.detachEvents(), 3539 i.loop && a.loopDestroy(), 3540 t && 3541 (a.removeClasses(), 3542 s.removeAttr("style"), 3543 r.removeAttr("style"), 3544 n && 3545 n.length && 3546 n 3547 .removeClass([i.slideVisibleClass, i.slideActiveClass, i.slideNextClass, i.slidePrevClass].join(" ")) 3548 .removeAttr("style") 3549 .removeAttr("data-swiper-slide-index") 3550 .removeAttr("data-swiper-column") 3551 .removeAttr("data-swiper-row")), 3552 a.emit("destroy"), 3553 Object.keys(a.eventsListeners).forEach(function (e) { 3554 a.off(e); 3555 }), 3556 !1 !== e && ((a.$el[0].swiper = null), a.$el.data("swiper", null), l.deleteProps(a)), 3557 (a.destroyed = !0); 3558 }), 3559 (a.extendDefaults = function (e) { 3560 l.extend(k, e); 3561 }), 3562 (i.extendedDefaults.get = function () { 3563 return k; 3564 }), 3565 (i.defaults.get = function () { 3566 return z; 3567 }), 3568 (i.Class.get = function () { 3569 return t; 3570 }), 3571 (i.$.get = function () { 3572 return e; 3573 }), 3574 Object.defineProperties(a, i), 3575 a 3576 ); 3577 })(c), 3578 I = { name: "device", proto: { device: x }, static: { device: x } }, 3579 L = { name: "support", proto: { support: p }, static: { support: p } }, 3580 D = { name: "browser", proto: { browser: m }, static: { browser: m } }, 3581 O = { 3582 name: "resize", 3583 create: function () { 3584 var e = this; 3585 l.extend(e, { 3586 resize: { 3587 resizeHandler: function () { 3588 e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize")); 3589 }, 3590 orientationChangeHandler: function () { 3591 e && !e.destroyed && e.initialized && e.emit("orientationchange"); 3592 }, 3593 }, 3594 }); 3595 }, 3596 on: { 3597 init: function () { 3598 var e = this; 3599 s.addEventListener("resize", e.resize.resizeHandler), s.addEventListener("orientationchange", e.resize.orientationChangeHandler); 3600 }, 3601 destroy: function () { 3602 var e = this; 3603 s.removeEventListener("resize", e.resize.resizeHandler), s.removeEventListener("orientationchange", e.resize.orientationChangeHandler); 3604 }, 3605 }, 3606 }, 3607 A = { 3608 func: s.MutationObserver || s.WebkitMutationObserver, 3609 attach: function (e, t) { 3610 void 0 === t && (t = {}); 3611 var a = this, 3612 i = new (0, A.func)(function (e) { 3613 e.forEach(function (e) { 3614 a.emit("observerUpdate", e); 3615 }); 3616 }); 3617 i.observe(e, { attributes: void 0 === t.attributes || t.attributes, childList: void 0 === t.childList || t.childList, characterData: void 0 === t.characterData || t.characterData }), a.observer.observers.push(i); 3618 }, 3619 init: function () { 3620 var e = this; 3621 if (p.observer && e.params.observer) { 3622 if (e.params.observeParents) for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]); 3623 e.observer.attach(e.$el[0], { childList: !1 }), e.observer.attach(e.$wrapperEl[0], { attributes: !1 }); 3624 } 3625 }, 3626 destroy: function () { 3627 var e = this;
3628 e.observer.observers.forEach(function (e) { 3629 e.disconnect(); 3630 }), 3631 (e.observer.observers = []); 3632 }, 3633 }, 3634 H = { 3635 name: "observer", 3636 params: { observer: !1, observeParents: !1 }, 3637 create: function () { 3638 var e = this; 3639 l.extend(e, { observer: { init: A.init.bind(e), attach: A.attach.bind(e), destroy: A.destroy.bind(e), observers: [] } }); 3640 }, 3641 on: { 3642 init: function () { 3643 this.observer.init(); 3644 }, 3645 destroy: function () { 3646 this.observer.destroy(); 3647 }, 3648 }, 3649 }, 3650 N = { 3651 update: function (e) { 3652 function t() { 3653 a.updateSlides(), a.updateProgress(), a.updateSlidesClasses(), a.lazy && a.params.lazy.enabled && a.lazy.load(); 3654 } 3655 var a = this, 3656 i = a.params, 3657 s = i.slidesPerView, 3658 r = i.slidesPerGroup, 3659 n = i.centeredSlides, 3660 o = a.virtual, 3661 d = o.from, 3662 p = o.to, 3663 c = o.slides, 3664 u = o.slidesGrid, 3665 h = o.renderSlide, 3666 v = o.offset; 3667 a.updateActiveIndex(); 3668 var f, 3669 m = a.activeIndex || 0; 3670 f = a.rtl && a.isHorizontal() ? "right" : a.isHorizontal() ? "left" : "top"; 3671 var g, b; 3672 n ? ((g = Math.floor(s / 2) + r), (b = Math.floor(s / 2) + r)) : ((g = s + (r - 1)), (b = r)); 3673 var w = Math.max((m || 0) - b, 0), 3674 y = Math.min((m || 0) + g, c.length - 1), 3675 x = (a.slidesGrid[w] || 0) - (a.slidesGrid[0] || 0); 3676 if ((l.extend(a.virtual, { from: w, to: y, offset: x, slidesGrid: a.slidesGrid }), d === w && p === y && !e)) return a.slidesGrid !== u && x !== v && a.slides.css(f, x + "px"), void a.updateProgress(); 3677 if (a.params.virtual.renderExternal) 3678 return ( 3679 a.params.virtual.renderExternal.call(a, { 3680 offset: x, 3681 from: w, 3682 to: y, 3683 slides: (function () { 3684 for (var e = [], t = w; t <= y; t += 1) e.push(c[t]); 3685 return e; 3686 })(), 3687 }), 3688 void t() 3689 ); 3690 var T = [], 3691 E = []; 3692 if (e) a.$wrapperEl.find("." + a.params.slideClass).remove(); 3693 else for (var S = d; S <= p; S += 1) (S < w || S > y) && a.$wrapperEl.find("." + a.params.slideClass + '[data-swiper-slide-index="' + S + '"]').remove(); 3694 for (var C = 0; C < c.length; C += 1) C >= w && C <= y && (void 0 === p || e ? E.push(C) : (C > p && E.push(C), C < d && T.push(C))); 3695 E.forEach(function (e) { 3696 a.$wrapperEl.append(h(c[e], e)); 3697 }), 3698 T.sort(function (e, t) { 3699 return e < t; 3700 }
3700).forEach(function (e) { 3701 a.$wrapperEl.prepend(h(c[e], e)); 3702 }), 3703 a.$wrapperEl.children(".swiper-slide").css(f, x + "px"), 3704 t(); 3705 }, 3706 renderSlide: function (t, a) { 3707 var i = this, 3708 s = i.params.virtual; 3709 if (s.cache && i.virtual.cache[a]) return i.virtual.cache[a]; 3710 var r = e(s.renderSlide ? s.renderSlide.call(i, t, a) : '<div class="' + i.params.slideClass + '" data-swiper-slide-index="' + a + '">' + t + "</div>"); 3711 return r.attr("data-swiper-slide-index") || r.attr("data-swiper-slide-index", a), s.cache && (i.virtual.cache[a] = r), r; 3712 }, 3713 appendSlide: function (e) { 3714 var t = this; 3715 t.virtual.slides.push(e), t.virtual.update(!0); 3716 }, 3717 prependSlide: function (e) { 3718 var t = this; 3719 if ((t.virtual.slides.unshift(e), t.params.virtual.cache)) { 3720 var a = t.virtual.cache, 3721 i = {}; 3722 Object.keys(a).forEach(function (e) { 3723 i[e + 1] = a[e]; 3724 }), 3725 (t.virtual.cache = i); 3726 } 3727 t.virtual.update(!0), t.slideNext(0); 3728 }, 3729 }, 3730 X = { 3731 name: "virtual", 3732 params: { virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null } }, 3733 create: function () { 3734 var e = this; 3735 l.extend(e, { virtual: { update: N.update.bind(e), appendSlide: N.appendSlide.bind(e), prependSlide: N.prependSlide.bind(e), renderSlide: N.renderSlide.bind(e), slides: e.params.virtual.slides, cache: {} } }); 3736 }, 3737 on: { 3738 beforeInit: function () { 3739 var e = this; 3740 if (e.params.virtual.enabled) { 3741 e.classNames.push(e.params.containerModifierClass + "virtual"); 3742 var t = { watchSlidesProgress: !0 }; 3743 l.extend(e.params, t), l.extend(e.originalParams, t), e.virtual.update(
3743); 3744 } 3745 }, 3746 setTranslate: function () { 3747 var e = this; 3748 e.params.virtual.enabled && e.virtual.update(); 3749 }, 3750 }, 3751 }, 3752 Y = { 3753 handle: function (e) { 3754 var t = this, 3755 a = e; 3756 a.originalEvent && (a = a.originalEvent); 3757 var i = a.keyCode || a.charCode; 3758 if (!t.allowSlideNext && ((t.isHorizontal() && 39 === i) || (t.isVertical() && 40 === i))) return !1; 3759 if (!t.allowSlidePrev && ((t.isHorizontal() && 37 === i) || (t.isVertical() && 38 === i))) return !1; 3760 if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || (d.activeElement && d.activeElement.nodeName && ("input" === d.activeElement.nodeName.toLowerCase() || "textarea" === d.activeElement.nodeName.toLowerCase())))) { 3761 if (37 === i || 39 === i || 38 === i || 40 === i) { 3762 var r = !1; 3763 if (t.$el.parents("." + t.params.slideClass).length > 0 && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return; 3764 var n = { left: s.pageXOffset, top: s.pageYOffset }, 3765 o = s.innerWidth, 3766 l = s.innerHeight, 3767 p = t.$el.offset(); 3768 t.rtl && (p.left -= t.$el[0].scrollLeft); 3769 for ( 3770 var c = [ 3771 [p.left, p.top], 3772 [p.left + t.width, p.top], 3773 [p.left, p.top + t.height], 3774 [p.left + t.width, p.top + t.height], 3775 ], 3776 u = 0; 3777 u < c.length; 3778 u += 1 3779 ) { 3780 var h = c[u]; 3781 h[0] >= n.left && h[0] <= n.left + o && h[1] >= n.top && h[1] <= n.top + l && (r = !0); 3782 } 3783 if (!r) return; 3784 } 3785 t.isHorizontal() 3786 ? ((37 !== i && 39 !== i) || (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), 3787 ((39 === i && !t.rtl) || (37 === i && t.rtl)) && t.slideNext(), 3788 ((37 === i && !t.rtl) || (39 === i && t.rtl)) && t.slidePrev()) 3789 : ((38 !== i && 40 !== i) || (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), 40 === i && t.slideNext(), 38 === i && t.slidePrev()), 3790 t.emit("keyPress", i); 3791 } 3792 }, 3793 enable: function () { 3794 var t = this; 3795 t.keyboard.enabled || (e(d).on("keydown", t.keyboard.handle), (t.keyboard.enabled = !0)); 3796 }, 3797 disable: function () { 3798 var t = this; 3799 t.keyboard.enabled && (e(d).off("keydown", t.keyboard.handle), (t.keyboard.enabled = !1)); 3800 }, 3801 }, 3802 G = { 3803 name: "keyboard", 3804 params: { keyboard: { enabled: !1 } }, 3805 create: function () { 3806 var e = this; 3807 l.extend(e, { keyboard: { enabled: !1, enable: Y.enable.bind(e), disable: Y.disable.bind(e), handle: Y.handle.bind(e) } }); 3808 }, 3809 on: { 3810 init: function () { 3811 var e = this; 3812 e.params.keyboard.enabled && e.keyboard.enable(); 3813 }, 3814 destroy: function () { 3815 var e = this; 3816 e.keyboard.enabled && e.keyboard.disable(); 3817 }, 3818 }, 3819 }, 3820 B = { 3821 lastScrollTime: l.now(), 3822 event: s.navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : a() ? "wheel" : "mousewheel", 3823 normalize: function (e) { 3824 var t = 0, 3825 a = 0, 3826 i = 0, 3827 s = 0; 3828 return ( 3829 "detail" in e && (a = e.detail), 3830 "wheelDelta" in e && (a = -e.wheelDelta / 120), 3831 "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), 3832 "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), 3833 "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = a), (a = 0)), 3834 (i = 10 * t), 3835 (s = 10 * a), 3836 "deltaY" in e && (s = e.deltaY), 3837 "deltaX" in e && (i = e.deltaX), 3838 (i || s) && e.deltaMode && (1 === e.deltaMode ? ((i *= 40), (s *= 40)) : ((i *= 800), (s *= 800))), 3839 i && !t && (t = i < 1 ? -1 : 1), 3840 s && !a && (a = s < 1 ? -1 : 1), 3841 { spinX: t, spinY: a, pixelX: i, pixelY: s } 3842 ); 3843 }, 3844 handle: function (e) { 3845 var t = e, 3846 a = this, 3847 i = a.params.mousewheel; 3848 t.originalEvent && (t = t.originalEvent); 3849 var r = 0, 3850 n = a.rtl ? -1 : 1, 3851 o = B.normalize(t); 3852 if (i.forceToAxis) 3853 if (a.isHorizontal()) { 3854 if (!(Math.abs(o.pixelX) > Math.abs(o.pixelY))) return !0; 3855 r = o.pixelX * n; 3856 } else { 3857 if (!(Math.abs(o.pixelY) > Math.abs(o.pixelX))) return !0; 3858 r = o.pixelY; 3859 } 3860 else r = Math.abs(o.pixelX) > Math.abs(o.pixelY) ? -o.pixelX * n : -o.pixelY; 3861 if (0 === r) return !0; 3862 if ((i.invert && (r = -r), a.params.freeMode)) { 3863 var d = a.getTranslate() + r * i.sensitivity,
3864 p = a.isBeginning, 3865 c = a.isEnd; 3866 if ( 3867 (d >= a.minTranslate() && (d = a.minTranslate()), 3868 d <= a.maxTranslate() && (d = a.maxTranslate()), 3869 a.setTransition(0), 3870 a.setTranslate(d), 3871 a.updateProgress(), 3872 a.updateActiveIndex(), 3873 a.updateSlidesClasses(), 3874 ((!p && a.isBeginning) || (!c && a.isEnd)) && a.updateSlidesClasses(), 3875 a.params.freeModeSticky && 3876 (clearTimeout(a.mousewheel.timeout), 3877 (a.mousewheel.timeout = l.nextTick(function () { 3878 a.slideReset(); 3879 }, 300))), 3880 a.emit("scroll", t), 3881 a.params.autoplay && a.params.autoplayDisableOnInteraction && a.stopAutoplay(), 3882 0 === d || d === a.maxTranslate()) 3883 ) 3884 return !0; 3885 } else { 3886 if (l.now() - a.mousewheel.lastScrollTime > 60) 3887 if (r < 0) 3888 if ((a.isEnd && !a.params.loop) || a.animating) { 3889 if (i.releaseOnEdges) return !0; 3890 } else a.slideNext(), a.emit("scroll", t); 3891 else if ((a.isBeginning && !a.params.loop) || a.animating) { 3892 if (i.releaseOnEdges) return !0; 3893 } else a.slidePrev(), a.emit("scroll", t); 3894 a.mousewheel.lastScrollTime = new s.Date().getTime(); 3895 } 3896 return t.preventDefault ? t.preventDefault() : (t.returnValue = !1), !1; 3897 }, 3898 enable: function () { 3899 var t = this; 3900 if (!B.event) return !1; 3901 if (t.mousewheel.enabled) return !1; 3902 var a = t.$el; 3903 return "container" !== t.params.mousewheel.eventsTarged && (a = e(t.params.mousewheel.eventsTarged)), a.on(B.event, t.mousewheel.handle), (t.mousewheel.enabled = !0), !0; 3904 }, 3905 disable: function () { 3906 var t = this; 3907 if (!B.event) return !1; 3908 if (!t.mousewheel.enabled) return !1; 3909 var a = t.$el; 3910 return "container" !== t.params.mousewheel.eventsTarged && (a = e(t.params.mousewheel.eventsTarged)), a.off(B.event, t.mousewheel.handle), (t.mousewheel.enabled = !1), !0; 3911 }, 3912 }, 3913 V = { 3914 name: "mousewheel", 3915 params: { mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarged: "container" } }, 3916 create: function () { 3917 var e = this; 3918 l.extend(e, { mousewheel: { enabled: !1, enable: B.enable.bind(e), disable: B.disable.bind(e), handle: B.handle.bind(e), lastScrollTime: l.now() } }); 3919 }, 3920 on: { 3921 init: function () { 3922 var e = this; 3923 e.params.mousewheel.enabled && e.mousewheel.enable(); 3924 }, 3925 destroy: function () { 3926 var e = this; 3927 e.mousewheel.enabled && e.mousewheel.disable(); 3928 }, 3929 }, 3930 }, 3931 R = { 3932 update: function () { 3933 var e = this, 3934 t = e.params.navigation; 3935 if (!e.params.loop) { 3936 var a = e.navigation, 3937 i = a.$nextEl, 3938 s = a.$prevEl; 3939 s && s.length > 0 && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t.disabledClass)), i && i.length > 0 && (e.isEnd ? i.addClass(t.disabledClass) : i.removeClass(t.disabledClass)); 3940 } 3941 }, 3942 init: function () { 3943 var t = this, 3944 a = t.params.navigation; 3945 if (a.nextEl || a.prevEl) { 3946 var i, s; 3947 a.nextEl && ((i = e(a.nextEl)), t.params.uniqueNavElements && "string" == typeof a.nextEl && i.length > 1 && 1 === t.$el.find(a.nextEl).length && (i = t.$el.find(a.nextEl))), 3948 a.prevEl && ((s = e(a.prevEl)), t.params.uniqueNavElements && "string" == typeof a.prevEl && s.length > 1 && 1 === t.$el.find(a.prevEl).length && (s = t.$el.find(a.prevEl))), 3949 i && 3950 i.length > 0 && 3951 i.on("click", function (e) { 3952 e.preventDefault(), (t.isEnd && !t.params.loop) || t.slideNext(); 3953 }), 3954 s && 3955 s.length > 0 && 3956 s.on("click", function (e) { 3957 e.preventDefault(), (t.isBeginning && !t.params.loop) || t.slidePrev(); 3958 }), 3959 l.extend(t.navigation, { $nextEl: i, nextEl: i && i[0], $prevEl: s, prevEl: s && s[0] }); 3960 } 3961 }, 3962 destroy: function () { 3963 var e = this, 3964 t = e.navigation, 3965 a = t.$nextEl, 3966 i = t.$prevEl; 3967 a && a.length && (a.off("click"), a.removeClass(e.params.navigation.disabledClass)), i && i.length && (i.off("
3967click"), i.removeClass(e.params.navigation.disabledClass)); 3968 }, 3969 }, 3970 W = { 3971 name: "navigation", 3972 params: { navigation: { nextEl: null, prevEl: null, hideOnClick: !1, disabledClass: "swiper-button-disabled", hiddenClass: "swiper-button-hidden" } }, 3973 create: function () { 3974 var e = this; 3975 l.extend(e, { navigation: { init: R.init.bind(e), update: R.update.bind(e), destroy: R.destroy.bind(e) } }); 3976 }, 3977 on: { 3978 init: function () { 3979 var e = this; 3980 e.navigation.init(), e.navigation.update(); 3981 }, 3982 toEdge: function () { 3983 this.navigation.update(); 3984 }, 3985 fromEdge: function () { 3986 this.navigation.update(); 3987 }, 3988 destroy: function () { 3989 this.navigation.destroy(); 3990 }, 3991 click: function (t) { 3992 var a = this, 3993 i = a.navigation, 3994 s = i.$nextEl, 3995 r = i.$prevEl; 3996 !a.params.navigation.hideOnClick || e(t.target).is(r) || e(t.target).is(s) || (s && s.toggleClass(a.params.navigation.hiddenClass), r && r.toggleClass(a.params.navigation.hiddenClass)); 3997 }, 3998 }, 3999 }, 4000 F = { 4001 update: function () { 4002 var t = this, 4003 a = t.rtl, 4004 i = t.params.pagination; 4005 if (i.el && t.pagination.el && t.pagination.$el && 0 !== t.pagination.$el.length) { 4006 var s, 4007 r = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 4008 n = t.pagination.$el, 4009 o = t.params.loop ? Math.ceil((r - 2 * t.loopedSlides) / t.params.slidesPerGroup) : t.snapGrid.length; 4010 if ( 4011 (t.params.loop 4012 ? ((s = Math.ceil((t.activeIndex - t.loopedSlides) / t.params.slidesPerGroup)) > r - 1 - 2 * t.loopedSlides && (s -= r - 2 * t.loopedSlides), 4013 s > o - 1 && (s -= o), 4014 s < 0 && "bullets" !== t.params.paginationType && (s = o + s)) 4015 : (s = void 0 !== t.snapIndex ? t.snapIndex : t.activeIndex || 0), 4016 "bullets" === i.type && t.pagination.bullets && t.pagination.bullets.length > 0) 4017 ) { 4018 var l = t.pagination.bullets; 4019 if ( 4020 (i.dynamicBullets && ((t.pagination.bulletSize = l.eq(0)[t.isHorizontal() ? "outerWidth" : "outerHeight"](!0)), n.css(t.isHorizontal() ? "width" : "height", 5 * t.pagination.bulletSize + "px")), 4021 l.removeClass(i.bulletActiveClass + " " + i.bulletActiveClass + "-next " + i.bulletActiveClass + "-next-next " + i.bulletActiveClass + "-prev " + i.bulletActiveClass + "-prev-prev"), 4022 n.length > 1) 4023 ) 4024 l.each(function (t, a) { 4025 var r = e(a); 4026 r.index() === s && 4027 (r.addClass(i.bulletActiveClass), 4028 i.dynamicBullets && 4029 (r 4030 .prev() 4031 .addClass(i.bulletActiveClass + "-prev") 4032 .prev() 4033 .addClass(i.bulletActiveClass + "-prev-prev"), 4034 r 4035 .next() 4036 .addClass(i.bulletActiveClass + "-next") 4037 .next() 4038 .addClass(i.bulletActiveClass + "-next-next"))); 4039 }); 4040 else { 4041 var d = l.eq(s); 4042 d.addClass(i.bulletActiveClass), 4043 i.dynamicBullets && 4044 (d 4045 .prev() 4046 .addClass(i.bulletActiveClass + "-prev") 4047 .prev() 4048 .addClass(i.bulletActiveClass + "-prev-prev"), 4049 d 4050 .next() 4051 .addClass(i.bulletActiveClass + "-next") 4052 .next() 4053 .addClass(i.bulletActiveClass + "-next-next")); 4054 } 4055 if (i.dynamicBullets) { 4056 var p = Math.min(l.length, 5), 4057 c = (t.pagination.bulletSize * p - t.pagination.bulletSize) / 2 - s * t.pagination.bulletSize, 4058 u = a ? "right" : "left"; 4059 l.css(t.isHorizontal() ? u : "top", c + "px"); 4060 } 4061 } 4062 if (("fraction" === i.type && (n.find("." + i.currentClass).text(s + 1), n.find("." + i.totalClass).text(o)), "progressbar" === i.type)) { 4063 var h = (s + 1) / o, 4064 v = h, 4065 f = 1; 4066 t.isHorizontal() || ((f = h), (v = 1)), 4067 n 4068 .find("." + i.progressbarFillClass)
4069 .transform("translate3d(0,0,0) scaleX(" + v + ") scaleY(" + f + ")") 4070 .transition(t.params.speed); 4071 } 4072 "custom" === i.type && i.renderCustom ? (n.html(i.renderCustom(t, s + 1, o)), t.emit("paginationRender", t, n[0])) : t.emit("paginationUpdate", t, n[0]); 4073 } 4074 }, 4075 render: function () { 4076 var e = this, 4077 t = e.params.pagination; 4078 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 4079 var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length, 4080 i = e.pagination.$el, 4081 s = ""; 4082 if ("bullets" === t.type) { 4083 for (var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length, n = 0; n < r; n += 1) 4084 t.renderBullet ? (s += t.renderBullet.call(e, n, t.bulletClass)) : (s += "<" + t.bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">"); 4085 i.html(s), (e.pagination.bullets = i.find("." + t.bulletClass)); 4086 } 4087 "fraction" === t.type && ((s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>'), i.html(s)), 4088 "progressbar" === t.type && ((s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>'), i.html(s)), 4089 "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0]); 4090 } 4091 }, 4092 init: function () { 4093 var t = this, 4094 a = t.params.pagination; 4095 if (a.el) { 4096 var i = e(a.el); 4097 0 !== i.length && 4098 (t.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === t.$el.find(a.el).length && (i = t.$el.find(a.el)), 4099 "bullets" === a.type && a.clickable && i.addClass(a.clickableClass), 4100 i.addClass(a.modifierClass + a.type), 4101 "bullets" === a.type && a.dynamicBullets && i.addClass("" + a.modifierClass + a.type + "-dynamic"), 4102 a.clickable && 4103 i.on("click", "." + a.bulletClass, function (a) { 4104 a.preventDefault(); 4105 var i = e(this).index() * t.params.slidesPerGroup; 4106 t.params.loop && (i += t.loopedSlides), t.slideTo(i); 4107 }), 4108 l.extend(t.pagination, { $el: i, el: i[0] })); 4109 } 4110 }, 4111 destroy: function () { 4112 var e = this, 4113 t = e.params.pagination; 4114 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 4115 var a = e.pagination.$el; 4116 a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off("
4116click", "." + t.bulletClass); 4117 } 4118 }, 4119 }, 4120 j = { 4121 name: "pagination", 4122 params: { 4123 pagination: { 4124 el: null, 4125 bulletElement: "span", 4126 clickable: !1, 4127 hideOnClick: !1, 4128 renderBullet: null, 4129 renderProgressbar: null, 4130 renderFraction: null, 4131 renderCustom: null, 4132 type: "bullets", 4133 dynamicBullets: !1, 4134 bulletClass: "swiper-pagination-bullet", 4135 bulletActiveClass: "swiper-pagination-bullet-active", 4136 modifierClass: "swiper-pagination-", 4137 currentClass: "swiper-pagination-current", 4138 totalClass: "swiper-pagination-total", 4139 hiddenClass: "swiper-pagination-hidden", 4140 progressbarFillClass: "swiper-pagination-progressbar-fill", 4141 clickableClass: "swiper-pagination-clickable", 4142 }, 4143 }, 4144 create: function () { 4145 var e = this; 4146 l.extend(e, { pagination: { init: F.init.bind(e), render: F.render.bind(e), update: F.update.bind(e), destroy: F.destroy.bind(e) } }); 4147 }, 4148 on: { 4149 init: function () { 4150 var e = this; 4151 e.pagination.init(), e.pagination.render(), e.pagination.update(); 4152 }, 4153 activeIndexChange: function () { 4154 var e = this; 4155 e.params.loop ? e.pagination.update() : void 0 === e.snapIndex && e.pagination.update(); 4156 }, 4157 snapIndexChange: function () { 4158 var e = this; 4159 e.params.loop || e.pagination.update(); 4160 }, 4161 slidesLengthChange: function () { 4162 var e = this; 4163 e.params.loop && (e.pagination.render(), e.pagination.update()); 4164 }, 4165 snapGridLengthChange: function () { 4166 var e = this; 4167 e.params.loop || (e.pagination.render(), e.pagination.update()); 4168 }, 4169 destroy: function () { 4170 this.pagination.destroy(); 4171 }, 4172 click: function (t) { 4173 var a = this; 4174 a.params.pagination.el && a.params.pagination.hideOnClick && a.pagination.$el.length > 0 && !e(t.target).hasClass(a.params.pagination.bulletClass) && a.pagination.$el.toggleClass(a.params.pagination.hiddenClass); 4175 }, 4176 }, 4177 }, 4178 q = { 4179 setTranslate: function () { 4180 var e = this; 4181 if (e.params.scrollbar.el && e.scrollbar.el) { 4182 var t = e.scrollbar, 4183 a = e.rtl, 4184 i = e.progress, 4185 s = t.dragSize, 4186 r = t.trackSize, 4187 n = t.$dragEl, 4188 o = t.$el, 4189 l = e.params.scrollbar, 4190 d = s, 4191 c = (r - s) * i; 4192 a && e.isHorizontal() ? ((c = -c) > 0 ? ((d = s - c), (c = 0)) : -c + s > r && (d = r + c)) : c < 0 ? ((d = s + c), (c = 0)) : c + s > r && (d = r - c), 4193 e.isHorizontal() 4194 ? (p.transforms3d ? n.transform("translate3d(" + c + "px, 0, 0)") : n.transform("translateX(" + c + "px)"), (n[0].style.width = d + "px")) 4195 : (p.transforms3d ? n.transform("translate3d(0px, " + c + "px, 0)") : n.transform("translateY(" + c + "px)"), (n[0].style.height = d + "px")), 4196 l.hide && 4197 (clearTimeout(e.scrollbar.timeout), 4198 (o[0].style.opacity = 1), 4199 (e.scrollbar.timeout = setTimeout(function () { 4200 (o[0].style.opacity = 0), o.transition(400); 4201 }, 1e3))); 4202 } 4203 }, 4204 setTransition: function (e) { 4205 var t = this; 4206 t.params.scrollbar.el && t.scrollbar.el && t.scrollbar.$dragEl.transition(e); 4207 }, 4208 updateSize: function () { 4209 var e = this; 4210 if (e.params.scrollbar.el && e.scrollbar.el) { 4211 var t = e.scrollbar, 4212 a = t.$dragEl, 4213 i = t.$el; 4214 (a[0].style.width = ""), (a[0].style.height = ""); 4215 var s, 4216 r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight, 4217 n = e.size / e.virtualSize, 4218 o = n * (r / e.size); 4219 (s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10)), 4220 e.isHorizontal() ? (a[0].style.width = s + "px") : (a[0].style.height = s + "px"), 4221 (i[0].style.display = n >= 1 ? "none" : ""), 4222 e.params.scrollbarHide && (i[0].style.opacity = 0), 4223 l.extend(t, { trackSize: r, divider: n, moveDivider: o, dragSize: s }); 4224 } 4225 }, 4226 setDragPosition: function (e) { 4227 var t, 4228 a = this, 4229 i = a.scrollbar, 4230 s = i.$el, 4231 r = i.dragSize, 4232 n = i.trackSize; 4233 (t = 4234 ((a.isHorizontal() 4235 ? "touchstart" === e.type || "touchmove" === e.type 4236 ? e.targetTouches[0].pageX 4237 : e.pageX || e.clientX 4238 : "touchstart" === e.type || "touchmove" === e.type 4239 ? e.targetTouches[0].pageY 4240 : e.pageY || e.clientY) - 4241 s.offset()[a.isHorizontal() ? "left" : "top"] - 4242 r / 2) / 4243 (n - r)),
4244 (t = Math.max(Math.min(t, 1), 0)), 4245 a.rtl && (t = 1 - t); 4246 var o = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t; 4247 a.updateProgress(o), a.setTranslate(o), a.updateActiveIndex(), a.updateSlidesClasses(); 4248 }, 4249 onDragStart: function (e) { 4250 var t = this, 4251 a = t.params.scrollbar, 4252 i = t.scrollbar, 4253 s = t.$wrapperEl, 4254 r = i.$el, 4255 n = i.$dragEl; 4256 (t.scrollbar.isTouched = !0), 4257 e.preventDefault(), 4258 e.stopPropagation(), 4259 s.transition(100), 4260 n.transition(100), 4261 i.setDragPosition(e), 4262 clearTimeout(t.scrollbar.dragTimeout), 4263 r.transition(0), 4264 a.hide && r.css("opacity", 1), 4265 t.emit("scrollbarDragStart", e); 4266 }, 4267 onDragMove: function (e) { 4268 var t = this, 4269 a = t.scrollbar, 4270 i = t.$wrapperEl, 4271 s = a.$el, 4272 r = a.$dragEl; 4273 t.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1), a.setDragPosition(e), i.transition(0), s.transition(0), r.transition(0), t.emit("scrollbarDragMove", e)); 4274 }, 4275 onDragEnd: function (e) { 4276 var t = this, 4277 a = t.params.scrollbar, 4278 i = t.scrollbar.$el; 4279 t.scrollbar.isTouched && 4280 ((t.scrollbar.isTouched = !1), 4281 a.hide && 4282 (clearTimeout(t.scrollbar.dragTimeout), 4283 (t.scrollbar.dragTimeout = l.nextTick(function () { 4284 i.css("opacity", 0), i.transition(400); 4285 }, 1e3))), 4286 t.emit("scrollbarDragEnd", e), 4287 a.snapOnRelease && t.slideReset()); 4288 }, 4289 enableDraggable: function () { 4290 var t = this; 4291 if (t.params.scrollbar.el) { 4292 var a = t.scrollbar.$el, 4293 i = p.touch ? a[0] : document; 4294 a.on(t.scrollbar.dragEvents.start, t.scrollbar.onDragStart), e(i).on(t.scrollbar.dragEvents.move, t.scrollbar.onDragMove), e(i).on(t.scrollbar.dragEvents.end, t.scrollbar.onDragEnd); 4295 } 4296 }, 4297 disableDraggable: function () { 4298 var t = this; 4299 if (t.params.scrollbar.el) { 4300 var a = t.scrollbar.$el, 4301 i = p.touch ? a[0] : document; 4302 a.off(t.scrollbar.dragEvents.start), e(i).off(t.scrollbar.dragEvents.move), e(i).off(t.scrollbar.dragEvents.end); 4303 } 4304 }, 4305 init: function () { 4306 var t = this; 4307 if (t.params.scrollbar.el) { 4308 var a = t.scrollbar, 4309 i = t.$el, 4310 s = t.touchEvents, 4311 r = t.params.scrollbar, 4312 n = e(r.el); 4313 t.params.uniqueNavElements && "string" == typeof r.el && n.length > 1 && 1 === i.find(r.el).length && (n = i.find(r.el)); 4314 var o = n.find(".swiper-scrollbar-drag"); 4315 0 === o.length && ((o = e('<div class="swiper-scrollbar-drag"></div>')), n.append(o)), 4316 (t.scrollbar.dragEvents = !1 !== t.params.simulateTouch || p.touch ? s : { start: "mousedown", move: "mousemove", end: "mouseup" }), 4317 l.extend(a, { $el: n, el: n[0], $dragEl: o, dragEl: o[0] }), 4318 r.draggable && a.enableDraggable(); 4319 } 4320 }, 4321 destroy: function () { 4322 this.scrollbar.disableDraggable(); 4323 }, 4324 }, 4325 K = { 4326 name: "scrollbar", 4327 params: { scrollbar: { el: null, dragSize: "auto", hide: !1, draggable: !1, snapOnRelease: !0 } }, 4328 create: function () { 4329 var e = this; 4330 l.extend(e, { 4331 scrollbar: { 4332 init: q.init.bind(e), 4333 destroy: q.destroy.bind(e), 4334 updateSize: q.updateSize.bind(e), 4335 setTranslate: q.setTranslate.bind(e), 4336 setTransition: q.setTransition.bind(e), 4337 enableDraggable: q.enableDraggable.bind(e), 4338 disableDraggable: q.disableDraggable.bind(e), 4339 setDragPosition: q.setDragPosition.bind(e), 4340 onDragStart: q.onDragStart.bind(e), 4341 onDragMove: q.onDragMove.bind(e), 4342 onDragEnd: q.onDragEnd.bind(e), 4343 isTouched: !1, 4344 timeout: null, 4345 dragTimeout: null, 4346 }, 4347 }); 4348 }, 4349 on: { 4350 init: function () { 4351 var e = this; 4352 e.scrollbar.init(), e.scrollbar.updateSize(), e.scrollbar.setTranslate(); 4353 }, 4354 update: function () { 4355 this.scrollbar.updateSize(); 4356 }, 4357 resize: function () { 4358 this.scrollbar.updateSize(); 4359 }, 4360 observerUpdate: function () { 4361 this.scrollbar.updateSize(); 4362 }, 4363 setTranslate: function () { 4364 this.scrollbar.setTranslate(); 4365 }, 4366 setTransition: function (e) { 4367 this.scrollbar.setTransition(e); 4368 }, 4369 destroy: function () { 4370 this.scrollbar.destroy(); 4371 }, 4372 }, 4373 }, 4374 U = { 4375 setTransform: function (t, a) { 4376 var i = this, 4377 s = i.rtl, 4378 r = e(t), 4379 n = s ? -1 : 1, 4380 o = r.attr("data-swiper-parallax") || "0", 4381 l = r.attr("data-swiper-parallax-x"), 4382 d = r.attr("data-swiper-parallax-y"), 4383 p = r.attr("data-swiper-parallax-scale"), 4384 c = r.attr("data-swiper-parallax-opacity"); 4385 if ( 4386 (l || d ? ((l = l || "0"), (d = d || "0")) : i.isHorizontal() ? ((l = o), (d = "0")) : ((d = o), (l = "0")), 4387 (l = l.indexOf("%") >= 0 ? parseInt(l, 10) * a * n + "%" : l * a * n + "px"), 4388 (d = d.indexOf("%") >= 0 ? parseInt(d, 10) * a + "%" : d * a + "px"), 4389 void 0 !== c && null !== c) 4390 ) {
4391 var u = c - (c - 1) * (1 - Math.abs(a)); 4392 r[0].style.opacity = u; 4393 } 4394 if (void 0 === p || null === p) r.transform("translate3d(" + l + ", " + d + ", 0px)"); 4395 else { 4396 var h = p - (p - 1) * (1 - Math.abs(a)); 4397 r.transform("translate3d(" + l + ", " + d + ", 0px) scale(" + h + ")"); 4398 } 4399 }, 4400 setTranslate: function () { 4401 var t = this, 4402 a = t.$el, 4403 i = t.slides, 4404 s = t.progress, 4405 r = t.snapGrid; 4406 a.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function (e, a) { 4407 t.parallax.setTransform(a, s); 4408 }), 4409 i.each(function (a, i) { 4410 var n = i.progress; 4411 t.params.slidesPerGroup > 1 && "auto" !== t.params.slidesPerView && (n += Math.ceil(a / 2) - s * (r.length - 1)), 4412 (n = Math.min(Math.max(n, -1), 1)), 4413 e(i) 4414 .find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]") 4415 .each(function (e, a) { 4416 t.parallax.setTransform(a, n); 4417 }); 4418 }); 4419 }, 4420 setTransition: function (t) { 4421 void 0 === t && (t = this.params.speed), 4422 this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function (a, i) { 4423 var s = e(i), 4424 r = parseInt(s.attr("data-swiper-parallax-duration"), 10) || t; 4425 0 === t && (r = 0), s.transition(r); 4426 }); 4427 }, 4428 }, 4429 _ = { 4430 name: "parallax", 4431 params: { parallax: { enabled: !1 } }, 4432 create: function () { 4433 var e = this; 4434 l.extend(e, { parallax: { setTransform: U.setTransform.bind(e), setTranslate: U.setTranslate.bind(e), setTransition: U.setTransition.bind(e) } }); 4435 }, 4436 on: { 4437 beforeInit: function () { 4438 this.params.watchSlidesProgress = !0; 4439 }, 4440 init: function () { 4441 var e = this; 4442 e.params.parallax && e.parallax.setTranslate(); 4443 }, 4444 setTranslate: function () { 4445 var e = this; 4446 e.params.parallax && e.parallax.setTranslate(); 4447 }, 4448 setTransition: function (e) { 4449 var t = this; 4450 t.params.parallax && t.parallax.setTransition(e); 4451 }, 4452 }, 4453 }, 4454 Z = { 4455 getDistanceBetweenTouches: function (e) { 4456 if (e.targetTouches.length < 2) return 1; 4457 var t = e.targetTouches[0].pageX, 4458 a = e.targetTouches[0].pageY, 4459 i = e.targetTouches[1].pageX, 4460 s = e.targetTouches[1].pageY; 4461 return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2)); 4462 }, 4463 onGestureStart: function (t) { 4464 var a = this, 4465 i = a.params.zoom, 4466 s = a.zoom, 4467 r = s.gesture; 4468 if (((s.fakeGestureTouched = !1), (s.fakeGestureMoved = !1), !p.gestures)) { 4469 if ("touchstart" !== t.type || ("touchstart" === t.type && t.targetTouches.length < 2)) return; 4470 (s.fakeGestureTouched = !0), (r.scaleStart = Z.getDistanceBetweenTouches(t)); 4471 } 4472 (r.$slideEl && r.$slideEl.length) || 4473 ((r.$slideEl = e(this)), 4474 0 === r.$slideEl.length && (r.$slideEl = a.slides.eq(a.activeIndex)), 4475 (r.$imageEl = r.$slideEl.find("img, svg, canvas")), 4476 (r.$imageWrapEl = r.$imageEl.parent("." + i.containerClass)), 4477 (r.maxRatio = r.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio), 4478 0 !== r.$imageWrapEl.length) 4479 ? (r.$imageEl.transition(0), (a.zoom.isScaling = !0)) 4480 : (r.$imageEl = void 0); 4481 }, 4482 onGestureChange: function (e) { 4483 var t = this, 4484 a = t.params.zoom, 4485 i = t.zoom, 4486 s = i.gesture; 4487 if (!p.gestures) { 4488 if ("touchmove" !== e.type || ("touchmove" === e.type && e.targetTouches.length < 2)) return; 4489 (i.fakeGestureMoved = !0), (s.scaleMove = Z.getDistanceBetweenTouches(e)); 4490 } 4491 s.$imageEl && 4492 0 !== s.$imageEl.length && 4493 (p.gestures ? (t.zoom.scale = e.scale * i.currentScale) : (i.scale = (s.scaleMove / s.scaleStart) * i.currentScale), 4494 i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, 0.5)), 4495 i.scale < a.minRatio && (i.scale = a.minRatio + 1 - Math.pow(a.minRatio - i.scale + 1, 0.5)),
4496 s.$imageEl.transform("translate3d(0,0,0) scale(" + i.scale + ")")); 4497 }, 4498 onGestureEnd: function (e) { 4499 var t = this, 4500 a = t.params.zoom, 4501 i = t.zoom, 4502 s = i.gesture; 4503 if (!p.gestures) { 4504 if (!i.fakeGestureTouched || !i.fakeGestureMoved) return; 4505 if ("touchend" !== e.type || ("touchend" === e.type && e.changedTouches.length < 2 && !x.android)) return; 4506 (i.fakeGestureTouched = !1), (i.fakeGestureMoved = !1); 4507 } 4508 s.$imageEl && 4509 0 !== s.$imageEl.length && 4510 ((i.scale = Math.max(Math.min(i.scale, s.maxRatio), a.minRatio)), 4511 s.$imageEl.transition(t.params.speed).transform("translate3d(0,0,0) scale(" + i.scale + ")"), 4512 (i.currentScale = i.scale), 4513 (i.isScaling = !1), 4514 1 === i.scale && (s.$slideEl = void 0)); 4515 }, 4516 onTouchStart: function (e) { 4517 var t = this.zoom, 4518 a = t.gesture, 4519 i = t.image; 4520 a.$imageEl && 4521 0 !== a.$imageEl.length && 4522 (i.isTouched || 4523 (x.android && e.preventDefault(), 4524 (i.isTouched = !0), 4525 (i.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX), 4526 (i.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))); 4527 }, 4528 onTouchMove: function (e) { 4529 var t = this, 4530 a = t.zoom, 4531 i = a.gesture, 4532 s = a.image, 4533 r = a.velocity; 4534 if (i.$imageEl && 0 !== i.$imageEl.length && ((t.allowClick = !1), s.isTouched && i.$slideEl)) { 4535 s.isMoved || 4536 ((s.width = i.$imageEl[0].offsetWidth), 4537 (s.height = i.$imageEl[0].offsetHeight), 4538 (s.startX = l.getTranslate(i.$imageWrapEl[0], "x") || 0), 4539 (s.startY = l.getTranslate(i.$imageWrapEl[0], "y") || 0), 4540 (i.slideWidth = i.$slideEl[0].offsetWidth), 4541 (i.slideHeight = i.$slideEl[0].offsetHeight), 4542 i.$imageWrapEl.transition(0), 4543 t.rtl && (s.startX = -s.startX), 4544 t.rtl && (s.startY = -s.startY)); 4545 var n = s.width * a.scale, 4546 o = s.height * a.scale; 4547 if (!(n < i.slideWidth && o < i.slideHeight)) { 4548 if ( 4549 ((s.minX = Math.min(i.slideWidth / 2 - n / 2, 0)), 4550 (s.maxX = -s.minX), 4551 (s.minY = Math.min(i.slideHeight / 2 - o / 2, 0)), 4552 (s.maxY = -s.minY), 4553 (s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX), 4554 (s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY), 4555 !s.isMoved && !a.isScaling) 4556 ) { 4557 if (t.isHorizontal() && ((Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x) || (Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x))) 4558 return void (s.isTouched = !1); 4559 if (!t.isHorizontal() && ((Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y) || (Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y))) 4560 return void (s.isTouched = !1); 4561 } 4562 e.preventDefault(), 4563 e.stopPropagation(), 4564 (s.isMoved = !0), 4565 (s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX), 4566 (s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY), 4567 s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, 0.8)), 4568 s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, 0.8)), 4569 s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, 0.8)), 4570 s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, 0.8)), 4571 r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), 4572 r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y), 4573 r.prevTime || (r.prevTime = Date.now()), 4574 (r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2), 4575 (r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2), 4576 Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), 4577 Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), 4578 (r.prevPositionX = s.touchesCurrent.x), 4579 (r.prevPositionY = s.touchesCurrent.y), 4580 (r.prevTime = Date.now()), 4581 i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0
4581)"); 4582 } 4583 } 4584 }, 4585 onTouchEnd: function () { 4586 var e = this.zoom, 4587 t = e.gesture, 4588 a = e.image, 4589 i = e.velocity; 4590 if (t.$imageEl && 0 !== t.$imageEl.length) { 4591 if (!a.isTouched || !a.isMoved) return (a.isTouched = !1), void (a.isMoved = !1); 4592 (a.isTouched = !1), (a.isMoved = !1); 4593 var s = 300, 4594 r = 300, 4595 n = i.x * s, 4596 o = a.currentX + n, 4597 l = i.y * r, 4598 d = a.currentY + l; 4599 0 !== i.x && (s = Math.abs((o - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y)); 4600 var p = Math.max(s, r); 4601 (a.currentX = o), (a.currentY = d); 4602 var c = a.width * e.scale, 4603 u = a.height * e.scale; 4604 (a.minX = Math.min(t.slideWidth / 2 - c / 2, 0)), 4605 (a.maxX = -a.minX), 4606 (a.minY = Math.min(t.slideHeight / 2 - u / 2, 0)), 4607 (a.maxY = -a.minY), 4608 (a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX)), 4609 (a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY)), 4610 t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)"); 4611 } 4612 }, 4613 onTransitionEnd: function () { 4614 var e = this, 4615 t = e.zoom, 4616 a = t.gesture; 4617 a.$slideEl && 4618 e.previousIndex !== e.activeIndex && 4619 (a.$imageEl.transform("translate3d(0,0,0) scale(1)"), a.$imageWrapEl.transform("translate3d(0,0,0)"), (a.$slideEl = void 0), (a.$imageEl = void 0), (a.$imageWrapEl = void 0), (t.scale = 1), (t.currentScale = 1)); 4620 }, 4621 toggle: function (e) { 4622 var t = this.zoom; 4623 t.scale && 1 !== t.scale ? t.out() : t.in(e); 4624 }, 4625 in: function (t) { 4626 var a = this, 4627 i = a.zoom, 4628 s = a.params.zoom, 4629 r = i.gesture, 4630 n = i.image; 4631 if ( 4632 (r.$slideEl || ((r.$slideEl = a.clickedSlide ? e(a.clickedSlide) : a.slides.eq(a.activeIndex)), (r.$imageEl = r.$slideEl.find("img, svg, canvas")), (r.$imageWrapEl = r.$imageEl.parent("." + s.containerClass))), 4633 r.$imageEl && 0 !== r.$imageEl.length) 4634 ) { 4635 r.$slideEl.addClass("" + s.zoomedSlideClass); 4636 var o, l, d, p, c, u, h, v, f, m, g, b, w, y, x, T; 4637 void 0 === n.touchesStart.x && t 4638 ? ((o = "touchend" === t.type ? t.changedTouches[0].pageX : t.pageX), (l = "touchend" === t.type ? t.changedTouches[0].pageY : t.pageY)) 4639 : ((o = n.touchesStart.x), (l = n.touchesStart.y)), 4640 (i.scale = r.$imageWrapEl.attr("data-swiper-zoom") || s.maxRatio), 4641 (i.currentScale = r.$imageWrapEl.attr("data-swiper-zoom") || s.maxRatio), 4642 t 4643 ? ((x = r.$slideEl[0].offsetWidth), 4644 (T = r.$slideEl[0].offsetHeight), 4645 (d = r.$slideEl.offset().left + x / 2 - o), 4646 (p = r.$slideEl.offset().top + T / 2 - l), 4647 (h = r.$imageEl[0].offsetWidth), 4648 (v = r.$imageEl[0].offsetHeight), 4649 (f = h * i.scale), 4650 (m = v * i.scale), 4651 (w = -(g = Math.min(x / 2 - f / 2, 0))), 4652 (y = -(b = Math.min(T / 2 - m / 2, 0))), 4653 (c = d * i.scale), 4654 (u = p * i.scale), 4655 c < g && (c = g), 4656 c > w && (c = w), 4657 u < b && (u = b), 4658 u > y && (u = y)) 4659 : ((c = 0), (u = 0)), 4660 r.$imageWrapEl.transition(300).transform("translate3d(" + c + "px, " + u + "px,0
4660)"), 4661 r.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + i.scale + ")"); 4662 } 4663 }, 4664 out: function () { 4665 var t = this, 4666 a = t.zoom, 4667 i = t.params.zoom, 4668 s = a.gesture; 4669 s.$slideEl || ((s.$slideEl = t.clickedSlide ? e(t.clickedSlide) : t.slides.eq(t.activeIndex)), (s.$imageEl = s.$slideEl.find("img, svg, canvas")), (s.$imageWrapEl = s.$imageEl.parent("." + i.containerClass))), 4670 s.$imageEl && 4671 0 !== s.$imageEl.length && 4672 ((a.scale = 1), 4673 (a.currentScale = 1), 4674 s.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), 4675 s.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), 4676 s.$slideEl.removeClass("" + i.zoomedSlideClass), 4677 (s.$slideEl = void 0)); 4678 }, 4679 enable: function () { 4680 var t = this, 4681 a = t.zoom; 4682 if (!a.enabled) { 4683 a.enabled = !0; 4684 var i = t.slides, 4685 s = !("touchstart" !== t.touchEvents.start || !p.passiveListener || !t.params.passiveListeners) && { passive: !0, capture: !1 }; 4686 p.gestures 4687 ? (i.on("gesturestart", a.onGestureStart, s), i.on("gesturechange", a.onGestureChange, s), i.on("gestureend", a.onGestureEnd, s)) 4688 : "touchstart" === t.touchEvents.start && (i.on(t.touchEvents.start, a.onGestureStart, s), i.on(t.touchEvents.move, a.onGestureChange, s), i.on(t.touchEvents.end, a.onGestureEnd, s)), 4689 t.slides.each(function (i, s) { 4690 var r = e(s); 4691 r.find("." + t.params.zoom.containerClass).length > 0 && r.on(t.touchEvents.move, a.onTouchMove); 4692 }); 4693 } 4694 }, 4695 disable: function () { 4696 var t = this, 4697 a = t.zoom; 4698 if (a.enabled) { 4699 t.zoom.enabled = !1; 4700 var i = t.slides, 4701 s = !("touchstart" !== t.touchEvents.start || !p.passiveListener || !t.params.passiveListeners) && { passive: !0, capture: !1 }; 4702 p.gestures 4703 ? (i.off("gesturestart", a.onGestureStart, s), i.off("gesturechange", a.onGestureChange, s), i.off("gestureend", a.onGestureEnd, s)) 4704 : "touchstart" === t.touchEvents.start && (i.off(t.touchEvents.start, a.onGestureStart, s), i.off(t.touchEvents.move, a.onGestureChange, s), i.off(t.touchEvents.end, a.onGestureEnd, s)), 4705 t.slides.each(function (i, s) { 4706 var r = e(s); 4707 r.find("." + t.params.zoom.containerClass).length > 0 && r.off(t.touchEvents.move, a.onTouchMove); 4708 }); 4709 } 4710 }, 4711 }, 4712 Q = { 4713 name: "zoom", 4714 params: { zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: "swiper-zoom-container", zoomedSlideClass: "swiper-slide-zoomed" } }, 4715 create: function () { 4716 var e = this, 4717 t = { 4718 enabled: !1, 4719 scale: 1, 4720 currentScale: 1, 4721 isScaling: !1, 4722 gesture: { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3 }, 4723 image: { 4724 isTouched: void 0, 4725 isMoved: void 0, 4726 currentX: void 0, 4727 currentY: void 0, 4728 minX: void 0, 4729 minY: void 0, 4730 maxX: void 0, 4731 maxY: void 0, 4732 width: void 0, 4733 height: void 0, 4734 startX: void 0, 4735 startY: void 0, 4736 touchesStart: {}, 4737 touchesCurrent: {}, 4738 }, 4739 velocity: { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0 }, 4740 }; 4741 "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach(function (a) { 4742 t[a] = Z[a].bind(e); 4743 }), 4744 l.extend(e, { zoom: t }); 4745 }, 4746 on: { 4747 init: function () { 4748 var e = this; 4749 e.params.zoom.enabled && e.zoom.enable(); 4750 }, 4751 destroy: function () { 4752 this.zoom.disable(); 4753 }, 4754 touchStart: function (e) { 4755 var t = this; 4756 t.zoom.enabled && t.zoom.onTouchStart(e); 4757 }, 4758 touchEnd: function (e) { 4759 var t = this; 4760 t.zoom.enabled && t.zoom.onTouchEnd(e); 4761 }, 4762 doubleTap: function (e) { 4763 var t = this; 4764 t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle && t.zoom.toggle(e); 4765 }, 4766 transitionEnd: function () { 4767 var e = this; 4768 e.zoom.enabled && e.params.zoom.enabled && e.zoom.onTransitionEnd(); 4769 }, 4770 }, 4771 }, 4772 J = { 4773 loadInSlide: function (t, a) { 4774 void 0 === a && (a = !0); 4775 var i = this, 4776 s = i.params.lazy; 4777 if (void 0 !== t && 0 !== i.slides.length) { 4778 var r = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children("." + i.params.slideClass + '[data-swiper-slide-index="' + t + '"]') : i.slides.eq(t), 4779 n = r.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." + s.loadingClass + ")"); 4780 !r.hasClass(s.elementClass) || r.hasClass(s.loadedClass) || r.hasClass(s.loadingClass) || (n = n.add(r[0])), 4781 0 !== n.length && 4782 n.each(function (t, n) { 4783 var o = e(n); 4784 o.addClass(s.loadingClass); 4785 var l = o.attr("data-background"), 4786 d = o.attr("data-src"), 4787 p = o.attr("data-srcset"), 4788 c = o.attr("data-sizes"); 4789 i.loadImage(o[0], d || l, p, c, !1, function () { 4790 if (void 0 !== i && null !== i && i && (!i || i.params) && !i.destroyed) { 4791 if ( 4792 (l 4793 ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr("data-background")) 4794 : (p && (o.attr("srcset", p), o.removeAttr("data-srcset")), c && (o.attr("sizes", c), o.removeAttr("data-sizes")), d && (o.attr("src", d), o.removeAttr("data-src"))), 4795 o.addClass(s.loadedClass).removeClass(s.loadingClass), 4796 r.find("." + s.preloaderClass).remove(), 4797 i.params.loop && a) 4798 ) { 4799 var e = r.attr("data-swiper-slide-index"); 4800 if (r.hasClass(i.params.slideDuplicateClass)) { 4801 var t = i.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + i.params.slideDuplicateClass + ")"); 4802 i.lazy.loadInSlide(t.index(), !1); 4803 } else { 4804 var n = i.$wrapperEl.children("." + i.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]'); 4805 i.lazy.loadInSlide(n.index(), !1); 4806 } 4807 } 4808 i.emit("lazyImageReady", r[0], o[0]); 4809 } 4810 }), 4811 i.emit("lazyImageLoad", r[0], o[0]); 4812 }); 4813 } 4814 }, 4815 load: function () { 4816 function t(e) { 4817 if (l) { 4818 if (s.children("." + r.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0; 4819 } else if (n[e]) return !0; 4820 return !1; 4821 } 4822 function a(t) { 4823 return l ? e(t).attr("data-swiper-slide-index") : e(t).index(); 4824 } 4825 var i = this, 4826 s = i.$wrapperEl, 4827 r = i.params, 4828 n = i.slides, 4829 o = i.activeIndex, 4830 l = i.virtual && r.virtual.enabled, 4831 d = r.lazy, 4832 p = r.slidesPerView; 4833 if (("auto" === p && (p = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i.params.watchSlidesVisibility)) 4834 s.children("." + r.slideVisibleClass).each(function (t, a) { 4835 var s = l ? e(a).attr("data-swiper-slide-index") : e(a).index(); 4836 i.lazy.loadInSlide(s); 4837 }); 4838 else if (p > 1) for (var c = o; c < o + p; c += 1) t(c) && i.lazy.loadInSlide(c); 4839 else i.lazy.loadInSlide(o); 4840 if (d.loadPrevNext) 4841 if (p > 1 || (d.loadPrevNextAmount && d.loadPrevNextAmount > 1)) { 4842 for (var u = d.loadPrevNextAmount, h = p, v = Math.min(o + h + Math.max(u, h), n.length), f = Math.max(o - Math.max(h, u), 0), m = o + p; m < v; m += 1) t(m) && i.lazy.loadInSlide(m); 4843 for (var g = f; g < o; g += 1) t(g) && i.lazy.loadInSlide(g); 4844 } else { 4845 var b = s.children("." + r.slideNextClass); 4846 b.length > 0 && i.lazy.loadInSlide(a(b)); 4847 var w = s.children("." + r.slidePrevClass); 4848 w.length > 0 && i.lazy.loadInSlide(a(w)); 4849 } 4850 }, 4851 }, 4852 ee = { 4853 name: "lazy", 4854 params: { 4855 lazy: { 4856 enabled: !1, 4857 loadPrevNext: !1, 4858 loadPrevNextAmount: 1, 4859 loadOnTransitionStart: !1, 4860 elementClass: "swiper-lazy", 4861 loadingClass: "swiper-lazy-loading", 4862 loadedClass: "swiper-lazy-loaded", 4863 preloaderClass: "swiper-lazy-preloader", 4864 }, 4865 }, 4866 create: function () { 4867 var e = this; 4868 l.extend(e, { lazy: { initialImageLoaded: !1, load: J.load.bind(e), loadInSlide: J.loadInSlide.bind(e) } }); 4869 }, 4870 on: { 4871 beforeInit: function () { 4872 var e = this; 4873 e.params.lazy.enabled && e.params.preloadImages && (e.params.preloadImages = !1); 4874 }, 4875 init: function () { 4876 var e = this; 4877 e.params.lazy.enabled && !e.params.loop && 0 === e.params.initialSlide && e.lazy.load(); 4878 }, 4879 scroll: function () { 4880 var e = this; 4881 e.params.freeMode && !e.params.freeModeSticky && e.lazy.load(); 4882 }, 4883 resize: function () { 4884 var e = this; 4885 e.params.lazy.enabled && e.lazy.load(); 4886 }, 4887 scrollbarDragMove: function () { 4888 var e = this; 4889 e.params.lazy.enabled && e.lazy.load(); 4890 }, 4891 transitionStart: function () { 4892 var e = this; 4893 e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || (!e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded)) && e.lazy.load(); 4894 }, 4895 transitionEnd: function () { 4896 var e = this; 4897 e.params.lazy.enabled && !e.params.lazy.loadOnTransitionStart && e.lazy.load(); 4898 }, 4899 }, 4900 }, 4901 te = { 4902 LinearSpline: function (e, t) { 4903 var a = (function () { 4904 var e, t, a; 4905 return function (i, s) { 4906 for (t = -1, e = i.length; e - t > 1; ) i[(a = (e + t) >> 1)] <= s ? (t = a) : (e = a); 4907 return e; 4908 }; 4909 })(); 4910 (this.x = e), (this.y = t), (this.lastIndex = e.length - 1); 4911 var i, s; 4912 return ( 4913 (this.interpolate = function (e) { 4914 return e ? ((s = a(this.x, e)), (i = s - 1), ((e - this.x[i]) * (this.y[s] - this.y[i])) / (this.x[s] - this.x[i]) + this.y[i]) : 0; 4915 }), 4916 this 4917 ); 4918 }, 4919 getInterpolateFunction: function (e) { 4920 var t = this; 4921 t.controller.spline || (t.controller.spline = t.params.loop ? new te.LinearSpline(t.slidesGrid, e.slidesGrid) : new te.LinearSpline(t.snapGrid, e.snapGrid)); 4922 }, 4923 setTranslate: function (e, t) { 4924 function a(e) { 4925 var t = e.rtl && "horizontal" === e.params.direction ? -r.translate : r.translate; 4926 "slide" === r.params.controller.by && (r.controller.getInterpolateFunction(e), (s = -r.controller.spline.interpolate(-t))), 4927 (s && "container" !== r.params.controller.by) || ((i = (e.maxTranslate() - e.minTranslate()) / (r.maxTranslate() - r.minTranslate())), (s = (t - r.minTranslate()) * i + e.minTranslate())), 4928 r.params.controller.inverse && (s = e.maxTranslate() - s), 4929 e.updateProgress(s), 4930 e.setTranslate(s, r), 4931 e.updateActiveIndex(), 4932 e.updateSlidesClasses(); 4933 } 4934 var i, 4935 s, 4936 r = this, 4937 n = r.controller.control; 4938 if (Array.isArray(n)) for (var o = 0; o < n.length; o += 1) n[o] !== t && n[o] instanceof $ && a(n[o]); 4939 else n instanceof $ && t !== n && a(n); 4940 }, 4941 setTransition: function (e, t) { 4942 function a(t) { 4943 t.setTransition(e, s), 4944 0 !== e && 4945 (t.transitionStart(), 4946 t.$wrapperEl.transitionEnd(function () { 4947 r && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(), t.transitionEnd()); 4948 })); 4949 } 4950 var i, 4951 s = this, 4952 r = s.controller.control; 4953 if (Array.isArray(r)) for (i = 0; i < r.length; i += 1) r[i] !== t && r[i] instanceof $ && a(r[i]); 4954 else r instanceof $ && t !== r && a(r); 4955 }, 4956 }, 4957 ae = { 4958 name: "controller", 4959 params: { controller: { control: void 0, inverse: !1, by: "slide" } }, 4960 create: function () { 4961 var e = this; 4962 l.extend(e, { controller: { control: e.params.controller.control, getInterpolateFunction: te.getInterpolateFunction.bind(e),
4962setTranslate: te.setTranslate.bind(e), setTransition: te.setTransition.bind(e) } }); 4963 }, 4964 on: { 4965 update: function () { 4966 var e = this; 4967 e.controller.control && e.controller.spline && ((e.controller.spline = void 0), delete e.controller.spline); 4968 }, 4969 resize: function () { 4970 var e = this; 4971 e.controller.control && e.controller.spline && ((e.controller.spline = void 0), delete e.controller.spline); 4972 }, 4973 observerUpdate: function () { 4974 var e = this; 4975 e.controller.control && e.controller.spline && ((e.controller.spline = void 0), delete e.controller.spline); 4976 }, 4977 setTranslate: function (e, t) { 4978 var a = this; 4979 a.controller.control && a.controller.setTranslate(e, t); 4980 }, 4981 setTransition: function (e, t) { 4982 var a = this; 4983 a.controller.control && a.controller.setTransition(e, t); 4984 }, 4985 }, 4986 }, 4987 ie = { 4988 makeElFocusable: function (e) { 4989 return e.attr("tabIndex", "0"), e; 4990 }, 4991 addElRole: function (e, t) { 4992 return e.attr("role", t), e; 4993 }, 4994 addElLabel: function (e, t) { 4995 return e.attr("aria-label", t), e; 4996 }, 4997 disableEl: function (e) { 4998 return e.attr("aria-disabled", !0), e; 4999 }, 5000 enableEl: function (e) { 5001 return e.attr("aria-disabled", !1), e; 5002 }, 5003 onEnterKey: function (t) { 5004 var a = this, 5005 i = a.params.a11y; 5006 if (13 === t.keyCode) { 5007 var s = e(t.target); 5008 a.navigation && a.navigation.$nextEl && s.is(a.navigation.$nextEl) && ((a.isEnd && !a.params.loop) || a.slideNext(), a.isEnd ? a.a11y.notify(i.lastSlideMessage) : a.a11y.notify(i.nextSlideMessage)), 5009 a.navigation && a.navigation.$prevEl && s.is(a.navigation.$prevEl) && ((a.isBeginning && !a.params.loop) || a.slidePrev(), a.isBeginning ? a.a11y.notify(i.firstSlideMessage) : a.a11y.notify(i.prevSlideMessage)), 5010 a.pagination && s.is("." + a.params.pagination.bulletClass) && s[0].click(); 5011 } 5012 }, 5013 notify: function (e) { 5014 var t = this.a11y.liveRegion; 5015 0 !== t.length && (t.html(""), t.html(e)); 5016 }, 5017 updateNavigation: function () { 5018 var e = this; 5019 if (!e.params.loop) { 5020 var t = e.navigation, 5021 a = t.$nextEl, 5022 i = t.$prevEl; 5023 i && i.length > 0 && (e.isBeginning ? e.a11y.disableEl(i) : e.a11y.enableEl(i)), a && a.length > 0 && (e.isEnd ? e.a11y.disableEl(a) : e.a11y.enableEl(a)); 5024 } 5025 }, 5026 updatePagination: function () { 5027 var t = this, 5028 a = t.params.a11y; 5029 t.pagination && 5030 t.params.pagination.clickable && 5031 t.pagination.bullets && 5032 t.pagination.bullets.length && 5033 t.pagination.bullets.each(function (i, s) { 5034 var r = e(s); 5035 t.a11y.makeElFocusable(r), t.a11y.addElRole(r, "button"), t.a11y.addElLabel(r, a.paginationBulletMessage.replace(/{{index}}/, r.index() + 1)); 5036 }); 5037 }, 5038 init: function () { 5039 var e = this; 5040 e.$el.append(e.a11y.liveRegion); 5041 var t, 5042 a, 5043 i = e.params.a11y; 5044 e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl), 5045 e.navigation && e.navigation.$prevEl && (a = e.navigation.$prevEl), 5046 t && (e.a11y.makeElFocusable(t), e.a11y.addElRole(t, "button"), e.a11y.addElLabel(t, i.nextSlideMessage), t.on("key
5046down", e.a11y.onEnterKey)), 5047 a && (e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, i.prevSlideMessage), a.on("keydown", e.a11y.onEnterKey)), 5048 e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletClass, e.a11y.onEnterKey); 5049 }, 5050 destroy: function () { 5051 var e = this; 5052 e.a11y.liveRegion && e.a11y.liveRegion.length > 0 && e.a11y.liveRegion.remove(); 5053 var t, a; 5054 e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl), 5055 e.navigation && e.navigation.$prevEl && (a = e.navigation.$prevEl), 5056 t && t.off("keydown", e.a11y.onEnterKey), 5057 a && a.off("keydown", e.a11y.onEnterKey), 5058 e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.off("keydown", "." + e.params.pagination.bulletClass, e.a11y.onEnterKey); 5059 }, 5060 }, 5061 se = { 5062 name: "a11y", 5063 params: { 5064 a11y: { 5065 enabled: !1, 5066 notificationClass: "swiper-notification", 5067 prevSlideMessage: "Previous slide", 5068 nextSlideMessage: "Next slide", 5069 firstSlideMessage: "This is the first slide", 5070 lastSlideMessage: "This is the last slide", 5071 paginationBulletMessage: "Go to slide {{index}}", 5072 }, 5073 }, 5074 create: function () { 5075 var t = this; 5076 l.extend(t, { a11y: { liveRegion: e('<span class="' + t.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>') } }), 5077 Object.keys(ie).forEach(function (e) { 5078 t.a11y[e] = ie[e].bind(t); 5079 }); 5080 }, 5081 on: { 5082 init: function () { 5083 var e = this; 5084 e.params.a11y.enabled && (e.a11y.init(), e.a11y.updateNavigation()); 5085 }, 5086 toEdge: function () { 5087 var e = this; 5088 e.params.a11y.enabled && e.a11y.updateNavigation(); 5089 }, 5090 fromEdge: function () { 5091 var e = this; 5092 e.params.a11y.enabled && e.a11y.updateNavigation(); 5093 }, 5094 paginationUpdate: function () { 5095 var e = this; 5096 e.params.a11y.enabled && e.a11y.updatePagination(); 5097 }, 5098 destroy: function () { 5099 var e = this; 5100 e.params.a11y.enabled && e.a11y.destroy(); 5101 }, 5102 }, 5103 }, 5104 re = { 5105 init: function () { 5106 var e = this; 5107 if (e.params.history) { 5108 if (!s.history || !s.history.pushState) return (e.params.history.enabled = !1), void (e.params.hashNavigation.enabled = !0); 5109 var t = e.history; 5110 (t.initialized = !0), 5111 (t.paths = re.getPathValues()), 5112 (t.paths.key || t.paths.value) && (t.scrollToSlide(0, t.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || s.addEventListener("popstate", e.history.setHistoryPopState)); 5113 } 5114 }, 5115 destroy: function () { 5116 var e = this; 5117 e.params.history.replaceState || s.removeEventListener("popstate", e.history.setHistoryPopState); 5118 }, 5119 setHistoryPopState: function () { 5120 var e = this; 5121 (e.history.paths = re.getPathValues()), e.history.scrollToSlide(e.params.speed, e.history.paths.value, !1); 5122 }, 5123 getPathValues: function () { 5124 var e = s.location.pathname 5125 .slice(1) 5126 .split("/") 5127 .filter(function (e) { 5128 return "" !== e; 5129 }), 5130 t = e.length; 5131 return { key: e[t - 2], value: e[t - 1] }; 5132 }, 5133 setHistory: function (e, t) { 5134 var a = this; 5135 if (a.history.initialized && a.params.history.enabled) { 5136 var i = a.slides.eq(t), 5137 r = re.slugify(i.attr("data-history")); 5138 s.location.pathname.includes(e) || (r = e + "/" + r); 5139 var n = s.history.state; 5140 (n && n.value === r) || (a.params.history.replaceState ? s.history.replaceState({ value: r }, null, r) : s.history.pushState({ value: r }, null, r)); 5141 } 5142 }, 5143 slugify: function (e) { 5144 return e 5145 .toString() 5146 .toLowerCase() 5147 .replace(/\s+/g, "-") 5148 .replace(/[^\w-]+/g, "") 5149 .replace(/--+/g, "-") 5150 .replace(/^-+/, "") 5151 .replace(/-+$/, ""); 5152 }, 5153 scrollToSlide: function (e, t, a) { 5154 var i = this; 5155 if (t) 5156 for (var s = 0, r = i.slides.length; s < r; s += 1) { 5157 var n = i.slides.eq(s); 5158 if (re.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) { 5159 var o = n.index(); 5160 i.slideTo(o, e, a); 5161 } 5162 } 5163 else i.slideTo(0, e, a); 5164 }, 5165 }, 5166 ne = { 5167 name: "history", 5168 params: { history: { enabled: !1, replaceState: !1, key: "slides" } }, 5169 create: function () { 5170 var e = this; 5171 l.extend(e, { history: { init: re.init.bind(e), setHistory: re.setHistory.bind(e), setHistoryPopState: re.setHistoryPopState.bind(e), scrollToSlide: re.scrollToSlide.bind(e), destroy: re.destroy.bind(e) } }); 5172 }, 5173 on: { 5174 init: function () { 5175 var e = this; 5176 e.params.history.enabled && e.history.init(); 5177 }, 5178 destroy: function () { 5179 var e = this; 5180 e.params.history.enabled && e.history.destroy(); 5181 }, 5182 transitionEnd: function () { 5183 var e = this; 5184 e.history.initialized && e.history.setHistory(e.params.history.key, e.activeIndex); 5185 }, 5186 }, 5187 }, 5188 oe = { 5189 onHashCange: function () { 5190 var e = this, 5191 t = d.location.hash.replace("#", ""); 5192 t !== e.slides.eq(e.activeIndex).attr("data-hash") && e.slideTo(e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + t + '"]').index()); 5193 }, 5194 setHash: function () { 5195 var e = this; 5196 if (e.hashNavigation.initialized && e.params.hashNavigation.enabled) 5197 if (e.params.hashNavigation.replaceState && s.history && s.history.replaceState) s.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""); 5198 else { 5199 var t = e.slides.eq(e.activeIndex), 5200 a = t.attr("data-hash") || t.attr("data-history"); 5201 d.location.hash = a || ""; 5202 } 5203 }, 5204 init: function () { 5205 var t = this; 5206 if (!(!t.params.hashNavigation.enabled || (t.params.history && t.params.history.enabled))) { 5207 t.hashNavigation.initialized = !0; 5208 var a = d.location.hash.replace("#", ""); 5209 if (a) 5210 for (var i = 0, r = t.slides.length; i < r; i += 1) { 5211 var n = t.slides.eq(i); 5212 if ((n.attr("data-hash") || n.attr("data-history")) === a && !n.hasClass(t.params.slideDuplicateClass)) { 5213 var o = n.index(); 5214 t.slideTo(o, 0, t.params.runCallbacksOnInit, !0); 5215 } 5216 } 5217 t.params.hashNavigation.watchState && e(s).on("hashchange", t.hashNavigation.onHashCange); 5218 } 5219 }, 5220 destroy: function () { 5221 var t = this; 5222 t.params.hashNavigation.watchState && e(s).off("hashchange", t.hashNavigation.onHashCange); 5223 }, 5224 }, 5225 le = { 5226 name: "hash-navigation", 5227 params: { hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } }, 5228 create: function () { 5229 var e = this; 5230 l.extend(e, { hashNavigation: { initialized: !1, init: oe.init.bind(e), destroy: oe.destroy.bind(e), setHash: oe.setHash.bind(e), onHashCange: oe.onHashCange.bind(e) } }); 5231 }, 5232 on: { 5233 init: function () { 5234 var e = this; 5235 e.params.hashNavigation.enabled && e.hashNavigation.init(); 5236 }, 5237 destroy: function () { 5238 var e = this; 5239 e.params.hashNavigation.enabled && e.hashNavigation.destroy(); 5240 }, 5241 transitionEnd: function () { 5242 var e = this; 5243 e.hashNavigation.initialized && e.hashNavigation.setHash(); 5244 }, 5245 }, 5246 }, 5247 de = { 5248 run: function () { 5249 var e = this, 5250 t = e.slides.eq(e.activeIndex), 5251 a = e.params.autoplay.delay; 5252 t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), 5253 (e.autoplay.timeout = l.nextTick(function () { 5254 e.params.loop 5255 ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) 5256 : e.isEnd 5257 ? e.params.autoplay.stopOnLastSlide 5258 ? e.autoplay.stop() 5259 : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) 5260 : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")); 5261 }, a)); 5262 }, 5263 start: function () { 5264 var e = this; 5265 return void 0 === e.autoplay.timeout && !e.autoplay.running && ((e.autoplay.running = !0), e.emit("autoplayStart"), e.autoplay.run(), !0); 5266 }, 5267 stop: function () { 5268 var e = this; 5269 return !!e.autoplay.running && void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), (e.autoplay.timeout = void 0)), (e.autoplay.running = !1), e.emit("autoplayStop"), !0); 5270 }, 5271 pause: function (e) { 5272 var t = this; 5273 t.autoplay.running &&
5274 (t.autoplay.paused || 5275 (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), 5276 (t.autoplay.paused = !0), 5277 0 === e 5278 ? ((t.autoplay.paused = !1), t.autoplay.run()) 5279 : t.$wrapperEl.transitionEnd(function () { 5280 t && !t.destroyed && ((t.autoplay.paused = !1), t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()); 5281 }))); 5282 }, 5283 }, 5284 pe = { 5285 name: "autoplay", 5286 params: { autoplay: { enabled: !1, delay: 3e3, disableOnInteraction: !0, stopOnLastSlide: !1 } }, 5287 create: function () { 5288 var e = this; 5289 l.extend(e, { autoplay: { running: !1, paused: !1, run: de.run.bind(e), start: de.start.bind(e), stop: de.stop.bind(e), pause: de.pause.bind(e) } }); 5290 }, 5291 on: { 5292 init: function () { 5293 var e = this; 5294 e.params.autoplay.enabled && e.autoplay.start(); 5295 }, 5296 beforeTransitionStart: function (e, t) { 5297 var a = this; 5298 a.autoplay.running && (t || !a.params.autoplay.disableOnInteraction ? a.autoplay.pause(e) : a.autoplay.stop()); 5299 }, 5300 sliderFirstMove: function () { 5301 var e = this; 5302 e.autoplay.running && (e.params.autoplay.disableOnInteraction ? e.autoplay.stop() : e.autoplay.pause()); 5303 }, 5304 destroy: function () { 5305 var e = this; 5306 e.autoplay.running && e.autoplay.stop(); 5307 }, 5308 }, 5309 }, 5310 ce = { 5311 setTranslate: function () { 5312 for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) { 5313 var i = e.slides.eq(a), 5314 s = -i[0].swiperSlideOffset; 5315 e.params.virtualTranslate || (s -= e.translate); 5316 var r = 0; 5317 e.isHorizontal() || ((r = s), (s = 0)); 5318 var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0); 5319 i.css({ opacity: n }).transform("translate3d(" + s + "px, " + r + "px, 0px)"); 5320 } 5321 }, 5322 setTransition: function (e) { 5323 var t = this, 5324 a = t.slides, 5325 i = t.$wrapperEl; 5326 if ((a.transition(e), t.params.virtualTranslate && 0 !== e)) { 5327 var s = !1; 5328 a.transitionEnd(function () { 5329 if (!s && t && !t.destroyed) { 5330 (s = !0), (t.animating = !1); 5331 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) i.trigger(e[a]); 5332 } 5333 }); 5334 } 5335 }, 5336 }, 5337 ue = { 5338 name: "effect-fade", 5339 params: { fadeEffect: { crossFade: !1 } }, 5340 create: function () { 5341 var e = this; 5342 l.extend(e, { fadeEffect: { setTranslate: ce.setTranslate.bind(e), setTransition: ce.setTransition.bind(e) } }); 5343 }, 5344 on: { 5345 beforeInit: function () { 5346 var e = this; 5347 if ("fade" === e.params.effect) { 5348 e.classNames.push(e.params.containerModifierClass + "fade"); 5349 var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0 }; 5350 l.extend(e.params, t), l.extend(e.originalParams, t); 5351 } 5352 }, 5353 setTranslate: function () { 5354 var e = this; 5355 "fade" === e.params.effect && e.fadeEffect.setTranslate(); 5356 }, 5357 setTransition: function (e) { 5358 var t = this; 5359 "fade" === t.params.effect && t.fadeEffect.setTransition(e); 5360 }, 5361 }, 5362 }, 5363 he = { 5364 setTranslate: function () { 5365 var t, 5366 a = this, 5367 i = a.$el, 5368 s = a.$wrapperEl, 5369 r = a.slides, 5370 n = a.width, 5371 o = a.height, 5372 l = a.rtl, 5373 d = a.size, 5374 p = a.params.cubeEffect, 5375 c = a.isHorizontal(), 5376 u = a.virtual && a.params.virtual.enabled, 5377 h = 0; 5378 p.shadow && 5379 (c 5380 ? (0 === (t = s.find(".swiper-cube-shadow")).length && ((t = e('<div class="swiper-cube-shadow"></div>')), s.append(t)), t.css({ height: n + "px" })) 5381 : 0 === (t = i.find(".swiper-cube-shadow")).length && ((t = e('<div class="swiper-cube-shadow"></div>')), i.append(t))); 5382 for (var v = 0; v < r.length; v += 1) { 5383 var f = r.eq(v), 5384 g = v; 5385 u && (g = parseInt(f.attr("data-swiper-slide-index"), 10)); 5386 var b = 90 * g, 5387 w = Math.floor(b / 360); 5388 l && ((b = -b), (w = Math.floor(-b / 360))); 5389 var y = Math.max(Math.min(f[0].progress, 1), -1), 5390 x = 0, 5391 T = 0, 5392 E = 0; 5393 g % 4 == 0 ? ((x = 4 * -w * d), (E = 0)) : (g - 1) % 4 == 0 ? ((x = 0), (E = 4 * -w * d)) : (g - 2) % 4 == 0 ? ((x = d + 4 * w * d), (E = d)) : (g - 3) % 4 == 0 && ((x = -d), (E = 3 * d + 4 * d * w)), 5394 l && (x = -x), 5395 c || ((T = x), (x = 0)); 5396 var S = "rotateX(" + (c ? 0 : -b) + "deg) rotateY(" + (c ? b : 0) + "deg) translate3d(" + x + "px, " + T + "px, " + E + "px)"; 5397 if ((y <= 1 && y > -1 && ((h = 90 * g + 90 * y), l && (h = 90 * -g - 90 * y)), f.transform(S), p.slideShadows)) { 5398 var C = c ? f.find(".swiper-slide-shadow-left") : f.f
5398ind(".swiper-slide-shadow-top"), 5399 M = c ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom"); 5400 0 === C.length && ((C = e('<div class="swiper-slide-shadow-' + (c ? "left" : "top") + '"></div>')), f.append(C)), 5401 0 === M.length && ((M = e('<div class="swiper-slide-shadow-' + (c ? "right" : "bottom") + '"></div>')), f.append(M)), 5402 C.length && (C[0].style.opacity = Math.max(-y, 0)), 5403 M.length && (M[0].style.opacity = Math.max(y, 0)); 5404 } 5405 } 5406 if ( 5407 (s.css({ "-webkit-transform-origin": "50% 50% -" + d / 2 + "px", "-moz-transform-origin": "50% 50% -" + d / 2 + "px", "-ms-transform-origin": "50% 50% -" + d / 2 + "px", "transform-origin": "50% 50% -" + d / 2 + "px" }), 5408 p.shadow) 5409 ) 5410 if (c) t.transform("translate3d(0px, " + (n / 2 + p.shadowOffset) + "px, " + -n / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + p.shadowScale + ")"); 5411 else { 5412 var z = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90), 5413 P = 1.5 - (Math.sin((2 * z * Math.PI) / 360) / 2 + Math.cos((2 * z * Math.PI) / 360) / 2), 5414 k = p.shadowScale, 5415 $ = p.shadowScale / P, 5416 I = p.shadowOffset; 5417 t.transform("scale3d(" + k + ", 1, " + $ + ") translate3d(0px, " + (o / 2 + I) + "px, " + -o / 2 / $ + "px) rotateX(-90deg)"); 5418 } 5419 var L = m.isSafari || m.isUiWebView ? -d / 2 : 0; 5420 s.transform("translate3d(0px,0," + L + "px) rotateX(" + (a.isHorizontal() ? 0 : h) + "deg) rotateY(" + (a.isHorizontal() ? -h : 0) + "deg)"); 5421 }, 5422 setTransition: function (e) { 5423 var t = this, 5424 a = t.$el; 5425 t.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), 5426 t.params.cubeEffect.shadow && !t.isHorizontal() && a.find(".swiper-cube-shadow").transition(e); 5427 }, 5428 }, 5429 ve = { 5430 name: "effect-cube", 5431 params: { cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94 } }, 5432 create: function () { 5433 var e = this; 5434 l.extend(e, { cubeEffect: { setTranslate: he.setTranslate.bind(e), setTransition: he.setTransition.bind(e) } }); 5435 }, 5436 on: { 5437 beforeInit: function () { 5438 var e = this; 5439 if ("cube" === e.params.effect) { 5440 e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d"); 5441 var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0 }; 5442 l.extend(e.params, t), l.extend(e.originalParams, t); 5443 } 5444 }, 5445 setTranslate: function () { 5446 var e = this; 5447 "cube" === e.params.effect && e.cubeEffect.setTranslate(); 5448 }, 5449 setTransition: function (e) { 5450 var t = this; 5451 "cube" === t.params.effect && t.cubeEffect.setTransition(e); 5452 }, 5453 }, 5454 }, 5455 fe = { 5456 setTranslate: function () { 5457 for (var t = this, a = t.slides, i = 0; i < a.length; i += 1) { 5458 var s = a.eq(i), 5459 r = s[0].progress; 5460 t.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1)); 5461 var n = -180 * r, 5462 o = 0, 5463 l = -s[0].swiperSlideOffset, 5464 d = 0; 5465 if ((t.isHorizontal() ? t.rtl && (n = -n) : ((d = l), (l = 0), (o = -n), (n = 0)), (s[0].style.zIndex = -Math.abs(Math.round(r)) + a.length), t.params.flipEffect.slideShadows)) { 5466 var p = t.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"), 5467 c = t.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom"); 5468 0 === p.length && ((p = e('<div class="swiper-slide-shadow-' + (t.isHorizontal() ? "left" : "top") + '"></div>')), s.append(p)), 5469 0 === c.length && ((c = e('<div class="swiper-slide-shadow-' + (t.isHorizontal() ? "right" : "bottom") + '"></div>')), s.append(c)), 5470 p.length && (p[0].style.opacity = Math.max(-r, 0)), 5471 c.length && (c[0].style.opacity = Math.max(r, 0)); 5472 } 5473 s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + n + "deg)"); 5474 } 5475 }, 5476 setTransition: function (e) { 5477 var t = this, 5478 a = t.slides, 5479 i = t.activeIndex, 5480 s = t.$wrapperEl; 5481 if ((a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e)) { 5482 var r = !1; 5483 a.eq(i).transitionEnd(function () { 5484 if (!r && t && !t.destroyed) { 5485 (r = !0), (t.animating = !1); 5486 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) s.trigger(e[a]); 5487 } 5488 }); 5489 } 5490 }, 5491 }, 5492 me = { 5493 name: "effect-flip", 5494 params: { flipEffect: { slideShadows: !0, limitRotation: !0 } }, 5495 create: function () { 5496 var e = this; 5497 l.extend(e, { flipEffect: { setTranslate: fe.setTranslate.bind(e), setTransition: fe.setTransition.bind(e) } }); 5498 }, 5499 on: { 5500 beforeInit: function () { 5501 var e = this; 5502 if ("flip" === e.params.effect) { 5503 e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d"); 5504 var t = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0 }; 5505 l.extend(e.params, t), l.extend(e.originalParams, t); 5506 } 5507 }, 5508 setTranslate: function () { 5509 var e = this; 5510 "flip" === e.params.effect && e.flipEffect.setTranslate(); 5511 }, 5512 setTransition: function (e) { 5513 var t = this; 5514 "flip" === t.params.effect && t.flipEffect.setTransition(e); 5515 }, 5516 }, 5517 }, 5518 ge = { 5519 setTranslate: function () { 5520 for ( 5521 var t = this, 5522 a = t.width, 5523 i = t.height, 5524 s = t.slides, 5525 r = t.$wrapperEl, 5526 n = t.slidesSizesGrid, 5527 o = t.params.coverflowEffect, 5528 l = t.isHorizontal(), 5529 d = t.translate, 5530 p = l ? a / 2 - d : i / 2 - d, 5531 c = l ? o.rotate : -o.rotate, 5532 u = o.depth, 5533 h = 0, 5534 v = s.length; 5535 h < v; 5536 h += 1 5537 ) { 5538 var f = s.eq(h), 5539 g = n[h], 5540 b = ((p - f[0].swiperSlideOffset - g / 2) / g) * o.modifier, 5541 w = l ? c * b : 0, 5542 y = l ? 0 : c * b, 5543 x = -u * Math.abs(b), 5544 T = l ? 0 : o.stretch * b, 5545 E = l ? o.stretch * b : 0; 5546 Math.abs(E) < 0.001 && (E = 0), Math.abs(T) < 0.001 && (T = 0), Math.abs(x) < 0.001 && (x = 0), Math.abs(w) < 0.001 && (w = 0), Math.abs(y) < 0.001 && (y = 0); 5547 var S = "translate3d(" + E + "px," + T + "px," + x + "px) rotateX(" + y + "deg) rotateY(" + w + "deg)"; 5548 if ((f.transform(S), (f[0].style.zIndex = 1 - Math.abs(Math.round(b))), o.slideShadows)) { 5549 var C = l ? f.find(".swiper-slide-shadow-left") : f.f
5549ind(".swiper-slide-shadow-top"), 5550 M = l ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom"); 5551 0 === C.length && ((C = e('<div class="swiper-slide-shadow-' + (l ? "left" : "top") + '"></div>')), f.append(C)), 5552 0 === M.length && ((M = e('<div class="swiper-slide-shadow-' + (l ? "right" : "bottom") + '"></div>')), f.append(M)), 5553 C.length && (C[0].style.opacity = b > 0 ? b : 0), 5554 M.length && (M[0].style.opacity = -b > 0 ? -b : 0); 5555 } 5556 } 5557 m.ie && (r[0].style.perspectiveOrigin = p + "px 50%"); 5558 }, 5559 setTransition: function (e) { 5560 this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e); 5561 }, 5562 }, 5563 be = { 5564 name: "effect-coverflow", 5565 params: { coverflowEffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0 } }, 5566 create: function () { 5567 var e = this; 5568 l.extend(e, { coverflowEffect: { setTranslate: ge.setTranslate.bind(e), setTransition: ge.setTransition.bind(e) } }); 5569 }, 5570 on: { 5571 beforeInit: function () { 5572 var e = this; 5573 "coverflow" === e.params.effect && 5574 (e.classNames.push(e.params.containerModifierClass + "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), (e.params.watchSlidesProgress = !0), (e.originalParams.watchSlidesProgress = !0)); 5575 }, 5576 setTranslate: function () { 5577 var e = this; 5578 "coverflow" === e.params.effect && e.coverflowEffect.setTranslate(); 5579 }, 5580 setTransition: function (e) { 5581 var t = this; 5582 "coverflow" === t.params.effect && t.coverflowEffect.setTransition(e); 5583 }, 5584 }, 5585 }; 5586 return $.use([I, L, D, O, H, X, G, V, W, j, K, _, Q, ee, ae, se, ne, le, pe, ue, ve, me, be]), $; 5587}); 5588//# sourceMappingURL=swiper.min.js.map 5589 5590/* 7. 5591 * Midnight.js 1.1.1 5592 * jQuery plugin to switch between multiple fixed header designs on the fly, so it looks in line with the content below it. 5593 * http://aerolab.github.io/midnight.js/ 5594 * 5595 * Copyright (c) 2014 Aerolab <[email protected]> 5596 * 5597 * Released under the MIT license 5598 * http://aerolab.github.io/midnight.js/LICENSE.txt 5599 */ 5600!(function (t) { 5601 "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery); 5602})(function (t) { 5603 var e = 0, 5604 s = Array.prototype.slice; 5605 (t.cleanData = (function (e) { 5606 return function (s) { 5607 var i, n, o; 5608 for (o = 0; null != (n = s[o]); o++) 5609 try { 5610 (i = t._data(n, "events")), i && i.remove && t(n).triggerHandler("remove"); 5611 } catch (r) {} 5612 e(s); 5613 }; 5614 })(t.cleanData)), 5615 (t.widget = function (e, s, i) { 5616 var n, 5617 o, 5618 r, 5619 a, 5620 h = {}, 5621 d = e.split(".")[0]; 5622 return ( 5623 (e = e.split(".")[1]), 5624 (n = d + "-" + e), 5625 i || ((i = s), (s = t.Widget)), 5626 (t.expr[":"][n.toLowerCase()] = function (e) { 5627 return !!t.data(e, n); 5628 }), 5629 (t[d] = t[d] || {}), 5630 (o = t[d][e]), 5631 (r = t[d][e] = function (t, e) { 5632 return this._createWidget ? void (arguments.length && this._createWidget(t, e)) : new r(t, e); 5633 }), 5634 t.extend(r, o, { version: i.version, _proto: t.extend({}, i), _childConstructors: [] }), 5635 (a = new s()), 5636 (a.options = t.widget.extend({}, a.options)), 5637 t.each(i, function (e, i) { 5638 return t.isFunction(i) 5639 ? void (h[e] = (function () { 5640 var t = function () { 5641 return s.prototype[e].apply(this, arguments); 5642 }, 5643 n = function (t) { 5644 return s.prototype[e].apply(this, t); 5645 }; 5646 return function () { 5647 var e, 5648 s = this._super, 5649 o = this._superApply; 5650 return (this._super = t), (this._superApply = n), (e = i.apply(this, arguments)), (this._super = s), (this._superApply = o), e; 5651 }; 5652 })()) 5653 : void (h[e] = i); 5654 }), 5655 (r.prototype = t.widget.extend(a, { widgetEventPrefix: o ? a.widgetEventPrefix || e : e }, h, { constructor: r, namespace: d, widgetName: e, widgetFullName: n })), 5656 o 5657 ? (t.each(o._childConstructors, function (e, s) { 5658 var i = s.prototype; 5659 t.widget(i.namespace + "." + i.widgetName, r, s._proto); 5660 }), 5661 delete o._childConstructors) 5662 : s._childConstructors.push(r), 5663 t.widget.bridge(e, r), 5664 r 5665 ); 5666 }), 5667 (t.widget.extend = function (e) { 5668 for (var i, n, o = s.call(arguments, 1), r = 0, a = o.length; a > r; r++) 5669 for (i in o[r]) (n = o[r][i]), o[r].hasOwnProperty(i) && void 0 !== n && (e[i] = t.isPlainObject(n) ? (t.isPlainObject(e[i]) ? t.widget.extend({}, e[i], n) : t.widget.extend({}, n)) : n); 5670 return e; 5671 }), 5672 (t.widget.bridge = function (e, i) { 5673 var n = i.prototype.widgetFullName || e; 5674 t.fn[e] = function (o) { 5675 var r = "string" == typeof o, 5676 a = s.call(arguments, 1), 5677 h = this; 5678 return ( 5679 (o = !r && a.length ? t.widget.extend.apply(null, [o].concat(a)) : o), 5680 r 5681 ? this.each(function () { 5682 var s, 5683 i = t.data(this, n); 5684 return "instance" === o 5685 ? ((h = i), !1) 5686 : i 5687 ? t.isFunction(i[o]) && "_" !== o.charAt(0) 5688 ? ((s = i[o].apply(i, a)), s !== i && void 0 !== s ? ((h = s && s.jquery ? h.pushStack(s.get()) : s), !1) : void 0) 5689 : t.error("no such method '" + o + "' for " + e + " widget instance") 5690 : t.error("cannot call methods on " + e + " prior to initialization; attempted to call method '" + o + "'"); 5691 }) 5692 : this.each(function () { 5693 var e = t.data(this, n); 5694 e ? (e.option(o || {}), e._init && e._init()) : t.data(this, n, new i(o, this)); 5695 }), 5696 h 5697 ); 5698 }; 5699 }), 5700 (t.Widget = function () {}), 5701 (t.Widget._childConstructors = []), 5702 (t.Widget.prototype = { 5703 widgetName: "widget", 5704 widgetEventPrefix: "", 5705 defaultElement: "<div>", 5706 options: { disabled: !1, create: null }, 5707 _createWidget: function (s, i) { 5708 (i = t(i || this.defaultElement || this)[0]), 5709 (this.element = t(i)), 5710 (this.uuid = e++), 5711 (this.eventNamespace = "." + this.widgetName + this.uuid),
5712 (this.bindings = t()), 5713 (this.hoverable = t()), 5714 (this.focusable = t()), 5715 i !== this && 5716 (t.data(i, this.widgetFullName, this), 5717 this._on(!0, this.element, { 5718 remove: function (t) { 5719 t.target === i && this.destroy(); 5720 }, 5721 }), 5722 (this.document = t(i.style ? i.ownerDocument : i.document || i)), 5723 (this.window = t(this.document[0].defaultView || this.document[0].parentWindow))), 5724 (this.options = t.widget.extend({}, this.options, this._getCreateOptions(), s)), 5725 this._create(), 5726 this._trigger("create", null, this._getCreateEventData()), 5727 this._init(); 5728 }, 5729 _getCreateOptions: t.noop, 5730 _getCreateEventData: t.noop, 5731 _create: t.noop, 5732 _init: t.noop, 5733 destroy: function () { 5734 this._destroy(), 5735 this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)), 5736 this.widget() 5737 .unbind(this.eventNamespace) 5738 .removeAttr("aria-disabled") 5739 .removeClass(this.widgetFullName + "-disabled ui-state-disabled"), 5740 this.bindings.unbind(this.eventNamespace), 5741 this.hoverable.removeClass("ui-state-hover"), 5742 this.focusable.removeClass("ui-state-focus"); 5743 }, 5744 _destroy: t.noop, 5745 widget: function () { 5746 return this.element; 5747 }, 5748 option: function (e, s) { 5749 var i, 5750 n, 5751 o, 5752 r = e; 5753 if (0 === arguments.length) return t.widget.extend({}, this.options); 5754 if ("string" == typeof e) 5755 if (((r = {}), (i = e.split(".")), (e = i.shift()), i.length)) { 5756 for (n = r[e] = t.widget.extend({}, this.options[e]), o = 0; i.length - 1 > o; o++) (n[i[o]] = n[i[o]] || {}), (n = n[i[o]]); 5757 if (((e = i.pop()), 1 === arguments.length)) return void 0 === n[e] ? null : n[e]; 5758 n[e] = s; 5759 } else { 5760 if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e]; 5761 r[e] = s; 5762 } 5763 return this._setOptions(r), this; 5764 }, 5765 _setOptions: function (t) { 5766 var e; 5767 for (e in t) this._setOption(e, t[e]); 5768 return this; 5769 }, 5770 _setOption: function (t, e) { 5771 return (this.options[t] = e), "disabled" === t && (this.widget().toggleClass(this.widgetFullName + "-disabled", !!e), e && (this.hoverable.removeClass("ui-state-hover"), this.focusable.removeClass("ui-state-focus"))), this; 5772 }, 5773 enable: function () { 5774 return this._setOptions({ disabled: !1 }); 5775 }, 5776 disable: function () { 5777 return this._setOptions({ disabled: !0 }); 5778 }, 5779 _on: function (e, s, i) { 5780 var n, 5781 o = this; 5782 "boolean" != typeof e && ((i = s), (s = e), (e = !1)), 5783 i ? ((s = n = t(s)), (this.bindings = this.bindings.add(s))) : ((i = s), (s = this.element), (n = this.widget())), 5784 t.each(i, function (i, r) { 5785 function a() { 5786 return e || (o.options.disabled !== !0 && !t(this).hasClass("ui-state-disabled")) ? ("string" == typeof r ? o[r] : r).apply(o, arguments) : void 0; 5787 } 5788 "string" != typeof r && (a.guid = r.guid = r.guid || a.guid || t.guid++); 5789 var h = i.match(/^([\w:-]*)\s*(.*)$/), 5790 d = h[1] + o.eventNamespace, 5791 l = h[2]; 5792 l ? n.delegate(l, d, a) : s.bind(d, a); 5793 }); 5794 }, 5795 _off: function (e, s) { 5796 (s = (s || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace), 5797 e.unbind(s).undelegate(s), 5798 (this.bindings = t(this.bindings.not(e).get())), 5799 (this.focusable = t(this.focusable.not(e).get())), 5800 (this.hoverable = t(this.hoverable.not(e).get())); 5801 }, 5802 _delay: function (t, e) { 5803 function s() { 5804 return ("string" == typeof t ? i[t] : t).apply(i, arguments); 5805 } 5806 var i = this; 5807 return setTimeout(s, e || 0); 5808 }, 5809 _hoverable: function (e) { 5810 (this.hoverable = this.hoverable.add(e)), 5811 this._on(e, { 5812 mouseenter: function (e) { 5813 t(e.currentTarget).addClass("ui-state-hover"); 5814 }, 5815 mouseleave: function (e) { 5816 t(e.currentTarget).removeClass("ui-state-hover"); 5817 }, 5818 }); 5819 }, 5820 _focusable: function (e) { 5821 (this.focusable = this.focusable.add(e)), 5822 this._on(e, { 5823 focusin: function (e) { 5824 t(e.currentTarget).addClass("ui-state-focus"); 5825 }, 5826 focusout: function (e) { 5827 t(e.currentTarget).removeClass("ui-state-focus"); 5828 }, 5829 }); 5830 }, 5831 _trigger: function (e, s, i) { 5832 var n, 5833 o, 5834 r = this.options[e]; 5835 if (((i = i || {}), (s = t.Event(s)), (s.type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase()), (s.target = this.element[0]), (o = s.originalEvent))) for (n in o) n in s || (s[n] = o[n]); 5836 return this.element.trigger(s, i), !((t.isFunction(r) && r.apply(this.element[0], [s].concat(i)) === !1) || s.isDefaultPrevented()); 5837 }, 5838 }), 5839 t.each({ show: "fadeIn", hide: "fadeOut" }, function (e, s) { 5840 t.Widget.prototype["_" + e] = function (i, n, o) { 5841 "string" == typeof n && (n = { effect: n }); 5842 var r, 5843 a = n ? (n === !0 || "number" == typeof n ? s : n.effect || s) : e; 5844 (n = n || {}), 5845 "number" == typeof n && (n = { duration: n }), 5846 (r = !t.isEmptyObject(n)), 5847 (n.complete = o), 5848 n.delay && i.delay(n.delay), 5849 r && t.effects && t.effects.effect[a] 5850 ? i[e](n) 5851 : a !== e && i[a] 5852 ? i[a](n.duration, n.easing, o) 5853 : i.queue(function (s) { 5854 t(this)[e](), o && o.call(i[0]), s(); 5855 }); 5856 }; 5857 }), 5858 t.widget; 5859}), 5860 (function (t) { 5861 "use strict"; 5862 t.widget("aerolab.midnight", { 5863 options: { headerClass: "midnightHeader", innerClass: "midnightInner", defaultClass: "default", classPrefix: "", sectionSelector: "midnight" }, 5864 _headers: {}, 5865 _headerInfo: { top: 0, height: 0 }, 5866 _$sections: [], 5867 _sections: [], 5868 _scrollTop: 0, 5869 _documentHeight: 0, 5870 _transformMode: !1, 5871 refresh: function () { 5872 (this._headerInfo = { top: 0, height: this.element.outerHeight() }), (this._$sections = t("[data-" + this.options.sectionSelector + "]:not(:hidden)")), (this._sections = []), this._setupHeaders(), this.recalculate(); 5873 }, 5874 _create: function () { 5875 var e = this; 5876 (this._scrollTop = window.pageYOffset || document.documentElement.scrollTop), 5877 (this._documentHeight = t(document).height()), 5878 (this._headers = {}), 5879 (this._transformMode = this._getSupportedTransform()), 5880 this.refresh(), 5881 setInterval(function () { 5882 e._recalculateSections(); 5883 }, 1e3), 5884 e.recalculate(), 5885 t(window).resize(function () { 5886 e.recalculate(); 5887 }), 5888 this._updateHeadersLoop(); 5889 }, 5890 recalculate: function () { 5891 this._recalculateSections(), this._updateHeaderHeight(), this._recalculateHeaders(), this._updateHeaders(); 5892 }, 5893 _getSupportedTransform: function () { 5894 for (var t = ["transform", "WebkitTransform", "MozTransform", "OTransform", "msTransform"], e = 0; e < t.length; e++) if (void 0 !== document.createElement("div").style[t[e]]) return t[e]; 5895 return !1; 5896 }, 5897 _getContainerHeight: function () { 5898 var e = this.element.find("> ." + this.options.headerClass), 5899 s = 0, 5900 i = 0, 5901 n = this; 5902 return ( 5903 e.length 5904 ? e.each(function () { 5905 var e = t(this), 5906 o = e.find("> ." + n.options.innerClass); 5907 o.length ? (o.css("bottom", "auto").css("overflow", "auto"), (i = o.outerHeight()), o.css("bottom", "0")) : (e.css("bottom", "auto"), (i = e.outerHeight()), e.css("bottom", "0")), (s = i > s ? i : s); 5908 }) 5909 : (s = i = this.element.outerHeight()), 5910 s 5911 ); 5912 }, 5913 _setupHeaders: function () { 5914 var e = this; 5915 this._headers[this.options.defaultClass] = {}; 5916 for (var s = 0; s < this._$sections.length; s++) { 5917 var i = t(this._$sections[s]), 5918 n = i.data(this.options.sectionSelector); 5919 "string" == typeof n && ((n = n.trim()), "" !== n && (e._headers[n] = {})); 5920 } 5921 ({ top: this.element.css("padding-top"), right: this.element.css("padding-right"), bottom: this.element.css("padding-bottom"), left: this.element.css("padding-left") }); 5922 this.element.css({ position: "fixed", top: 0, left: 0, right: 0, overflow: "hidden" }), this._updateHeaderHeight(); 5923 var o = this.element.find("> ." + this.options.headerClass); 5924 o.length 5925 ? o.filter("." + this.options.defaultClass).length || 5926 o 5927 .filter("." + this.options.headerClass + ":first") 5928 .clone(!0, !0) 5929 .attr("class", this.options.headerClass + " " + this.options.defaultClass) 5930 : this.element.wrapInner('<div class="' + this.options.headerClass + " " + this.options.defaultClass + '"></div>'); 5931 var o = this.element.find("> ." + this.options.headerClass), 5932 r = o.filter("." + this.options.defaultClass).clone(!0, !0); 5933 for (var n in this._headers) 5934 if (this._headers.hasOwnProperty(n) && "undefined" == typeof this._headers[n].element) { 5935 var a = o.filter("." + n); 5936 a.length ? (this._headers[n].element = a) : (this._headers[n].element = r.clone(!0, !0).removeClass(this.options.defaultClass).addClass(n).appendTo(this.element)); 5937 var h = { position: "absolute", overflow: "hidden", top: 0, left: 0, right: 0, bottom: 0 }; 5938 this._headers[n].element.css(h), 5939 this._transformMode !== !1 && this._headers[n].element.css(this._transformMode, "translateZ(0)"), 5940 this._headers[n].element.find("> ." + this.options.innerClass).length || this._headers[n].element.wrapInner('<div class="' + this.options.innerClass + '"></div>'), 5941 (this._headers[n].inner = this._headers[n].element.find("> ." + this.options.innerClass)), 5942 this._headers[n].inner.css(h), 5943 this._transformMode !== !1 && this._headers[n].inner.css(this._transformMode, "translateZ(0)"), 5944 (this._headers[n].from = ""), 5945 (this._headers[n].progress = 0); 5946 } 5947 o.each(function () { 5948 var s = t(this), 5949 i = !1; 5950 for (var n in e._headers) e._headers.hasOwnProperty(n) && s.hasClass(n) && (i = !0); 5951 s.find("> ." + e.options.innerClass).length || s.wrapInner('<div class="' + e.options.innerClass + '"></div>'), i ? s.show() : s.hide(); 5952 }); 5953 }, 5954 _recalculateHeaders: function () { 5955 (this._scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop), (this._scrollTop = Math.max(this._scrollTop, 0)), (this._scrollTop = Math.min(this._scrollTop, this._documentHeight)); 5956 var t = this._headerInfo.height, 5957 e = this._scrollTop + this._headerInfo.top, 5958 s = e + t; 5959 if ("function" == typeof window.getComputedStyle) { 5960 var i = window.getComputedStyle(this.element[0], null), 5961 n = 0, 5962 o = 0; 5963 if (this._transformMode !== !1 && "string" == typeof i.transform) { 5964 var r = i.transform.match(/(-?[0-9\.]+)/g); 5965 null !== r && r.length >= 6 && !isNaN(parseFloat(r[5])) && (o = parseFloat(r[5])); 5966 } 5967 i.top.indexOf("px") >= 0 && !isNaN(parseFloat(i.top)) && (n = parseFloat(i.top)), (e += n + o), (s += n + o); 5968 } 5969 for (var a in this._headers) this._headers.hasOwnProperty(a) && ((this._headers[a].from = ""), (this._headers[a].progress = 0)); 5970 for (var h = 0; h < this._sections.length; h++) 5971 s >= this._sections[h].start && 5972 e <= this._sections[h].end && 5973 ((this._headers[this._sections[h].className].visible = !0), 5974 e >= this._sections[h].start && s <= this._sections[h].end 5975 ? ((this._headers[this._sections[h].className].from = "top"), (this._headers[this._sections[h].className].progress += 1)
5975) 5976 : s > this._sections[h].end && e < this._sections[h].end 5977 ? ((this._headers[this._sections[h].className].from = "top"), (this._headers[this._sections[h].className].progress = 1 - (s - this._sections[h].end) / t)) 5978 : s > this._sections[h].start && 5979 e < this._sections[h].start && 5980 ("top" === this._headers[this._sections[h].className].from 5981 ? (this._headers[this._sections[h].className].progress += (s - this._sections[h].start) / t) 5982 : ((this._headers[this._sections[h].className].from = "bottom"), (this._headers[this._sections[h].className].progress = (s - this._sections[h].start) / t)))); 5983 }, 5984 _updateHeaders: function () { 5985 if ("undefined" != typeof this._headers[this.options.defaultClass]) { 5986 var t = 0, 5987 e = ""; 5988 for (var s in this._headers) this._headers.hasOwnProperty(s) && "" !== !this._headers[s].from && ((t += this._headers[s].progress), (e = s)); 5989 t < 1 && 5990 ("" === this._headers[this.options.defaultClass].from 5991 ? ((this._headers[this.options.defaultClass].from = "top" === this._headers[e].from ? "bottom" : "top"), (this._headers[this.options.defaultClass].progress = 1 - t)) 5992 : (this._headers[this.options.defaultClass].progress += 1 - t)); 5993 for (var i in this._headers) 5994 if (this._headers.hasOwnProperty(i) && "" !== !this._headers[i].from) { 5995 var n = 100 * (1 - this._headers[i].progress); 5996 n >= 100 && (n = 110), 5997 n <= -100 && (n = -110), 5998 "top" === this._headers[i].from 5999 ? this._transformMode !== !1 6000 ? ((this._headers[i].element[0].style[this._transformMode] = "translateY(-" + n + "%) translateZ(0)"), (this._headers[i].inner[0].style[this._transformMode] = "translateY(+" + n + "%) translateZ(0)")) 6001 : ((this._headers[i].element[0].style.top = "-" + n + "%"), (this._headers[i].inner[0].style.top = "+" + n + "%")) 6002 : this._transformMode !== !1 6003 ? ((this._headers[i].element[0].style[this._transformMode] = "translateY(+" + n + "%) translateZ(0)"), (this._headers[i].inner[0].style[this._transformMode] = "translateY(-" + n + "%) translateZ(0)")) 6004 : ((this._headers[i].element[0].style.top = "+" + n + "%"), (this._headers[i].inner[0].style.top = "-" + n + "%")); 6005 } 6006 } 6007 }, 6008 _recalculateSections: function () { 6009 (this._documentHeight = t(document).height()), (this._sections = []); 6010 for (var e = 0; e < this._$sections.length; e++) { 6011 var s = t(this._$sections[e]); 6012 this._sections.push({ element: s, className: s.data(this.options.sectionSelector), start: s.offset().top, end: s.offset().top + s.outerHeight() }); 6013 } 6014 }, 6015 _updateHeaderHeight: function () { 6016 (this._headerInfo.height = this._getContainerHeight()), this.element.css("height", this._headerInfo.height + "px"); 6017 }, 6018 _updateHeadersLoop: function () { 6019 var t = this; 6020 this._requestAnimationFrame(function () { 6021 t._updateHeadersLoop(); 6022 }), 6023 this._recalculateHeaders(), 6024 this._updateHeaders(); 6025 }, 6026 _requestAnimationFrame: function (t) { 6027 var e = 6028 e || 6029 (function () { 6030 return ( 6031 window.requestAnimationFrame || 6032 window.webkitRequestAnimationFrame || 6033 window.mozRequestAnimationFrame || 6034 function (t) { 6035 window.setTimeout(t, 1e3 / 60); 6036 } 6037 ); 6038 })(); 6039 e(t); 6040 }, 6041 }); 6042 })(jQuery); 6043 6044/* 8. 6045 * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it 6046 * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js 6047 * License: MIT 6048 */ 6049!(function (a, b) { 6050 "use strict"; 6051 "function" == typeof define && define.amd ? define([], b) : "object" == typeof exports ? (module.exports = b()) : (a.Headroom = b()); 6052})(this, function () { 6053 "use strict"; 6054 function a(a) { 6055 (this.callback = a), (this.ticking = !1); 6056 } 6057 function b(a) { 6058 return a && "undefined" != typeof window && (a === window || a.nodeType); 6059 } 6060 function c(a) { 6061 if (arguments.length <= 0) throw new Error("Missing arguments in extend function"); 6062 var d, 6063 e, 6064 f = a || {}; 6065 for (e = 1; e < arguments.length; e++) { 6066 var g = arguments[e] || {}; 6067 for (d in g) "object" != typeof f[d] || b(f[d]) ? (f[d] = f[d] || g[d]) : (f[d] = c(f[d], g[d])); 6068 } 6069 return f; 6070 } 6071 function d(a) { 6072 return a === Object(a) ? a : { down: a, up: a }; 6073 } 6074 function e(a, b) { 6075 (b = c(b, e.options)), 6076 (this.lastKnownScrollY = 0), 6077 (this.elem = a), 6078 (this.tolerance = d(b.tolerance)), 6079 (this.classes = b.classes), 6080 (this.offset = b.offset), 6081 (this.scroller = b.scroller),
6082 (this.initialised = !1), 6083 (this.onPin = b.onPin), 6084 (this.onUnpin = b.onUnpin), 6085 (this.onTop = b.onTop), 6086 (this.onNotTop = b.onNotTop), 6087 (this.onBottom = b.onBottom), 6088 (this.onNotBottom = b.onNotBottom); 6089 } 6090 var f = { bind: !!function () {}.bind, classList: "classList" in document.documentElement, rAF: !!(window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame) }; 6091 return ( 6092 (window.requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame), 6093 (a.prototype = { 6094 constructor: a, 6095 update: function () { 6096 this.callback && this.callback(), (this.ticking = !1); 6097 }, 6098 requestTick: function () { 6099 this.ticking || (requestAnimationFrame(this.rafCallback || (this.rafCallback = this.update.bind(this))), (this.ticking = !0)); 6100 }, 6101 handleEvent: function () { 6102 this.requestTick(); 6103 }, 6104 }), 6105 (e.prototype = { 6106 constructor: e, 6107 init: function () { 6108 if (e.cutsTheMustard) return (this.debouncer = new a(this.update.bind(this))), this.elem.classList.add(this.classes.initial), setTimeout(this.attachEvent.bind(this), 100), this; 6109 }, 6110 destroy: function () { 6111 var a = this.classes; 6112 this.initialised = !1; 6113 for (var b in a) a.hasOwnProperty(b) && this.elem.classList.remove(a[b]); 6114 this.scroller.removeEventListener("scroll", this.debouncer, !1); 6115 }, 6116 attachEvent: function () { 6117 this.initialised || ((this.lastKnownScrollY = this.getScrollY()), (this.initialised = !0), this.scroller.addEventListener("scroll", this.debouncer, !1), this.debouncer.handleEvent()); 6118 }, 6119 unpin: function () { 6120 var a = this.elem.classList, 6121 b = this.classes; 6122 (!a.contains(b.pinned) && a.contains(b.unpinned)) || (a.add(b.unpinned), a.remove(b.pinned), this.onUnpin && this.onUnpin.call(this)); 6123 }, 6124 pin: function () { 6125 var a = this.elem.classList, 6126 b = this.classes; 6127 a.contains(b.unpinned) && (a.remove(b.unpinned), a.add(b.pinned), this.onPin && this.onPin.call(this)); 6128 }, 6129 top: function () { 6130 var a = this.elem.classList, 6131 b = this.classes; 6132 a.contains(b.top) || (a.add(b.top), a.remove(b.notTop), this.onTop && this.onTop.call(this)); 6133 }, 6134 notTop: function () { 6135 var a = this.elem.classList, 6136 b = this.classes; 6137 a.contains(b.notTop) || (a.add(b.notTop), a.remove(b.top), this.onNotTop && this.onNotTop.call(this)); 6138 }, 6139 bottom: function () { 6140 var a = this.elem.classList, 6141 b = this.classes; 6142 a.contains(b.bottom) || (a.add(b.bottom), a.remove(b.notBottom), this.onBottom && this.onBottom.call(this)); 6143 }, 6144 notBottom: function () { 6145 var a = this.elem.classList, 6146 b = this.classes; 6147 a.contains(b.notBottom) || (a.add(b.notBottom), a.remove(b.bottom), this.onNotBottom && this.onNotBottom.call(this)); 6148 }, 6149 getScrollY: function () { 6150 return void 0 !== this.scroller.pageYOffset ? this.scroller.pageYOffset : void 0 !== this.scroller.scrollTop ? this.scroller.scrollTop : (document.documentElement || document.body.parentNode || document.body).scrollTop; 6151 }, 6152 getViewportHeight: function () { 6153 return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; 6154 }, 6155 getElementPhysicalHeight: function (a) { 6156 return Math.max(a.offsetHeight, a.clientHeight); 6157 }, 6158 getScrollerPhysicalHeight: function () { 6159 return this.scroller === window || this.scroller === document.body ? this.getViewportHe
6159ight() : this.getElementPhysicalHeight(this.scroller); 6160 }, 6161 getDocumentHeight: function () { 6162 var a = document.body, 6163 b = document.documentElement; 6164 return Math.max(a.scrollHeight, b.scrollHeight, a.offsetHeight, b.offsetHeight, a.clientHeight, b.clientHeight); 6165 }, 6166 getElementHeight: function (a) { 6167 return Math.max(a.scrollHeight, a.offsetHeight, a.clientHeight); 6168 }, 6169 getScrollerHeight: function () { 6170 return this.scroller === window || this.scroller === document.body ? this.getDocumentHeight() : this.getElementHeight(this.scroller); 6171 }, 6172 isOutOfBounds: function (a) { 6173 var b = a < 0, 6174 c = a + this.getScrollerPhysicalHeight() > this.getScrollerHeight(); 6175 return b || c; 6176 }, 6177 toleranceExceeded: function (a, b) { 6178 return Math.abs(a - this.lastKnownScrollY) >= this.tolerance[b]; 6179 }, 6180 shouldUnpin: function (a, b) { 6181 var c = a > this.lastKnownScrollY, 6182 d = a >= this.offset; 6183 return c && d && b; 6184 }, 6185 shouldPin: function (a, b) { 6186 var c = a < this.lastKnownScrollY, 6187 d = a <= this.offset; 6188 return (c && b) || d; 6189 }, 6190 update: function () { 6191 var a = this.getScrollY(), 6192 b = a > this.lastKnownScrollY ? "down" : "up", 6193 c = this.toleranceExceeded(a, b); 6194 this.isOutOfBounds(a) || 6195 (a <= this.offset ? this.top() : this.notTop(), 6196 a + this.getViewportHeight() >= this.getScrollerHeight() ? this.bottom() : this.notBottom(), 6197 this.shouldUnpin(a, c) ? this.unpin() : this.shouldPin(a, c) && this.pin(), 6198 (this.lastKnownScrollY = a)); 6199 }, 6200 }), 6201 (e.options = { 6202 tolerance: { up: 0, down: 0 }, 6203 offset: 0, 6204 scroller: window, 6205 classes: { pinned: "headroom--pinned", unpinned: "headroom--unpinned", top: "headroom--top", notTop: "headroom--not-top", bottom: "headroom--bottom", notBottom: "headroom--not-bottom", initial: "headroom" }, 6206 }), 6207 (e.cutsTheMustard = "undefined" != typeof f && f.rAF && f.bind && f.classList), 6208 e 6209 ); 6210}); 6211 6212!(function (o) { 6213 o && 6214 ((o.fn.headroom = function (t) { 6215 return this.each(function () { 6216 var a = o(this), 6217 e = a.data("headroom"), 6218 n = "object" == typeof t && t; 6219 (n = o.extend(!0, {}, Headroom.options, n)), e || ((e = new Headroom(this, n)).init(), a.data("headroom", e)), "string" == typeof t && (e[t](), "destroy" === t && a.removeData("headroom")); 6220 }); 6221 }), 6222 o("[data-headroom]").each(function () { 6223 var t = o(this); 6224 t.headroom(t.data()); 6225 })); 6226})(window.Zepto || window.jQuery); 6227 6228/* 9. 6229 * footer-reveal.js 6230 * 6231 * Licensed under the MIT license. 6232 * http://www.opensource.org/licenses/mit-license.php 6233 * 6234 * Copyright 2014 Iain Andrew 6235 * https://github.com/IainAndrew 6236 */ 6237!(function (a) { 6238 a.fn.footerReveal = function (b) { 6239 var c = a(this), 6240 d = c.prev(), 6241 e = a(window), 6242 f = a.extend({ shadow: !0, shadowOpacity: 0.8, zIndex: -100 }, b); 6243 a.extend(!0, {}, f, b); 6244 return ( 6245 c.outerHeight() <= e.outerHeight() && 6246 c.offset().top >= e.outerHeight() && 6247 (c.css({ "z-index": f.zIndex, position: "fixed", bottom: 0 }), 6248 f.shadow && 6249 d.css({ 6250 "-moz-box-shadow": "0 20px 30px -20px rgba(0,0,0," + f.shadowOpacity + ")", 6251 "-webkit-box-shadow": "0 20px 30px -20px rgba(0,0,0," + f.shadowOpacity + ")", 6252 "box-shadow": "0 20px 30px -20px rgba(0,0,0," + f.shadowOpacity + ")", 6253 }), 6254 e.on("load resize footerRevealResize", function () { 6255 c.css({ width: d.outerWidth() }), d.css({ "margin-bottom": c.outerHeight() }); 6256 })), 6257 this 6258 ); 6259 }; 6260})(jQuery); 6261 6262/* 10. 6263 * Isotope PACKAGED v3.0.6 6264 * Licensed GPLv3 for open source use 6265 * or Isotope Commercial License for commercial use 6266 * https://isotope.metafizzy.co 6267 * Copyright 2010-2018 Metafizzy */ 6268!(function (t, e) { 6269 "function" == typeof define && define.amd 6270 ? define("jquery-bridget/jquery-bridget", ["jquery"], function (i) { 6271 return e(t, i); 6272 }) 6273 : "object" == typeof module && module.exports 6274 ? (module.exports = e(t, require("jquery"))) 6275 : (t.jQueryBridget = e(t, t.jQuery)); 6276})(window, function (t, e) { 6277 "use strict"; 6278 function i(i, s, a) { 6279 function u(t, e, o) { 6280 var n, 6281 s = "$()." + i + '("' + e + '")'; 6282 return ( 6283 t.each(function (t, u) { 6284 var h = a.data(u, i); 6285 if (!h) return void r(i + " not initialized. Cannot call methods, i.e. " + s); 6286 var d = h[e]; 6287 if (!d || "_" == e.charAt(0)) return void r(s + " is not a valid method"); 6288 var l = d.apply(h, o); 6289 n = void 0 === n ? l : n; 6290 }), 6291 void 0 !== n ? n : t 6292 ); 6293 } 6294 function h(t, e) { 6295 t.each(function (t, o) { 6296 var n = a.data(o, i); 6297 n ? (n.option(e), n._init()) : ((n = new s(o, e)), a.data(o, i, n)); 6298 }); 6299 } 6300 (a = a || e || t.jQuery), 6301 a && 6302 (s.prototype.option || 6303 (s.prototype.option = function (t) { 6304 a.isPlainObject(t) && (this.options = a.extend(!0, this.options, t)); 6305 }), 6306 (a.fn[i] = function (t) { 6307 if ("string" == typeof t) { 6308 var e = n.call(arguments, 1); 6309 return u(this, t, e); 6310 } 6311 return h(this, t), this; 6312 }), 6313 o(a)); 6314 } 6315 function o(t) { 6316 !t || (t && t.bridget) || (t.bridget = i); 6317 } 6318 var n = Array.prototype.slice, 6319 s = t.console, 6320 r = 6321 "undefined" == typeof s 6322 ? function () {} 6323 : function (t) { 6324 s.error(t); 6325 }; 6326 return o(e || t.jQuery), i; 6327}), 6328 (function (t, e) { 6329 "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", e) : "object" == typeof module && module.exports ? (module.exports = e()) : (t.EvEmitter = e()); 6330 })("undefined" != typeof window ? window : this, function () { 6331 function t() {} 6332 var e = t.prototype; 6333 return ( 6334 (e.on = function (t, e) { 6335 if (t && e) { 6336 var i = (this._events = this._events || {}), 6337 o = (i[t] = i[t] || []); 6338 return o.indexOf(e) == -1 && o.push(e), this; 6339 } 6340 }), 6341 (e.once = function (t, e) { 6342 if (t && e) { 6343 this.on(t, e); 6344 var i = (this._onceEvents = this._onceEvents || {}), 6345 o = (i[t] = i[t] || {}); 6346 return (o[e] = !0), this; 6347 } 6348 }), 6349 (e.off = function (t, e) { 6350 var i = this._events && this._events[t]; 6351 if (i && i.length) { 6352 var o = i.indexOf(e); 6353 return o != -1 && i.splice(o, 1), this; 6354 } 6355 }), 6356 (e.emitEvent = function (t, e) { 6357 var i = this._events && this._events[t]; 6358 if (i && i.length) { 6359 (i = i.slice(0)), (e = e || []); 6360 for (var o = this._onceEvents && this._onceEvents[t], n = 0; n < i.length; n++) { 6361 var s = i[n], 6362 r = o && o[s]; 6363 r && (this.off(t, s), delete o[s]), s.apply(this, e); 6364 } 6365 return this; 6366 } 6367 }), 6368 (e.allOff = function () { 6369 delete this._events, delete this._onceEvents; 6370 }), 6371 t 6372 ); 6373 }), 6374 (function (t, e) { 6375 "function" == typeof define && define.amd ? define("get-size/get-size", e) : "object" == typeof module && module.exports ? (module.exports = e()) : (t.getSize = e()); 6376 })(window, function () { 6377 "use strict"; 6378 function t(t) { 6379 var e = parseFloat(t), 6380 i = t.indexOf("%") == -1 && !isNaN(e); 6381 return i && e; 6382 } 6383 function e() {} 6384 function i() { 6385 for (var t = { width: 0, height: 0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 }, e = 0; e < h; e++) { 6386 var i = u[e]; 6387 t[i] = 0; 6388 } 6389 return t; 6390 } 6391 function o(t) { 6392 var e = getComputedStyle(t); 6393 return e || a("Style returned " + e + ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"), e; 6394 } 6395 function n() { 6396 if (!d) { 6397 d = !0; 6398 var e = document.createElement("div"); 6399 (e.style.width = "200px"), (e.style.padding = "1px 2px 3px 4px"), (e.style.borderStyle = "solid"), (e.style.borderWidth = "1px 2px 3px 4px"), (e.style.boxSizing = "border-box"); 6400 var i = document.body || document.documentElement; 6401 i.appendChild(e); 6402 var n = o(e); 6403 (r = 200 == Math.round(t(n.width))), (s.isBoxSizeOuter = r), i.removeChild(e); 6404 } 6405 } 6406 function s(e) { 6407 if ((n(), "string" == typeof e && (e = document.querySelector(e)), e && "object" == typeof e && e.nodeType)) { 6408 var s = o(e); 6409 if ("none" == s.display) return i(); 6410 var a = {}; 6411 (a.width = e.offsetWidth), (a.height = e.offsetHeight); 6412 for (var d = (a.isBorderBox = "border-box" == s.boxSizing), l = 0; l < h; l++) { 6413 var f = u[l], 6414 c = s[f], 6415 m = parseFloat(c); 6416 a[f] = isNaN(m) ? 0 : m; 6417 } 6418 var p = a.paddingLeft + a.paddingRight, 6419 y = a.paddingTop + a.paddingBottom, 6420 g = a.marginLeft + a.marginRight, 6421 v = a.marginTop + a.marginBottom, 6422 _ = a.borderLeftWidth + a.borderRightWidth, 6423 z = a.borderTopWidth + a.borderBottomWidth, 6424 I = d && r, 6425 x = t(s.width); 6426 x !== !1 && (a.width = x + (I ? 0 : p + _)); 6427 var S = t(s.height); 6428 return S !== !1 && (a.height = S + (I ? 0 : y + z)), (a.innerWidth = a.width - (p + _)), (a.innerHeight = a.height - (y + z)), (a.outerWidth = a.width + g), (a.outerHeight = a.height + v), a; 6429 } 6430 } 6431 var r, 6432 a = 6433 "undefined" == typeof console 6434 ? e 6435 : function (t) { 6436 console.error(t); 6437 }, 6438 u = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "marginLeft", "marginRight", "marginTop", "marginBottom", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"], 6439 h = u.length, 6440 d = !1; 6441 return s; 6442 }), 6443 (function (t, e) { 6444 "use strict"; 6445 "function" == typeof define && define.amd ? define("desandro-matches-selector/matches-selector", e) : "object" == typeof module && module.exports ? (module.exports = e()) : (t.matchesSelector = e()); 6446 })(window, function () { 6447 "use strict"; 6448 var t = (function () { 6449 var t = window.Element.prototype; 6450 if (t.matches) return "matches"; 6451 if (t.matchesSelector) return "matchesSelector"; 6452 for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { 6453 var o = e[i], 6454 n = o + "MatchesSelector"; 6455 if (t[n]) return n; 6456 } 6457 })(); 6458 return function (e, i) { 6459 return e[t](i); 6460 }; 6461 }), 6462 (function (t, e) { 6463 "function" == typeof define && define.amd 6464 ? define("fizzy-ui-utils/utils", ["desandro-matches-selector/matches-selector"], function (i) { 6465 return e(t, i); 6466 }) 6467 : "object" == typeof module && module.exports 6468 ? (module.exports = e(t, require("desandro-matches-selector"))) 6469 : (t.fizzyUIUtils = e(t, t.matchesSelector)); 6470 })(window, function (t, e) { 6471 var i = {}; 6472 (i.extend = function (t, e) { 6473 for (var i in e) t[i] = e[i]; 6474 return t; 6475 }), 6476 (i.modulo = function (t, e) { 6477 return ((t % e) + e) % e; 6478 }); 6479 var o = Array.prototype.slice; 6480 (i.makeArray = function (t) { 6481 if (Array.isArray(t)) return t; 6482 if (null === t || void 0 === t) return []; 6483 var e = "object" == typeof t && "number" == typeof t.length; 6484 return e ? o.call(t) : [t]; 6485 }), 6486 (i.removeFrom = function (t, e) { 6487 var i = t.indexOf(e); 6488 i != -1 && t.splice(i, 1); 6489 }), 6490 (i.getParent = function (t, i) { 6491 for (; t.parentNode && t != document.body; ) if (((t = t.parentNode), e(t, i))) return t; 6492 }), 6493 (i.getQueryElement = function (t) { 6494 return "string" == typeof t ? document.querySelector(t) : t; 6495 }), 6496 (i.handleEvent = function (t) { 6497 var e = "on" + t.type; 6498 this[e] && this[e](t); 6499 }), 6500 (i.filterFindElements = function (t, o) { 6501 t = i.makeArray(t); 6502 var n = []; 6503 return ( 6504 t.forEach(function (t) { 6505 if (t instanceof HTMLElement) { 6506 if (!o) return void n.push(t); 6507 e(t, o) && n.push(t);
6508 for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) n.push(i[s]); 6509 } 6510 }), 6511 n 6512 ); 6513 }), 6514 (i.debounceMethod = function (t, e, i) { 6515 i = i || 100; 6516 var o = t.prototype[e], 6517 n = e + "Timeout"; 6518 t.prototype[e] = function () { 6519 var t = this[n]; 6520 clearTimeout(t); 6521 var e = arguments, 6522 s = this; 6523 this[n] = setTimeout(function () { 6524 o.apply(s, e), delete s[n]; 6525 }, i); 6526 }; 6527 }), 6528 (i.docReady = function (t) { 6529 var e = document.readyState; 6530 "complete" == e || "interactive" == e ? setTimeout(t) : document.addEventListener("DOMContentLoaded", t); 6531 }), 6532 (i.toDashed = function (t) { 6533 return t 6534 .replace(/(.)([A-Z])/g, function (t, e, i) { 6535 return e + "-" + i; 6536 }) 6537 .toLowerCase(); 6538 }); 6539 var n = t.console; 6540 return ( 6541 (i.htmlInit = function (e, o) { 6542 i.docReady(function () { 6543 var s = i.toDashed(o), 6544 r = "data-" + s, 6545 a = document.querySelectorAll("[" + r + "]"), 6546 u = document.querySelectorAll(".js-" + s), 6547 h = i.makeArray(a).concat(i.makeArray(u)), 6548 d = r + "-options", 6549 l = t.jQuery; 6550 h.forEach(function (t) { 6551 var i, 6552 s = t.getAttribute(r) || t.getAttribute(d); 6553 try { 6554 i = s && JSON.parse(s); 6555 } catch (a) { 6556 return void (n && n.error("Error parsing " + r + " on " + t.className + ": " + a)); 6557 } 6558 var u = new e(t, i); 6559 l && l.data(t, o, u); 6560 }); 6561 }); 6562 }), 6563 i 6564 ); 6565 }), 6566 (function (t, e) { 6567 "function" == typeof define && define.amd 6568 ? define("outlayer/item", ["ev-emitter/ev-emitter", "get-size/get-size"], e) 6569 : "object" == typeof module && module.exports 6570 ? (module.exports = e(require("ev-emitter"), require("get-size"))) 6571 : ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize))); 6572 })(window, function (t, e) { 6573 "use strict"; 6574 function i(t) { 6575 for (var e in t) return !1; 6576 return (e = null), !0; 6577 } 6578 function o(t, e) { 6579 t && ((this.element = t), (this.layout = e), (this.position = { x: 0, y: 0 }), this._create()); 6580 } 6581 function n(t) { 6582 return t.replace(/([A-Z])/g, function (t) { 6583 return "-" + t.toLowerCase(); 6584 }); 6585 } 6586 var s = document.documentElement.style, 6587 r = "string" == typeof s.transition ? "transition" : "WebkitTransition", 6588 a = "string" == typeof s.transform ? "transform" : "WebkitTransform", 6589 u = { WebkitTransition: "webkitTransitionEnd", transition: "transitionend" }[r], 6590 h = { transform: a, transition: r, transitionDuration: r + "Duration", transitionProperty: r + "Property", transitionDelay: r + "Delay" }, 6591 d = (o.prototype = Object.create(t.prototype)); 6592 (d.constructor = o), 6593 (d._create = function () { 6594 (this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), this.css({ position: "absolute" }); 6595 }), 6596 (d.handleEvent = function (t) { 6597 var e = "on" + t.type; 6598 this[e] && this[e](t); 6599 }), 6600 (d.getSize = function () { 6601 this.size = e(this.element); 6602 }), 6603 (d.css = function (t) { 6604 var e = this.element.style; 6605 for (var i in t) { 6606 var o = h[i] || i; 6607 e[o] = t[i]; 6608 } 6609 }), 6610 (d.getPosition = function () { 6611 var t = getComputedStyle(this.element), 6612 e = this.layout._getOption("originLeft"), 6613 i = this.layout._getOption("originTop"), 6614 o = t[e ? "left" : "right"], 6615 n = t[i ? "top" : "bottom"], 6616 s = parseFloat(o), 6617 r = parseFloat(n), 6618 a = this.layout.size; 6619 o.indexOf("%") != -1 && (s = (s / 100) * a.width), 6620 n.indexOf("%") != -1 && (r = (r / 100) * a.height),
6621 (s = isNaN(s) ? 0 : s), 6622 (r = isNaN(r) ? 0 : r), 6623 (s -= e ? a.paddingLeft : a.paddingRight), 6624 (r -= i ? a.paddingTop : a.paddingBottom), 6625 (this.position.x = s), 6626 (this.position.y = r); 6627 }), 6628 (d.layoutPosition = function () { 6629 var t = this.layout.size, 6630 e = {}, 6631 i = this.layout._getOption("originLeft"), 6632 o = this.layout._getOption("originTop"), 6633 n = i ? "paddingLeft" : "paddingRight", 6634 s = i ? "left" : "right", 6635 r = i ? "right" : "left", 6636 a = this.position.x + t[n]; 6637 (e[s] = this.getXValue(a)), (e[r] = ""); 6638 var u = o ? "paddingTop" : "paddingBottom", 6639 h = o ? "top" : "bottom", 6640 d = o ? "bottom" : "top", 6641 l = this.position.y + t[u]; 6642 (e[h] = this.getYValue(l)), (e[d] = ""), this.css(e), this.emitEvent("layout", [this]); 6643 }), 6644 (d.getXValue = function (t) { 6645 var e = this.layout._getOption("horizontal"); 6646 return this.layout.options.percentPosition && !e ? (t / this.layout.size.width) * 100 + "%" : t + "px"; 6647 }), 6648 (d.getYValue = function (t) { 6649 var e = this.layout._getOption("horizontal"); 6650 return this.layout.options.percentPosition && e ? (t / this.layout.size.height) * 100 + "%" : t + "px"; 6651 }), 6652 (d._transitionTo = function (t, e) { 6653 this.getPosition(); 6654 var i = this.position.x, 6655 o = this.position.y, 6656 n = t == this.position.x && e == this.position.y; 6657 if ((this.setPosition(t, e), n && !this.isTransitioning)) return void this.layoutPosition(); 6658 var s = t - i, 6659 r = e - o, 6660 a = {}; 6661 (a.transform = this.getTranslate(s, r)), this.transition({ to: a, onTransitionEnd: { transform: this.layoutPosition }, isCleaning: !0 }); 6662 }), 6663 (d.getTranslate = function (t, e) { 6664 var i = this.layout._getOption("originLeft"), 6665 o = this.layout._getOption("originTop"); 6666 return (t = i ? t : -t), (e = o ? e : -e), "translate3d(" + t + "px, " + e + "px, 0)"; 6667 }), 6668 (d.goTo = function (t, e) { 6669 this.setPosition(t, e), this.layoutPosition(); 6670 }), 6671 (d.moveTo = d._transitionTo), 6672 (d.setPosition = function (t, e) { 6673 (this.position.x = parseFloat(t)), (this.position.y = parseFloat(e)); 6674 }), 6675 (d._nonTransition = function (t) { 6676 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 6677 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this); 6678 }), 6679 (d.transition = function (t) { 6680 if (!parseFloat(this.layout.options.transitionDuration)) return void this._nonTransition(t); 6681 var e = this._transn; 6682 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; 6683 for (i in t.to) (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0); 6684 if (t.from) { 6685 this.css(t.from); 6686 var o = this.element.offsetHeight; 6687 o = null; 6688 } 6689 this.enableTransition(t.to), this.css(t.to), (this.isTransitioning = !0); 6690 }); 6691 var l = "opacity," + n(a); 6692 (d.enableTransition = function () { 6693 if (!this.isTransitioning) { 6694 var t = this.layout.options.transitionDuration; 6695 (t = "number" == typeof t ? t + "ms" : t), this.css({ transitionProperty: l, transitionDuration: t, transitionDelay: this.staggerDelay || 0 }), this.element.addEventListener(u, this, !1); 6696 } 6697 }), 6698 (d.onwebkitTransitionEnd = function (t) { 6699 this.ontransitionend(t); 6700 }), 6701 (d.onotransitionend = function (t) { 6702 this.ontransitionend(t); 6703 }); 6704 var f = { "-webkit-transform": "transform" }; 6705 (d.ontransitionend = function (t) { 6706 if (t.target === this.element) { 6707 var e = this._transn, 6708 o = f[t.propertyName] || t.propertyName; 6709 if ((delete e.ingProperties[o], i(e.ingProperties) && this.disableTransition(), o in e.clean && ((this.element.style[t.propertyName] = ""), delete e.clean[o]), o in e.onEnd)) { 6710 var n = e.onEnd[o]; 6711 n.call(this), delete e.onEnd[o]; 6712 } 6713 this.emitEvent("transitionEnd", [this]); 6714 } 6715 }), 6716 (d.disableTransition = function () { 6717 this.removeTransitionStyles(), this.element.removeEventListener(u, this, !1), (this.isTransitioning = !1); 6718 }), 6719 (d._removeStyles = function (t) { 6720 var e = {}; 6721 for (var i in t) e[i] = ""; 6722 this.css(e); 6723 }); 6724 var c = { transitionProperty: "", transitionDuration: "", transitionDelay: "" }; 6725 return ( 6726 (d.removeTransitionStyles = function () { 6727 this.css(c); 6728 }), 6729 (d.stagger = function (t) { 6730 (t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms"); 6731 }), 6732 (d.removeElem = function () { 6733 this.element.parentNode.removeChild(this.element), this.css({ display: "" }), this.emitEvent("remove", [this]); 6734 }), 6735 (d.remove = function () { 6736 return r && parseFloat(this.layout.options.transitionDuration) 6737 ? (this.once("transitionEnd", function () { 6738 this.removeElem(); 6739 }), 6740 void this.hide()) 6741 : void this.removeElem(); 6742 }), 6743 (d.reveal = function () { 6744 delete this.isHidden, this.css({ display: "" }); 6745 var t = this.layout.options, 6746 e = {}, 6747 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 6748 (e[i] = this.onRevealTransitionEnd), this.transition({ from: t.hiddenStyle, to: t.visibleStyle, isCleaning: !0, onTransitionEnd: e }); 6749 }), 6750 (d.onRevealTransitionEnd = function () { 6751 this.isHidden || this.emitEvent("reveal"); 6752 }), 6753 (d.getHideRevealTransitionEndProperty = function (t) { 6754 var e = this.layout.options[t]; 6755 if (e.opacity) return "opacity"; 6756 for (var i in e) return i; 6757 }), 6758 (d.hide = function () { 6759 (this.isHidden = !0), this.css({ display: "" }); 6760 var t = this.layout.options, 6761 e = {}, 6762 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 6763 (e[i] = this.onHideTransitionEnd), this.transition({ from: t.visibleStyle, to: t.hiddenStyle, isCleaning: !0, onTransitionEnd: e }); 6764 }), 6765 (d.onHideTransitionEnd = function () { 6766 this.isHidden && (this.css({ display: "none" }), this.emitEvent("hide")); 6767 }), 6768 (d.destroy = function () { 6769 this.css({ position: "", left: "", right: "", top: "", bottom: "", transition: "", transform: "" }); 6770 }), 6771 o 6772 ); 6773 }), 6774 (function (t, e) { 6775 "use strict"; 6776 "function" == typeof define && define.amd 6777 ? define("outlayer/outlayer", ["ev-emitter/ev-emitter", "get-size/get-size", "fizzy-ui-utils/utils", "./item"], function (i, o, n, s) { 6778 return e(t, i, o, n, s); 6779 }) 6780 : "object" == typeof module && module.exports 6781 ? (module.exports = e(t, require("ev-emitter"), require("get-size"), require("fizzy-ui-utils"), require("./item"))) 6782 : (t.Outlayer = e(t, t.EvEmitter, t.getSize, t.fizzyUIUtils, t.Outlayer.Item)); 6783 })(window, function (t, e, i, o, n) { 6784 "use strict"; 6785 function s(t, e) { 6786 var i = o.getQueryElement(t); 6787 if (!i) return void (u && u.error("Bad element for " + this.constructor.namespace + ": " + (i || t))); 6788 (this.element = i), h && (this.$element = h(this.element)), (this.options = o.extend({}, this.constructor.defaults)), this.option(e); 6789 var n = ++l; 6790 (this.element.outlayerGUID = n), (f[n] = this), this._create(); 6791 var s = this._getOption("initLayout"); 6792 s && this.layout(); 6793 } 6794 function r(t) { 6795 function e() { 6796 t.apply(this, arguments); 6797 } 6798 return (e.prototype = Object.create(t.prototype)), (e.prototype.constructor = e), e; 6799 } 6800 function a(t) { 6801 if ("number" == typeof t) return t; 6802 var e = t.match(/(^\d*\.?\d*)(\w*)/), 6803 i = e && e[1], 6804 o = e && e[2]; 6805 if (!i.length) return 0; 6806 i = parseFloat(i); 6807 var n = m[o] || 1; 6808 return i * n; 6809 } 6810 var u = t.console, 6811 h = t.jQuery, 6812 d = function () {}, 6813 l = 0, 6814 f = {}; 6815 (s.namespace = "outlayer"), 6816 (s.Item = n), 6817 (s.defaults = { 6818 containerStyle: { position: "relative" }, 6819 initLayout: !0, 6820 originLeft: !0, 6821 originTop: !0, 6822 resize: !0, 6823 resizeContainer: !0, 6824 transitionDuration: "0.4s", 6825 hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, 6826 visibleStyle: { opacity: 1, transform: "scale(1)" }, 6827 }); 6828 var c = s.prototype; 6829 o.extend(c, e.prototype), 6830 (c.option = function (t) { 6831 o.extend(this.options, t); 6832 }), 6833 (c._getOption = function (t) { 6834 var e = this.constructor.compatOptions[t]; 6835 return e && void 0 !== this.options[e] ? this.options[e] : this.options[t]; 6836 }), 6837 (s.compatOptions = { 6838 initLayout: "isInitLayout", 6839 horizontal: "isHorizontal", 6840 layoutInstant: "isLayoutInstant", 6841 originLeft: "isOriginLeft", 6842 originTop: "isOriginTop", 6843 resize: "isResizeBound", 6844 resizeContainer: "isResizingContainer", 6845 }), 6846 (c._create = function () { 6847 this.reloadItems(), (this.stamps = []), this.stamp(this.options.stamp), o.extend(this.element.style, this.options.containerStyle); 6848 var t = this._getOption("resize"); 6849 t && this.bindResize(); 6850 }), 6851 (c.reloadItems = function () { 6852 this.items = this._itemize(this.element.children); 6853 }), 6854 (c._itemize = function (t) { 6855 for (var e = this._filterFindItemElements(t), i = this.constructor.Item, o = [], n = 0; n < e.length; n++) { 6856 var s = e[n], 6857 r = new i(s, this); 6858 o.push(r); 6859 } 6860 return o; 6861 }), 6862 (c._filterFindItemElements = function (t) { 6863 return o.filterFindElements(t, this.options.itemSelector); 6864 }), 6865 (c.getItemElements = function () { 6866 return this.items.map(function (t) { 6867 return t.element; 6868 }); 6869 }), 6870 (c.layout = function () { 6871 this._resetLayout(), this._manageStamps(); 6872 var t = this._getOption("layoutInstant"), 6873 e = void 0 !== t ? t : !this._isLayoutInited; 6874 this.layoutItems(this.items, e), (this._isLayoutInited = !0); 6875 }), 6876 (c._init = c.layout), 6877 (c._resetLayout = function () {
6878 this.getSize(); 6879 }), 6880 (c.getSize = function () { 6881 this.size = i(this.element); 6882 }), 6883 (c._getMeasurement = function (t, e) { 6884 var o, 6885 n = this.options[t]; 6886 n ? ("string" == typeof n ? (o = this.element.querySelector(n)) : n instanceof HTMLElement && (o = n), (this[t] = o ? i(o)[e] : n)) : (this[t] = 0); 6887 }), 6888 (c.layoutItems = function (t, e) { 6889 (t = this._getItemsForLayout(t)), this._layoutItems(t, e), this._postLayout(); 6890 }), 6891 (c._getItemsForLayout = function (t) { 6892 return t.filter(function (t) { 6893 return !t.isIgnored; 6894 }); 6895 }), 6896 (c._layoutItems = function (t, e) { 6897 if ((this._emitCompleteOnItems("layout", t), t && t.length)) { 6898 var i = []; 6899 t.forEach(function (t) { 6900 var o = this._getItemLayoutPosition(t); 6901 (o.item = t), (o.isInstant = e || t.isLayoutInstant), i.push(o); 6902 }, this), 6903 this._processLayoutQueue(i); 6904 } 6905 }), 6906 (c._getItemLayoutPosition = function () { 6907 return { x: 0, y: 0 }; 6908 }), 6909 (c._processLayoutQueue = function (t) { 6910 this.updateStagger(), 6911 t.forEach(function (t, e) { 6912 this._positionItem(t.item, t.x, t.y, t.isInstant, e); 6913 }, this); 6914 }), 6915 (c.updateStagger = function () { 6916 var t = this.options.stagger; 6917 return null === t || void 0 === t ? void (this.stagger = 0) : ((this.stagger = a(t)), this.stagger); 6918 }), 6919 (c._positionItem = function (t, e, i, o, n) { 6920 o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)); 6921 }), 6922 (c._postLayout = function () { 6923 this.resizeContainer(); 6924 }), 6925 (c.resizeContainer = function () { 6926 var t = this._getOption("resizeContainer"); 6927 if (t) { 6928 var e = this._getContainerSize(); 6929 e && (this._setContainerMeasure(e.width, !0), this._setContainerMeasure(e.height, !1)); 6930 } 6931 }), 6932 (c._getContainerSize = d), 6933 (c._setContainerMeasure = function (t, e) { 6934 if (void 0 !== t) { 6935 var i = this.size; 6936 i.isBorderBox && (t += e ? i.paddingLeft + i.paddingRight + i.borderLeftWidth + i.borderRightWidth : i.paddingBottom + i.paddingTop + i.borderTopWidth + i.borderBottomWidth), 6937 (t = Math.max(t, 0)), 6938 (this.element.style[e ? "width" : "height"] = t + "px"); 6939 } 6940 }), 6941 (c._emitCompleteOnItems = function (t, e) { 6942 function i() { 6943 n.dispatchEvent(t + "Complete", null, [e]); 6944 } 6945 function o() { 6946 r++, r == s && i(); 6947 } 6948 var n = this, 6949 s = e.length; 6950 if (!e || !s) return void i(); 6951 var r = 0; 6952 e.forEach(function (e) { 6953 e.once(t, o); 6954 }); 6955 }), 6956 (c.dispatchEvent = function (t, e, i) { 6957 var o = e ? [e].concat(i) : i; 6958 if ((this.emitEvent(t, o), h)) 6959 if (((this.$element = this.$element || h(this.element)), e)) { 6960 var n = h.Event(e); 6961 (n.type = t), this.$element.trigger(n, i); 6962 } else this.$element.trigger(t, i); 6963 }), 6964 (c.ignore = function (t) { 6965 var e = this.getItem(t); 6966 e && (e.isIgnored = !0); 6967 }), 6968 (c.unignore = function (t) { 6969 var e = this.getItem(t); 6970 e && delete e.isIgnored; 6971 }), 6972 (c.stamp = function (t) { 6973 (t = this._find(t)), t && ((this.stamps = this.stamps.
6973concat(t)), t.forEach(this.ignore, this)); 6974 }), 6975 (c.unstamp = function (t) { 6976 (t = this._find(t)), 6977 t && 6978 t.forEach(function (t) { 6979 o.removeFrom(this.stamps, t), this.unignore(t); 6980 }, this); 6981 }), 6982 (c._find = function (t) { 6983 if (t) return "string" == typeof t && (t = this.element.querySelectorAll(t)), (t = o.makeArray(t)); 6984 }), 6985 (c._manageStamps = function () { 6986 this.stamps && this.stamps.length && (this._getBoundingRect(), this.stamps.forEach(this._manageStamp, this)); 6987 }), 6988 (c._getBoundingRect = function () { 6989 var t = this.element.getBoundingClientRect(), 6990 e = this.size; 6991 this._boundingRect = { 6992 left: t.left + e.paddingLeft + e.borderLeftWidth, 6993 top: t.top + e.paddingTop + e.borderTopWidth, 6994 right: t.right - (e.paddingRight + e.borderRightWidth), 6995 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth), 6996 }; 6997 }), 6998 (c._manageStamp = d), 6999 (c._getElementOffset = function (t) { 7000 var e = t.getBoundingClientRect(), 7001 o = this._boundingRect, 7002 n = i(t), 7003 s = { left: e.left - o.left - n.marginLeft, top: e.top - o.top - n.marginTop, right: o.right - e.right - n.marginRight, bottom: o.bottom - e.bottom - n.marginBottom }; 7004 return s; 7005 }), 7006 (c.handleEvent = o.handleEvent), 7007 (c.bindResize = function () { 7008 t.addEventListener("resize", this), (this.isResizeBound = !0); 7009 }), 7010 (c.unbindResize = function () { 7011 t.removeEventListener("resize", this), (this.isResizeBound = !1); 7012 }), 7013 (c.onresize = function () { 7014 this.resize(); 7015 }), 7016 o.debounceMethod(s, "onresize", 100), 7017 (c.resize = function () { 7018 this.isResizeBound && this.needsResizeLayout() && this.layout(); 7019 }), 7020 (c.needsResizeLayout = function () { 7021 var t = i(this.element), 7022 e = this.size && t; 7023 return e && t.innerWidth !== this.size.innerWidth; 7024 }), 7025 (c.addItems = function (t) { 7026 var e = this._itemize(t); 7027 return e.length && (this.items = this.items.concat(e)), e; 7028 }), 7029 (c.appended = function (t) { 7030 var e = this.addItems(t); 7031 e.length && (this.layoutItems(e, !0), this.reveal(e)); 7032 }), 7033 (c.prepended = function (t) { 7034 var e = this._itemize(t); 7035 if (e.length) { 7036 var i = this.items.slice(0); 7037 (this.items = e.concat(i)), this._resetLayout(), this._manageStamps(), this.layoutItems(e, !0), this.reveal(e), this.layoutItems(i); 7038 } 7039 }), 7040 (c.reveal = function (t) { 7041 if ((this._emitCompleteOnItems("reveal", t), t && t.length)) { 7042 var e = this.updateStagger(); 7043 t.forEach(function (t, i) { 7044 t.stagger(i * e), t.reveal(); 7045 }); 7046 } 7047 }), 7048 (c.hide = function (t) { 7049 if ((this._emitCompleteOnItems("hide", t), t && t.length)) { 7050 var e = this.updateStagger(); 7051 t.forEach(function (t, i) { 7052 t.stagger(i * e), t.hide(); 7053 }); 7054 } 7055 }), 7056 (c.revealItemElements = function (t) { 7057 var e = this.getItems(t); 7058 this.reveal(e); 7059 }), 7060 (c.hideItemElements = function (t) { 7061 var e = this.getItems(t); 7062 this.hide(e); 7063 }), 7064 (c.getItem = function (t) { 7065 for (var e = 0; e < this.items.length; e++) { 7066 var i = this.items[e]; 7067 if (i.element == t) return i; 7068 } 7069 }), 7070 (c.getItems = function (t) { 7071 t = o.makeArray(t); 7072 var e = []; 7073 return ( 7074 t.forEach(function (t) { 7075 var i = this.getItem(t); 7076 i && e.push(i); 7077 }, this), 7078 e 7079 ); 7080 }), 7081 (c.remove = function (t) { 7082 var e = this.getItems(t); 7083 this._emitCompleteOnItems("remove", e), 7084 e && 7085 e.length && 7086 e.forEach(function (t) { 7087 t.remove(), o.removeFrom(this.items, t); 7088 }, this); 7089 }), 7090 (c.destroy = function () { 7091 var t = this.element.style; 7092 (t.height = ""), 7093 (t.position = ""), 7094 (t.width = ""),
7095 this.items.forEach(function (t) { 7096 t.destroy(); 7097 }), 7098 this.unbindResize(); 7099 var e = this.element.outlayerGUID; 7100 delete f[e], delete this.element.outlayerGUID, h && h.removeData(this.element, this.constructor.namespace); 7101 }), 7102 (s.data = function (t) { 7103 t = o.getQueryElement(t); 7104 var e = t && t.outlayerGUID; 7105 return e && f[e]; 7106 }), 7107 (s.create = function (t, e) { 7108 var i = r(s); 7109 return ( 7110 (i.defaults = o.extend({}, s.defaults)), 7111 o.extend(i.defaults, e), 7112 (i.compatOptions = o.extend({}, s.compatOptions)), 7113 (i.namespace = t), 7114 (i.data = s.data), 7115 (i.Item = r(n)), 7116 o.htmlInit(i, t), 7117 h && h.bridget && h.bridget(t, i), 7118 i 7119 ); 7120 }); 7121 var m = { ms: 1, s: 1e3 }; 7122 return (s.Item = n), s; 7123 }), 7124 (function (t, e) { 7125 "function" == typeof define && define.amd 7126 ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) 7127 : "object" == typeof module && module.exports 7128 ? (module.exports = e(require("outlayer"))) 7129 : ((t.Isotope = t.Isotope || {}), (t.Isotope.Item = e(t.Outlayer))); 7130 })(window, function (t) { 7131 "use strict"; 7132 function e() { 7133 t.Item.apply(this, arguments); 7134 } 7135 var i = (e.prototype = Object.create(t.Item.prototype)), 7136 o = i._create; 7137 (i._create = function () { 7138 (this.id = this.layout.itemGUID++), o.call(this), (this.sortData = {}); 7139 }), 7140 (i.updateSortData = function () { 7141 if (!this.isIgnored) { 7142 (this.sortData.id = this.id), (this.sortData["original-order"] = this.id), (this.sortData.random = Math.random()); 7143 var t = this.layout.options.getSortData, 7144 e = this.layout._sorters; 7145 for (var i in t) { 7146 var o = e[i]; 7147 this.sortData[i] = o(this.element, this); 7148 } 7149 } 7150 }); 7151 var n = i.destroy; 7152 return ( 7153 (i.destroy = function () { 7154 n.apply(this, arguments), this.css({ display: "" }); 7155 }), 7156 e 7157 ); 7158 }), 7159 (function (t, e) { 7160 "function" == typeof define && define.amd 7161 ? define("isotope-layout/js/layout-mode", ["get-size/get-size", "outlayer/outlayer"], e) 7162 : "object" == typeof module && module.exports 7163 ? (module.exports = e(require("get-size"), require("outlayer"))) 7164 : ((t.Isotope = t.Isotope || {}), (t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))); 7165 })(window, function (t, e) { 7166 "use strict"; 7167 function i(t) { 7168 (this.isotope = t), t && ((this.options = t.options[this.namespace]), (this.element = t.element), (this.items = t.filteredItems), (this.size = t.size)); 7169 } 7170 var o = i.prototype, 7171 n = ["_resetLayout", "_getItemLayoutPosition", "_manageStamp", "_getContainerSize", "_getElementOffset", "needsResizeLayout", "_getOption"]; 7172 return ( 7173 n.forEach(function (t) { 7174 o[t] = function () { 7175 return e.prototype[t].apply(this.isotope, arguments); 7176 }; 7177 }), 7178 (o.needsVerticalResizeLayout = function () { 7179 var e = t(this.isotope.element), 7180 i = this.isotope.size && e; 7181 return i && e.innerHeight != this.isotope.size.innerHeight; 7182 }), 7183 (o._getMeasurement = function () { 7184 this.isotope._getMeasurement.apply(this, arguments); 7185 }), 7186 (o.getColumnWidth = function () {
7187 this.getSegmentSize("column", "Width"); 7188 }), 7189 (o.getRowHeight = function () { 7190 this.getSegmentSize("row", "Height"); 7191 }), 7192 (o.getSegmentSize = function (t, e) { 7193 var i = t + e, 7194 o = "outer" + e; 7195 if ((this._getMeasurement(i, o), !this[i])) { 7196 var n = this.getFirstItemSize(); 7197 this[i] = (n && n[o]) || this.isotope.size["inner" + e]; 7198 } 7199 }), 7200 (o.getFirstItemSize = function () { 7201 var e = this.isotope.filteredItems[0]; 7202 return e && e.element && t(e.element); 7203 }), 7204 (o.layout = function () { 7205 this.isotope.layout.apply(this.isotope, arguments); 7206 }), 7207 (o.getSize = function () { 7208 this.isotope.getSize(), (this.size = this.isotope.size); 7209 }), 7210 (i.modes = {}), 7211 (i.create = function (t, e) { 7212 function n() { 7213 i.apply(this, arguments); 7214 } 7215 return (n.prototype = Object.create(o)), (n.prototype.constructor = n), e && (n.options = e), (n.prototype.namespace = t), (i.modes[t] = n), n; 7216 }), 7217 i 7218 ); 7219 }), 7220 (function (t, e) { 7221 "function" == typeof define && define.amd 7222 ? define("masonry-layout/masonry", ["outlayer/outlayer", "get-size/get-size"], e) 7223 : "object" == typeof module && module.exports 7224 ? (module.exports = e(require("outlayer"), require("get-size"))) 7225 : (t.Masonry = e(t.Outlayer, t.getSize)); 7226 })(window, function (t, e) { 7227 var i = t.create("masonry"); 7228 i.compatOptions.fitWidth = "isFitWidth"; 7229 var o = i.prototype; 7230 return ( 7231 (o._resetLayout = function () {
7232 this.getSize(), this._getMeasurement("columnWidth", "outerWidth"), this._getMeasurement("gutter", "outerWidth"), this.measureColumns(), (this.colYs = []); 7233 for (var t = 0; t < this.cols; t++) this.colYs.push(0); 7234 (this.maxY = 0), (this.horizontalColIndex = 0); 7235 }), 7236 (o.measureColumns = function () { 7237 if ((this.getContainerWidth(), !this.columnWidth)) { 7238 var t = this.items[0], 7239 i = t && t.element; 7240 this.columnWidth = (i && e(i).outerWidth) || this.containerWidth; 7241 } 7242 var o = (this.columnWidth += this.gutter), 7243 n = this.containerWidth + this.gutter, 7244 s = n / o, 7245 r = o - (n % o), 7246 a = r && r < 1 ? "round" : "floor"; 7247 (s = Math[a](s)), (this.cols = Math.max(s, 1)); 7248 }), 7249 (o.getContainerWidth = function () { 7250 var t = this._getOption("fitWidth"), 7251 i = t ? this.element.parentNode : this.element, 7252 o = e(i); 7253 this.containerWidth = o && o.innerWidth; 7254 }), 7255 (o._getItemLayoutPosition = function (t) { 7256 t.getSize(); 7257 var e = t.size.outerWidth % this.columnWidth, 7258 i = e && e < 1 ? "round" : "ceil", 7259 o = Math[i](t.size.outerWidth / this.columnWidth); 7260 o = Math.min(o, this.cols); 7261 for ( 7262 var n = this.options.horizontalOrder ? "_getHorizontalColPosition" : "_getTopColPosition", s = this[n](o, t), r = { x: this.columnWidth * s.col, y: s.y }, a = s.y + t.size.outerHeight, u = o + s.col, h = s.col; 7263 h < u; 7264 h++ 7265 ) 7266 this.colYs[h] = a; 7267 return r; 7268 }), 7269 (o._getTopColPosition = function (t) { 7270 var e = this._getTopColGroup(t), 7271 i = Math.min.apply(Math, e); 7272 return { col: e.indexOf(i), y: i }; 7273 }), 7274 (o._getTopColGroup = function (t) { 7275 if (t < 2) return this.colYs; 7276 for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) e[o] = this._getColGroupY(o, t); 7277 return e; 7278 }), 7279 (o._getColGroupY = function (t, e) { 7280 if (e < 2) return this.colYs[t]; 7281 var i = this.colYs.slice(t, t + e); 7282 return Math.max.apply(Math, i); 7283 }), 7284 (o._getHorizontalColPosition = function (t, e) { 7285 var i = this.horizontalColIndex % this.cols, 7286 o = t > 1 && i + t > this.cols; 7287 i = o ? 0 : i; 7288 var n = e.size.outerWidth && e.size.outerHeight; 7289 return (this.horizontalColIndex = n ? i + t : this.horizontalColIndex), { col: i, y: this._getColGroupY(i, t) }; 7290 }), 7291 (o._manageStamp = function (t) { 7292 var i = e(t), 7293 o = this._getElementOffset(t), 7294 n = this._getOption("originLeft"), 7295 s = n ? o.left : o.right, 7296 r = s + i.outerWidth, 7297 a = Math.floor(s / this.columnWidth); 7298 a = Math.max(0, a); 7299 var u = Math.floor(r / this.columnWidth); 7300 (u -= r % this.columnWidth ? 0 : 1), (u = Math.min(this.cols - 1, u)); 7301 for (var h = this._getOption("originTop"), d = (h ? o.top : o.bottom) + i.outerHeight, l = a; l <= u; l++) this.colYs[l] = Math.max(d, this.colYs[l]); 7302 }), 7303 (o._getContainerSize = function () { 7304 this.maxY = Math.max.apply(Math, this.colYs); 7305 var t = { height: this.maxY }; 7306 return this._getOption("fitWidth") && (t.width = this._getContainerFitWidth()), t; 7307 }), 7308 (o._getContainerFitWidth = function () { 7309 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++; 7310 return (this.cols - t) * this.columnWidth - this.gutter; 7311 }), 7312 (o.needsResizeLayout = function () { 7313 var t = this.containerWidth; 7314 return this.getContainerWidth(), t != this.containerWidth; 7315 }), 7316 i 7317 ); 7318 }), 7319 (function (t, e) { 7320 "function" == typeof define && define.amd 7321 ? define("isotope-layout/js/layout-modes/masonry", ["../layout-mode", "masonry-layout/masonry"], e) 7322 : "object" == typeof module && module.exports 7323 ? (module.exports = e(require("../layout-mode"), require("masonry-layout"))) 7324 : e(t.Isotope.LayoutMode, t.Masonry); 7325 })(window, function (t, e) { 7326 "use strict"; 7327 var i = t.create("masonry"), 7328 o = i.prototype, 7329 n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; 7330 for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); 7331 var r = o.measureColumns; 7332 o.measureColumns = function () { 7333 (this.items = this.isotope.filteredItems), r.call(this); 7334 }; 7335 var a = o._getOption; 7336 return ( 7337 (o._getOption = function (t) { 7338 return "fitWidth" == t ? (void 0 !== this.options.isFitWidth ? this.options.isFitWidth : this.options.fitWidth) : a.apply(this.isotope, arguments); 7339 }), 7340 i 7341 ); 7342 }), 7343 (function (t, e) { 7344 "function" == typeof define && define.amd ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) : "object" == typeof exports ? (module.exports = e(require("../layout-mode"))) : e(t.Isotope.LayoutMode); 7345 })(window, function (t) { 7346 "use strict"; 7347 var e = t.create("fitRows"), 7348 i = e.prototype; 7349 return ( 7350 (i._resetLayout = function () { 7351 (this.x = 0), (this.y = 0), (this.maxY = 0), this._getMeasurement("gutter", "outerWidth"); 7352 }), 7353 (i._getItemLayoutPosition = function (t) { 7354 t.getSize(); 7355 var e = t.size.outerWidth + this.gutter, 7356 i = this.isotope.size.innerWidth + this.gutter; 7357 0 !== this.x && e + this.x > i && ((this.x = 0), (this.y = this.maxY)); 7358 var o = { x: this.x, y: this.y }; 7359 return (this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight)), (this.x += e), o; 7360 }), 7361 (i._getContainerSize = function () { 7362 return { height: this.maxY }; 7363 }), 7364 e 7365 ); 7366 }), 7367 (function (t, e) { 7368 "function" == typeof define && define.amd 7369 ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) 7370 : "object" == typeof module && module.exports 7371 ? (module.exports = e(require("../layout-mode"))) 7372 : e(t.Isotope.LayoutMode); 7373 })(window, function (t) { 7374 "use strict"; 7375 var e = t.create("vertical", { horizontalAlignment: 0 }), 7376 i = e.prototype; 7377 return ( 7378 (i._resetLayout = function () { 7379 this.y = 0; 7380 }), 7381 (i._getItemLayoutPosition = function (t) { 7382 t.getSize(); 7383 var e = (this.isotope.size.innerWidth - t.size.outerWidth) * this.options.horizontalAlignment, 7384 i = this.y; 7385 return (this.y += t.size.outerHeight), { x: e, y: i }; 7386 }), 7387 (i._getContainerSize = function () { 7388 return { height: this.y }; 7389 }), 7390 e 7391 ); 7392 }), 7393 (function (t, e) { 7394 "function" == typeof define && define.amd 7395 ? define([ 7396 "outlayer/outlayer", 7397 "get-size/get-size", 7398 "desandro-matches-selector/matches-selector", 7399 "fizzy-ui-utils/utils", 7400 "isotope-layout/js/item", 7401 "isotope-layout/js/layout-mode", 7402 "isotope-layout/js/layout-modes/masonry", 7403 "isotope-layout/js/layout-modes/fit-rows", 7404 "isotope-layout/js/layout-modes/vertical", 7405 ], function (i, o, n, s, r, a) { 7406 return e(t, i, o, n, s, r, a); 7407 }) 7408 : "object" == typeof module && module.exports 7409 ? (module.exports = e( 7410 t, 7411 require("outlayer"), 7412 require("get-size"), 7413 require("desandro-matches-selector"), 7414 require("fizzy-ui-utils"), 7415 require("isotope-layout/js/item"), 7416 require("isotope-layout/js/layout-mode"), 7417 require("isotope-layout/js/layout-modes/masonry"), 7418 require("isotope-layout/js/layout-modes/fit-rows"), 7419 require("isotope-layout/js/layout-modes/vertical") 7420 )) 7421 : (t.Isotope = e(t, t.Outlayer, t.getSize, t.matchesSelector, t.fizzyUIUtils, t.Isotope.Item, t.Isotope.LayoutMode)); 7422 })(window, function (t, e, i, o, n, s, r) { 7423 function a(t, e) { 7424 return function (i, o) { 7425 for (var n = 0; n < t.length; n++) { 7426 var s = t[n], 7427 r = i.sortData[s], 7428 a = o.sortData[s]; 7429 if (r > a || r < a) { 7430 var u = void 0 !== e[s] ? e[s] : e, 7431 h = u ? 1 : -1; 7432 return (r > a ? 1 : -1) * h; 7433 } 7434 } 7435 return 0; 7436 }; 7437 } 7438 var u = t.jQuery, 7439 h = String.prototype.trim 7440 ? function (t) { 7441 return t.trim(); 7442 } 7443 : function (t) { 7444 return t.replace(/^\s+|\s+$/g, ""); 7445 }, 7446 d = e.create("isotope", { layoutMode: "masonry", isJQueryFiltering: !0, sortAscending: !0 }); 7447 (d.Item = s), (d.LayoutMode = r); 7448 var l = d.prototype; 7449 (l._create = function () { 7450 (this.itemGUID = 0), (this._sorters = {}), this._getSorters(), e.prototype._create.call(this), (this.modes = {}), (this.filteredItems = this.items), (this.sortHistory = ["original-order"]); 7451 for (var t in r.modes) this._initLayoutMode(t); 7452 }), 7453 (l.reloadItems = function () { 7454 (this.itemGUID = 0), e.prototype.reloadItems.call(this); 7455 }), 7456 (l._itemize = function () { 7457 for (var t = e.prototype._itemize.apply(this, arguments), i = 0; i < t.length; i++) { 7458 var o = t[i]; 7459 o.id = this.itemGUID++; 7460 } 7461 return this._updateItemsSortData(t), t; 7462 }), 7463 (l._initLayoutMode = function (t) { 7464 var e = r.modes[t], 7465 i = this.options[t] || {}; 7466 (this.options[t] = e.options ? n.extend(e.options, i) : i), (this.modes[t] = new e(this)); 7467 }), 7468 (l.layout = function () { 7469 return !this._isLayoutInited && this._getOption("initLayout") ? void this.arrange() : void this._layout(); 7470 }), 7471 (l._layout = function () { 7472 var t = this._getIsInstant(); 7473 this._resetLayout(), this._manageStamps(), this.layoutItems(this.filteredItems, t), (this._isLayoutInited = !0); 7474 }), 7475 (l.arrange = function (t) { 7476 this.option(t), this._getIsInstant(); 7477 var e = this._filter(this.items); 7478 (this.filteredItems = e.matches), this._bindArrangeComplete(), this._isInstant ? this._noTransition(this._hideReveal, [e]) : this._hideReveal(e), this._sort(), this._layout(); 7479 }), 7480 (l._init = l.arrange), 7481 (l._hideReveal = function (t) { 7482 this.reveal(t.needReveal), this.hide(t.needHide); 7483 }), 7484 (l._getIsInstant = function () { 7485 var t = this._getOption("layoutInstant"), 7486 e = void 0 !== t ? t : !this._isLayoutInited; 7487 return (this._isInstant = e), e; 7488 }), 7489 (l._bindArrangeComplete = function () { 7490 function t() { 7491 e && i && o && n.dispatchEvent("arrangeComplete", null, [n.filteredItems]); 7492 } 7493 var e, 7494 i, 7495 o, 7496 n = this; 7497 this.once("layoutComplete", function () { 7498 (e = !0), t(); 7499 }), 7500 this.once("hideComplete", function () { 7501 (i = !0), t(); 7502 }), 7503 this.once("revealComplete", function () { 7504 (o = !0), t(); 7505 }); 7506 }), 7507 (l._filter = function (t) { 7508 var e = this.options.filter; 7509 e = e || "*"; 7510 for (var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; r < t.length; r++) { 7511 var a = t[r]; 7512 if (!a.isIgnored) { 7513 var u = s(a); 7514 u && i.push(a), u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a); 7515 } 7516 } 7517 return { matches: i, needReveal: o, needHide: n }; 7518 }), 7519 (l._getFilterTest = function (t) { 7520 return u && this.options.isJQueryFiltering 7521 ? function (e) { 7522 return u(e.element).is(t); 7523 } 7524 : "function" == typeof t 7525 ? function (e) { 7526 return t(e.element); 7527 } 7528 : function (e) { 7529 return o(e.element, t); 7530 }; 7531 }), 7532 (l.updateSortData = function (t) { 7533 var e; 7534 t ? ((t = n.makeArray(t)), (e = this.getItems(t))) : (e = this.items), this._getSorters(), this._updateItemsSortData(e); 7535 }), 7536 (l._getSorters = function () { 7537 var t = this.options.getSortData; 7538 for (var e in t) { 7539 var i = t[e]; 7540 this._sorters[e] = f(i); 7541 } 7542 }), 7543 (l._updateItemsSortData = function (t) { 7544 for (var e = t && t.length, i = 0; e && i < e; i++) { 7545 var o = t[i]; 7546 o.updateSortData(); 7547 } 7548 }); 7549 var f = (function () { 7550 function t(t) { 7551 if ("string" != typeof t) return t; 7552 var i = h(t).split(" "), 7553 o = i[0], 7554 n = o.match(/^\[(.+)\]$/), 7555 s = n && n[1], 7556 r = e(s, o), 7557 a = d.sortDataParsers[i[1]]; 7558 return (t = a 7559 ? function (t) { 7560 return t && a(r(t)); 7561 } 7562 : function (t) { 7563 return t && r(t); 7564 }); 7565 } 7566 function e(t, e) { 7567 return t 7568 ? function (e) { 7569 return e.getAttribute(t); 7570 } 7571 : function (t) { 7572 var i = t.querySelector(e); 7573 return i && i.textContent; 7574 }; 7575 } 7576 return t; 7577 })(); 7578 (d.sortDataParsers = { 7579 parseInt: function (t) { 7580 return parseInt(t, 10); 7581 }, 7582 parseFloat: function (t) { 7583 return parseFloat(t); 7584 }, 7585 }), 7586 (l._sort = function () { 7587 if (this.options.sortBy) { 7588 var t = n.makeArray(this.options.sortBy); 7589 this._getIsSameSortBy(t) || (this.sortHistory = t.concat(this.sortHistory)); 7590 var e = a(this.sortHistory, this.options.sortAscending); 7591 this.filteredItems.sort(e); 7592 } 7593
7593 }), 7594 (l._getIsSameSortBy = function (t) { 7595 for (var e = 0; e < t.length; e++) if (t[e] != this.sortHistory[e]) return !1; 7596 return !0; 7597 }), 7598 (l._mode = function () { 7599 var t = this.options.layoutMode, 7600 e = this.modes[t]; 7601 if (!e) throw new Error("No layout mode: " + t); 7602 return (e.options = this.options[t]), e; 7603 }), 7604 (l._resetLayout = function () { 7605 e.prototype._resetLayout.call(this), this._mode()._resetLayout(); 7606 }), 7607 (l._getItemLayoutPosition = function (t) { 7608 return this._mode()._getItemLayoutPosition(t); 7609 }), 7610 (l._manageStamp = function (t) { 7611 this._mode()._manageStamp(t); 7612 }), 7613 (l._getContainerSize = function () { 7614 return this._mode()._getContainerSize(); 7615 }), 7616 (l.needsResizeLayout = function () { 7617 return this._mode().needsResizeLayout(); 7618 }), 7619 (l.appended = function (t) { 7620 var e = this.addItems(t); 7621 if (e.length) { 7622 var i = this._filterRevealAdded(e); 7623 this.filteredItems = this.filteredItems.concat(i); 7624 } 7625 }), 7626 (l.prepended = function (t) { 7627 var e = this._itemize(t); 7628 if (e.length) { 7629 this._resetLayout(), this._manageStamps(); 7630 var i = this._filterRevealAdded(e); 7631 this.layoutItems(this.filteredItems), (this.filteredItems = i.concat(this.filteredItems)), (this.items = e.concat(this.items)); 7632 } 7633 }), 7634 (l._filterRevealAdded = function (t) { 7635 var e = this._filter(t); 7636 return this.hide(e.needHide), this.reveal(e.matches), this.layoutItems(e.matches, !0), e.matches; 7637 }), 7638 (l.insert = function (t) { 7639 var e = this.addItems(t); 7640 if (e.length) { 7641 var i, 7642 o, 7643 n = e.length; 7644 for (i = 0; i < n; i++) (o = e[i]), this.element.appendChild(o.element); 7645 var s = this._filter(e).matches; 7646 for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; 7647 for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; 7648 this.reveal(s); 7649 } 7650 }); 7651 var c = l.remove; 7652 return ( 7653 (l.remove = function (t) { 7654 t = n.makeArray(t); 7655 var e = this.getItems(t); 7656 c.call(this, t); 7657 for (var i = e && e.length, o = 0; i && o < i; o++) { 7658 var s = e[o]; 7659 n.removeFrom(this.filteredItems, s); 7660 } 7661 }), 7662 (l.shuffle = function () { 7663 for (var t = 0; t < this.items.length; t++) { 7664 var e = this.items[t]; 7665 e.sortData.random = Math.random(); 7666 } 7667 (this.options.sortBy = "random"), this._sort(), this._layout(); 7668 }), 7669 (l._noTransition = function (t, e) { 7670 var i = this.options.transitionDuration; 7671 this.options.transitionDuration = 0; 7672 var o = t.apply(this, e); 7673 return (this.options.transitionDuration = i), o; 7674 }), 7675 (l.getFilteredItemElements = function () { 7676 return this.filteredItems.map(function (t) { 7677 return t.element; 7678 }); 7679 }), 7680 d 7681 ); 7682 }); 7683 7684/* 11. 7685 * Typewriter */ 7686!(function (t, e) { 7687 "object" == typeof exports && "object" == typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define("Typewriter", [], e) : "object" == typeof exports ? (exports.Typewriter = e()) : (t.Typewriter = e()); 7688})(window, function () { 7689 return (function (t) { 7690 var e = {}; 7691 function n(r) { 7692 if (e[r]) return e[r].exports; 7693 var o = (e[r] = { i: r, l: !1, exports: {} }); 7694 return t[r].call(o.exports, o, o.exports, n), (o.l = !0), o.exports; 7695 } 7696 return ( 7697 (n.m = t), 7698 (n.c = e), 7699 (n.d = function (t, e, r) { 7700 n.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: r }); 7701 }), 7702 (n.r = function (t) { 7703 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }); 7704 }), 7705 (n.t = function (t, e) { 7706 if ((1 & e && (t = n(t)), 8 & e)) return t; 7707 if (4 & e && "object" == typeof t && t && t.__esModule) return t; 7708 var r = Object.create(null); 7709 if ((n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t)) 7710 for (var o in t) 7711 n.d( 7712 r, 7713 o, 7714 function (e) { 7715 return t[e]; 7716 }.bind(null, o) 7717 ); 7718 return r; 7719 }), 7720 (n.n = function (t) { 7721 var e = 7722 t && t.__esModule 7723 ? function () { 7724 return t.default; 7725 } 7726 : function () { 7727 return t; 7728 }; 7729 return n.d(e, "a", e), e; 7730 }), 7731 (n.o = function (t, e) { 7732 return Object.prototype.hasOwnProperty.call(t, e); 7733 }), 7734 (n.p = ""), 7735 n((n.s = 53)) 7736 ); 7737 })([ 7738 function (t, e, n) { 7739 var r = n(27)("wks"), 7740 o = n(15), 7741 i = n(1).Symbol, 7742 u = "function" == typeof i; 7743 (t.exports = function (t) { 7744 return r[t] || (r[t] = (u && i[t]) || (u ? i : o)("Symbol." + t)); 7745 }).store = r; 7746 }, 7747 function (t, e) { 7748 var n = (t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")()); 7749 "number" == typeof __g && (__g = n); 7750 }, 7751 function (t, e, n) { 7752 var r = n(8), 7753 o = n(36), 7754 i = n(23), 7755 u = Object.defineProperty; 7756 e.f = n(3) 7757 ? Object.defineProperty 7758 : function (t, e, n) { 7759 if ((r(t), (e = i(e, !0)), r(n), o)) 7760 try { 7761 return u(t, e, n); 7762 } catch (t) {} 7763 if ("get" in n || "set" in n) throw TypeError("Accessors not supported!"); 7764 return "value" in n && (t[e] = n.value), t; 7765 }; 7766 }, 7767 function (t, e, n) { 7768 t.exports = !n(6)(function () { 7769 return ( 7770 7 != 7771 Object.defineProperty({}, "a", { 7772 get: function () { 7773 return 7; 7774 }, 7775 }).a 7776 ); 7777 }); 7778 }, 7779 function (t, e, n) { 7780 var r = n(1), 7781 o = n(11), 7782 i = n(7), 7783 u = n(9), 7784 a = n(18), 7785 s = function (t, e, n) { 7786 var c, 7787 f, 7788 l, 7789 p, 7790 v = t & s.F, 7791 d = t & s.G, 7792 h = t & s.S, 7793 y = t & s.P, 7794 m = t & s.B, 7795 g = d ? r : h ? r[e] || (r[e] = {}) : (r[e] || {}).prototype, 7796 E = d ? o : o[e] || (o[e] = {}), 7797 b = E.prototype || (E.prototype = {}); 7798 for (c in (d && (n = e), n)) 7799 (l = ((f = !v && g && void 0 !== g[c]) ? g : n)[c]), (p = m && f ? a(l, r) : y && "function" == typeof l ? a(Function.call, l) : l), g && u(g, c, l, t & s.U), E[c] != l && i(E, c, p), y && b[c] != l && (b[c] = l); 7800 }; 7801 (r.core = o), (s.F = 1), (s.G = 2), (s.S = 4), (s.P = 8), (s.B = 16), (s.W = 32), (s.U = 64), (s.R = 128), (t.exports = s); 7802 }, 7803 function (t, e) { 7804 t.exports = function (t) { 7805 return "object" == typeof t ? null !== t : "function" == typeof t; 7806 }; 7807 }, 7808 function (t, e) { 7809 t.exports = function (t) { 7810 try { 7811 return !!t(); 7812 } catch (t) { 7813 return !0; 7814 } 7815 }; 7816 }, 7817 function (t, e, n) { 7818 var r = n(2), 7819 o = n(14); 7820 t.exports = n(3) 7821 ? function (t, e, n) { 7822 return r.f(t, e, o(1, n)); 7823 } 7824 : function (t, e, n) { 7825 return (t[e] = n), t; 7826 }; 7827 }, 7828 function (t, e, n) { 7829 var r = n(5); 7830 t.exports = function (t) { 7831 if (!r(t)) throw TypeError(t + " is not an object!"); 7832 return t; 7833 }; 7834 }, 7835 function (t, e, n) { 7836 var r = n(1), 7837 o = n(7), 7838 i = n(10), 7839 u = n(15)("src"), 7840 a = Function.toString, 7841 s = ("" + a).split("toString"); 7842 (n(11).inspectSource = function (t) { 7843 return a.call(t); 7844 }), 7845 (t.exports = function (t, e, n, a) { 7846 var c = "function" == typeof n; 7847 c && (i(n, "name") || o(n, "name", e)), t[e] !== n && (c && (i(n, u) || o(n, u, t[e] ? "" + t[e] : s.join(String(e)))
7847), t === r ? (t[e] = n) : a ? (t[e] ? (t[e] = n) : o(t, e, n)) : (delete t[e], o(t, e, n))); 7848 })(Function.prototype, "toString", function () { 7849 return ("function" == typeof this && this[u]) || a.call(this); 7850 }); 7851 }, 7852 function (t, e) { 7853 var n = {}.hasOwnProperty; 7854 t.exports = function (t, e) { 7855 return n.call(t, e); 7856 }; 7857 }, 7858 function (t, e) { 7859 var n = (t.exports = { version: "2.5.7" }); 7860 "number" == typeof __e && (__e = n); 7861 }, 7862 function (t, e, n) { 7863 var r = n(39), 7864 o = n(21); 7865 t.exports = function (t) { 7866 return r(o(t)); 7867 }; 7868 }, 7869 , 7870 function (t, e) { 7871 t.exports = function (t, e) { 7872 return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e }; 7873 }; 7874 }, 7875 function (t, e) { 7876 var n = 0, 7877 r = Math.random(); 7878 t.exports = function (t) { 7879 return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++n + r).toString(36)); 7880 }; 7881 }, 7882 function (t, e) { 7883 t.exports = {}; 7884 }, 7885 function (t, e, n) { 7886 var r = n(43), 7887 o = n(29); 7888 t.exports = 7889 Object.keys || 7890 function (t) { 7891 return r(t, o); 7892 }; 7893 }, 7894 function (t, e, n) { 7895 var r = n(55); 7896 t.exports = function (t, e, n) { 7897 if ((r(t), void 0 === e)) return t; 7898 switch (n) { 7899 case 1: 7900 return function (n) { 7901 return t.call(e, n); 7902 }; 7903 case 2: 7904 return function (n, r) { 7905 return t.call(e, n, r); 7906 }; 7907 case 3: 7908 return function (n, r, o) { 7909 return t.call(e, n, r, o); 7910 }; 7911 } 7912 return function () { 7913 return t.apply(e, arguments); 7914 }; 7915 }; 7916 }, 7917 function (t, e) { 7918 var n = {}.toString; 7919 t.exports = function (t) { 7920 return n.call(t).slice(8, -1); 7921 }; 7922 }, 7923 function (t, e, n) { 7924 var r = n(21); 7925 t.exports = function (t) { 7926 return Object(r(t)); 7927 }; 7928 }, 7929 function (t, e) { 7930 t.exports = function (t) { 7931 if (void 0 == t) throw TypeError("Can't call method on " + t); 7932 return t; 7933 }; 7934 }, 7935 function (t, e) { 7936 t.exports = !1; 7937 }, 7938 function (t, e, n) { 7939 var r = n(5); 7940 t.exports = function (t, e) { 7941 if (!r(t)) return t; 7942 var n, o; 7943 if (e && "function" == typeof (n = t.toString) && !r((o = n.call(t)))) return o; 7944 if ("function" == typeof (n = t.valueOf) && !r((o = n.call(t)))) return o; 7945 if (!e && "function" == typeof (n = t.toString) && !r((o = n.call(t)))) return o; 7946 throw TypeError("Can't convert object to primitive value"); 7947 }; 7948 }, 7949 function (t, e, n) { 7950 var r = n(25), 7951 o = Math.min; 7952 t.exports = function (t) { 7953 return t > 0 ? o(r(t), 9007199254740991) : 0; 7954 }; 7955 }, 7956 function (t, e) { 7957 var n = Math.ceil, 7958 r = Math.floor; 7959 t.exports = function (t) { 7960 return isNaN((t = +t)) ? 0 : (t > 0 ? r : n)(t); 7961 }; 7962 }, 7963 function (t, e, n) { 7964 var r = n(19); 7965 t.exports = 7966 Array.isArray || 7967 function (t) { 7968 return "Array" == r(t); 7969 }; 7970 }, 7971 function (t, e, n) { 7972 var r = n(11), 7973 o = n(1), 7974 i = o["__core-js_shared__"] || (o["__core-js_shared__"] = {}); 7975 (t.exports = function (t, e) { 7976 return i[t] || (i[t] = void 0 !== e ? e : {}); 7977 })("versions", []).push({ version: r.version, mode: n(22) ? "pure" : "global", copyright: "© 2018 Denis Pushkarev (zloirock.ru)" }); 7978 }, 7979 function (t, e, n) { 7980 var r = n(27)("keys"), 7981 o = n(15); 7982 t.exports = function (t) { 7983 return r[t] || (r[t] = o(t)); 7984 }; 7985 }, 7986 function (t, e) { 7987 t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleStr
7987ing,toString,valueOf".split(","); 7988 }, 7989 function (t, e, n) { 7990 var r = n(2).f, 7991 o = n(10), 7992 i = n(0)("toStringTag"); 7993 t.exports = function (t, e, n) { 7994 t && !o((t = n ? t : t.prototype), i) && r(t, i, { configurable: !0, value: e }); 7995 }; 7996 }, 7997 function (t, e, n) { 7998 "use strict"; 7999 var r = n(8); 8000 t.exports = function () { 8001 var t = r(this), 8002 e = ""; 8003 return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.unicode && (e += "u"), t.sticky && (e += "y"), e; 8004 }; 8005 }, 8006 function (t, e) { 8007 e.f = {}.propertyIsEnumerable; 8008 }, 8009 function (t, e, n) { 8010 var r = n(43), 8011 o = n(29).concat("length", "prototype"); 8012 e.f = 8013 Object.getOwnPropertyNames || 8014 function (t) { 8015 return r(t, o); 8016 }; 8017 }, 8018 function (t, e, n) { 8019 (function (e) { 8020 for (var r = n(90), o = "undefined" == typeof window ? e : window, i = ["moz", "webkit"], u = "AnimationFrame", a = o["request" + u], s = o["cancel" + u] || o["cancelRequest" + u], c = 0; !a && c < i.length; c++) 8021 (a = o[i[c] + "Request" + u]), (s = o[i[c] + "Cancel" + u] || o[i[c] + "CancelRequest" + u]); 8022 if (!a || !s) { 8023 var f = 0, 8024 l = 0, 8025 p = []; 8026 (a = function (t) { 8027 if (0 === p.length) { 8028 var e = r(), 8029 n = Math.max(0, 1e3 / 60 - (e - f)); 8030 (f = n + e), 8031 setTimeout(function () { 8032 var t = p.slice(0); 8033 p.length = 0; 8034 for (var e = 0; e < t.length; e++) 8035 if (!t[e].cancelled) 8036 try { 8037 t[e].callback(f); 8038 } catch (t) { 8039 setTimeout(function () { 8040 throw t; 8041 }, 0); 8042 } 8043 }, Math.round(n)); 8044 } 8045 return p.push({ handle: ++l, callback: t, cancelled: !1 }), l; 8046 }), 8047 (s = function (t) { 8048 for (var e = 0; e < p.length; e++) p[e].handle === t && (p[e].cancelled = !0); 8049 }); 8050 } 8051 (t.exports = function (t) { 8052 return a.call(o, t); 8053 }), 8054 (t.exports.cancel = function () { 8055 s.apply(o, arguments); 8056 }), 8057 (t.exports.polyfill = function (t) { 8058 t || (t = o), (t.requestAnimationFrame = a), (t.cancelAnimationFrame = s); 8059 }); 8060 }.call(this, n(89))); 8061 }, 8062 function (t, e, n) { 8063 var r = n(8), 8064 o = n(61), 8065 i = n(29), 8066 u = n(28)("IE_PROTO"), 8067 a = function () {}, 8068 s = function () { 8069 var t, 8070 e = n(37)("iframe"), 8071 r = i.length; 8072 for (e.style.display = "none", n(64).appendChild(e), e.src = "javascript:", (t = e.contentWindow.document).open(), t.write("<script>document.F=Object</script>"), t.close(), s = t.F; r--; ) delete s.prototype[i[r]]; 8073 return s(); 8074 }; 8075 t.exports = 8076 Object.create || 8077 function (t, e) { 8078 var n; 8079 return null !== t ? ((a.prototype = r(t)), (n = new a()), (a.prototype = null), (n[u] = t)) : (n = s()), void 0 === e ? n : o(n, e); 8080 }; 8081 }, 8082 function (t, e, n) { 8083 t.exports = 8084 !n(3) && 8085 !n(6)(function () { 8086 return ( 8087 7 != 8088 Object.defineProperty(n(37)("div"), "a", { 8089 get: function () { 8090 return 7; 8091 }, 8092 }).a 8093 ); 8094 }); 8095 }, 8096 function (t, e, n) { 8097 var r = n(5), 8098 o = n(1).document, 8099 i = r(o) && r(o.createElement); 8100 t.exports = function (t) { 8101 return i ? o.createElement(t) : {}; 8102 }; 8103 }, 8104 function (t, e, n) { 8105 var r = n(18), 8106 o = n(39), 8107 i = n(20), 8108 u = n(24), 8109 a = n(56); 8110 t.exports = function (t, e) { 8111 var n = 1 == t, 8112 s = 2 == t, 8113 c = 3 == t, 8114 f = 4 == t, 8115 l = 6 == t, 8116 p = 5 == t || l, 8117 v = e || a; 8118 return function (e, a, d) { 8119 for (var h, y, m = i(e), g = o(m), E = r(a, d, 3), b = u
8119(g.length), T = 0, w = n ? v(e, b) : s ? v(e, 0) : void 0; b > T; T++) 8120 if ((p || T in g) && ((y = E((h = g[T]), T, m)), t)) 8121 if (n) w[T] = y; 8122 else if (y) 8123 switch (t) { 8124 case 3: 8125 return !0; 8126 case 5: 8127 return h; 8128 case 6: 8129 return T; 8130 case 2: 8131 w.push(h); 8132 } 8133 else if (f) return !1; 8134 return l ? -1 : c || f ? f : w; 8135 }; 8136 }; 8137 }, 8138 function (t, e, n) { 8139 var r = n(19); 8140 t.exports = Object("z").propertyIsEnumerable(0) 8141 ? Object 8142 : function (t) { 8143 return "String" == r(t) ? t.split("") : Object(t); 8144 }; 8145 }, 8146 function (t, e, n) { 8147 "use strict"; 8148 var r = n(6); 8149 t.exports = function (t, e) { 8150 return ( 8151 !!t && 8152 r(function () { 8153 e ? t.call(null, function () {}, 1) : t.call(null); 8154 }) 8155 ); 8156 }; 8157 }, 8158 function (t, e, n) { 8159 "use strict"; 8160 var r = n(58), 8161 o = n(59), 8162 i = n(16), 8163 u = n(12); 8164 (t.exports = n(42)( 8165 Array, 8166 "Array", 8167 function (t, e) { 8168 (this._t = u(t)), (this._i = 0), (this._k = e); 8169 }, 8170 function () { 8171 var t = this._t, 8172 e = this._k, 8173 n = this._i++; 8174 return !t || n >= t.length ? ((this._t = void 0), o(1)) : o(0, "keys" == e ? n : "values" == e ? t[n] : [n, t[n]]); 8175 }, 8176 "values" 8177 )), 8178 (i.Arguments = i.Array), 8179 r("keys"), 8180 r("values"), 8181 r("entries"); 8182 }, 8183 function (t, e, n) { 8184 "use strict"; 8185 var r = n(22), 8186 o = n(4), 8187 i = n(9), 8188 u = n(7), 8189 a = n(16), 8190 s = n(60), 8191 c = n(30), 8192 f = n(65), 8193 l = n(0)("iterator"), 8194 p = !([].keys && "next" in [].keys()), 8195 v = function () { 8196 return this; 8197 }; 8198 t.exports = function (t, e, n, d, h, y, m) { 8199 s(n, e, d); 8200 var g, 8201 E, 8202 b, 8203 T = function (t) { 8204 if (!p && t in _) return _[t]; 8205 switch (t) { 8206 case "keys": 8207 case "values": 8208 return function () { 8209 return new n(this, t); 8210 }; 8211 } 8212 return function () { 8213 return new n(this, t); 8214 }; 8215 }, 8216 w = e + " Iterator", 8217 S = "values" == h, 8218 A = !1, 8219 _ = t.prototype,
8220 O = _[l] || _["@@iterator"] || (h && _[h]), 8221 x = O || T(h), 8222 N = h ? (S ? T("entries") : x) : void 0, 8223 L = ("Array" == e && _.entries) || O; 8224 if ( 8225 (L && (b = f(L.call(new t()))) !== Object.prototype && b.next && (c(b, w, !0), r || "function" == typeof b[l] || u(b, l, v)), 8226 S && 8227 O && 8228 "values" !== O.name && 8229 ((A = !0), 8230 (x = function () { 8231 return O.call(this); 8232 })), 8233 (r && !m) || (!p && !A && _[l]) || u(_, l, x), 8234 (a[e] = x), 8235 (a[w] = v), 8236 h) 8237 ) 8238 if (((g = { values: S ? x : T("values"), keys: y ? x : T("keys"), entries: N }), m)) for (E in g) E in _ || i(_, E, g[E]); 8239 else o(o.P + o.F * (p || A), e, g); 8240 return g; 8241 }; 8242 }, 8243 function (t, e, n) { 8244 var r = n(10), 8245 o = n(12), 8246 i = n(62)(!1), 8247 u = n(28)("IE_PROTO"); 8248 t.exports = function (t, e) { 8249 var n, 8250 a = o(t), 8251 s = 0, 8252 c = []; 8253 for (n in a) n != u && r(a, n) && c.push(n); 8254 for (; e.length > s; ) r(a, (n = e[s++])) && (~i(c, n) || c.push(n)); 8255 return c; 8256 }; 8257 }, 8258 function (t, e, n) { 8259 var r = n(1), 8260 o = n(11), 8261 i = n(22), 8262 u = n(45), 8263 a = n(2).f; 8264 t.exports = function (t) { 8265 var e = o.Symbol || (o.Symbol = i ? {} : r.Symbol || {}); 8266 "_" == t.charAt(0) || t in e || a(e, t, { value: u.f(t) }); 8267 }; 8268 }, 8269 function (t, e, n) { 8270 e.f = n(0); 8271 }, 8272 function (t, e) { 8273 e.f = Object.getOwnPropertySymbols; 8274 }, 8275 function (t, e, n) { 8276 var r = n(32), 8277 o = n(14), 8278 i = n(12), 8279 u = n(23), 8280 a = n(10), 8281 s = n(36), 8282 c = Object.getOwnPropertyDescriptor; 8283 e.f = n(3) 8284 ? c 8285 : function (t, e) { 8286 if (((t = i(t)), (e = u(e, !0)), s)) 8287 try { 8288 return c(t, e); 8289 } catch (t) {} 8290 if (a(t, e)) return o(!r.f.call(t, e), t[e]); 8291 }; 8292 }, 8293 function (t, e, n) { 8294 var r = n(5), 8295 o = n(19), 8296 i = n(0)("match"); 8297 t.exports = function (t) { 8298 var e; 8299 return r(t) && (void 0 !== (e = t[i]) ? !!e : "RegExp" == o(t)); 8300 }; 8301 }, 8302 function (t, e, n) { 8303 n(44)("asyncIterator"); 8304 }, 8305 function (t, e, n) { 8306 "use strict"; 8307 var r = n(1), 8308 o = n(10), 8309 i = n(3), 8310 u = n(4), 8311 a = n(9), 8312 s = n(81).KEY, 8313 c = n(6), 8314 f = n(27), 8315 l = n(30), 8316 p = n(15), 8317 v = n(0), 8318 d = n(45), 8319 h = n(44), 8320 y = n(82), 8321 m = n(26), 8322 g = n(8), 8323 E = n(5), 8324 b = n(12), 8325 T = n(23), 8326 w = n(14), 8327 S = n(35), 8328 A = n(83), 8329 _ = n(47), 8330 O = n(2), 8331 x = n(17), 8332 N = _.f, 8333 L = O.f, 8334 C = A.f, 8335 R = r.Symbol, 8336 M = r.JSON, 8337 j = M && M.stringify, 8338 P = v("_hidden"), 8339 D = v("toPrimitive"), 8340 k = {}.propertyIsEnumerable, 8341 I = f("symbol-registry"), 8342 F = f("symbols"),
8343 H = f("op-symbols"), 8344 U = Object.prototype, 8345 V = "function" == typeof R, 8346 G = r.QObject, 8347 Q = !G || !G.prototype || !G.prototype.findChild, 8348 B = 8349 i && 8350 c(function () { 8351 return ( 8352 7 != 8353 S( 8354 L({}, "a", { 8355 get: function () { 8356 return L(this, "a", { value: 7 }).a; 8357 }, 8358 }) 8359 ).a 8360 ); 8361 }) 8362 ? function (t, e, n) { 8363 var r = N(U, e); 8364 r && delete U[e], L(t, e, n), r && t !== U && L(U, e, r); 8365 } 8366 : L, 8367 Y = function (t) { 8368 var e = (F[t] = S(R.prototype)); 8369 return (e._k = t), e; 8370 }, 8371 q = 8372 V && "symbol" == typeof R.iterator 8373 ? function (t) { 8374 return "symbol" == typeof t; 8375 } 8376 : function (t) { 8377 return t instanceof R; 8378 }, 8379 J = function (t, e, n) { 8380 return ( 8381 t === U && J(H, e, n), 8382 g(t), 8383 (e = T(e, !0)), 8384 g(n), 8385 o(F, e) ? (n.enumerable ? (o(t, P) && t[P][e] && (t[P][e] = !1), (n = S(n, { enumerable: w(0, !1) }))) : (o(t, P) || L(t, P, w(1, {})), (t[P][e] = !0)), B(t, e, n)) : L(t, e, n) 8386 ); 8387 }, 8388 W = function (t, e) { 8389 g(t); 8390 for (var n, r = y((e = b(e))), o = 0, i = r.length; i > o; ) J(t, (n = r[o++]), e[n]); 8391 return t; 8392 }, 8393 z = function (t) { 8394 var e = k.call(this, (t = T(t, !0))); 8395 return !(this === U && o(F, t) && !o(H, t)) && (!(e || !o(this, t) || !o(F, t) || (o(this, P) && this[P][t])) || e); 8396 }, 8397 $ = function (t, e) { 8398 if (((t = b(t)), (e = T(e, !0)), t !== U || !o(F, e) || o(H, e))) { 8399 var n = N(t, e); 8400 return !n || !o(F, e) || (o(t, P) && t[P][e]) || (n.enumerable = !0), n; 8401 } 8402 }, 8403 K = function (t) { 8404 for (var e, n = C(b(t)), r = [], i = 0; n.length > i; ) o(F, (e = n[i++])) || e == P || e == s || r.push(e); 8405 return r; 8406 }, 8407 X = function (t) { 8408 for (var e, n = t === U, r = C(n ? H : b(t)), i = [], u = 0; r.length > u; ) !o(F, (e = r[u++])) || (n && !o(U, e)) || i.push(F[e]); 8409 return i; 8410 }; 8411 V || 8412 (a( 8413 (R = function () { 8414 if (this instanceof R) throw TypeError("Symbol is not a constructor!"); 8415 var t = p(arguments.length > 0 ? arguments[0] : void 0), 8416 e = function (n) { 8417 this === U && e.call(H, n), o(this, P) && o(this[P], t) && (this[P][t] = !1), B(this, t, w(1, n)); 8418 }; 8419 return i && Q && B(U, t, { configurable: !0, set: e }), Y(t); 8420 }).prototype, 8421 "toString", 8422 function () { 8423 return this._k; 8424 } 8425 ), 8426 (_.f = $), 8427 (O.f = J), 8428 (n(33).f = A.f = K), 8429 (n(32).f = z), 8430 (n(46).f = X), 8431 i && !n(22) && a(U, "propertyIsEnumerable", z, !0), 8432 (d.f = function (t) { 8433 return Y(v(t)); 8434 })), 8435 u(u.G + u.W + u.F * !V, { Symbol: R }); 8436 for (var Z = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), tt = 0; Z.length > tt; ) v(Z[tt++]); 8437 for (var et = x(v.store), nt = 0; et.length > nt; ) h(et[nt++]); 8438 u(u.S + u.F * !V, "Symbol", { 8439 for: function (t) { 8440 return o(I, (t += "")) ? I[t] : (I[t] = R(t)); 8441 }, 8442 keyFor: function (t) { 8443 if (!q(t)) throw TypeError(t + " is not a symbol!"); 8444 for (var e in I) if (I[e] === t) return e; 8445 }, 8446 useSetter: function () { 8447 Q = !0; 8448 }, 8449 useSimple: function () { 8450 Q = !1; 8451 }, 8452 }), 8453 u(u.S + u.F * !V, "Object", { 8454 create: function (t, e) { 8455 return void 0 === e ? S(t) : W(S(t), e); 8456 }, 8457 defineProperty: J, 8458 defineProperties: W, 8459 getOwnPropertyDescriptor: $, 8460 getOwnPropertyNames: K, 8461 getOwnPropertySymbols: X, 8462 }), 8463 M && 8464 u( 8465 u.S + 8466 u.F * 8467 (!V || 8468 c(function () { 8469 var t = R(); 8470 return "[null]" != j([t]) || "{}" != j({ a: t }) || "{}" != j(Object(t)); 8471 })), 8472 "JSON", 8473 {
8474 stringify: function (t) { 8475 for (var e, n, r = [t], o = 1; arguments.length > o; ) r.push(arguments[o++]); 8476 if (((n = e = r[1]), (E(e) || void 0 !== t) && !q(t))) 8477 return ( 8478 m(e) || 8479 (e = function (t, e) { 8480 if (("function" == typeof n && (e = n.call(this, t, e)), !q(e))) return e; 8481 }), 8482 (r[1] = e), 8483 j.apply(M, r) 8484 ); 8485 }, 8486 } 8487 ), 8488 R.prototype[D] || n(7)(R.prototype, D, R.prototype.valueOf), 8489 l(R, "Symbol"), 8490 l(Math, "Math", !0), 8491 l(r.JSON, "JSON", !0); 8492 }, 8493 function (t, e, n) { 8494 var r = n(4); 8495 r(r.S + r.F * !n(3), "Object", { defineProperty: n(2).f }); 8496 }, 8497 function (t, e, n) { 8498 var r = n(5), 8499 o = n(8), 8500 i = function (t, e) { 8501 if ((o(t), !r(e) && null !== e)) throw TypeError(e + ": can't set as prototype!"); 8502 }; 8503 t.exports = { 8504 set: 8505 Object.setPrototypeOf || 8506 ("__proto__" in {} 8507 ? (function (t, e, r) { 8508 try { 8509 (r = n(18)(Function.call, n(47).f(Object.prototype, "__proto__").set, 2))(t, []), (e = !(t instanceof Array)); 8510 } catch (t) { 8511 e = !0; 8512 } 8513 return function (t, n) { 8514 return i(t, n), e ? (t.__proto__ = n) : r(t, n), t; 8515 }; 8516 })({}, !1) 8517 : void 0), 8518 check: i, 8519 }; 8520 }, 8521 function (t, e, n) { 8522 "use strict"; 8523 n.r(e); 8524 n(54), n(41), n(66), n(68), n(70), n(77), n(79), n(80), n(49), n(50), n(51), n(84), n(85), n(87), n(88); 8525 var r = n(34), 8526 o = n.n(r), 8527 i = 8528 (n(92), 8529 function (t) { 8530 return new RegExp(/<[a-z][\s\S]*>/i).test(t); 8531 }), 8532 u = function (t) { 8533 var e = document.createElement("div"); 8534 return (e.innerHTML = t), e.childNodes; 8535 }, 8536 a = function (t, e) { 8537 return Math.floor(Math.random() * (e - t + 1)) + t; 8538 }; 8539 n(95); 8540 function s(t) { 8541 for (var e = 1; e < arguments.length; e++) { 8542 var n = null != arguments[e] ? arguments[e] : {}, 8543 r = Object.keys(n); 8544 "function" == typeof Object.getOwnPropertySymbols && 8545 (r = r.concat( 8546 Object.getOwnPropertySymbols(n).filter(function (t) { 8547 return Object.getOwnPropertyDescriptor(n, t).enumerable; 8548 }) 8549 )), 8550 r.forEach(function (e) { 8551 p(t, e, n[e]); 8552 }); 8553 } 8554 return t; 8555 } 8556 function c(t) { 8557 return ( 8558 (function (t) { 8559 if (Array.isArray(t)) { 8560 for (var e = 0, n = new Array(t.length); e < t.length; e++) n[e] = t[e]; 8561 return n; 8562 } 8563 })(t) || 8564 (function (t) { 8565 if (Symbol.iterator in Object(t) || "[object Arguments]" === Object.prototype.toString.call(t)) return Array.from(t); 8566 })(t) || 8567 (function () { 8568 throw new TypeError("Invalid attempt to spread non-iterable instance"); 8569 })() 8570 ); 8571 } 8572 function f(t) { 8573 return (f = 8574 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 8575 ? function (t) { 8576 return typeof t; 8577 } 8578 : function (t) { 8579 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; 8580 })(t); 8581 } 8582 function l(t, e) { 8583 for (var n = 0; n < e.length; n++) { 8584 var r = e[n]; 8585 (r.enumerable = r.enumerable || !1), (r.configurable = !0), "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r); 8586 } 8587 } 8588 function p(t, e, n) { 8589 return e in t ? Object.defineProperty(t, e, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = n), t; 8590 } 8591 var v = (function () { 8592 function t(e, n) { 8593 var r = this; 8594 if ( 8595 ((function (t, e) { 8596 if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); 8597 })(this, t), 8598 p(this, "eventNames", { 8599 TYPE_CHARACTER: "TYPE_CHARACTER", 8600 REMOVE_CHARACTER: "REMOVE_CHARACTER", 8601 REMOVE_ALL: "REMOVE_ALL", 8602 REMOVE_LAST_VISIBLE_NODE: "REMOVE_LAST_VISIBLE_NODE", 8603 PAUSE_FOR: "PAUSE_FOR", 8604 CALL_FUNCTION: "CALL_FUNCTION", 8605 ADD_HTML_TAG_ELEMENT: "ADD_HTML_TAG_ELEMENT", 8606 REMOVE_HTML_TAG_ELEMENT: "REMOVE_HTML_TAG_ELEMENT",
8607 CHANGE_DELETE_SPEED: "CHANGE_DELETE_SPEED", 8608 CHANGE_DELAY: "CHANGE_DELAY", 8609 }), 8610 p(this, "visibleNodeTypes", { HTML_TAG: "HTML_TAG", TEXT_NODE: "TEXT_NODE" }), 8611 p(this, "state", { 8612 cursorAnimation: null, 8613 lastFrameTime: null, 8614 pauseUntil: null, 8615 eventQueue: [], 8616 eventLoop: null, 8617 eventLoopPaused: !1, 8618 reverseCalledEvents: [], 8619 calledEvents: [], 8620 visibleNodes: [], 8621 initialOptions: null, 8622 elements: { container: null, wrapper: document.createElement("span"), cursor: document.createElement("span") }, 8623 }), 8624 p(this, "options", { strings: null, cursor: "|", delay: "natural", deleteSpeed: "natural", loop: !1, autoStart: !1, devMode: !1, wrapperClassName: "Typewriter__wrapper", cursorClassName: "Typewriter__cursor" }), 8625 p(this, "setupWrapperElement", function () { 8626 (r.state.elements.wrapper.className = r.options.wrapperClassName), 8627 (r.state.elements.cursor.className = r.options.cursorClassName), 8628 (r.state.elements.cursor.innerHTML = r.options.cursor), 8629 (r.state.elements.container.innerHTML = ""), 8630 r.state.elements.container.appendChild(r.state.elements.wrapper), 8631 r.state.elements.container.appendChild(r.state.elements.cursor); 8632 }), 8633 p(this, "start", function () { 8634 return (r.state.eventLoopPaused = !1), r.runEventLoop(), r; 8635 }), 8636 p(this, "pause", function () { 8637 return (r.state.eventLoopPaused = !0), r; 8638 }), 8639 p(this, "stop", function () { 8640 return r.state.eventLoop && o.a.cancel(r.state.eventLoop), r; 8641 }), 8642 p(this, "pauseFor", function (t) { 8643 return r.addEventToQueue(r.eventNames.PAUSE_FOR, { ms: t }), r; 8644 }), 8645 p(this, "typeOutAllStrings", function () { 8646 return "string" == typeof r.options.strings 8647 ? (r.typeString(r.options.strings).pauseFor(1500), r) 8648 : (r.options.strings.forEach(function (t, e) { 8649 r.typeString(t).pauseFor(1500).deleteAll(); 8650 }), 8651 r); 8652 }), 8653 p(this, "typeString", function (t) { 8654 return i(t) 8655 ? r.typeOutHTMLString(t) 8656 : (t.split("").forEach(function (t) { 8657 r.addEventToQueue(r.eventNames.TYPE_CHARACTER, { character: t }); 8658 }), 8659 r); 8660 }), 8661 p(this, "typeOutHTMLString", function (t) { 8662 var e = u(t); 8663 if (e.length > 0) 8664 for ( 8665 var n = function (t) { 8666 var n = e[t]; 8667 if (n.nodeType && 1 === n.nodeType) { 8668 var o = n.innerText.split(""); 8669 if (((n.innerText = ""), r.addEventToQueue(r.eventNames.ADD_HTML_TAG_ELEMENT, { node: n }), !o.length)) return { v: r }; 8670 o.forEach(function (t) { 8671 r.addEventToQueue(r.eventNames.TYPE_CHARACTER, { character: t, node: n }); 8672 }); 8673 } else n.textContent && r.typeString(n.textContent); 8674 }, 8675 o = 0; 8676 o < e.length; 8677 o++ 8678 ) { 8679 var i = n(o); 8680 if ("object" === f(i)) return i.v; 8681 } 8682 return r; 8683 }), 8684 p(this, "deleteAll", function () { 8685 var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "natural"; 8686 return r.addEventToQueue(r.eventNames.REMOVE_ALL, { speed: t }), r; 8687 }), 8688 p(this, "changeDeleteSpeed", function (t) { 8689 return r.addEventToQueue(r.eventNames.CHANGE_DELET
8689E_SPEED, { speed: t }), r; 8690 }), 8691 p(this, "changeDelay", function (t) { 8692 return r.addEventToQueue(r.eventNames.CHANGE_DELAY, { delay: t }), r; 8693 }), 8694 p(this, "deleteChars", function (t) { 8695 for (var e = 0; e < t; e++) r.addEventToQueue(r.eventNames.REMOVE_CHARACTER); 8696 return r; 8697 }), 8698 p(this, "callFunction", function (t, e) { 8699 return "function" == typeof t && r.addEventToQueue(r.eventNames.CALL_FUNCTION, { cb: t, thisArg: e }), r; 8700 }), 8701 p(this, "typeCharacters", function (t) { 8702 return ( 8703 t.forEach(function (t) { 8704 r.addEventToQueue(r.eventNames.TYPE_CHARACTER, { character: t }); 8705 }), 8706 r 8707 ); 8708 }), 8709 p(this, "removeCharacters", function (t) { 8710 return ( 8711 t.forEach(function () { 8712 r.addEventToQueue(r.eventNames.REMOVE_CHARACTER); 8713 }), 8714 r 8715 ); 8716 }), 8717 p(this, "addEventToQueue", function (t, e) { 8718 var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; 8719 return r.addEventToStateProperty(t, e, n, "eventQueue"); 8720 }), 8721 p(this, "addReverseCalledEvent", function (t, e) { 8722 var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; 8723 return r.options.loop ? r.addEventToStateProperty(t, e, n, "reverseCalledEvents") : r; 8724 }), 8725 p(this, "addEventToStateProperty", function (t, e) { 8726 var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], 8727 o = arguments.length > 3 ? arguments[3] : void 0, 8728 i = { eventName: t, eventArgs: e || {} }; 8729 return (r.state[o] = n ? [i].concat(c(r.state[o])) : c(r.state[o]).concat([i])), r; 8730 }), 8731 p(this, "runEventLoop", function () { 8732 r.state.lastFrameTime || (r.state.lastFrameTime = Date.now()); 8733 var t = Date.now(), 8734 e = t - r.state.lastFrameTime; 8735 if (!r.state.eventQueue.length) { 8736 if (!r.options.loop) return; 8737 (r.state.eventQueue = c(r.state.calledEvents)), (r.state.calledEvents = []), (r.options = s({}, r.state.initialOptions)), r.addEventToQueue(r.eventNames.REMOVE_ALL, null, !0); 8738 } 8739 if (((r.state.eventLoop = o()(r.runEventLoop)), !r.state.eventLoopPaused)) { 8740 if (r.state.pauseUntil) { 8741 if (t < r.state.pauseUntil) return; 8742 r.state.pauseUntil = null; 8743 } 8744 var n = c(r.state.eventQueue), 8745 i = n.shift(); 8746 if ( 8747 !( 8748 e <= 8749 (i.eventName === r.eventNames.REMOVE_LAST_VISIBLE_NODE || i.eventName === r.eventNames.REMOVE_CHARACTER 8750 ? "natural" === r.options.deleteSpeed 8751 ? a(40, 80) 8752 : r.options.deleteSpeed 8753 : "natural" === r.options.delay 8754 ? a(120, 160) 8755 : r.options.delay) 8756 ) 8757 ) { 8758 var u = i.eventName, 8759 f = i.eventArgs; 8760 switch ((r.logInDevMode({ currentEvent: i, state: r.state }), u)) { 8761 case r.eventNames.TYPE_CHARACTER: 8762 var l = f.character, 8763 p = f.node, 8764 v = document.createTextNode(l); 8765 p ? p.appendChild(v) : r.state.elements.wrapper.appendChild(v), (r.state.visibleNodes = c(r.state.visibleNodes).concat([{ type: r.visibleNodeTypes.TEXT_NODE, node: v }])); 8766 break; 8767 case r.eventNames.REMOVE_CHARACTER: 8768 n.unshift({ eventName: r.eventNames.REMOVE_LAST_VISIBLE_NODE, eventArgs: { removingCharacterNode: !0 } }); 8769 break; 8770 case r.eventNames.PAUSE_FOR: 8771 var d = i.eventArgs.ms; 8772 r.state.pauseUntil = Date.now() + parseInt(d); 8773 break; 8774 case r.eventNames.CALL_FUNCTION: 8775 var h = i.eventArgs, 8776 y = h.cb, 8777 m = h.thisArg; 8778 y.call(m, { elements: r.state.elements }); 8779 break; 8780 case r.eventNames.ADD_HTML_TAG_ELEMENT: 8781 var g = i.eventArgs.node; 8782 r.state.elements.wrapper.appendChild(g), (r.state.visibleNodes = c(r.state.visibleNodes).concat([{ type: r.visibleNodeTypes.HTML_TAG, node: g }])); 8783 break; 8784 case r.eventNames.REMOVE_ALL: 8785 var E = r.state.visibleNodes, 8786 b = f.speed, 8787 T = []; 8788 b && T.push({ eventName: r.eventNames.CHANGE_DELET
8788E_SPEED, eventArgs: { speed: b } }); 8789 for (var w = 0, S = E.length; w < S; w++) T.push({ eventName: r.eventNames.REMOVE_LAST_VISIBLE_NODE, eventArgs: { removingCharacterNode: !1 } }); 8790 b && T.push({ eventName: r.eventNames.CHANGE_DELETE_SPEED, eventArgs: { speed: r.options.deleteSpeed } }), n.unshift.apply(n, T); 8791 break; 8792 case r.eventNames.REMOVE_LAST_VISIBLE_NODE: 8793 var A = i.eventArgs.removingCharacterNode; 8794 if (r.state.visibleNodes.length) { 8795 var _ = r.state.visibleNodes.pop(), 8796 O = _.type, 8797 x = _.node; 8798 x.parentNode.removeChild(x), O === r.visibleNodeTypes.HTML_TAG && A && n.unshift({ eventName: r.eventNames.REMOVE_LAST_VISIBLE_NODE, eventArgs: {} }); 8799 } 8800 break; 8801 case r.eventNames.CHANGE_DELETE_SPEED: 8802 r.options.deleteSpeed = i.eventArgs.speed; 8803 break; 8804 case r.eventNames.CHANGE_DELAY: 8805 r.options.delay = i.eventArgs.delay; 8806 } 8807 r.options.loop && i.eventName !== r.eventNames.REMOVE_ALL && i.eventName !== r.eventNames.REMOVE_CHARACTER && (r.state.calledEvents = c(r.state.calledEvents).concat([i])), 8808 (r.state.eventQueue = n), 8809 (r.state.lastFrameTime = t); 8810 } 8811 } 8812 }), 8813 !e) 8814 ) 8815 throw new Error("No container element was provided"); 8816 if ("string" == typeof e) { 8817 var l = document.querySelector(e); 8818 if (!l) throw new Error("Could not find container element"); 8819 this.state.elements.container = l; 8820 } else this.state.elements.container = e; 8821 n && (this.options = s({}, this.options, n)), (this.state.initialOptions = this.options), this.init(); 8822 } 8823 return ( 8824 (function (t, e, n) { 8825 e && l(t.prototype, e), n && l(t, n); 8826 })(t, [ 8827 { 8828 key: "init", 8829 value: function () { 8830 this.setupWrapperElement(), !0 === this.options.autoStart && this.options.strings && this.typeOutAllStrings().start(); 8831 }, 8832 }, 8833 { 8834 key: "logInDevMode", 8835 value: function (t) { 8836 this.options.devMode && console.log(t); 8837 }, 8838 }, 8839 ]), 8840 t 8841 ); 8842 })(); 8843 n.d(e, "default", function () { 8844 return v; 8845 }); 8846 }, 8847 function (t, e, n) { 8848 "use strict"; 8849 var r = n(4), 8850 o = n(38)(2); 8851 r(r.P + r.F * !n(40)([].filter, !0), "Array", { 8852 filter: function (t) { 8853 return o(this, t, arguments[1]); 8854 }, 8855 }); 8856 }, 8857 function (t, e) { 8858 t.exports = function (t) { 8859 if ("function" != typeof t) throw TypeError(t + " is not a function!"); 8860 return t; 8861 }; 8862 }, 8863 function (t, e, n) { 8864 var r = n(57); 8865 t.exports = function (t, e) { 8866 return new (r(t))(e); 8867 }; 8868 }, 8869 function (t, e, n) { 8870 var r = n(5), 8871 o = n(26), 8872 i = n(0)("species"); 8873 t.exports = function (t) { 8874 var e; 8875 return o(t) && ("function" != typeof (e = t.constructor) || (e !== Array && !o(e.prototype)) || (e = void 0), r(e) && null === (e = e[i]) && (e = void 0)), void 0 === e ? Array : e; 8876 }; 8877 }, 8878 function (t, e, n) { 8879 var r = n(0)("unscopables"), 8880 o = Array.prototype; 8881 void 0 == o[r] && n(7)(o, r, {}), 8882 (t.exports = function (t) { 8883 o[r][t] = !0; 8884 }); 8885 }, 8886 function (t, e) { 8887 t.exports = function (t, e) { 8888 return { value: e, done: !!t }; 8889 }; 8890 }, 8891 function (t, e, n) { 8892 "use strict"; 8893 var r = n(35), 8894 o = n(14), 8895 i = n(30), 8896 u = {}; 8897 n(7)(u, n(0)("iterator"), function () { 8898 return this; 8899 }), 8900 (t.exports = function (t, e, n) { 8901 (t.prototype = r(u, { next: o(1, n) })), i(t, e + " Iterator"); 8902 }); 8903 }, 8904 function (t, e, n) { 8905 var r = n(2), 8906 o = n(8), 8907 i = n(17); 8908 t.exports = n(3) 8909 ? Object.defineProperties 8910 : function (t, e) { 8911 o(t); 8912 for (var n, u = i(e), a = u.length, s = 0; a > s; ) r.f(t, (n = u[s++]), e[n]); 8913 return t; 8914 }; 8915 }, 8916 function (t, e, n) { 8917 var r = n(12), 8918 o = n(24), 8919 i = n(63); 8920 t.exports = function (t) { 8921 return function (e, n, u) { 8922 var a, 8923 s = r(e), 8924 c = o(s.length),
8925 f = i(u, c); 8926 if (t && n != n) { 8927 for (; c > f; ) if ((a = s[f++]) != a) return !0; 8928 } else for (; c > f; f++) if ((t || f in s) && s[f] === n) return t || f || 0; 8929 return !t && -1; 8930 }; 8931 }; 8932 }, 8933 function (t, e, n) { 8934 var r = n(25), 8935 o = Math.max, 8936 i = Math.min; 8937 t.exports = function (t, e) { 8938 return (t = r(t)) < 0 ? o(t + e, 0) : i(t, e); 8939 }; 8940 }, 8941 function (t, e, n) { 8942 var r = n(1).document; 8943 t.exports = r && r.documentElement; 8944 }, 8945 function (t, e, n) { 8946 var r = n(10), 8947 o = n(20), 8948 i = n(28)("IE_PROTO"), 8949 u = Object.prototype; 8950 t.exports = 8951 Object.getPrototypeOf || 8952 function (t) { 8953 return (t = o(t)), r(t, i) ? t[i] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? u : null; 8954 }; 8955 }, 8956 function (t, e, n) { 8957 var r = n(20), 8958 o = n(17); 8959 n(67)("keys", function () { 8960 return function (t) { 8961 return o(r(t)); 8962 }; 8963 }); 8964 }, 8965 function (t, e, n) { 8966 var r = n(4), 8967 o = n(11), 8968 i = n(6); 8969 t.exports = function (t, e) { 8970 var n = (o.Object || {})[t] || Object[t], 8971 u = {}; 8972 (u[t] = e(n)), 8973 r( 8974 r.S + 8975 r.F * 8976 i(function () { 8977 n(1); 8978 }), 8979 "Object", 8980 u 8981 ); 8982 }; 8983 }, 8984 function (t, e, n) { 8985 "use strict"; 8986 var r = n(69)(!0); 8987 n(42)( 8988 String, 8989 "String", 8990 function (t) { 8991 (this._t = String(t)), (this._i = 0); 8992 }, 8993 function () { 8994 var t, 8995 e = this._t, 8996 n = this._i; 8997 return n >= e.length ? { value: void 0, done: !0 } : ((t = r(e, n)), (this._i += t.length), { value: t, done: !1 }); 8998 } 8999 ); 9000 }, 9001 function (t, e, n) { 9002 var r = n(25), 9003 o = n(21); 9004 t.exports = function (t) { 9005 return function (e, n) { 9006 var i, 9007 u, 9008 a = String(o(e)), 9009 s = r(n), 9010 c = a.length; 9011 return s < 0 || s >= c 9012 ? t 9013 ? "" 9014 : void 0 9015 : (i = a.charCodeAt(s)) < 55296 || i > 56319 || s + 1 === c || (u = a.charCodeAt(s + 1)) < 56320 || u > 57343 9016 ? t 9017 ? a.charAt(s) 9018 : i 9019 : t 9020 ? a.slice(s, s + 2) 9021 : u - 56320 + ((i - 55296) << 10) + 65536; 9022 }; 9023 }; 9024 }, 9025 function (t, e, n) { 9026 "use strict"; 9027 var r = n(18), 9028 o = n(4), 9029 i = n(20), 9030 u = n(71), 9031 a = n(72), 9032 s = n(24), 9033 c = n(73), 9034 f = n(74); 9035 o( 9036 o.S + 9037 o.F * 9038 !n(76)(function (t) { 9039 Array.from(t); 9040 }), 9041 "Array", 9042 { 9043 from: function (t) { 9044 var e, 9045 n, 9046 o, 9047 l, 9048 p = i(t), 9049 v = "function" == typeof this ? this
9049: Array, 9050 d = arguments.length, 9051 h = d > 1 ? arguments[1] : void 0, 9052 y = void 0 !== h, 9053 m = 0, 9054 g = f(p); 9055 if ((y && (h = r(h, d > 2 ? arguments[2] : void 0, 2)), void 0 == g || (v == Array && a(g)))) for (n = new v((e = s(p.length))); e > m; m++) c(n, m, y ? h(p[m], m) : p[m]); 9056 else for (l = g.call(p), n = new v(); !(o = l.next()).done; m++) c(n, m, y ? u(l, h, [o.value, m], !0) : o.value); 9057 return (n.length = m), n; 9058 }, 9059 } 9060 ); 9061 }, 9062 function (t, e, n) { 9063 var r = n(8); 9064 t.exports = function (t, e, n, o) { 9065 try { 9066 return o ? e(r(n)[0], n[1]) : e(n); 9067 } catch (e) { 9068 var i = t.return; 9069 throw (void 0 !== i && r(i.call(t)), e); 9070 } 9071 }; 9072 }, 9073 function (t, e, n) { 9074 var r = n(16), 9075 o = n(0)("iterator"), 9076 i = Array.prototype; 9077 t.exports = function (t) { 9078 return void 0 !== t && (r.Array === t || i[o] === t); 9079 }; 9080 }, 9081 function (t, e, n) { 9082 "use strict"; 9083 var r = n(2), 9084 o = n(14); 9085 t.exports = function (t, e, n) { 9086 e in t ? r.f(t, e, o(0, n)) : (t[e] = n); 9087 }; 9088 }, 9089 function (t, e, n) { 9090 var r = n(75), 9091 o = n(0)("iterator"), 9092 i = n(16); 9093 t.exports = n(11).getIteratorMethod = function (t) { 9094 if (void 0 != t) return t[o] || t["@@iterator"] || i[r(t)]; 9095 }; 9096 }, 9097 function (t, e, n) { 9098 var r = n(19), 9099 o = n(0)("toStringTag"), 9100 i = 9101 "Arguments" == 9102 r( 9103 (function () { 9104 return arguments; 9105 })() 9106 ); 9107 t.exports = function (t) { 9108 var e, n, u; 9109 return void 0 === t 9110 ? "Undefined" 9111 : null === t 9112 ? "Null" 9113 : "string" == 9114 typeof (n = (function (t, e) { 9115 try { 9116 return t[e]; 9117 } catch (t) {} 9118 })((e = Object(t)), o)) 9119 ? n 9120 : i 9121 ? r(e) 9122 : "Object" == (u = r(e)) && "function" == typeof e.callee 9123 ? "Arguments" 9124 : u; 9125 }; 9126 }, 9127 function (t, e, n) { 9128 var r = n(0)("iterator"), 9129 o = !1; 9130 try { 9131 var i = [7][r](); 9132 (i.return = function () { 9133 o = !0; 9134 }), 9135 Array.from(i, function () { 9136 throw 2; 9137 }); 9138 } catch (t) {} 9139 t.exports = function (t, e) { 9140 if (!e && !o) return !1; 9141 var n = !1; 9142 try { 9143 var i = [7], 9144 u = i[r](); 9145 (u.next = function () { 9146 return { done: (n = !0) }; 9147 }), 9148 (i[r] = function () { 9149 return u; 9150 }), 9151 t(i); 9152 } catch (t) {} 9153 return n; 9154 }; 9155 }, 9156 function (t, e, n) { 9157 "use strict"; 9158 n(78); 9159 var r = n(8), 9160 o = n(31), 9161 i = n(3), 9162 u = /./.toString, 9163 a = function (t) { 9164 n(9)(RegExp.prototype, "toString", t, !0); 9165 }; 9166 n(6)(function () { 9167 return "/a/b" != u.call({ source: "a", flags: "b" }); 9168 }) 9169 ? a(function () { 9170 var t = r(this); 9171 return "/".concat(t.source, "/", "flags" in t ? t.flags : !i && t instanceof RegExp ? o.call(t) : void 0); 9172 }) 9173 : "toString" != u.name && 9174 a(function () { 9175 return u.call(this); 9176 }); 9177 }, 9178 function (t, e, n) { 9179 n(3) && "g" != /./g.flags && n(2).f(RegExp.prototype, "flags", { configurable: !0, get: n(31) }); 9180 }, 9181 function (t, e, n) { 9182 var r = Date.prototype, 9183 o = r.toString, 9184 i = r.getTime; 9185 new Date(NaN) + "" != "Invalid Date" && 9186 n(9)(r, "toString", function () { 9187 var t = i.call(this); 9188 return t == t ? o.call(this) : "Invalid Date"; 9189 }); 9190 }, 9191 function (t, e, n) { 9192 var r = n(4); 9193 r(r.S, "Array", { isArray: n(26) }); 9194 }, 9195 function (t, e, n) { 9196 var r = n(15)("meta"), 9197 o = n(5), 9198 i = n(10), 9199 u = n(2).f, 9200 a = 0, 9201 s = 9202 Object.isExtensible || 9203 function () { 9204 return !0; 9205 }, 9206 c = !n(6)(function () { 9207 return s(Object.preventExtensions({})); 9208 }), 9209 f = function (t) { 9210 u(t, r, { value: { i: "O" + ++a, w: {} } }); 9211 }, 9212 l = (t.exports = { 9213 KEY: r, 9214 NEED: !1, 9215 fastKey: function (t, e) { 9216 if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t; 9217 if (!i(t, r)) { 9218 if (!s(t)) return "F";
9219 if (!e) return "E"; 9220 f(t); 9221 } 9222 return t[r].i; 9223 }, 9224 getWeak: function (t, e) { 9225 if (!i(t, r)) { 9226 if (!s(t)) return !0; 9227 if (!e) return !1; 9228 f(t); 9229 } 9230 return t[r].w; 9231 }, 9232 onFreeze: function (t) { 9233 return c && l.NEED && s(t) && !i(t, r) && f(t), t; 9234 }, 9235 }); 9236 }, 9237 function (t, e, n) { 9238 var r = n(17), 9239 o = n(46), 9240 i = n(32); 9241 t.exports = function (t) { 9242 var e = r(t), 9243 n = o.f; 9244 if (n) for (var u, a = n(t), s = i.f, c = 0; a.length > c; ) s.call(t, (u = a[c++])) && e.push(u); 9245 return e; 9246 }; 9247 }, 9248 function (t, e, n) { 9249 var r = n(12), 9250 o = n(33).f, 9251 i = {}.toString, 9252 u = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; 9253 t.exports.f = function (t) { 9254 return u && "[object Window]" == i.call(t) 9255 ? (function (t) { 9256 try { 9257 return o(t); 9258 } catch (t) { 9259 return u.slice(); 9260 } 9261 })(t) 9262 : o(r(t)); 9263 }; 9264 }, 9265 function (t, e, n) { 9266 var r = n(4); 9267 r(r.S, "Date", { 9268 now: function () { 9269 return new Date().getTime(); 9270 }, 9271 }); 9272 }, 9273 function (t, e, n) { 9274 n(86)("split", 2, function (t, e, r) { 9275 "use strict"; 9276 var o = n(48), 9277 i = r, 9278 u = [].push; 9279 if ("c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length) { 9280 var a = void 0 === /()??/.exec("")[1]; 9281 r = function (t, e) { 9282 var n = String(this); 9283 if (void 0 === t && 0 === e) return []; 9284 if (!o(t)) return i.call(n, t, e); 9285 var r, 9286 s, 9287 c, 9288 f, 9289 l, 9290 p = [], 9291 v = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), 9292 d = 0, 9293 h = void 0 === e ? 4294967295 : e >>> 0, 9294 y = new RegExp(t.source, v + "g"); 9295 for ( 9296 a || (r = new RegExp("^" + y.source + "$(?!\\s)", v)); 9297 (s = y.exec(n)) && 9298 !( 9299 (c = s.index + s[0].length) > d && 9300 (p.push(n.slice(d, s.index)), 9301 !a && 9302 s.length > 1 && 9303 s[0].replace(r, function () { 9304 for (l = 1; l < arguments.length - 2; l++) void 0 === arguments[l] && (s[l] = void 0); 9305 }), 9306 s.length > 1 && s.index < n.length && u.apply(p, s.slice(1)), 9307 (f = s[0].length), 9308 (d = c), 9309 p.length >= h) 9310 ); 9311 9312 ) 9313 y.lastIndex === s.index && y.lastIndex++; 9314 return d === n.length ? (!f && y.test("")) || p.push("") : p.push(n.slice(d)), p.length > h ? p.slice(0, h) : p; 9315 }; 9316 } else 9317 "0".split(void 0, 0).length && 9318 (r = function (t, e) { 9319 return void 0 === t && 0 === e ? [] : i.call(this, t, e); 9320 }); 9321 return [ 9322 function (n, o) { 9323 var i = t(this), 9324 u = void 0 == n ? void 0 : n[e]; 9325 return void 0 !== u ? u.call(n, i, o) : r.call(String(i), n, o); 9326 }, 9327 r, 9328 ]; 9329 }); 9330 }, 9331 function (t, e, n) { 9332 "use strict"; 9333 var r = n(7), 9334 o = n(9), 9335 i = n(6), 9336 u = n(21), 9337 a = n(0); 9338 t.exports = function (t, e, n) { 9339 var s = a(t), 9340 c = n(u, s, ""[t]), 9341 f = c[0], 9342 l = c[1]; 9343 i(function () { 9344 var e = {}; 9345 return ( 9346 (e[s] = function () { 9347 return 7; 9348 }), 9349 7 != ""[t](e) 9350 ); 9351 }) && 9352 (o(String.prototype, t, f), 9353 r( 9354 RegExp.prototype, 9355 s, 9356 2 == e 9357 ? function (t, e) { 9358 return l.call(t, this, e); 9359 } 9360 : function (t) { 9361 return l.call(t, this); 9362 } 9363 )); 9364 }; 9365 }, 9366 function (t, e, n) { 9367 for ( 9368 var r = n(41), 9369 o = n(17), 9370 i = n(9), 9371 u = n(1), 9372 a = n(7), 9373 s = n(16), 9374 c = n(0), 9375 f = c("iterator"), 9376 l = c("toStringTag"), 9377 p = s.Array, 9378 v = { 9379 CSSRuleList: !0, 9380 CSSStyleDeclaration: !1, 9381 CSSValueList: !1, 9382 ClientRectList: !1, 9383 DOMRectList: !1, 9384 DOMStringList: !1, 9385 DOMTokenList: !0, 9386 DataTransferItemList: !1, 9387 FileList: !1, 9388 HTMLAllCollection: !1, 9389 HTMLCollection: !1, 9390 HTMLFormElement: !1, 9391 HTMLSelectElement: !1, 9392 MediaList: !0, 9393 MimeTypeArray: !1, 9394 NamedNodeMap: !1, 9395 NodeList: !0, 9396 PaintRequestList: !1, 9397 Plugin: !1, 9398 PluginArray: !1, 9399 SVGLengthList: !1, 9400 SVGNumberList: !1, 9401 SVGPathSegList: !1, 9402 SVGPointList: !1, 9403 SVGStringList: !1, 9404 SVGTransformList: !1, 9405 SourceBufferList: !1, 9406 StyleSheetList: !0, 9407 TextTrackCueList: !1, 9408 TextTrackList: !1, 9409 TouchList: !1, 9410 }, 9411 d = o(v), 9412 h = 0; 9413 h < d.length; 9414 h++ 9415 ) { 9416 var y, 9417 m = d[h], 9418 g = v[m], 9419 E = u[m], 9420 b = E && E.prototype; 9421 if (b && (b[f] || a(b, f, p), b[l] || a(b, l, m), (s[m] = p), g)) for (y in r) b[y] || i(b, y, r[y], !0); 9422 } 9423 }, 9424 function (t, e, n) { 9425 "use strict"; 9426 var r = n(4), 9427 o = n(38)(0), 9428 i = n(40)([].forEach, !0); 9429 r(r.P + r.F * !i, "Array", {
9430 forEach: function (t) { 9431 return o(this, t, arguments[1]); 9432 }, 9433 }); 9434 }, 9435 function (t, e) { 9436 var n; 9437 n = (function () { 9438 return this; 9439 })(); 9440 try { 9441 n = n || Function("return this")() || (0, eval)("this"); 9442 } catch (t) { 9443 "object" == typeof window && (n = window); 9444 } 9445 t.exports = n; 9446 }, 9447 function (t, e, n) { 9448 (function (e) { 9449 (function () { 9450 var n, r, o, i, u, a; 9451 "undefined" != typeof performance && null !== performance && performance.now 9452 ? (t.exports = function () { 9453 return performance.now(); 9454 }) 9455 : void 0 !== e && null !== e && e.hrtime 9456 ? ((t.exports = function () { 9457 return (n() - u) / 1e6; 9458 }), 9459 (r = e.hrtime), 9460 (i = (n = function () { 9461 var t; 9462 return 1e9 * (t = r())[0] + t[1]; 9463 })()), 9464 (a = 1e9 * e.uptime()), 9465 (u = i - a)) 9466 : Date.now 9467 ? ((t.exports = function () { 9468 return Date.now() - o; 9469 }), 9470 (o = Date.now())) 9471 : ((t.exports = function () { 9472 return new Date().getTime() - o; 9473 }), 9474 (o = new Date().getTime())); 9475 }.call(this)); 9476 }.call(this, n(91))); 9477 }, 9478 function (t, e) { 9479 var n, 9480 r, 9481 o = (t.exports = {}); 9482 function i() { 9483 throw new Error("setTimeout has not been defined"); 9484 } 9485 function u() { 9486 throw new Error("clearTimeout has not been defined"); 9487 } 9488 function a(t) { 9489 if (n === setTimeout) return setTimeout(t, 0); 9490 if ((n === i || !n) && setTimeout) return (n = setTimeout), setTimeout(t, 0); 9491 try { 9492 return n(t, 0); 9493 } catch (e) { 9494 try { 9495 return n.call(null, t, 0); 9496 } catch (e) { 9497 return n.call(this, t, 0); 9498 } 9499 } 9500 } 9501 !(function () { 9502 try { 9503 n = "function" == typeof setTimeout ? setTimeout : i; 9504 } catch (t) { 9505 n = i; 9506 } 9507 try { 9508 r = "function" == typeof clearTimeout ? clearTimeout : u; 9509 } catch (t) { 9510 r = u; 9511 } 9512 })(); 9513 var s, 9514 c = [], 9515 f = !1, 9516 l = -1; 9517 function p() { 9518 f && s && ((f = !1), s.length ? (c = s.concat(c)) : (l = -1), c.length && v()); 9519 } 9520 function v() { 9521 if (!f) { 9522 var t = a(p); 9523 f = !0; 9524 for (var e = c.length; e; ) { 9525 for (s = c, c = []; ++l < e; ) s && s[l].run(); 9526 (l = -1), (e = c.length); 9527 } 9528 (s = null), 9529 (f = !1), 9530 (function (t) { 9531 if (r === clearTimeout) return clearTimeout(t); 9532 if ((r === u || !r) && clearTimeout) return (r = clearTimeout), clearTimeout(t); 9533 try { 9534 r(t); 9535 } catch (e) { 9536 try { 9537 return r.call(null, t); 9538 } catch (e) { 9539 return r.call(this, t); 9540 } 9541 } 9542 })(t); 9543 } 9544 } 9545 function d(t, e) { 9546 (this.fun = t), (this.array = e); 9547 } 9548 function h() {} 9549 (o.nextTick = function (t) { 9550 var e = new Array(arguments.length - 1); 9551 if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; 9552 c.push(new d(t, e)), 1 !== c.length || f || a(v); 9553 }), 9554 (d.prototype.run = function () { 9555 this.fun.apply(null, this.array); 9556 }), 9557 (o.title = "browser"), 9558 (o.browser = !0), 9559 (o.env = {}), 9560 (o.argv = []), 9561 (o.version = ""), 9562 (o.versions = {}), 9563 (o.on = h), 9564 (o.addListener = h), 9565 (o.once = h), 9566 (o.off = h), 9567 (o.removeListener = h), 9568 (o.removeAllListeners = h), 9569 (o.emit = h), 9570 (o.prependListener = h), 9571 (o.prependOnceListener = h), 9572 (o.listeners = function (t) { 9573 return []; 9574 }), 9575 (o.binding = function (t) { 9576 throw new Error("process.binding is not supported"); 9577 }), 9578 (o.cwd = function () { 9579 return "/"; 9580 }), 9581 (o.chdir = function (t) { 9582 throw new Error("process.chdir is not supported"); 9583 }), 9584 (o.umask = function () { 9585 return 0; 9586 }); 9587 }, 9588 function (t, e, n) { 9589 var r = n(1), 9590 o = n(93), 9591 i = n(2).f, 9592 u = n(33).f, 9593 a = n(48), 9594 s = n(31), 9595 c = r.RegExp, 9596 f = c, 9597 l = c.prototype, 9598 p = /a/g, 9599 v = /a/g, 9600 d = new c(p) !== p; 9601 if ( 9602 n(3) && 9603 (!d || 9604 n(6)(function () { 9605 return (v[n(0)("match")] = !1), c(p) != p || c(v) == v || "/a/i" != c(p, "i"); 9606 })) 9607 ) { 9608 c = function (t, e) { 9609 var n = this instanceof c, 9610 r = a(t), 9611 i = void 0 === e; 9612 return !n && r && t.constructor === c && i ? t : o(d ? new f(r && !i ? t.source : t, e) : f((r = t instanceof c) ? t.source : t, r && i ? s.call(t) : e), n ? this
9612: l, c); 9613 }; 9614 for ( 9615 var h = function (t) { 9616 (t in c) || 9617 i(c, t, { 9618 configurable: !0, 9619 get: function () { 9620 return f[t]; 9621 }, 9622 set: function (e) { 9623 f[t] = e; 9624 }, 9625 }); 9626 }, 9627 y = u(f), 9628 m = 0; 9629 y.length > m; 9630 9631 ) 9632 h(y[m++]); 9633 (l.constructor = c), (c.prototype = l), n(9)(r, "RegExp", c); 9634 } 9635 n(94)("RegExp"); 9636 }, 9637 function (t, e, n) { 9638 var r = n(5), 9639 o = n(52).set; 9640 t.exports = function (t, e, n) { 9641 var i, 9642 u = e.constructor; 9643 return u !== n && "function" == typeof u && (i = u.prototype) !== n.prototype && r(i) && o && o(t, i), t; 9644 }; 9645 }, 9646 function (t, e, n) { 9647 "use strict"; 9648 var r = n(1), 9649 o = n(2), 9650 i = n(3), 9651 u = n(0)("species"); 9652 t.exports = function (t) { 9653 var e = r[t]; 9654 i && 9655 e && 9656 !e[u] && 9657 o.f(e, u, { 9658 configurable: !0, 9659 get: function () { 9660 return this; 9661 }, 9662 }); 9663 }; 9664 }, 9665 function (t, e, n) { 9666 var r = n(96); 9667 "string" == typeof r && (r = [[t.i, r, ""]]); 9668 var o = { hmr: !0, transform: void 0, insertInto: void 0 }; 9669 n(98)(r, o); 9670 r.locals && (t.exports = r.locals); 9671 }, 9672 function (t, e, n) { 9673 (t.exports = n(97)(!1)).push([ 9674 t.i, 9675 ".Typewriter__cursor{-webkit-animation:Typewriter-cursor 1s infinite;animation:Typewriter-cursor 1s infinite;margin-left:1px}@-webkit-keyframes Typewriter-cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}@keyframes Typewriter-cursor{0%{opacity:0}50%{opacity:1}to{opacity:0}}", 9676 "", 9677 ]); 9678 }, 9679 function (t, e) { 9680 t.exports = function (t) { 9681 var e = []; 9682 return ( 9683 (e.toString = function () { 9684 return this.map(function (e) { 9685 var n = (function (t, e) { 9686 var n = t[1] || "", 9687 r = t[3]; 9688 if (!r) return n; 9689 if (e && "function" == typeof btoa) { 9690 var o = (function (t) { 9691 return "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(t)))) + " */"; 9692 })(r), 9693 i = r.sources.map(function (t) { 9694 return "/*# sourceURL=" + r.sourceRoot + t + " */"; 9695 }); 9696 return [n].concat(i).concat([o]).join("\n"); 9697 } 9698 return [n].join("\n"); 9699 })(e, t); 9700 return e[2] ? "@media " + e[2] + "{" + n + "}" : n; 9701 }).join(""); 9702 }), 9703 (e.i = function (t, n) { 9704 "string" == typeof t && (t = [[null, t, ""]]); 9705 for (var r = {}, o = 0; o < this.length; o++) { 9706 var i = this[o][0]; 9707 "number" == typeof i && (r[i] = !0); 9708 } 9709 for (o = 0; o < t.length; o++) { 9710 var u = t[o]; 9711 ("number" == typeof u[0] && r[u[0]]) || (n && !u[2] ? (u[2] = n) : n && (u[2] = "(" + u[2] + ") and (" + n + ")"), e.push(u)); 9712 } 9713 }), 9714 e 9715 ); 9716 }; 9717 }, 9718 function (t, e, n) { 9719 var r = {}, 9720 o = (function (t) { 9721 var e; 9722 return function () { 9723 return void 0 === e && (e = t.apply(this, arguments)), e; 9724 }; 9725 })(function () { 9726 return window && document && document.all && !window.atob; 9727 }), 9728 i = (function (t) { 9729 var e = {}; 9730 return function (t, n) { 9731 if ("function" == typeof t) return t(); 9732 if (void 0 === e[t]) { 9733 var r = function (t, e) { 9734 return e ? e.querySelector(t) : document.querySelector(t); 9735 }.call(this, t, n); 9736 if (window.HTMLIFrameElement && r instanceof window.HTMLIFrameElement) 9737 try { 9738 r = r.contentDocument.head; 9739 } catch (t) { 9740 r = null; 9741 } 9742 e[t] = r; 9743 } 9744 return e[t]; 9745 }; 9746 })(), 9747 u = null, 9748 a = 0, 9749 s = [], 9750 c = n(99); 9751 function f(t, e) { 9752 for (var n = 0; n < t.length; n++) { 9753 var o = t[n], 9754 i = r[o.id]; 9755 if (i) { 9756 i.refs++; 9757 for (var u = 0; u < i.parts.length; u++) i.parts[u](o.parts[u]); 9758 for (; u < o.parts.length; u++) i.parts.push(y(o.parts[u], e)); 9759 } else { 9760 var a = []; 9761 for (u = 0; u < o.parts.length; u++) a.push(y(o.parts[u], e)); 9762 r[o.id] = { id: o.id, refs: 1, parts: a }; 9763 } 9764 } 9765 } 9766 function l(t, e) { 9767 for (var n = [], r = {}, o = 0; o < t.length; o++) { 9768 var i = t[o], 9769 u = e.base ? i[0] + e.base : i[0], 9770 a = { css: i[1], media: i[2], sourceMap: i[3] }; 9771 r[u] ? r[u].parts.push(a) : n.push((r[u] = { id: u, parts: [a] })); 9772 } 9773 return n; 9774 } 9775 function p(t, e) { 9776 var n = i(t.insertInto); 9777 if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invali
9777d."); 9778 var r = s[s.length - 1]; 9779 if ("top" === t.insertAt) r ? (r.nextSibling ? n.insertBefore(e, r.nextSibling) : n.appendChild(e)) : n.insertBefore(e, n.firstChild), s.push(e); 9780 else if ("bottom" === t.insertAt) n.appendChild(e); 9781 else { 9782 if ("object" != typeof t.insertAt || !t.insertAt.before) 9783 throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n"); 9784 var o = i(t.insertAt.before, n); 9785 n.insertBefore(e, o); 9786 } 9787 } 9788 function v(t) { 9789 if (null === t.parentNode) return !1; 9790 t.parentNode.removeChild(t); 9791 var e = s.indexOf(t); 9792 e >= 0 && s.splice(e, 1); 9793 } 9794 function d(t) { 9795 var e = document.createElement("style"); 9796 if ((void 0 === t.attrs.type && (t.attrs.type = "text/css"), void 0 === t.attrs.nonce)) { 9797 var r = (function () { 9798 0; 9799 return n.nc; 9800 })(); 9801 r && (t.attrs.nonce = r); 9802 } 9803 return h(e, t.attrs), p(t, e), e; 9804 } 9805 function h(t, e) { 9806 Object.keys(e).forEach(function (n) { 9807 t.setAttribute(n, e[n]); 9808 }); 9809 } 9810 function y(t, e) { 9811 var n, r, o, i; 9812 if (e.transform && t.css) { 9813 if (!(i = e.transform(t.css))) return function () {}; 9814 t.css = i; 9815 } 9816 if (e.singleton) { 9817 var s = a++; 9818 (n = u || (u = d(e))), (r = g.bind(null, n, s, !1)), (o = g.bind(null, n, s, !0)); 9819 } else 9820 t.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa 9821 ? ((n = (function (t) { 9822 var e = document.createElement("link"); 9823 return void 0 === t.attrs.type && (t.attrs.type = "text/css"), (t.attrs.rel = "stylesheet"), h(e, t.attrs), p(t, e), e; 9824 })(e)), 9825 (r = function (t, e, n) { 9826 var r = n.css, 9827 o = n.sourceMap, 9828 i = void 0 === e.convertToAbsoluteUrls && o; 9829 (e.convertToAbsoluteUrls || i) && (r = c(r)); 9830 o && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + " */"); 9831 var u = new Blob([r], { type: "text/css" }), 9832 a = t.href; 9833 (t.href = URL.createObjectURL(u)), a && URL.revokeObjectURL(a); 9834 }.bind(null, n, e)), 9835 (o = function () { 9836 v(n), n.href && URL.revokeObjectURL(n.href); 9837 })) 9838 : ((n = d(e)), 9839 (r = function (t, e) { 9840 var n = e.css, 9841 r = e.media; 9842 r && t.setAttribute("media", r); 9843 if (t.styleSheet) t.styleSheet.cssText = n; 9844 else { 9845 for (; t.firstChild; ) t.removeChild(t.firstChild); 9846 t.appendChild(document.createTextNode(n)); 9847 } 9848 }.bind(null, n)), 9849 (o = function () { 9850 v(n); 9851 })); 9852 return ( 9853 r(t), 9854 function (e) { 9855 if (e) { 9856 if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return; 9857 r((t = e)); 9858 } else o(); 9859 } 9860 ); 9861 } 9862 t.exports = function (t, e) { 9863 if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment"); 9864 ((e = e || {}).attrs = "object" == typeof e.attrs ? e.attrs : {}), e.singleton || "boolean" == typeof e.singleton || (e.singleton = o()), e.insertInto || (e.insertInto = "head"), e.insertAt || (e.insertAt = "bottom"); 9865 var n = l(t, e); 9866 return ( 9867 f(n, e), 9868 function (t) { 9869 for (var o = [], i = 0; i < n.length; i++) { 9870 var u = n[i]; 9871 (a = r[u.id]).refs--, o.push(a); 9872 } 9873 t && f(l(t, e), e); 9874 for (i = 0; i < o.length; i++) { 9875 var a; 9876 if (0 === (a = o[i]).refs) { 9877 for (var s = 0; s < a.parts.length; s++) a.parts[s](); 9878 delete r[a.id]; 9879 } 9880 } 9881 } 9882 ); 9883 }; 9884 var m = (function () { 9885 var t = []; 9886 return function (e, n) { 9887 return (t[e] = n), t.filter(Boolean).join("\n"); 9888 }; 9889 })(); 9890 function g(t, e, n, r) { 9891 var o = n ? "" : r.css; 9892 if (t.styleSheet) t.styleSheet.cssText = m(e, o); 9893 else { 9894 var i = document.createTextNode(o), 9895 u = t.childNodes; 9896 u[e] && t.removeChild(u[e]), u.length ? t.insertBefore(i, u[e]) : t.appendChild(i); 9897 } 9898 } 9899 }, 9900 function (t, e) { 9901 t.exports = function (t) { 9902 var e = "undefined" != typeof window && window.location; 9903 if (!e) throw new Error("fixUrls requires window.location"); 9904 if (!t || "string" != typeof t) return t; 9905 var n = e.protocol + "//" + e.host, 9906 r = n + e.pathname.replace(/\/[^\/]*$/, "/"); 9907 return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (t, e) { 9908 var o, 9909 i = e
9910 .trim() 9911 .replace(/^"(.*)"$/, function (t, e) { 9912 return e; 9913 }) 9914 .replace(/^'(.*)'$/, function (t, e) { 9915 return e; 9916 }); 9917 return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i) ? t : ((o = 0 === i.indexOf("//") ? i : 0 === i.indexOf("/") ? n + i : r + i.replace(/^\.\//, "")), "url(" + JSON.stringify(o) + ")"); 9918 }); 9919 }; 9920 }, 9921 ]).default; 9922}); 9923 9924/* 12 ----------------------------------------------- 9925/* Author : Vincent Garreau - vincentgarreau.com 9926/* MIT license: http://opensource.org/licenses/MIT 9927/* Demo / Generator : vincentgarreau.com/particles.js 9928/* GitHub : github.com/VincentGarreau/particles.js 9929/* How to use? : Check the GitHub README 9930/* v2.0.0 9931/* ----------------------------------------------- */ 9932function hexToRgb(e) { 9933 var a = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; 9934 e = e.replace(a, function (e, a, t, i) { 9935 return a + a + t + t + i + i; 9936 }); 9937 var t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e); 9938 return t ? { r: parseInt(t[1], 16), g: parseInt(t[2], 16), b: parseInt(t[3], 16) } : null; 9939} 9940function clamp(e, a, t) { 9941 return Math.min(Math.max(e, a), t); 9942} 9943function isInArray(e, a) { 9944 return a.indexOf(e) > -1; 9945} 9946var pJS = function (e, a) { 9947 var t = document.querySelector("#" + e + " > .particles-js-canvas-el"); 9948 this.pJS = { 9949 canvas: { el: t, w: t.offsetWidth, h: t.offsetHeight }, 9950 particles: { 9951 number: { value: 400, density: { enable: !0, value_area: 800 } }, 9952 color: { value: "#fff" }, 9953 shape: { type: "circle", stroke: { width: 0, color: "#ff0000" }, polygon: { nb_sides: 5 }, image: { src: "", width: 100, height: 100 } }, 9954 opacity: { value: 1, random: !1, anim: { enable: !1, speed: 2, opacity_min: 0, sync: !1 } }, 9955 size: { value: 20, random: !1, anim: { enable: !1, speed: 20, size_min: 0, sync: !1 } }, 9956 line_linked: { enable: !0, distance: 100, color: "#fff", opacity: 1, width: 1 }, 9957 move: { enable: !0, speed: 2, direction: "none", random: !1, straight: !1, out_mode: "out", bounce: !1, attract: { enable: !1, rotateX: 3e3, rotateY: 3e3 } }, 9958 array: [], 9959 }, 9960 interactivity: { 9961 detect_on: "canvas", 9962 events: { onhover: { enable: !0, mode: "grab" }, onclick: { enable: !0, mode: "push" }, resize: !0 }, 9963 modes: { grab: { distance: 100, line_linked: { opacity: 1 } }, bubble: { distance: 200, size: 80, duration: 0.4 }, repulse: { distance: 200, duration: 0.4 }, push: { particles_nb: 4 }, remove: { particles_nb: 2 } }, 9964 mouse: {}, 9965 }, 9966 retina_detect: !1, 9967 fn: { interact: {}, modes: {}, vendors: {} }, 9968 tmp: {}, 9969 }; 9970 var i = this.pJS; 9971 a && Object.deepExtend(i, a), 9972 (i.tmp.obj = { 9973 size_value: i.particles.size.value, 9974 size_anim_speed: i.particles.size.anim.speed, 9975 move_speed: i.particles.move.speed, 9976 line_linked_distance: i.particles.line_linked.distance, 9977 line_linked_width: i.particles.line_linked.width, 9978 mode_grab_distance: i.interactivity.modes.grab.distance, 9979 mode_bubble_distance: i.interactivity.modes.bubble.distance, 9980 mode_bubble_size: i.interactivity.modes.bubble.size, 9981 mode_repulse_distance: i.interactivity.modes.repulse.distance, 9982 }), 9983 (i.fn.retinaInit = function () { 9984 i.retina_detect && window.devicePixelRatio > 1 ? ((i.canvas.pxratio = window.devicePixelRatio), (i.tmp.retina = !0)) : ((i.canvas.pxratio = 1), (i.tmp.retina = !1)), 9985 (i.canvas.w = i.canvas.el.offsetWidth * i.canvas.pxratio), 9986 (i.canvas.h = i.canvas.el.offsetHeight * i.canvas.pxratio), 9987 (i.particles.size.value = i.tmp.obj.size_value * i.canvas.pxratio), 9988 (i.particles.size.anim.speed = i.tmp.obj.size_anim_speed * i.canvas.pxratio),
9989 (i.particles.move.speed = i.tmp.obj.move_speed * i.canvas.pxratio), 9990 (i.particles.line_linked.distance = i.tmp.obj.line_linked_distance * i.canvas.pxratio), 9991 (i.interactivity.modes.grab.distance = i.tmp.obj.mode_grab_distance * i.canvas.pxratio), 9992 (i.interactivity.modes.bubble.distance = i.tmp.obj.mode_bubble_distance * i.canvas.pxratio), 9993 (i.particles.line_linked.width = i.tmp.obj.line_linked_width * i.canvas.pxratio), 9994 (i.interactivity.modes.bubble.size = i.tmp.obj.mode_bubble_size * i.canvas.pxratio), 9995 (i.interactivity.modes.repulse.distance = i.tmp.obj.mode_repulse_distance * i.canvas.pxratio); 9996 }), 9997 (i.fn.canvasInit = function () { 9998 i.canvas.ctx = i.canvas.el.getContext("2d"); 9999 }), 10000 (i.fn.canvasSize = function () { 10001 (i.canvas.el.width = i.canvas.w), 10002 (i.canvas.el.height = i.canvas.h), 10003 i && 10004 i.interactivity.events.resize && 10005 window.addEventListener("resize", function () { 10006 (i.canvas.w = i.canvas.el.offsetWidth), 10007 (i.canvas.h = i.canvas.el.offsetHeight), 10008 i.tmp.retina && ((i.canvas.w *= i.canvas.pxratio), (i.canvas.h *= i.canvas.pxratio)), 10009 (i.canvas.el.width = i.canvas.w), 10010 (i.canvas.el.height = i.canvas.h), 10011 i.particles.move.enable || (i.fn.particlesEmpty(), i.fn.particlesCreate(), i.fn.particlesDraw(), i.fn.vendors.densityAutoParticles()), 10012 i.fn.vendors.densityAutoParticles(); 10013 }); 10014 }), 10015 (i.fn.canvasPaint = function () { 10016 i.canvas.ctx.fillRect(0, 0, i.canvas.w, i.canvas.h); 10017 }), 10018 (i.fn.canvasClear = function () { 10019 i.canvas.ctx.clearRect(0, 0, i.canvas.w, i.canvas.h); 10020 }), 10021 (i.fn.particle = function (e, a, t) { 10022 if ( 10023 ((this.radius = (i.particles.size.random ? Math.random() : 1) * i.particles.size.value), 10024 i.particles.size.anim.enable && ((this.size_status = !1), (this.vs = i.particles.size.anim.speed / 100), i.particles.size.anim.sync || (this.vs = this.vs * Math.random())), 10025 (this.x = t ? t.x : Math.random() * i.canvas.w), 10026 (this.y = t ? t.y : Math.random() * i.canvas.h), 10027 this.x > i.canvas.w - 2 * this.radius ? (this.x = this.x - this.radius) : this.x < 2 * this.radius && (this.x = this.x + this.radius), 10028 this.y > i.canvas.h - 2 * this.radius ? (this.y = this.y - this.radius) : this.y < 2 * this.radius && (this.y = this.y + this.radius), 10029 i.particles.move.bounce && i.fn.vendors.checkOverlap(this, t), 10030 (this.color = {}), 10031 "object" == typeof e.value) 10032 ) 10033 if (e.value instanceof Array) { 10034 var s = e.value[Math.floor(Math.random() * i.particles.color.value.length)]; 10035 this.color.rgb = hexToRgb(s); 10036 } else 10037 void 0 != e.value.r && void 0 != e.value.g && void 0 != e.value.b && (this.color.rgb = { r: e.value.r, g: e.value.g, b: e.value.b }), 10038 void 0 != e.value.h && void 0 != e.value.s && void 0 != e.value.l && (this.color.hsl = { h: e.value.h, s: e.value.s, l: e.value.l }); 10039 else 10040 "random" == e.value 10041 ? (this.color.rgb = { r: Math.floor(256 * Math.random()) + 0, g: Math.floor(256 * Math.random()) + 0, b: Math.floor(256 * Math.random()) + 0 }) 10042 : "string" == typeof e.value && ((this.color = e), (this.color.rgb = hexToRgb(this.color.value))); 10043 (this.opacity = (i.particles.opacity.random ? Math.random() : 1) * i.particles.opacity.value), 10044 i.particles.opacity.anim.enable && ((this.opacity_status = !1), (this.vo = i.particles.opacity.anim.speed / 100), i.particles.opacity.anim.sync || (this.vo = this.vo * Math.random())); 10045 var n = {}; 10046 switch (i.particles.move.direction) { 10047 case "top": 10048 n = { x: 0, y: -1 }; 10049 break; 10050 case "top-right": 10051 n = { x: 0.5, y: -0.5 }; 10052 break; 10053 case "right": 10054 n = { x: 1, y: -0 }; 10055 break; 10056 case "bottom-right": 10057 n = { x: 0.5, y: 0.5 }; 10058 break; 10059 case "bottom": 10060 n = { x: 0, y: 1 }; 10061 break; 10062 case "bottom-left": 10063 n = { x: -0.5, y: 1 }; 10064 break;
10065 case "left": 10066 n = { x: -1, y: 0 }; 10067 break; 10068 case "top-left": 10069 n = { x: -0.5, y: -0.5 }; 10070 break; 10071 default: 10072 n = { x: 0, y: 0 }; 10073 } 10074 i.particles.move.straight 10075 ? ((this.vx = n.x), (this.vy = n.y), i.particles.move.random && ((this.vx = this.vx * Math.random()), (this.vy = this.vy * Math.random()))) 10076 : ((this.vx = n.x + Math.random() - 0.5), (this.vy = n.y + Math.random() - 0.5)), 10077 (this.vx_i = this.vx), 10078 (this.vy_i = this.vy); 10079 var r = i.particles.shape.type; 10080 if ("object" == typeof r) { 10081 if (r instanceof Array) { 10082 var c = r[Math.floor(Math.random() * r.length)]; 10083 this.shape = c; 10084 } 10085 } else this.shape = r; 10086 if ("image" == this.shape) { 10087 var o = i.particles.shape; 10088 (this.img = { src: o.image.src, ratio: o.image.width / o.image.height }), 10089 this.img.ratio || (this.img.ratio = 1), 10090 "svg" == i.tmp.img_type && void 0 != i.tmp.source_svg && (i.fn.vendors.createSvgImg(this), i.tmp.pushing && (this.img.loaded = !1)); 10091 } 10092 }), 10093 (i.fn.particle.prototype.draw = function () { 10094 function e() { 10095 i.canvas.ctx.drawImage(r, a.x - t, a.y - t, 2 * t, (2 * t) / a.img.ratio); 10096 } 10097 var a = this; 10098 if (void 0 != a.radius_bubble) var t = a.radius_bubble; 10099 else var t = a.radius; 10100 if (void 0 != a.opacity_bubble) var s = a.opacity_bubble; 10101 else var s = a.opacity; 10102 if (a.color.rgb) var n = "rgba(" + a.color.rgb.r + "," + a.color.rgb.g + "," + a.color.rgb.b + "," + s + ")"; 10103 else var n = "hsla(" + a.color.hsl.h + "," + a.color.hsl.s + "%," + a.color.hsl.l + "%," + s + ")"; 10104 switch (((i.canvas.ctx.fillStyle = n), i.canvas.ctx.beginPath(), a.shape)) { 10105 case "circle": 10106 i.canvas.ctx.arc(a.x, a.y, t, 0, 2 * Math.PI, !1); 10107 break; 10108 case "edge": 10109 i.canvas.ctx.rect(a.x - t, a.y - t, 2 * t, 2 * t); 10110 break; 10111 case "triangle": 10112 i.fn.vendors.drawShape(i.canvas.ctx, a.x - t, a.y + t / 1.66, 2 * t, 3, 2); 10113 break; 10114 case "polygon": 10115 i.fn.vendors.drawShape(i.canvas.ctx, a.x - t / (i.particles.shape.polygon.nb_sides / 3.5), a.y - t / 0.76, (2.66 * t) / (i.particles.shape.polygon.nb_sides / 3), i.particles.shape.polygon.nb_sides, 1); 10116 break; 10117 case "star": 10118 i.fn.vendors.drawShape(i.canvas.ctx, a.x - (2 * t) / (i.particles.shape.polygon.nb_sides / 4), a.y - t / 1.52, (2 * t * 2.66) / (i.particles.shape.polygon.nb_sides / 3), i.particles.shape.polygon.nb_sides, 2); 10119 break; 10120 case "image": 10121 if ("svg" == i.tmp.img_type) var r = a.img.obj; 10122 else var r = i.tmp.img_obj; 10123 r && e(); 10124 } 10125 i.canvas.ctx.closePath(), 10126 i.particles.shape.stroke.width > 0 && ((i.canvas.ctx.strokeStyle = i.particles.shape.stroke.color), (i.canvas.ctx.lineWidth = i.particles.shape.stroke.width), i.canvas.ctx.stroke()), 10127 i.canvas.ctx.fill(); 10128 }), 10129 (i.fn.particlesCreate = function () { 10130 for (var e = 0; e < i.particles.number.value; e++) i.particles.array.push(new i.fn.particle(i.particles.color, i.particles.opacity.value)); 10131 }), 10132 (i.fn.particlesUpdate = function () { 10133 for (var e = 0; e < i.particles.array.length; e++) { 10134 var a = i.particles.array[e]; 10135 if (i.particles.move.enable) { 10136 var t = i.particles.move.speed / 2; 10137 (a.x += a.vx * t), (a.y += a.vy * t); 10138 } 10139 if ( 10140 (i.particles.opacity.anim.enable && 10141 (1 == a.opacity_status ? (a.opacity >= i.particles.opacity.value && (a.opacity_status = !1), (a.opacity += a.vo)) : (a.opacity <=
10141i.particles.opacity.anim.opacity_min && (a.opacity_status = !0), (a.opacity -= a.vo)), 10142 a.opacity < 0 && (a.opacity = 0)), 10143 i.particles.size.anim.enable && 10144 (1 == a.size_status ? (a.radius >= i.particles.size.value && (a.size_status = !1), (a.radius += a.vs)) : (a.radius <= i.particles.size.anim.size_min && (a.size_status = !0), (a.radius -= a.vs)), 10145 a.radius < 0 && (a.radius = 0)), 10146 "bounce" == i.particles.move.out_mode) 10147 ) 10148 var s = { x_left: a.radius, x_right: i.canvas.w, y_top: a.radius, y_bottom: i.canvas.h }; 10149 else var s = { x_left: -a.radius, x_right: i.canvas.w + a.radius, y_top: -a.radius, y_bottom: i.canvas.h + a.radius }; 10150 switch ( 10151 (a.x - a.radius > i.canvas.w ? ((a.x = s.x_left), (a.y = Math.random() * i.canvas.h)) : a.x + a.radius < 0 && ((a.x = s.x_right), (a.y = Math.random() * i.canvas.h)), 10152 a.y - a.radius > i.canvas.h ? ((a.y = s.y_top), (a.x = Math.random() * i.canvas.w)) : a.y + a.radius < 0 && ((a.y = s.y_bottom), (a.x = Math.random() * i.canvas.w)), 10153 i.particles.move.out_mode) 10154 ) { 10155 case "bounce": 10156 a.x + a.radius > i.canvas.w ? (a.vx = -a.vx) : a.x - a.radius < 0 && (a.vx = -a.vx), a.y + a.radius > i.canvas.h ? (a.vy = -a.vy) : a.y - a.radius < 0 && (a.vy = -a.vy); 10157 } 10158 if ( 10159 (isInArray("grab", i.interactivity.events.onhover.mode) && i.fn.modes.grabParticle(a), 10160 (isInArray("bubble", i.interactivity.events.onhover.mode) || isInArray("bubble", i.interactivity.events.onclick.mode)) && i.fn.modes.bubbleParticle(a), 10161 (isInArray("repulse", i.interactivity.events.onhover.mode) || isInArray("repulse", i.interactivity.events.onclick.mode)) && i.fn.modes.repulseParticle(a), 10162 i.particles.line_linked.enable || i.particles.move.attract.enable) 10163 ) 10164 for (var n = e + 1; n < i.particles.array.length; n++) { 10165 var r = i.particles.array[n]; 10166 i.particles.line_linked.enable && i.fn.interact.linkParticles(a, r), i.particles.move.attract.enable && i.fn.interact.attractParticles(a, r), i.particles.move.bounce && i.fn.interact.bounceParticles(a, r); 10167 } 10168 } 10169 }), 10170 (i.fn.particlesDraw = function () { 10171 i.canvas.ctx.clearRect(0, 0, i.canvas.w, i.canvas.h), i.fn.particlesUpdate(); 10172 for (var e = 0; e < i.particles.array.length; e++) { 10173 var a = i.particles.array[e]; 10174 a.draw(); 10175 } 10176 }), 10177 (i.fn.particlesEmpty = function () { 10178 i.particles.array = []; 10179 }), 10180 (i.fn.particlesRefresh = function () { 10181 cancelRequestAnimFrame(i.fn.checkAnimFrame), 10182 cancelRequestAnimFrame(i.fn.drawAnimFrame), 10183 (i.tmp.source_svg = void 0), 10184 (i.tmp.img_obj = void 0), 10185 (i.tmp.count_svg = 0), 10186 i.fn.particlesEmpty(), 10187 i.fn.canvasClear(), 10188 i.fn.vendors.start(); 10189 }), 10190 (i.fn.interact.linkParticles = function (e, a) { 10191 var t = e.x - a.x, 10192 s = e.y - a.y, 10193 n = Math.sqrt(t * t + s * s); 10194 if (n <= i.particles.line_linked.distance) { 10195 var r = i.particles.line_linked.opacity - n / (1 / i.particles.line_linked.opacity) / i.particles.line_linked.distance; 10196 if (r > 0) { 10197 var c = i.particles.line_linked.color_rgb_line; 10198 (i.canvas.ctx.strokeStyle = "rgba(" + c.r + "," + c.g + "," + c.b + "," + r + ")"), 10199 (i.canvas.ctx.lineWidth = i.particles.line_linked.width), 10200 i.canvas.ctx.beginPath(), 10201 i.canvas.ctx.moveTo(e.x, e.y), 10202 i.canvas.ctx.lineTo(a.x, a.y), 10203 i.canvas.ctx.stroke(), 10204 i.canvas.ctx.closePath(); 10205 } 10206 } 10207 }), 10208 (i.fn.interact.attractParticles = function (e, a) { 10209 var t = e.x - a.x, 10210 s = e.y - a.y, 10211 n = Math.sqrt(t * t + s * s); 10212 if (n <= i.particles.line_linked.distance) { 10213 var r = t / (1e3 * i.particles.move.attract.rotateX), 10214 c = s / (1e3 * i.particles.move.attract.rotateY); 10215 (e.vx -= r), (e.vy -= c), (a.vx += r), (a.vy += c); 10216 } 10217 }), 10218 (i.fn.interact.bounceParticles = function (e, a) { 10219 var t = e.x - a.x, 10220 i = e.y - a.y, 10221 s = Math.sqrt(t * t + i * i), 10222 n = e.radius + a.radius; 10223 n >
10223= s && ((e.vx = -e.vx), (e.vy = -e.vy), (a.vx = -a.vx), (a.vy = -a.vy)); 10224 }), 10225 (i.fn.modes.pushParticles = function (e, a) { 10226 i.tmp.pushing = !0; 10227 for (var t = 0; e > t; t++) 10228 i.particles.array.push(new i.fn.particle(i.particles.color, i.particles.opacity.value, { x: a ? a.pos_x : Math.random() * i.canvas.w, y: a ? a.pos_y : Math.random() * i.canvas.h })), 10229 t == e - 1 && (i.particles.move.enable || i.fn.particlesDraw(), (i.tmp.pushing = !1)); 10230 }), 10231 (i.fn.modes.removeParticles = function (e) { 10232 i.particles.array.splice(0, e), i.particles.move.enable || i.fn.particlesDraw(); 10233 }), 10234 (i.fn.modes.bubbleParticle = function (e) { 10235 function a() { 10236 (e.opacity_bubble = e.opacity), (e.radius_bubble = e.radius); 10237 } 10238 function t(a, t, s, n, c) { 10239 if (a != t) 10240 if (i.tmp.bubble_duration_end) { 10241 if (void 0 != s) { 10242 var o = n - (p * (n - a)) / i.interactivity.modes.bubble.duration, 10243 l = a - o; 10244 (d = a + l), "size" == c && (e.radius_bubble = d), "opacity" == c && (e.opacity_bubble = d); 10245 } 10246 } else if (r <= i.interactivity.modes.bubble.distance) { 10247 if (void 0 != s) var v = s; 10248 else var v = n; 10249 if (v != a) { 10250 var d = n - (p * (n - a)) / i.interactivity.modes.bubble.duration; 10251 "size" == c && (e.radius_bubble = d), "opacity" == c && (e.opacity_bubble = d); 10252 } 10253 } else "size" == c && (e.radius_bubble = void 0), "opacity" == c && (e.opacity_bubble = void 0); 10254 } 10255 if (i.interactivity.events.onhover.enable && isInArray("bubble", i.interactivity.events.onhover.mode)) { 10256 var s = e.x - i.interactivity.mouse.pos_x, 10257 n = e.y - i.interactivity.mouse.pos_y, 10258 r = Math.sqrt(s * s + n * n), 10259 c = 1 - r / i.interactivity.modes.bubble.distance; 10260 if (r <= i.interactivity.modes.bubble.distance) { 10261 if (c >= 0 && "mousemove" == i.interactivity.status) { 10262 if (i.interactivity.modes.bubble.size != i.particles.size.value) 10263 if (i.interactivity.modes.bubble.size > i.particles.size.value) { 10264 var o = e.radius + i.interactivity.modes.bubble.size * c; 10265 o >= 0 && (e.radius_bubble = o); 10266 } else { 10267 var l = e.radius - i.interactivity.modes.bubble.size, 10268 o = e.radius - l * c; 10269 o > 0 ? (e.radius_bubble = o) : (e.radius_bubble = 0); 10270 } 10271 if (i.interactivity.modes.bubble.opacity != i.particles.opacity.value) 10272 if (i.interactivity.modes.bubble.opacity > i.particles.opacity.value) { 10273 var v = i.interactivity.modes.bubble.opacity * c; 10274 v > e.opacity && v <= i.interactivity.modes.bubble.opacity && (e.opacity_bubble = v); 10275 } else { 10276 var v = e.opacity - (i.particles.opacity.value - i.interactivity.modes.bubble.opacity) * c; 10277 v < e.opacity && v >= i.interactivity.modes.bubble.opacity && (e.opacity_bubble = v); 10278 } 10279 } 10280 } else a(); 10281 "mouseleave" == i.interactivity.status && a(); 10282 } else if (i.interactivity.events.onclick.enable && isInArray("bubble", i.interactivity.events.onclick.mode)) { 10283 if (i.tmp.bubble_clicking) { 10284 var s = e.x - i.interactivity.mouse.click_pos_x, 10285 n = e.y - i.interactivity.mouse.click_pos_y, 10286 r = Math.sqrt(s * s + n * n), 10287 p = (new Date().getTime() - i.interactivity.mouse.click_time) / 1e3; 10288 p > i.interactivity.modes.bubble.duration && (i.tmp.bubble_duration_end = !0), p > 2 * i.interactivity.modes.bubble.duration && ((i.tmp.bubble_clicking = !1), (i.tmp.bubble_duration_end = !1)); 10289 } 10290 i.tmp.bubble_clicking && 10291 (t(i.interactivity.modes.bubble.size, i.particles.size.value, e.radius_bubble, e.radius, "size"), t(i.interactivity.modes.bubble.opacity, i.particles.opacity.value, e.opacity_bubble, e.opacity, "opacity")); 10292 } 10293 }), 10294 (i.fn.modes.repulseParticle = function (e) { 10295 function a() { 10296 var a = Math.atan2(d, p); 10297 if (((e.vx = u * Math.cos(a)), (e.vy = u * Math.sin(a)), "bounce" ==
10297i.particles.move.out_mode)) { 10298 var t = { x: e.x + e.vx, y: e.y + e.vy }; 10299 t.x + e.radius > i.canvas.w ? (e.vx = -e.vx) : t.x - e.radius < 0 && (e.vx = -e.vx), t.y + e.radius > i.canvas.h ? (e.vy = -e.vy) : t.y - e.radius < 0 && (e.vy = -e.vy); 10300 } 10301 } 10302 if (i.interactivity.events.onhover.enable && isInArray("repulse", i.interactivity.events.onhover.mode) && "mousemove" == i.interactivity.status) { 10303 var t = e.x - i.interactivity.mouse.pos_x, 10304 s = e.y - i.interactivity.mouse.pos_y, 10305 n = Math.sqrt(t * t + s * s), 10306 r = { x: t / n, y: s / n }, 10307 c = i.interactivity.modes.repulse.distance, 10308 o = 100, 10309 l = clamp((1 / c) * (-1 * Math.pow(n / c, 2) + 1) * c * o, 0, 50), 10310 v = { x: e.x + r.x * l, y: e.y + r.y * l }; 10311 "bounce" == i.particles.move.out_mode ? (v.x - e.radius > 0 && v.x + e.radius < i.canvas.w && (e.x = v.x), v.y - e.radius > 0 && v.y + e.radius < i.canvas.h && (e.y = v.y)) : ((e.x = v.x), (e.y = v.y)); 10312 } else if (i.interactivity.events.onclick.enable && isInArray("repulse", i.interactivity.events.onclick.mode)) 10313 if ((i.tmp.repulse_finish || (i.tmp.repulse_count++, i.tmp.repulse_count == i.particles.array.length && (i.tmp.repulse_finish = !0)), i.tmp.repulse_clicking)) { 10314 var c = Math.pow(i.interactivity.modes.repulse.distance / 6, 3), 10315 p = i.interactivity.mouse.click_pos_x - e.x, 10316 d = i.interactivity.mouse.click_pos_y - e.y, 10317 m = p * p + d * d, 10318 u = (-c / m) * 1; 10319 c >= m && a(); 10320 } else 0 == i.tmp.repulse_clicking && ((e.vx = e.vx_i), (e.vy = e.vy_i)); 10321 }), 10322 (i.fn.modes.grabParticle = function (e) { 10323 if (i.interactivity.events.onhover.enable && "mousemove" == i.interactivity.status) { 10324 var a = e.x - i.interactivity.mouse.pos_x, 10325 t = e.y - i.interactivity.mouse.pos_y, 10326 s = Math.sqrt(a * a + t * t); 10327 if (s <= i.interactivity.modes.grab.distance) { 10328 var n = i.interactivity.modes.grab.line_linked.opacity - s / (1 / i.interactivity.modes.grab.line_linked.opacity) / i.interactivity.modes.grab.distance; 10329 if (n > 0) { 10330 var r = i.particles.line_linked.color_rgb_line; 10331 (i.canvas.ctx.strokeStyle = "rgba(" + r.r + "," + r.g + "," + r.b + "," + n + ")"), 10332 (i.canvas.ctx.lineWidth = i.particles.line_linked.width), 10333 i.canvas.ctx.beginPath(), 10334 i.canvas.ctx.moveTo(e.x, e.y), 10335 i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x, i.interactivity.mouse.pos_y), 10336 i.canvas.ctx.stroke(), 10337 i.canvas.ctx.closePath(); 10338 } 10339 } 10340 } 10341 }), 10342 (i.fn.vendors.eventsListeners = function () { 10343 "window" == i.interactivity.detect_on ? (i.interactivity.el = window) : (i.interactivity.el = i.canvas.el), 10344 (i.interactivity.events.onhover.enable || i.interactivity.events.onclick.enable) && 10345 (i.interactivity.el.addEventListener("mousemove", function (e) { 10346 if (i.interactivity.el == window) 10347 var a = e.clientX, 10348 t = e.clientY; 10349 else 10350 var a = e.offsetX || e.clientX, 10351 t = e.offsetY || e.clientY; 10352 (i.interactivity.mouse.pos_x = a), 10353 (i.interactivity.mouse.pos_y = t), 10354 i.tmp.retina && ((i.interactivity.mouse.pos_x *= i.canvas.pxratio), (i.interactivity.mouse.pos_y *= i.canvas.pxratio)), 10355 (i.interactivity.status = "mousemove"); 10356 }), 10357 i.interactivity.el.addEventListener("mouseleave", function (e) { 10358 (i.interactivity.mouse.pos_x = null), (i.interactivity.mouse.pos_y = null), (i.interactivity.status = "mouseleave"); 10359 })), 10360 i.interactivity.events.onclick.enable && 10361 i.interactivity.el.addEventListener("click", function () { 10362 if ( 10363 ((i.interactivity.mouse.click_pos_x = i.interactivity.mouse.pos_x), 10364 (i.interactivity.mouse.click_pos_y = i.interactivity.mouse.pos_y), 10365 (i.interactivity.mouse.click_time = new Date().getTime()), 10366 i.interactivity.events.onclick.enable) 10367 ) 10368 switch (i.interactivity.events.onclick.mode) { 10369 case "push": 10370 i.particles.move.enable 10371 ? i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb, i.interactivity.mouse) 10372 : 1 == i.interactivity.modes.push.particles_nb 10373 ? i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb, i.interactivity.mouse) 10374 : i.interactivity.modes.push.particles_nb > 1 && i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb); 10375 break; 10376 case "remove": 10377 i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb); 10378 break; 10379 case "bubble": 10380 i.tmp.bubble_clicking = !0; 10381 break; 10382 case "repulse": 10383 (i.tmp.repulse_clicking = !0), 10384 (i.tmp.repulse_count = 0), 10385 (i.tmp.repulse_finish = !1), 10386 setTimeout(function () { 10387 i.tmp.repulse_clicking = !1; 10388 }, 1e3 * i.interactivity.modes.repulse.duration); 10389 } 10390 }); 10391 }), 10392 (i.fn.vendors.densityAutoParticles = function () { 10393 if (i.particles.number.density.enable) { 10394 var e = (i.canvas.el.width * i.canvas.el.height) / 1e3; 10395 i.tmp.retina && (e /= 2 * i.canvas.pxratio);
10396 var a = (e * i.particles.number.value) / i.particles.number.density.value_area, 10397 t = i.particles.array.length - a; 10398 0 > t ? i.fn.modes.pushParticles(Math.abs(t)) : i.fn.modes.removeParticles(t); 10399 } 10400 }), 10401 (i.fn.vendors.checkOverlap = function (e, a) { 10402 for (var t = 0; t < i.particles.array.length; t++) { 10403 var s = i.particles.array[t], 10404 n = e.x - s.x, 10405 r = e.y - s.y, 10406 c = Math.sqrt(n * n + r * r); 10407 c <= e.radius + s.radius && ((e.x = a ? a.x : Math.random() * i.canvas.w), (e.y = a ? a.y : Math.random() * i.canvas.h), i.fn.vendors.checkOverlap(e)); 10408 } 10409 }), 10410 (i.fn.vendors.createSvgImg = function (e) { 10411 var a = i.tmp.source_svg, 10412 t = /#([0-9A-F]{3,6})/gi, 10413 s = a.replace(t, function (a, t, i, s) { 10414 if (e.color.rgb) var n = "rgba(" + e.color.rgb.r + "," + e.color.rgb.g + "," + e.color.rgb.b + "," + e.opacity + ")"; 10415 else var n = "hsla(" + e.color.hsl.h + "," + e.color.hsl.s + "%," + e.color.hsl.l + "%," + e.opacity + ")"; 10416 return n; 10417 }), 10418 n = new Blob([s], { type: "image/svg+xml;charset=utf-8" }), 10419 r = window.URL || window.webkitURL || window, 10420 c = r.createObjectURL(n), 10421 o = new Image(); 10422 o.addEventListener("load", function () { 10423 (e.img.obj = o), (e.img.loaded = !0), r.revokeObjectURL(c), i.tmp.count_svg++; 10424 }), 10425 (o.src = c); 10426 }), 10427 (i.fn.vendors.destroypJS = function () { 10428 cancelAnimationFrame(i.fn.drawAnimFrame), t.remove(), (pJSDom = null); 10429 }), 10430 (i.fn.vendors.drawShape = function (e, a, t, i, s, n) { 10431 var r = s * n, 10432 c = s / n, 10433 o = (180 * (c - 2)) / c, 10434 l = Math.PI - (Math.PI * o) / 180; 10435 e.save(), e.beginPath(), e.translate(a, t), e.moveTo(0, 0); 10436 for (var v = 0; r > v; v++) e.lineTo(i, 0), e.translate(i, 0), e.rotate(l); 10437 e.fill(), e.restore(); 10438 }), 10439 (i.fn.vendors.exportImg = function () { 10440 window.open(i.canvas.el.toDataURL("image/png"), "_blank"); 10441 }), 10442 (i.fn.vendors.loadImg = function (e) { 10443 if (((i.tmp.img_error = void 0), "" != i.particles.shape.image.src)) 10444 if ("svg" == e) { 10445 var a = new XMLHttpRequest(); 10446 a.open("GET", i.particles.shape.image.src), 10447 (a.onreadystatechange = function (e) { 10448 4 == a.readyState && (200 == a.status ? ((i.tmp.source_svg = e.currentTarget.response), i.fn.vendors.checkBeforeDraw()) : (console.log("Error pJS - Image not found"), (i.tmp.img_error = !0))); 10449 }), 10450 a.send(); 10451 } else { 10452 var t = new Image(); 10453 t.addEventListener("load", function () { 10454 (i.tmp.img_obj = t), i.fn.vendors.checkBeforeDraw(); 10455 }), 10456 (t.src = i.particles.shape.image.src); 10457 } 10458 else console.log("Error pJS - No image.src"), (i.tmp.img_error = !0); 10459 }), 10460 (i.fn.vendors.draw = function () { 10461 "image" == i.particles.shape.type 10462 ? "svg" == i.tmp.img_type 10463 ? i.tmp.count_svg >= i.particles.number.value 10464 ? (i.fn.particlesDraw(), i.particles.move.enable ? (i.fn.drawAnimFrame = requestAnimFrame(i.fn.vendors.draw)) : cancelRequestAnimFrame(i.fn.drawAnimFrame)) 10465 : i.tmp.img_error || (i.fn.drawAnimFrame = requestAnimFrame(i.fn.vendors.draw)) 10466 : void 0 != i.tmp.img_obj 10467 ? (i.fn.particlesDraw(), i.particles.move.enable ? (i.fn.drawAnimFrame = requestAnimFrame(i.fn.vendors.draw)) : cancelRequestAnimFrame(i.fn.drawAnimFrame)) 10468 : i.tmp.img_error || (i.fn.drawAnimFrame = requestAnimFrame
10468(i.fn.vendors.draw)) 10469 : (i.fn.particlesDraw(), i.particles.move.enable ? (i.fn.drawAnimFrame = requestAnimFrame(i.fn.vendors.draw)) : cancelRequestAnimFrame(i.fn.drawAnimFrame)); 10470 }), 10471 (i.fn.vendors.checkBeforeDraw = function () { 10472 "image" == i.particles.shape.type 10473 ? "svg" == i.tmp.img_type && void 0 == i.tmp.source_svg 10474 ? (i.tmp.checkAnimFrame = requestAnimFrame(check)) 10475 : (cancelRequestAnimFrame(i.tmp.checkAnimFrame), i.tmp.img_error || (i.fn.vendors.init(), i.fn.vendors.draw())) 10476 : (i.fn.vendors.init(), i.fn.vendors.draw()); 10477 }), 10478 (i.fn.vendors.init = function () { 10479 i.fn.retinaInit(), i.fn.canvasInit(), i.fn.canvasSize(), i.fn.canvasPaint(), i.fn.particlesCreate(), i.fn.vendors.densityAutoParticles(), (i.particles.line_linked.color_rgb_line = hexToRgb(i.particles.line_linked.color)); 10480 }), 10481 (i.fn.vendors.start = function () { 10482 isInArray("image", i.particles.shape.type) ? ((i.tmp.img_type = i.particles.shape.image.src.substr(i.particles.shape.image.src.length - 3)), i.fn.vendors.loadImg(i.tmp.img_type)) : i.fn.vendors.checkBeforeDraw(); 10483 }), 10484 i.fn.vendors.eventsListeners(), 10485 i.fn.vendors.start(); 10486}; 10487(Object.deepExtend = function (e, a) { 10488 for (var t in a) a[t] && a[t].constructor && a[t].constructor === Object ? ((e[t] = e[t] || {}), arguments.callee(e[t], a[t])) : (e[t] = a[t]); 10489 return e; 10490}), 10491 (window.requestAnimFrame = (function () { 10492 return ( 10493 window.requestAnimationFrame || 10494 window.webkitRequestAnimationFrame || 10495 window.mozRequestAnimationFrame || 10496 window.oRequestAnimationFrame || 10497 window.msRequestAnimationFrame || 10498 function (e) { 10499 window.setTimeout(e, 1e3 / 60); 10500 } 10501 ); 10502 })()), 10503 (window.cancelRequestAnimFrame = (function () { 10504 return window.cancelAnimationFrame || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || clearTimeout; 10505 })()), 10506 (window.pJSDom = []), 10507 (window.particlesJS = function (e, a) { 10508 "string" != typeof e && ((a = e), (e = "particles-js")), e || (e = "particles-js"); 10509 var t = document.getElementById(e), 10510 i = "particles-js-canvas-el", 10511 s = t.getElementsByClassName(i); 10512 if (s.length) for (; s.length > 0; ) t.removeChild(s[0]); 10513 var n = document.createElement("canvas"); 10514 (n.className = i), (n.style.width = "100%"), (n.style.height = "100%"); 10515 var r = document.getElementById(e).appendChild(n); 10516 null != r && pJSDom.push(new pJS(e, a)); 10517 }), 10518 (window.particlesJS.load = function (e, a, t) { 10519 var i = new XMLHttpRequest(); 10520 i.open("GET", a), 10521 (i.onreadystatechange = function (a) { 10522 if (4 == i.readyState) 10523 if (200 == i.status) { 10524 var s = JSON.parse(a.currentTarget.response); 10525 window.particlesJS(e, s), t && t(); 10526 } else console.log("Error pJS - XMLHttpRequest status: " + i.status), console.log("Error pJS - File config not found"); 10527 }), 10528 i.send(); 10529 });
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.